前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >19.12 添加自定义监控项目

19.12 添加自定义监控项目

作者头像
运维小白
发布2018-02-07 11:44:50
5570
发布2018-02-07 11:44:50
举报
文章被收录于专栏:运维小白运维小白运维小白

添加自定义监控项目

  • 需求:监控某台web的80端口连接数,并出图
  • 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现
  • 对于第一步,需要到客户端定义脚本
  • vim /usr/local/sbin/estab.sh //内容如下
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
  • chmod 755 /usr/local/sbin/estab.sh
  • 客户端上编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf//增加
UnsafeUserParameters=1  //表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
  • 重启zabbix-agent服务 systemctl restart zabbix-agent
  • 首先到服务端验证,执行命令
  • zabbix_get -s 192.168.133.132 -p 10050 -k 'my.estab.count‘
  • 然后在zabbix监控中心(浏览器)配置增加监控项目
  • 键值写my.estab.count
  • 添加该项目后,到“监测中” “最新数据”查看刚添加的项目是否有数据出现
  • 有了数据就可以添加图形了
  • “配置”“主机” “图形” “创建图形”

添加自定义监控项目

  • zabbix的监控项目是在模板里面体现,但是有时候就会有些个性化的需求:某一个业务的数据,比如:运营人员想知道网站会员注册量,会员活跃度;实际上,这些数据,都可以通过数据库里面的表的数字来体现,但是zabbix模板是不可能提供那么详细的监控项目;遇到这种情况,就需要通过编程工具,写成脚本,把数字展现出来,然后通过zabbix监控项目,形成图表,就可以实现分析每天的数据是多少;
  • 需求
    • 监控某台web的80端口连接数,并出图
  • 解决方法:
    • 1)zabbix监控中心创建监控项目;
    • 2)针对该监控项目以图形展现;
  • 首先需要在客户端(B机器)定义脚本
[root@hf-02 ~]# vim /usr/local/sbin/estab.sh

#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

保存退出 
  • netstat -ant 显示网络连接的状态
  • 配置一个能够让zabbix用户执行的权限
  • chmod 755 /usr/local/sbin/estab.sh
B机器
[root@hf-02 ~]# chmod 755 /usr/local/sbin/estab.sh
[root@hf-02 ~]# 
  1. 在客户端上编辑zabbix配置文件
B机器
[root@hf-02 ~]# vim /etc/zabbix/zabbix_agentd.conf

搜索 /UnsafeUserParameters

将# UnsafeUserParameters=0
改为UnsafeUserParameters=1  
#目的是使用自定义脚本

搜索 /UserParameter
将# UserParameter=
改为UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
#表示自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,如果有参数写入到 [ ] 里面,用逗号分隔,脚本为/usr/local/sbin/estab.sh

保存退出
  • my.estab.count 这个是zabbix监控项里的 键值
  • 客户端(B机器),重启 zabbix-agent 服务
B机器
[root@hf-02 ~]# systemctl restart zabbix-agent
[root@hf-02 ~]# 
  1. 检查自定义的脚本是否被识别
  2. 到服务端(A机器)验证,执行命令,server无法获取数据
  3. zabbix_get -s 192.168.202.131 -p 10050 -k 'my.estab.count'
    • -s 指定客户端的IP地址
    • -p 指定端口,不加-p,默认就是10050端口
    • -k 表示 键值
A机器
[root@hf-01 ~]# zabbix_get -s 192.168.202.131 -p 10050 -k 'my.estab.count'
0
[root@hf-01 ~]#
  • 若是之前在客户端(B机器)写的脚本权限不设置成 755 ,这里的server获取数据时,就会提示 权限不够
  • 在获取数据的时候,一定要保证数据的通常,防火墙和selinux都需要去设置,否则就会有可能无法获取数据
  • 在zabbix监控中心(浏览器)配置增加监控项目,在 配置 ——> 主机 ——>创建监控项
  • 名称 写为:并发链接数
  • 类型 :选择zabbix客户端
  • 键值 写:my.estab.count——>键值可自定义,是不固定的
  • 单位 :保持默认
  • 历史数据保留时长(单位天):默认保持90天
  • 应用集:可以不选择,因为没有定义应用集
  1. 在添加该项目后,还需要添加图形,配置——>主机——>图形——>创建图形
  • 名称为创建并发链接数——>然后添加监控项 并发链接数——>点击添加
  1. 在图形中,查看新创建的图形,然后选择预览
  2. 若是网站访问量很大,那么每隔30秒就可以看到一个数字,时间长了,就可查看到网站访问量的趋势
  1. 做一个触发器,选择触发器——>创建触发器
  2. 当并发大于200,做警告级别
  1. 这样触发器就配置成功

总结:

  • 在服务端上获取数值(通过脚本实现),给予服务端访问脚本的权限,在zabbix监控中心添加对应的监控项目(输入键值),即可
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加自定义监控项目
  • 添加自定义监控项目
    • 总结:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档