Zabbix如何监控进程或端口
监控进程
zabbix进程监控 监控Rsync 进程
zabbix monitor
1、主机下新建监控项 配置--主机--点击主机监控项--创建监控项- 名称-Rsync-proc 类型-zabbix客户端 键值-proc.num[,root,all,rsyncd] 信息类型-数字(无正负) 数据类型-十进位数字 应用集-Processes 如图
PRONAME=flume num=`ps -ef|grep java|grep $PRONAME|wc -l` zabbix_get -s 118.89.28.39 -p10050 -k "" zabbix_get -s 118.89.28.39 -p 10050 -k "proc.num[,root,all,flume]" zabbix_get -s 118.89.28.39 -p 10050 -k "proc.num[,root,all,salt-minion]" ssdb zabbix_get -s 123.207.227.123 -p 10050 -k "proc.num[,root,all,ssdb]" zabbix_get -s 118.89.28.39 -p 10050 -k "proc.num[,root,all,ssdb]" 2、创建触发器 配置--主机--点击主机触发器--创建触发器 名称-- Rsync-Server-Proc on server{HOST.NAME} 表达式-- {ad-admin:proc.num[,root,all,rsyncd].last()}=0 表达式--可以使用添加--选择刚刚添加的监控项--然后选择值 zabbix_get -s 11.8.0.22 -p 10050 -k "proc.num[,root,all,rsyncd]" 可以使用这个命令去或者服务器端口当前的值,然后判断 名称:ssdb-Server-Proc on server{HOST.NAME} #选择就行了不用手工写 表达式: {da_123.207.227.123:proc.num[,root,all,ssdb].last()}=0 {ad-admin:proc.num[,root,all,rsyncd].last()}=0
监控端口
zabbix server monitor
1、主机下新建监控项 zabbix监控端口 使用zabbix的item中的key来做端口 监控进程的key 一般是tcp 不是udp 图不太对而已 net.tcp.listen[port] key对应的释义 Checks if this TCP port is in LISTEN state. Returns 0 - it is not in LISTEN state; 1 - it is in LISTEN state 检测tcp端口的状态,监听中返回1,未监听返回0 示例中的key值配置 net.tcp.listen[3307] zabbix中item的配置如下:
2、创建触发器 报警设置当然也用zabbix的trigger 相应的trigger对应的Expression如下: {test_agentd:net.tcp.listen[3307].last(0)}=0 zabbix中trigger的配置如下:
加上zabbix邮件报警,你就可以停掉对应的进程或者端口来检测是否达到预期期望,即触发了trigger,而后发送报警邮件。
参考
zabbix监控进程 http://825536458.blog.51cto.com/4417836/1877829
zabbix监控mysql主从 http://825536458.blog.51cto.com/4417836/1775341