用nagios通过snmp来监控某个文件的内容变化
用nagios通过snmp来监控某个文件的内容变化 来源: ChinaUnix博客 日期: 2008.01.06 14:10 (共有0条评论) 我要评论 有天有一哥们说想监控自己的一个log文件,原因是自己有个服务在跑,并写在crontab里面,如果一有问题就会向一个log文件 echo “1”.
下面就是具体的做法:
目标机器
vi /etc/snmp/snmpd.conf
加一句
exec .1.3.6.1.4.1.2021.112 warn_file /bin/sh $PATH/check_warnfile.sh
/etc/init.d/snmpd restart
vi $PATH/check_warnfile.sh
内容为:
#!/bin/sh
cat $PATH/warn_file
检查这个文件的内容为什么
nagios主机只要用check_snmp来抓这个oid的结果,如果是0则正常,1则报警
check_snmp -P 3 -U SNMPv3 username -a MD5 -A SNMPv3 authentication password -L authNoPriv -H IP -o OID -r KEYWORD
当然也可以用nagios的检测脚本check_http来抓这个文件,那这个文件则必须放到apache目录下才行
用/usr/local/nagios/libexec/check_http -H ip -u “url” -r keyword来做
nagios上配置文件的写法
define service{
use generic-service
hostgroup_name 你的组名
service_description WARN_FILE
normal_check_interval 30
retry_check_interval 4
contact_groups 你的报警联系人组
check_command check_snmp!ucdavis.112.101.1!0
}
check_snmp在checkcommand.cfg中已经定义
同上面的命令相似
PS:
在linux下看tail -f filename可以实时看文件内容变化。
有windows下个toolkit,同样提供了tail命令
使用check_nrpe可以解决任何通过网络监控的问题。