首页 > 代码库 > 简单的自定义监控linux服务,只看ps进程是否存在
简单的自定义监控linux服务,只看ps进程是否存在
创建的自定义脚本:
[root@iZ23vqjnygtZ zabbix_agentd.d]# cat crm-web.sh #!/bin/bash ps -ef|grep crm-web|grep -v ‘grep‘|grep -v ‘sh‘|wc -l
注意权限和用户:
[root@iZ23vqjnygtZ zabbix_agentd.d]# ll crm-web.sh -rwxr-xr-x 1 zabbix zabbix 66 Nov 18 14:55 crm-web.sh
创建的自定义key:
[root@iZ23vqjnygtZ zabbix_agentd.d]# cat crm-web_status.conf UserParameter=crm-web_status[*],/etc/zabbix/zabbix_agentd.d/crm-web.sh $1
注意权限和用户:(应该不需要调整)
[root@iZ23vqjnygtZ zabbix_agentd.d]# ll crm-web_status.conf -rw-r--r-- 1 root root 74 Nov 18 13:03 crm-web_status.conf
重启zabbix agent服务:
[root@iZ23vqjnygtZ zabbix_agentd.d]# ps -ef|grep zabbix zabbix 5534 1 0 14:17 ? 00:00:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf zabbix 5535 5534 0 14:17 ? 00:00:00 zabbix_agentd: collector [idle 1 sec] zabbix 5536 5534 0 14:17 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection] zabbix 5537 5534 0 14:17 ? 00:00:00 zabbix_agentd: listener #2 [waiting for connection] zabbix 5538 5534 0 14:17 ? 00:00:00 zabbix_agentd: listener #3 [waiting for connection] zabbix 5539 5534 0 14:17 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec] root 9386 30370 0 14:59 pts/4 00:00:00 grep --color=auto zabbix [root@iZ23vqjnygtZ zabbix_agentd.d]# pkill -f /etc/zabbix/zabbix_agentd.conf [root@iZ23vqjnygtZ zabbix_agentd.d]# ps -ef|grep zabbix root 9410 30370 0 14:59 pts/4 00:00:00 grep --color=auto zabbix [root@iZ23vqjnygtZ zabbix_agentd.d]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf [root@iZ23vqjnygtZ zabbix_agentd.d]# ps -ef|grep zabbix zabbix 9420 1 0 14:59 ? 00:00:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf zabbix 9421 9420 0 14:59 ? 00:00:00 zabbix_agentd: collector [idle 1 sec] zabbix 9422 9420 0 14:59 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection] zabbix 9423 9420 0 14:59 ? 00:00:00 zabbix_agentd: listener #2 [waiting for connection] zabbix 9424 9420 0 14:59 ? 00:00:00 zabbix_agentd: listener #3 [waiting for connection] zabbix 9425 9420 0 14:59 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec] root 9434 30370 0 14:59 pts/4 00:00:00 grep --color=auto zabbix
选择“Configuration”→“Host”
找到指定的监控主机,选择“Items”
在弹出的新界面,点击“Create item”按纽
只需要修改“Name”和“Key”值
◆Name:crm-web服务进程
◆Key:crm-web_status
“applications”并非必选项,可以根据自己的实际情况来决定,这里主要方便分类。
点击“Triggers”,就可以点击“Create trigger”按纽
在弹出的新界面里,填写内容如下:
◆“Name”:crm-web服务不可用
◆“Expression”:{10.253.40.86:crm-web_status.last()}<>1
◆“Description”:crm-web服务不可用【不是必须填写的内容】
◆“Severity”:也不是必须这种类型
“Expression”里的内容,是点击“Add”按纽,在弹出的对话框里,再点击“Select”按纽
在弹出的对话框里,点击“crm-web服务进程”。这里之所以有这个监控项,是因为前面创建过Item,否则,自定义的监控项不会出现在这里。如果没有,也可以查看一下右上角的“Group”和“Host”定位是否正确。
“Function”选项就用图中的参数
“N”选项:1
点击“Graphs”,再点击“Create graph”按纽
“Name”:crm-web服务进程
点击“Add”按纽,在弹出的对话框里选择“crm-web服务进程”即可
基本的配置就这些内容。
下面的自定义监控项几乎一样:
[root@iZ23vqjnygtZ zabbix_agentd.d]# cat crm-notify.sh #!/bin/bash ps -ef|grep crm-notify|grep -v ‘grep‘|grep -v ‘sh‘|wc -l [root@iZ23vqjnygtZ zabbix_agentd.d]# cat crm-notify_status.conf UserParameter=crm-notify_status[*],/etc/zabbix/zabbix_agentd.d/crm-notify.sh $1
不要忘了重启zabbix agent服务。
在zabbix服务端执行测试命令:
[root@iZ23ejm6lkdZ zabbix_agentd.d]# zabbix_get -s 10.253.40.86 -k "crm-web_status" 1 [root@iZ23ejm6lkdZ zabbix_agentd.d]# zabbix_get -s 10.253.40.86 -k "crm-notify_status" 1
本文出自 “dark-matter” 博客,谢绝转载!
简单的自定义监控linux服务,只看ps进程是否存在