参考资料
官方文档.
有时候某个进程挂了没有发现,直到业务中断才想起去检查。希望能有个功能在某个进程挂了以后发出告警。
zabbix提供proc.num这个key对后台进程进行监控。原理很简单,其实就是看下文件在后台运行的数量,如果数量和运维设置的一致,就会认为是在正常工作的。反之发出告警。
proc.num[<name>,<user>,<state>,<cmdline>]
name - 进程名称 (默认是 all processes)
user - 用户名 (默认是 all users)
state - 可选的值: all (default), run, sleep, zomb
cmdline - 按命令行过滤(它是一个正则表达式)
例子:
⇒ proc.num[,mysql] → 在mysql用户下运行的进程数
⇒ proc.num[apache2,www-data] → 在www-data用户下运行的apache2进程数
⇒ proc.num[,oracle,sleep,oracleZABBIX] → 在oracleZABBIX命令行下的oracle用户运行的睡眠状态进程数。
现在我要监控一个叫 SSO 的进程。ps -ef|grep sso ,可以看到,只有一个是我所需要监控的。
这时候回到 zabbix-server 使用get查看下,是否能到 1
也是1.下面开始设置
主机 --> 监控项 --> 创建监控项
主机 --> 触发器 --> 创建触发器
测试下效果。
在SSO进程主机上再启动一个 sso 进程,如图
发出告警