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

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

修改为



UnsafeUserParameters=1



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


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自定义监控脚本配置_配置文件

 

 

 

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

systemctl restart zabbix-agent

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

zabbix_get -s 10.0.30.72 -p 1024 -k st8080

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

zabbix脚本监控 zabbix自定义监控脚本配置_自定义_02

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

打开zabbix控制台

点开配置-主机

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

点项目

zabbix脚本监控 zabbix自定义监控脚本配置_配置文件_03

然后点右上角创建项目

zabbix脚本监控 zabbix自定义监控脚本配置_python_04

 

 

zabbix脚本监控 zabbix自定义监控脚本配置_配置文件

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

最后点存档即可。

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

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

zabbix脚本监控 zabbix自定义监控脚本配置_zabbix脚本监控_06

点右上角创建触发器

zabbix脚本监控 zabbix自定义监控脚本配置_zabbix脚本监控_07

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

zabbix脚本监控 zabbix自定义监控脚本配置_自定义_08

具体的表达式生成如下

zabbix脚本监控 zabbix自定义监控脚本配置_python_09

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

zabbix脚本监控 zabbix自定义监控脚本配置_配置文件_10

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

添加图形也很简单

zabbix脚本监控 zabbix自定义监控脚本配置_python_11

zabbix脚本监控 zabbix自定义监控脚本配置_python_12

zabbix脚本监控 zabbix自定义监控脚本配置_python_13

至此完结。