Zabbix自定义KEY

Linux自带的一些监控模板可能无法满足我们的需求,在生产环境中,我们可能需要对某些目录进行监控,比如/boot,接下来我们来对演示一下如何对目录进行监控,我们可以自定义key,来实现我们所需要的功能~

首先你要安装好zabbix_agent客户端

1.定义好监控对象,比如我要监控的就是/yinzhengjie/data/alarm/目录,我的思路就是在客户端把这个目录的大小取出来,然后发给服务端就好

[root@bogon yinzhengjie]# mkdir -pv /yinzhengjie/data/alarm/

[root@bogon yinzhengjie]# cd /yinzhengjie/data/alarm/

[root@bogon alarm]# dd if=/dev/zero of=test.sh bs=1M count=10

[root@bogon alarm]# ll

total 10240

-rw-r--r--. 1 root root 10485760 Dec 7 19:55 test.sh

[root@bogon alarm]# du -sh test.sh

10M test.sh

[root@bogon alarm]# du -sh /yinzhengjie/data/alarm/

11M /yinzhengjie/data/alarm/

[root@bogon alarm]#

上面就是在所需要监控的目录创建了一个10M文件,你可能会好奇为什么这个目录就是11M了,这个我们可以理解成这个目录下还存有一些隐藏文件或者目录,他们也会占有一定的inode,自然会产生点内存,1M的数字在生产环境中我们可以忽略不计的,我们忽略就好了,让他们默认就是11M

[root@bogon alarm]# ll -a

total 10248

drwxr-xr-x. 2 root root 4096 Dec 7 19:56 .

drwxr-xr-x. 4 root root 4096 Dec 7 18:29 ..

-rw-r--r--. 1 root root 10485760 Dec 7 19:55 test.sh

2.添加自己脚本

这个脚本我们可以在任何地方定义的,但是我建议还是放在一个制定目录下,因为方便你管理,以后的脚本也都可以放在那个位置,我是源码安装的zabbix_agent,他们的制定目录都在/usr/local这个目录下

[root@bogon yinzhengjie]# mkdir -pv /usr/local/zabbix/scripts/ && cd /usr/local/zabbix/scripts/

[root@bogon scripts]# more directories.sh

!/bin/bash

directories_size=du -m /yinzhengjie/data/alarm/ | awk '{print $1}'

echo $directories_size

[root@bogon scripts]#chmod +x directories.sh

备注:我是一个root用户,所以你们在使用du命令的时候要看你是否有权限哟~

3.添加自定义密钥

[root@bogon yinzhengjie]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

UserParameter=disk.catalog,/usr/local/zabbix/scripts/directories.sh

只需要在末行添加上这么一行就好了

[root@yinzhengjie scripts]# /etc/init.d/zabbix_agentd restart

以上客户端配置就完成了

那么让我们来服务端看看吧

首先。我们需要测试一下是否服务端能在服务器上读到数值

[root@bogon yinzhengjie]# /usr/local/zabbix/bin/zabbix_get -s 172.30.1.60 -k disk.catalog

11

[root@bogon yinzhengjie]#

很好,我们看到了返回值11,说明就好使了,如果你觉得命令行看起来别扭的话,可以这样干

[root@bogon yinzhengjie]# ln -s /usr/local/zabbix/bin/zabbix_get /usr/bin/zabbix_get

[root@bogon yinzhengjie]# zabbix_get -s 172.30.1.60 -k disk.catalog

11

[root@bogon yinzhengjie]#

做一个软链接,就不用敲却对路径了哟~

如果你看过我之前的服务端配置的话,相信下面的你也应该会操作了吧所以就不用往下看了

因为都是web界面的配置。

1.创建一个模板

image.png

2.添加item

image.png

3.创建图像


image.png

4.主机link到模板


image.png

5.查看服务端结果


image.png

我们看到当前的大小是11M,咦,我想搞点事情~我要让这个线动一下?怎么办?

6.回到我们的客户端配置,我们在这个目录下创建一个更大的文件

[root@bogon yinzhengjie]# dd if=/dev/zero of=/yinzhengjie/data/alarm/warning.txt bs=1M count=100

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 0.346348 s, 303 MB/s

[root@bogon yinzhengjie]# du -sh /yinzhengjie/data/alarm/

111M /yinzhengjie/data/alarm/

[root@bogon yinzhengjie]#

再来看看效果

image.png

zabbix自定义的KEY,也可以传参:

(1)编写的脚本处,使用变量:

image.png

(2)zabbix-agent配置文件zabbix_agentd.conf中,定义了KEY为参数模式,并且使用了变量:

image.png

(3)命令调用方式:


image.png

(4)web调用方式(注意:监控项处填写的键值为不带引号的参数):


image.png

附件:

1、指定目录集合中没有文件,则给出告警:blog.csdn.net/PlatoWG/art…

2、监控错误日志,指定目录下的日志error错误数,达到一定数量给出报警:blog.csdn.net/weixin_4315…

3、TCP连接数:blog.51cto.com/215687833/1…

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容