如何编写高效的服务器监控脚本?

#!/bin/bash
定义日志文件路径
LOG_FILE="/var/log/server_monitor.log"
获取当前日期和时间
current_time=$(date "+%Y-%m-%d %H:%M:%S")
获取CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
获取内存使用情况
memory_total=$(free -m | grep Mem | awk '{print $2}')
memory_used=$(free -m | grep Mem | awk '{print $3}')
memory_usage=$(echo "scale=2; ($memory_used / $memory_total) * 100" | bc)
获取磁盘使用情况
disk_usage=$(df -h / | grep / | awk '{print $5}' | sed 's/%//g')
将监控数据写入日志文件
echo "$current_time CPU Usage: $cpu_usage%, Memory Usage: $memory_usage%, Disk Usage: $disk_usage%" >> $LOG_FILE
发送邮件通知(如果需要)
email_threshold=80
if (( $(echo "$memory_usage > $email_threshold" | bc -l) )); then
    echo "Warning: High memory usage detected!" | mail -s "Server Alert" admin@example.com
fi
if (( $(echo "$disk_usage > $email_threshold" | bc -l) )); then
    echo "Warning: High disk usage detected!" | mail -s "Server Alert" admin@example.com
fi

说明:

1、日志文件路径LOG_FILE="/var/log/server_monitor.log"定义了日志文件的存储位置,你可以根据实际需求更改路径。

服务器 监控脚本

2、获取当前日期和时间:通过date命令获取当前的日期和时间。

3、CPU使用率:通过top命令获取CPU的使用率。top -bn1表示只运行一次并返回第一行数据,然后通过grepawk提取出CPU的使用率。

4、内存使用情况:通过free -m命令获取内存使用情况,并通过awkbc进行计算得出使用百分比。

5、磁盘使用情况:通过df -h /命令获取根目录的磁盘使用情况,并通过awksed提取出使用百分比。

6、写入日志文件:将所有监控数据追加到日志文件中。

7、邮件通知:如果内存或磁盘使用超过设定的阈值(例如80%),则通过mail命令发送邮件通知管理员。

注意事项:

确保你的系统上安装了mail命令,并且配置了邮件服务以便能够发送邮件。

服务器 监控脚本

你可以根据需要调整监控项和阈值。

为了定期执行这个脚本,可以使用cron定时任务,编辑crontab文件(crontab -e),添加如下行以每5分钟运行一次脚本:

  */5 * * * * /path/to/your/script.sh

小伙伴们,上文介绍了“服务器 监控脚本”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/734311.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seoK-seo
Previous 2024-12-14 18:58
Next 2024-12-14 19:02

相关推荐

  • 如何通过服务器监控日志分析提升系统性能与安全性?

    服务器监控日志分析背景介绍服务器日志是记录服务器运行状态、用户行为以及系统事件的重要数据源,无论是为了确保服务器的正常运行,还是为了发现和解决潜在问题,对服务器日志进行有效的监控和分析都是至关重要的,本文将详细介绍服务器日志监控与分析的基本概念、方法及其工具应用,基本概念在探讨如何进行服务器日志监控与分析之前……

    2024-12-21
    03
  • 如何编写高效的服务器监控脚本?

    服务器监控脚本1. 引言服务器监控是保障服务器稳定运行的重要手段,通过监控,我们可以及时发现并解决潜在问题,确保系统的高可用性和性能,本文将详细介绍如何编写一个基本的服务器监控脚本,包括监控CPU使用率、内存使用情况、磁盘空间以及网络流量等关键指标,2. 准备工作在开始编写监控脚本之前,我们需要准备以下工具和环……

    2024-12-21
    03
  • 如何实现服务器的监控功能?

    服务器的监控功能是确保服务器稳定、高效运行的关键,通过实时监控服务器的各项指标,可以及时发现并解决潜在问题,保障业务的连续性和稳定性,以下是对服务器监控功能实现方式的具体阐述:1、明确业务需求与规划:需要明确业务需求,包括应用的类型、访问量、资源需求等,以便为后续的服务器选型和管理提供依据,还需要制定详细的管理……

    2024-11-16
    08
  • 如何为服务器安装监控软件?

    在服务器上安装监控系统是一个系统性的工作,需要根据实际需求选择合适的监控软件,并按照指南进行安装和配置,以下是服务器上安装监控的详细步骤:1、确定监控需求:明确监控服务器的需求,包括需要监控的指标(如CPU使用率、内存使用率、磁盘空间、网络流量等)、监控的对象(如服务器的硬件、操作系统、网络等)以及监控频率等……

    2024-12-15
    05
  • 探索服务器监控,哪些开源软件值得一试?

    服务器监控开源软件详解在现代IT基础设施中,服务器监控工具扮演着至关重要的角色,无论是小型创业公司还是大型跨国公司,都需要实时监控其服务器的性能和健康状况,以确保系统的稳定运行和及时响应潜在问题,本文将详细介绍几款主流的开源服务器监控软件,帮助读者更好地了解这些工具的功能、特点及其应用场景,NagiosNagi……

    2024-11-19
    06
  • 什么是服务器监控?它有哪些关键作用?

    服务器监控是实时掌握服务器工作状态,并在需要时可以随时调用监控记录进行查看,以下是关于服务器监控的详细介绍:1、定义与重要性定义:服务器监控是指通过各种手段和方法,实时跟踪和记录服务器的性能指标、运行状态以及资源使用情况,以便及时发现问题并采取相应的措施,重要性:服务器监控对于确保服务器的稳定性、可用性和安全性……

    2024-12-21
    010

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入