You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Monit v3.7.10 CPU使用率时段统计:如何替换平均值为最大值?

关于Monit v3.7.10 CPU使用率统计改用最大值的解决方案

核心结论

Monit v3.7.10没有内置配置项直接将时段统计从平均值改为最大值——这个版本的统计逻辑是硬编码的时段内数据平均,但可以通过两种方式实现你的需求:


1. 用自定义脚本替代内置CPU统计

自己写个shell脚本定期采集CPU使用率峰值,把结果存到临时文件,再让Monit监控这个文件的数值:

  • 脚本示例(每分钟采集一次CPU使用率最大值,用top实现):
#!/bin/bash
# 采集1分钟内的CPU使用率最大值(计算非空闲占比)
MAX_CPU=$(top -b -n 60 -d 1 | awk '/%Cpu/{print 100-$8}' | sort -nr | head -n1)
echo $MAX_CPU > /var/run/monit_cpu_max
  • 给脚本加执行权限:chmod +x /usr/local/bin/cpu_max_collector.sh
  • 配置crontab每分钟跑一次:* * * * * /usr/local/bin/cpu_max_collector.sh
  • 在Monit配置文件里加监控规则:
check file cpu_max with path /var/run/monit_cpu_max
    if content > 90 then alert

2. 升级Monit到更高版本(推荐)

Monit v3.7.10是2010年左右的老旧版本,不仅缺这类统计配置功能,还存在已知安全漏洞。升级到v5.x及以上的稳定版后:

  • 可以通过自定义监控项结合事件队列配置,直接追踪CPU峰值
  • 新版Web界面支持查看更细粒度的原始数据,排查峰值异常更方便

补充说明

如果必须保留v3.7.10,只能靠外部脚本采集峰值——这个版本的核心统计模块没开放修改统计方式的配置接口,没法通过改monitrc直接把平均值换成最大值。

内容的提问来源于stack exchange,提问作者GreenLantern22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 22:28:13