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

#!/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-seo的头像K-seoSEO优化员
Previous 2024-12-14 18:58
Next 2024-12-14 19:02

相关推荐

  • 如何选择适合的服务器监控软件?

    服务器监控软件是用于监视服务器性能和健康状况的关键工具,它们能够跟踪CPU使用率、内存使用、磁盘空间、网络连接等关键指标,并在出现潜在问题时发出警报,以下是对几种常见服务器监控软件的详细描述:1、Nagios:Nagios是一款非常流行的开源监控系统,能够监控系统、网络和服务的状态,它支持多种操作系统,包括Wi……

    2024-12-14
    00
  • 服务器监控应涵盖哪些关键项目?

    服务器监控是确保服务器稳定运行和及时发现问题的重要手段,一个完善的监控系统可以显著提高应用的可用性和可靠性,减少故障率,优化性能,并为容量规划提供数据支持,以下将详细解释服务器监控的各个项目:服务器监控的主要项目1、CPU利用率定义:CPU利用率是指CPU在处理任务时的使用百分比,它是评估服务器性能的关键指标之……

    2024-11-18
    04
  • 如何实现服务器的有效监控?

    服务器监控是确保服务器稳定运行和高效服务的重要手段,通过对服务器的硬件、操作系统、应用程序和安全状况进行实时监测和分析,可以及时发现和解决潜在问题,提高服务器的利用率和安全性,以下是实现服务器监控的一些方法:一、服务器监控的概念与目的1、概念:服务器监控是指对服务器硬件、操作系统、应用程序等各个层面的运行状态进……

    2024-11-19
    05
  • 服务器升级内存和CPU使用率提升背后的技术动因是什么?

    服务器增加内存和CPU使用率的原因可能是因为处理大量数据或运行多个程序导致资源需求增大。内存用于存储临时数据,而CPU负责执行计算任务。当这些资源不足以应对当前负载时,系统性能可能下降,因此需要升级硬件以满足需求。

    2024-08-27
    039
  • 如何制定有效的服务器监控策略?

    服务器监控策略全面解析服务器监控关键要素与实践1、服务器监控概述- 定义与重要性- 主要监控对象- 常见监控工具2、监控对象选择- 重要性评估- 业务影响分析- 资源利用情况3、故障报警方式选择- 邮件通知- 短信报警- Web页面显示4、故障报警时效和间隔选择- 探测失败次数设定- 报警发送间隔设置- 持续报……

    2024-11-19
    05
  • 如何实现免费的服务器监控?

    服务器的监控对于保证系统的稳定性和性能至关重要,特别是在现代IT环境中,以下是一些免费的服务器监控工具及其详细介绍:1、Zabbix功能概述监控范围广泛:Zabbix可以监控各种网络参数,包括服务器、WEB应用程序、数据库和网络设备,灵活的通知机制:提供多种通知方式(如邮件或短信)来快速定位和解决存在的问题,企……

    2024-12-14
    01

发表回复

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

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