(5)Zabbix用户参数配置

用户参数介绍:

       有时候当咱们运行的监控项目在zabbix预约义的key中没有定义时,就须要咱们手动编写zabbix用户参数的方法来监控咱们要定义的项目。须要在zabbix agent端把相关获取参数的命令写入到配置文件中的UserParameter中,而后zabbix Server读取配置文件中的返回值经过处理前端的方式返回给用户。前端

定义方法以下:node

    在被监控端/etc/zabbix/zabbix_agentd.d/目录下,建立*.conf结尾的文件,在文件内写入获取命令便可。
nginx

定义的语法以下:web

    UserParameter=key[*],commandvim

参数描述:bash

    Key:惟一. [*]表示里面能够传递多个参数服务器

    Command:须要执行的脚本,key[]里面的参数一一对应$1$9,一共9个参数。$0表示脚本命令网络

注意事项:curl

    若是须要使用命令行里面出现$2这种变量,那么你要使用两个$$2,例如awk '{print $$2}',不然会获取不到数据。分布式

监控内存参数

示例:在被监控服务器node2的/etc/zabbix/zabbix_agentd.d/目录下,建立一个os.conf文件,定义获取内存的值

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/os.conf
UserParameter=os.memory.used,free -m | awk '/^mem/ {print $3}'
[root@node2 ~]# service zabbix-agent restart

Zabbix服务器应用新定义的用户参数,这里使用刚刚定义的建值

定义一个图形:

能够从图形看到收集的相关数据了

客户端还能够监控其余参数,如获取第二段就是总空间,获取第四段就是剩余空间

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/os.conf
UserParameter=os.memory.used, free -m | awk '/^Mem/{print $3}'            #内存已用空间
UserParameter=os.memory.free, free -m | awk '/^Mem/{print $4}'            #内存剩余空间
UserParameter=os.memory.total, free -m | awk '/^Mem/{print $2}'           #内存总空间
[root@node2 ~]# service zabbix-agent restart

在定义一个监控项监控内存剩余空间

定义饼状图一块儿显示内存已用空间和剩余空间

图形预览以下所示:

监控nginx状态参数

安装nginx

[root@node2 ~]# yum -y install nginx

配置nginx

[root@node2 ~]# vim /etc/nginx/conf.d/default.conf
  location /status {
      stub_status on;
      allow 172.16.0.0/16;
      deny all;
  }

设置完成访问验证:

显示说明:

Active connections: 2   # 当前全部处于打开状态的链接数;

server accepts handled requests

9 9 33

     (1) 已经接受过的链接数

     (2) 已经处理过的链接数

     (3) 已经处理过的请求数;在"保持链接"模式下,请求数量可能会多于链接数量;

Reading: 1 Writing: 1 Waiting: 0

     Reading:正处于接收请求状态的链接数;

     Writing: 请求已经接收完成,正处于处理请求或发送响应的过程当中的链接数;

     Waiting:保持链接模式,且处于活动状态的链接数;


定义UserParameter用来获取指定参数的值:

[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=Nginx.active[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/ {print $NF}'         #监控active
UserParameter=Nginx.reading[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Reading' | cut -d" " -f2    #监控reading
UserParameter=Nginx.writing[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Writing' | cut -d" " -f4    #监控writing
UserParameter=Nginx.waiting[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | cut -d" " -f6    #监控waiting
UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}'  #监控已接受链接
UserParameter=Nginx.handled[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}'   #监控处理过的链接
UserParameter=Nginx.requests[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}'  #监控已经处理过的请求数
[root@node2 ~]# service zabbix-agent restart

定义一个监控项,监控已经处理过的请求数


定义图形


这个时候就能够看到监控的参数了


若是须要获取其余的参数,只须要在建立项目时设置相对应的key和对应的值便可。


相关内容:

(1)Zabbix2.4.5安装配置:http://ximenfeibing.blog.51cto.com/8809812/1670988

(2)Zabbix客户端监控+报警:http://ximenfeibing.blog.51cto.com/8809812/1670999

(3)Zabbix宏设置:http://ximenfeibing.blog.51cto.com/8809812/1671024

(4)使用zabbix监控web:http://ximenfeibing.blog.51cto.com/8809812/1671032

(4)Zabbix用户参数配置:http://ximenfeibing.blog.51cto.com/8809812/1671039

(6)Zabbix模版+网络发现:http://ximenfeibing.blog.51cto.com/8809812/1671041

(7)Zabbix分布式监控proxy实现:http://ximenfeibing.blog.51cto.com/8809812/1671048

相关文章
相关标签/搜索