我正在尝试使用 snmp 监控我的机器上运行的特定脚本。该脚本使用多个参数多次运行,如下所示
/usr/bin/perl /opt/data/script.pl -m test
或者
/usr/bin/perl /opt/data/script.pl -d
我曾尝试使用 check_snmp 的 --string 参数,但没有任何效果。
./check_snmp -H server01 -C public --string="/usr/bin/perl /opt/data/script.pl -m test"
当我执行 snmpwalk 时,脚本如下所示:
HOST-RESOURCES-MIB::hrSWRunParameters.675 = STRING: "/opt/data/script.pl -m test"
显然我无法监控 OID,因为它特定于 PID。所以基本上 -o HOST-RESOURCES-MIB::hrSWRunParameters.675 = PID of 675
答案1
我们用检查snmp进程,它为我们很好地完成了工作。
定义命令 { 命令名称 check_at_least_one_proc 命令行 $USER1$/check_snmp_process.pl -H $HOSTADDRESS$ -C 您的社区-此处 -n $ARG1$ -c 0 } 定义命令 { 命令名称 check_only_one_proc 命令行 $USER1$/check_snmp_process.pl -H $HOSTADDRESS$ -C 您的社区-此处 -n $ARG1$ -c 0,2 } 定义命令 { 命令名称 检查过程范围 命令行 $USER1$/check_snmp_process.pl -H $HOSTADDRESS$ -C 您的社区-此处 -n $ARG1$ -c $ARG2$,$ARG3 -w $ARG2$,$ARG3$ } 定义服务 { 使用通用服务 hostgroup_name snmpenabled 服务描述 NTP check_command check_at_least_one_proc!ntpd }