zabbix之DHCP应用状态的监控

传统的Zabbix监控项目难以反映出各类应用系统是否正常,只有亲自使用系统才能真正判断出应用系统是否可用,但是要做到实时监控,就必须用到运维自动化的相关技术了,否则单凭人工操作是无法保证监控的时效性的,利用运维自动化的核心技术-脚本编程技术来实现,我们采用脚本程序来模拟客户端或用户访问应用系统的流程,将该流程自动化、程序化,利用Zabbix监控系统的接口将系统状态传递给Zabbix,通过Zabbix系统的Trigger判断,将应用系统的可用状态的变更以页面、邮件或者短信的方式展示给运维管理人员,以达到实时监控的目的。

本监控系统可分为两大模块:模拟用户行为模块和应用状态感知模块。模拟用户行为模块和应用状态感知模块,这两大模块彼此关联协作,由模拟用户行为模块不断循环获取应用的状态,然后将状态传递给应用状态感知模块,应用状态感知模块经过判断,将状态信息以多种方式展示给运维管理人员。

DHCP应用状态的监控

一方面通过icmpping包来确定DHCP服务器是否在线,另一方面通过模拟客户端获取ip来判断DHCP应用的可用性。

自动实时监控DHCP服务的关键在于程序需要不停去模拟用户利用DHCP服务器获取IP地址的过程,这个过程可以利用两条命令”dhclient eth1”和”dhclient -r eth1”来表示,即释放IP和重新获取IP,如果DHCP应用出现故障,那么主机将无法通过上述两条命令获取IP地址,那么其他同网段的主机将无法ping通该主机。用一台主机来作为运行脚本程序的测试主机,该程序用脚本实现,起到模拟用户行为的作用,具体脚本程序如下所示:

#!/bin/bash
dhclient  eth1
myip=`ip addr | grep 'eth1$' | awk '{print$2}'`
if [ -z $myip ];then
    echo "0"
else
    echo "1"
fi
dhclient -r eth1

上述程序代码将执行”dhclient eth1”和”dhclient -r eth1”去重新从DHCP服务器获取IP地址,那么测试主机能否获得正确的IP地址就代表了DHCP应用是否可用,下一步就需要将该状态信息传递给应用状态感知模块,即Zabbix监控系统。

写完脚本后记得要使用zabbix_get检查一下是否能够通过key获得值:
这里写图片描述

在此过程中犯了如下错误:
zabbix用户没有命令执行权限,sudo命令在执行时需要有tty支持。
解决方法:visudo
zabbix ALL=(ALL) NOPASSWD: ALL
#Defaults requiretty
这里写图片描述
出现如下错误:
这里写图片描述
解决方法:在zabbix_agent端修改Timeout参数
~]# vim /etc/zabbix/zabbix_agentd.conf
Timeout=20 #默认是关闭,去掉注释,将值修改为20

在Zabbix监控系统中将会做如下几步工作:
(1)监控DHCP服务器

(2)设置一个Trigger,用于判断DHCP应用状态是否发生变化,如果发生变化,将在页面展示报警信息;T如果程序连续两次探测DHCP应用均不可用的话,则可以判定DHCP应用出现故障,通过将两次检测结果进行与操作,可以有效减少误报的概率。

(3)设置一个Action,用于设置当event触发Trigger时,Zabbix应该做出的动作,包括给运维管理人员发送邮件、短信等。

参考博文:http://os.51cto.com/art/201402/430196.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值