加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 当负载很高时,Nagios插件可以获取进程快照

发布时间:2021-03-05 23:20:26 所属栏目:Linux 来源:网络整理
导读:我们已经通过NRPE插件使用check_load配置Nagios来监控服务器负载,它会在负载很高时报告,但是当时没有选择快照顶级进程(如top命令). 那是否有任何nagios NRPE插件? 解决方法 你可以用 event handlers做到这一点. 首先,为您的Load平均定义添加一个事件处理程

我们已经通过NRPE插件使用check_load配置Nagios来监控服务器负载,它会在负载很高时报告,但是当时没有选择快照顶级进程(如top命令).

那是否有任何nagios NRPE插件?

解决方法

你可以用 event handlers做到这一点.

首先,为您的Load平均定义添加一个事件处理程序:

define service{
    use                     generic-service
    host_name               xx
    service_description     Load_Average
    check_command           check_nrpe!check_load
    event_handler           processes_snapshot!xx
    contact_groups          admin-sms
}

processes_snapshot命令在commands.cfg中定义:

define command{
    command_name    processes_snapshot
    command_line    $USER1$/eventhandlers/processes_snapshot.sh $SERVICESTATE$$SERVICESTATETYPE$$SERVICEATTEMPT$$HOSTADDRESS$
}

第二,编写事件处理程序脚本(processes_snapshot.sh):

#!/bin/bash

case "$1" in
    OK)
        ;;
    WARNING)
        /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot
        ;;
    UNKNOWN)
        ;;
    CRITICAL)
        /usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot
        ;;
esac

exit 0

命令processes_snapshot在xx主机上的nrpe.cfg中定义,如下所示:

command[processes_snapshot]=top -cSbn 1 | tail -n +8 | sort -rn -k11 | head > /tmp/proc_snap.txt

PS:我还没有测试过这个配置.

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读