zabbix添加自定义监控项目

时间:2021-11-07 16:30:34

在zabbix里添加一个自定义监控项目,简单做个笔记,怕忘了

首先需要定义 zabbix_agentd.conf  中的 UnsafeUserParameters

修改为

UnsafeUserParameters=

然后我们还需要定义包含的自定义配置文件目录

Include=/etc/zabbix/zabbix_agentd.conf.d/

最后保存  zabbix_agentd.conf 配置文件

然后编写自定义监控脚本,这里我以一个简单的监控8080端口脚本为例子

#!/usr/bin/python
import socket
def check_port():
ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ss.settimeout(2)
try:
ss.connect(('localhost', 8080))
ss.close()
return 1
except socket.error:
return 2 x = check_port()
print(x)

如果端口是存在的存活的则返回1否则返回2

执行脚本,目前本机上的8080端口是存在的,会返回1

准备工作基本已经做完,我们开始添加自定义监控

首先需要把脚本放到zabbix的脚本文件夹下面,我这里的路径是

/etc/zabbix/monitor_scripts

大家可以自定义

然后最重要的来了,定义自定义监控配置文件

该配置文件位置在刚才的 zabbix_agentd.conf 里配置的包含目录下面,我这里就是

/etc/zabbix/zabbix_agentd.conf.d

进入到目录下后,我们开始定义监控项目文件

内容如下

UserParameter=st8080,/etc/zabbix/monitor_scripts/8080.py

红色的部分为你自定义监控的 键值 该值是在zabbix里添加监控项目时候需要用的到也就是下面的红框中的值,后面接的是脚本路径,别忘了中间有逗号间隔,这个配置文件就搞定了

zabbix添加自定义监控项目

然后我们保存文件后,需要重启下zabbix-agetn客户端

systemctl restart zabbix-agent

然后我我们去server端去试下看能不能取到key

zabbix_get -s 10.0.30.72 -p -k st8080

以上命令在server服务器上执行,依次是客户端IP 端口 定义的键值,结果如下

zabbix添加自定义监控项目

可以看到我们可以正常获取的键值,到这里基本没啥问题了,就可以去添加自定义监控项目了

打开zabbix控制台

点开配置-主机

然后找到需要添加自定义监控的机器,比如我这里是10.0.30.72

点项目

zabbix添加自定义监控项目

然后点右上角创建项目

zabbix添加自定义监控项目

zabbix添加自定义监控项目

除了键值需要和配置文件了定义的一致以外,其他默认就可以

最后点存档即可。

我们还需要添加触发器来报警

依次点击配置-主机-选择主机-触发器

zabbix添加自定义监控项目

点右上角创建触发器

zabbix添加自定义监控项目

点开后依次需要天上触发器名称,这个随便填,表达式,表达式需要点右边的选择来生成

zabbix添加自定义监控项目

具体的表达式生成如下

zabbix添加自定义监控项目

我们刚才自定义项目名称是status8080,这里点选择后我们就选择status8080,N选择2,因为报警触发条件是等于几的是报警,我们脚本定义返回2的时候是端口不通,所以这里写2触发报警

zabbix添加自定义监控项目

点插入,最后点存档即可。

添加图形也很简单

zabbix添加自定义监控项目

zabbix添加自定义监控项目

zabbix添加自定义监控项目

至此完结。