Zabbix之自定义监控

环境

Centos 7
Zabbix 4.0

监控

首先,在zabbix-agent的配置文件中增加监控项,新建一个文件:/etc/zabbix/zabbix_agentd.d/userparameter_custom.conf,内容如下:

UserParameter=custom.python.version,python -V
UserParameter=custom.timewait.count,ss -an|grep TIME-WAIT|wc -l

UserParameter的内容,以逗号分隔,前面是监控项,后面是执行的命令;
上面就是添加了两个自定义项,收集Python的版本号和统计timewait连接数;
重启zabbix-agent。
然后,在zabbix-server后台增加这两个监控:

注:类型选择“Zabbix客户端”,键值要与上文对应,版本号为文本,连接数为数字,属于新建的一个应用集Custom
稍等几分钟就可以在“最新数据”中看到:

注:若需要等待的时间非常长,修改下“管理”->“一般”->“其他”->“刷新不支持的项目”:

触发

下面给自定义监控加上触发,zabbix-server后台:

说明:文本进行正则匹配,这里是指“最新获取的Python版本号不为3.x时触发”。

说明:数字进行对比,这里是指“最近5分钟内的平均值大于40时触发”。
为了测试,这里设置的都是符合条件的触发,稍等就可以看到:

图形

数字类监控怎能少了图表呢,下面给Timewait连接数加上图形,在zabbix-server后台创建图形:

就可以在图形中看到效果了:

通配符

自定义监控可以用通配符,下面是三个例子:

UserParameter=custom.echo[*],echo $1
UserParameter=custom.sum[*],echo $1+$2 | bc
UserParameter=custom.awk[*],echo $1 | awk '{print $$2}'

然后在server端配置监控,示例:

那么,监控到的数据是:

说明:

  • 匹配变量通过$加数字引用,多个变量以逗号分隔
  • 若命令中存在$,就替换为$$

模板

实际使用中,自定义监控、触发、图形应该放到模板中,然后给需要的主机关联,这里就不演示了。

扩展

自定义监控可以用命令,就可以用各种脚本、程序,就可以扩展出无限可能。

posted @ 2020-12-03 14:57  晚来秋  阅读(270)  评论(0编辑  收藏  举报