19.12 添加自定义监控项目

添加自定义监控项目

  • 需求:监控某台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)针对该监控项目以图形展现;
  1. 首先需要在客户端(B机器)定义脚本
[root@hf-02 ~]# vim /usr/local/sbin/estab.sh

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

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

总结:

  • 在服务端上获取数值(通过脚本实现),给予服务端访问脚本的权限,在zabbix监控中心添加对应的监控项目(输入键值),即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成神之路

分布式_事务_01_2PC框架raincat快速体验

配置txManaager, 修改application.properties中你自己的redis配置 启动TxManagerApplication

1891
来自专栏Laoqi's Linux运维专列

Nginx+Tomcat实现Web服务器的负载均衡

4966
来自专栏贺贺的前端工程师之路

Angular2 之 时间的教训 & 错误

下面开始,时间的教训的记录,如果同样的错误我犯过不是第一次,那么我也会记录下来,我到时要看看,自己是不是会在同一个地方摔倒N次?

724
来自专栏白驹过隙

架构设计 - Server设计草稿

1242
来自专栏Java后端技术

Centos7下安装redis实战(单机版以及集群)

  因项目需要,要引入redis做缓存,就在centos7下亲自安装了一遍redis,刚好趁着这个机会就来把redis的概念以及单机版和集群版redis安装步骤...

911
来自专栏IT笔记

Tomcat优化之配置线程池

简介 线程池作为提高程序处理数据能力的一种方案,应用非常广泛。大量的服务器都或多或少的使用到了线程池技术,不管是用Java还是C++实现,线程池都有如下的特点:...

3348
来自专栏java相关

Redis学习笔记01---配置文件

1284
来自专栏散尽浮华

nginx应用总结(1)--基础认识和应用配置

在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结。 一、nginx服务简介 Ng...

4396
来自专栏FreeBuf

Sqlmap联合Nginx实现“地毯式”检测网站SQL注入漏洞

以安全防御方的角度来看,防御的广度比深度更具优先级,这也是信息安全中木桶原理的体现。 Sqlmap是一个开源的SQL注入漏洞检测工具,Nginx是高性能的WEB...

3308
来自专栏流柯技术学院

loadrunner录制回放常见问题及解决办法

1.录制错误     1)录制本机 WebTours 或录制本地网站无法打开     当 使 用 Vista 以 后 的 操 作 系 统 时 , 会 出 现 该...

2362

扫码关注云+社区

领取腾讯云代金券