zabbix自定义监控项

来源:互联网 发布:淘宝店铺基本设置教程 编辑:程序博客网 时间:2024/06/05 18:42

1、自定义监控项

  • 当zabbix自带的监控项已经不满足我们需要的时候,我们就需要自己定义监控项来满足我们的需求了。比如我们需要监控关于httpd的进程数。
  • 我们找到/etc/zabbix/zabbix_agent.conf配置文件中找到UserParameter的配置项,配置内容如下:
  • 配置完我们重启zabbix-agent。
service zabbix-agent restart
  • 重启之后,我们可用zabbix-get去检测我们获取的监控项的值是否是正确的。
    安装zabbix-get:
yum install zabbix-get
zabbix_get -s 172.24.5.149 -k check_httpds


当然我们也可以在/etc/zabbix/zabbix_agentd.d目录下自定义.conf结尾的文件。如下图所示:

注意:
我在其他服务器上安装了zookeeper,这时候发现两者的值不一样。

我们查看一下zookeeper进程的全名称。

然后在配置文件中设置了

UserParameter=check_zookeeper, ps -ef|grep "org.apache.zookeeper.server.quorum.QuorumPeerMain" |grep -v grep | wc -l

这时候再zabbix_get一下就会发现和我们想要的值是一样的了。

2、配置item,trigger.

  • 现在我们就可以去配置监控项,和报警机制。
  • 前面模板中配置的就是用的自定义监控项。可以去参考。

3、UserParameter配置详解

  • 参数格式,如果多个command则用逗号分开,不过前面最好没有返回值,只在最后一个command返回一个值.
    UserParameter=<key>,<command>
  • 一般agent上的key是不重名的,并且command获取到的数据量不能超过512k 也就是不能返回太大的值。
  • 可以自定义文件,在/etc/zabbix/zabbix_agentd.d目录下自定义以.conf的文件, 也可以修改主配置文件(上面介绍过)。
  • zabbix_get 获取值:

  • 另外UserParameter也可以传递参数UserParameter=<key>[*],<command>
    在参数[*]中可以$1代表第一个参数,$2表示第二个参数。
    那么就会出现{print $2}和上面的表示第二个参数的$2会冲突。
    我们可以在{print $$2} 多添加一个$以示区别。

  • zabbix_get获取值

4、配置好自定义的UserParameter,我们就可以去创建item。(和之前有些不一样)

  • UserParameter不加参数的之前在配置模板博客中介绍了httpd数量的item。
  • UserParameter传参数的item创建
    箭头所指的就是传的参数。
  • 接下来我们去看看这样的一个监控项是否能够监控到数据,创建graph,然后去查看:由于刚添加所以采集到数据比较少。