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

如何配置Monit触发loadavg告警时附带top进程快照?

解决方案:在Monit Loadavg告警中附加Top进程快照

针对CentOS 7上的Monit v5.14,你完全不需要禁用原有告警,只需要扩展现有告警的动作,让它在触发时自动执行top命令并将输出附加到告警邮件里。以下是具体操作步骤:

1. 找到并编辑Monit系统监控配置

打开你的Monit主配置文件(通常是/etc/monitrc)或者单独的系统监控配置文件(比如/etc/monit.d/system),找到监控系统loadavg的配置段,原有内容大概是这样的:

check system localhost
  if loadavg (1min) > 4 then alert
  if loadavg (5min) > 2 then alert

2. 扩展告警规则,添加Top快照命令

直接在原有告警规则下追加exec指令,让Monit触发告警时自动执行top命令并捕获输出:

check system localhost
  if loadavg (1min) > 4 then alert
    exec "/bin/echo '=== Top 20 CPU占用进程 ===' && /usr/bin/top -b -n 1 -o %CPU | head -25"
  if loadavg (5min) > 2 then alert
    exec "/bin/echo '=== Top 20 CPU占用进程 ===' && /usr/bin/top -b -n 1 -o %CPU | head -25"

这里的参数说明:

  • -b:让top以批处理模式运行,避免交互式输出问题
  • -n 1:只生成一次进程快照,不需要持续输出
  • -o %CPU:按CPU使用率从高到低排序进程
  • head -25:截取前25行(包含top自带的系统信息行,实际能显示约20个进程)
    如果想查看内存占用最高的进程,把-o %CPU换成-o %MEM即可。

3. (可选)自定义全局告警邮件格式

如果希望所有告警的邮件风格更统一,可以在Monit全局配置中定义邮件模板,自动把命令输出插入到固定位置:

set alert your-email@example.com
  with mail-format {
    subject: Monit告警: $HOST发生$EVENT
    message: |
      **告警详情**
      - 事件类型: $EVENT
      - 关联服务: $SERVICE
      - 主机地址: $HOST
      - 触发时间: $DATE
      - 描述信息: $DESCRIPTION

      **触发时刻进程快照**
      $EXECUTEOUTPUT
  }

这样配置后,所有带exec指令的告警都会自动把命令输出填充到$EXECUTEOUTPUT的位置。

4. 验证配置并重启Monit

  • 先检查配置语法是否正确:
    monit -t
    
  • 如果输出Control file syntax OK,就重新加载Monit配置:
    systemctl reload monit
    

关键注意事项

  • 这个方式不会生成额外告警,只是在原有告警邮件中附加进程快照内容,完全符合你的需求
  • 确保top命令的路径正确(CentOS 7中默认是/usr/bin/top,可以用which top确认)
  • 如果需要更复杂的快照(比如同时展示CPU和内存占用Top进程),可以把命令写到Shell脚本里,例如:
    #!/bin/bash
    echo "=== Top 20 CPU占用进程 ==="
    /usr/bin/top -b -n 1 -o %CPU | head -25
    echo -e "\n=== Top 20内存占用进程 ==="
    /usr/bin/top -b -n 1 -o %MEM | head -25
    
    保存为/usr/local/bin/monit-process-snapshot.sh,赋予执行权限chmod +x /usr/local/bin/monit-process-snapshot.sh,然后把Monit里的exec改为:
    exec "/usr/local/bin/monit-process-snapshot.sh"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:38:19