shell脚本:监控cpu,内存,磁盘,IO,带宽,阈值告警

这篇具有很好参考价值的文章主要介绍了shell脚本:监控cpu,内存,磁盘,IO,带宽,阈值告警。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.shell脚本监控内存和磁盘的使用率,设置阈值,并通过邮件告警

#!/bin/bash

# 设置告警阈值,单位为百分比
MEM_THRESHOLD=80
DISK_THRESHOLD=90

# 获取内存使用率
MEM_USED=$(free | awk 'FNR == 2 {print $3}')
MEM_TOTAL=$(free | awk 'FNR == 2 {print $2}')
MEM_USAGE=$((100 * $MEM_USED / $MEM_TOTAL))

# 获取磁盘使用率
DISK_USAGE=$(df -h | awk 'FNR == 2 {sub(/%/, ""); print $5}')

# 检查内存使用率是否超过阈值
if [ $MEM_USAGE -ge $MEM_THRESHOLD ]; then
  # 发送告警邮件
  echo "Memory usage is above threshold ($MEM_THRESHOLD%): $MEM_USAGE%" | mail -s "Memory usage alert" you@example.com
fi

# 检查磁盘使用率是否超过阈值
if [ ${DISK_USAGE%?} -ge $DISK_THRESHOLD ]; then
  # 发送告警邮件
  echo "Disk usage is above threshold ($DISK_THRESHOLD%): $DISK_USAGE" | mail -s "Disk usage alert" you@example.com
fi

二.shell脚本监控内存,磁盘,带宽,io,cpu的使用率,设置阈值进行微信告警

#!/bin/bash

# 定义告警的微信号
wechat_id="your_wechat_id"

# 定义阈值,这里只是举例,具体阈值可以根据实际情况进行设置
mem_threshold=80
disk_threshold=90
net_threshold=100
io_threshold=50
cpu_threshold=80

while true; do
  # 获取内存使用率
  mem_usage=$(free | grep Mem | awk '{printf("%.2f"), $3/$2*100}')

  # 判断内存使用率是否超过阈值
  if [ $(echo "$mem_usage > $mem_threshold" | bc -l) -eq 1 ]; then
    # 发送告警信息
    echo "Memory usage is high: $mem_usage%" | wechat $wechat_id
  fi

  # 获取磁盘使用率
  disk_usage=$(df -h | awk '$NF=="/"{printf("%.2f"), $5}')

  # 判断磁盘使用率是否超过阈值
  if [ $(echo "$disk_usage > $disk_threshold" | bc -l) -eq 1 ]; then
    # 发送告警信息
    echo "Disk usage is high: $disk_usage%" | wechat $wechat_id
  fi

  # 获取带宽使用率
  net_usage=$(ifstat | awk '$1=="ens3"{print $8}')

  # 判断带宽使用率是否超过阈值
  if [ $(echo "$net_usage > $net_threshold" | bc -l) -eq 1 ]; then
    # 发送告警信息
    echo "Network usage is high: $net_usage KB/s" | wechat $wechat_id
  fi

  # 获取磁盘 IO 使用率
  io_usage=$(iostat | awk '$1=="sda"{print $4}')

  # 判断磁盘 IO 使用率是否超过阈值
  if [ $(echo "$io_usage > $io_threshold" | bc -l) -eq 1 ]; then
    # 发送告警信息
    echo "Disk IO usage is high: $io_usage%" | wechat $wechat_id
  fi

  # 获取 CPU 使用率
  cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2+$4}')

  # 判断 CPU 使用率是否超过阈值
  if [ $(echo "$cpu_usage > $cpu_threshold" | bc -l) -eq 1 ]; then
    # 发送告警信息
    echo "CPU usage is high: $cpu_usage%" | wechat $wechat_id
  fi

  # 等待一定时间再继续监控
  sleep 10
done

文章来源地址https://www.toymoban.com/news/detail-763473.html

到了这里,关于shell脚本:监控cpu,内存,磁盘,IO,带宽,阈值告警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • shell脚本监控ip和端口的运行状态并触发邮件告警

    ping端口shell代码 ping不通发邮件通知 直到ping通再次发送成功邮件 避免加入定时任务重复执行,须执行完本次才能继续下次,所以把上面代码加入下面代码中,在定时任务中执行下面代码判断代码是否在运行 十分钟执行一次 定时任务相关命令 安装邮件客户端 配置邮件mail.r

    2024年02月10日
    浏览(29)
  • Jmeter性能指标监控:CPU、内存、磁盘、网络

    jmeter版本:jmeter5.1.1 插件资源(可自己官网下载或从以下网盘中获取): 链接:https://pan.baidu.com/s/1vBr85BLuhhENrnWrFTDGhg 提取码:ywr4 获取插件的最简单方法是安装Plugins Manager,然后只需在Jmeter中单击复选框即可安装任何其他插件。 1)下载 jmeter-plugins-manager-1.3.jar文件 下载地址:

    2024年02月08日
    浏览(31)
  • linux服务器监控之内存、cpu、网络、磁盘

    一、服务器实时内存监控 1、Linux帮助命令 man:Linux下的函数手册命令,可以查看所有命令的使用方法 ls:  ls -al: ll: 2、实时监控命令 top:   能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序。            语法:top -hv|-bcHiOSs -d secs -n max -u|U user -p pid(s) -o file

    2024年02月09日
    浏览(49)
  • Linux 主机磁盘繁忙度监控实战shell脚本

    Linux 磁盘繁忙度是指磁盘的使用率和活动水平。可以通过一些工具来监测磁盘繁忙度,如 iostat、iotop、sar 等。 其中,iostat 是一个常用的工具,可以提供关于磁盘活动的详细统计信息。通过运行命令 iostat -x 1 可以实时监测磁盘的使用情况,其中 %util 列就表示磁盘的繁忙度,

    2024年02月10日
    浏览(26)
  • Linux系统资源分析手段:CPU,内存,磁盘与网络IO的瓶颈定位

    用于优化: 在程序编码完成后,我们通常要对自己编写的工具进行功能测试与性能分析。 用于监控: 在观察某个系统的运行情况时,需要观察系统内多个中间件及组件的资源占用情况。 用于测试: 在开启某个服务时,我们需要拥有对于该服务运行时资源占用的量化手段。

    2024年01月18日
    浏览(74)
  • Linux-提高CPU、内存使用率shell脚本

    目录 1、提升CPU利用率 (1)构造CPU达到100% (2) 结束命令 2、提高内存利用率 可以申请的内存 申请内存空间: 完成后释放内存: 3、 使用ChaosBlade工具 cpu注入: 内存注入: (1)构造CPU达到100% for i in `seq 1 $(cat /proc/cpuinfo |grep \\\"physical id\\\" |wc -l)`; do dd if=/dev/zero of=/dev/null done (

    2024年02月04日
    浏览(57)
  • Linux CentOs7 监控CPU 内存 硬盘IO读写,网络负载,CPU温度等

    一般我们都知道TOP命令可以加载服务器的负载详情,但界面不太友好。因此用到htop 我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而大部分同学对服务器性能调优关注的较少,今天从3个部分对

    2024年02月07日
    浏览(38)
  • (mac)Prometheus监控之Node_exporter(CPU、内存、磁盘、网络等)

    1.启动 Prometheus 普罗米修斯  浏览器访问  http://localhost:9090/targets  2.启动Node_exporter  访问: http://localhost:9100    3.启动grafana 访问 http://localhost: 3000  4.添加数据源 5.查看Dashboard   普罗米修斯是后端数据监控平台,通过Node_exporter收集数据,Grafana将数据用图形的方式展示出来

    2024年04月26日
    浏览(35)
  • SpringBoot自主监控,获取服务信息、JVM、CPU、内存、磁盘、堆、线程、GC等

    1. 简介   在日常开发中一些关键的业务服务,期望在高并发状态下可以正常工作,或在异常情况时可以记录当时的性能信息,所以就需要进行监控。常见的监控例如: Prometheus 可以实现这个需求,如果需要更加简单方便的自主监控能力,可以引入本博客中的方案。 2. 相关博

    2024年02月15日
    浏览(34)
  • prometheus使用node_exporter监控Linux主机CPU、内存、磁盘、服务运行状况

    目录 1.node_exporter简介 2.部署node_exporter 2.1.安装node_exporter 2.2.编写system启动脚本 3.prometheus监控Linux主机 3.1.修改配置文件增加主机节点 3.2.主机添加成功 4.监控Linux主机CPU、内存、磁盘使用率 4.1.监控CPU使用率 4.1.1.获取空闲CPU监控数据 4.1.2.获取5分钟内的监控数据 4.1.3.获取5分钟

    2024年04月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包