您的位置:首页 > 运维架构 > Shell

zabbix3.0.4使用shell脚本和zabbix自带模板两种方法添加对指定进程和端口的监控

2016-11-02 14:52 1071 查看
zabbix3.0.4添加对进程的监控:

方法一:通过自定义命令进行监控

主要思路:

通过 ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l 这个命令来判断进程sdk-push是否运行,如果不等于1则表示进程挂了,触发报警

被监控的zabbix-agent端:

添加监控参数:

# vim /etc/zabbix/zabbix_agentd.conf

UserParameter=sdk_push,ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l



重启zabbix-agent使配置生效

service zabbix-agent restart

zabbix-server测试是否ok,当端口不是默认的10050时,需要添加-p指定端口:

zabbix_get -s 1.1.1.1 -p 20050 -k sdk_push

在zabbix的web页面添加对应的监控:

添加监控项item

Confuguration --> Hosts --> 找到对应的主机,点开 Items --> Create item





创建对该监控项的触发器

Confuguration --> Hosts --> 找到对应的主机,点开 Triggers --> Create trigger





当然还可以定义动作action来对应用进行重新启动,如果应用较为复杂不建议这么做

最后不要忘记测试,可以将进程停止看是否会报警



方法二:通过zabbix自带的模板对指定进程进行监控

以下是对elasticsearch进程的监控配置,key中的参数说明,第一个参数是进程名字,没必要填写,填了反而会使监控不太准确,第二个参数是运行进程的用户名,第三个为进程的状态 ,包括:all (default), run, sleep, zomb ,第四个参数用来指定进程名中包含的字符,对进程进行过滤。

items --> create item

Name: amount of es

Type: Zabbix agent

Key: proc.num[,yunva,all,elasticsearch]

Application: process monitor



Key: proc.num[,yunva,all,elasticsearch] 中的值yunva要根据实际情况填写(运行elasticsearch程序的用户)

注意Type要选择Type: Zabbix agent 因为Type: Zabbix agent(active) 模式不能执行远程命令

3.配置好监控项后,添加触发器,如下触发器表示最后两次的值都是0,说明没有elasticsearch进程在运行,则出发报警。

trggiers --> create trigger

Name: process of es is down

Expression: {hostname:proc.num[,yunva,all,elasticsearch].max(#2)}=0





通过自带模板对端口进行监控

添加item:
name: yuyin file port 9999

Type: zabbix agent

key : net.tcp.listen[9999]



trigger:

Name: yuyin port 9999 is down

Expression: {Template OS Linux_yuyin_file_aiwaya:net.tcp.listen[9999].max(#2)}=0



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: