设为首页 收藏本站
查看: 1118|回复: 0

[经验分享] (5)Zabbix用户参数配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-6 08:48:18 | 显示全部楼层 |阅读模式
用户参数介绍:       有时候当我们运行的监控项目在zabbix预定义的key中没有定义时,就需要我们手动编写zabbix用户参数的方法来监控我们要定义的项目。需要在zabbix agent端把相关获取参数的命令写入到配置文件中的UserParameter中,然后zabbix Server读取配置文件中的返回值通过处理前端的方式返回给用户。
定义方法如下:
    在被监控端/etc/zabbix/zabbix_agentd.d/目录下,创建*.conf结尾的文件,在文件内写入获取命令即可。

定义的语法如下:
    UserParameter=key
  • ,command
    参数描述:
        Key:唯一.
  • 表示里面可以传递多个参数
        Command:需要执行的脚本,key的[]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令。
    注意事项:
        如果需要使用命令行里面出现$2这种变量,那么你要使用两个$$2,例如awk '{print $$2}',否则会获取不到数据。
    监控内存参数示例:在被监控服务器node2的/etc/zabbix/zabbix_agentd.d/目录下,创建一个os.conf文件,定义获取内存的值
    1
    2
    3
    [iyunv@node2 ~]# vim /etc/zabbix/zabbix_agentd.d/os.conf
    UserParameter=os.memory.used,free -m | awk '/^mem/ {print $3}'
    [iyunv@node2 ~]# service zabbix-agent restart



    Zabbix服务器应用新定义的用户参数,这里使用刚刚定义的建值
    wKioL1WYu5GCXh-PAAIOUjCp5Rs533.jpg
    定义一个图形:
    wKiom1WYucfQSwFcAAGBQGXTt94020.jpg
    可以从图形看到收集的相关数据了
    wKioL1WYu5vx71GzAAM0SeFE-q4089.jpg
    客户端还可以监控其他参数,如获取第二段就是总空间,获取第四段就是剩余空间
    1
    2
    3
    4
    5
    [iyunv@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}'           #内存总空间
    [iyunv@node2 ~]# service zabbix-agent restart



    在定义一个监控项监控内存剩余空间
    wKiom1WYudaj-XYwAAIUK09Ql1s204.jpg
    定义饼状图一起显示内存已用空间和剩余空间
    wKiom1WYudnjhzWFAAJsQzheD_k594.jpg
    图形预览如下所示:
    wKioL1WYu6jTYXE4AAHJ52ZTM24930.jpg
    监控nginx状态参数安装nginx
    1
    [iyunv@node2 ~]# yum -y install nginx



    配置nginx
    1
    2
    3
    4
    5
    6
    [iyunv@node2 ~]# vim /etc/nginx/conf.d/default.conf
      location /status {
          stub_status on;
          allow 172.16.0.0/16;
          deny all;
      }



    设置完成访问验证:
    wKiom1WYuePTPMzgAACNi6ERNRI201.jpg
    显示说明:
    Active connections: 2   # 当前所有处于打开状态的连接数;
    server accepts handled requests
    9 9 33
         (1) 已经接受过的连接数
         (2) 已经处理过的连接数
         (3) 已经处理过的请求数;在"保持连接"模式下,请求数量可能会多于连接数量;
    Reading: 1 Writing: 1 Waiting: 0
         Reading:正处于接收请求状态的连接数;
         Writing: 请求已经接收完成,正处于处理请求或发送响应的过程中的连接数;
         Waiting:保持连接模式,且处于活动状态的连接数;

    定义UserParameter用来获取指定参数的值:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [iyunv@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}'  #监控已经处理过的请求数
    [iyunv@node2 ~]# service zabbix-agent restart



  • 定义一个监控项,监控已经处理过的请求数
    wKioL1WYu6-yhrspAAJX_pTU3GY685.jpg

    定义图形
    wKioL1WYu7WzP34fAAGU8GsCJfI053.jpg

    这个时候就可以看到监控的参数了
    wKiom1WYueuyAkEYAAHfDxVaKb0618.jpg

    如果需要获取其他的参数,只需要在创建项目时设置相对应的key和对应的值即可。


  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83596-1-1.html 上篇帖子: (4)使用zabbix监控web 下篇帖子: (6)Zabbix模版+网络发现 用户
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表