19、9 添加自定义监控项目

很多监控项目是在模版里面配置体现出来的,但有时候会有一些个性化的需求,比如就是想知道某一个业务的数据,运营人员想知道网站注册量,和会员活动每天的活跃度,这些数据实际上是可以通过数据库里面的表体现出来的,但是在Zabbix不可以提供这么详细的监控项目,当遇到这种需求怎么办? 当遇到这种需求需要一个在客户端写一个shell脚本,把这个数值展现出来,通过一个监控项目,再去形成图表,给运营人员分析每星期的数值,以及每个月的数值趋势走向. zabbix在这点上还是不错的,可以自定义去监控一个项目.

需求:监控某台80端口的连接数,并出图
说明:首先是要获得这个连接数,拿到数值后到zabbix中心创建监控项目,然后针对这个项目做一个图形.

第1步:到客户端上定义一个脚本
vim /usr/local/sbin/estab.sh

#! /bin/bash
## 获取80端口并发连接数
netstat -ant |grep ':80' |grep -c ESTABLISHED
 
 
注:netstat -ant 是可以查看连接数的.

43794cb52b30e639fa2697666e7acb29df8.jpg

# 赋予执行权限
chmod 755 /usr/local/sbin/estab.sh
注:其实是赋予zabbix用户 执行权限,因为最终是zabbix用户执行这个脚本

第2步:编辑客户端的配置文件
vim /etc/zabbix/zabbix_agentd.conf 
UnsafeUserParameters=1      --> 表示使用自定义脚本,(0表示关闭使用自定义脚本,1表示使用自定义脚本)
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh  --> 定义脚本路径, 后面的[*]里面写脚本的参数,如果没有参数则可以省略.

37553465d5f574bb63dc0edce55c4e078c3.jpg

#修改配置文件后,重启zabbix-agent服务
systemctl restart zabbix-agent

在服务端测试客户端写的脚本是否有效
zabbix_get -s 192.168.179.129 -p 10050 -k 'my.estab.count'

6bbd67bc6610d047e8d88d523f94f927dae.jpg
如提示
zabbix_get [28999]: Get value error: cannot connect to [[192.168.2.116]:10050]: [113] No route to host
注:提示没有找到这个host
#解决
检查防火墙是否关闭
[root@root-01 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2017-09-10 12:12:51 CST; 21h ago
     Docs: man:firewalld(1)
 Main PID: 592 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─592 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
 
9月 10 12:12:45 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 10 12:12:51 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
 
 
[root@root-02 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2017-09-10 12:13:17 CST; 21h ago
     Docs: man:firewalld(1)
 Main PID: 583 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─583 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
 
9月 10 12:13:10 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 10 12:13:17 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
说明:测试不成功的是原因是因为防火墙没有关闭
#关闭客户端&服务端的防火墙
[root@root-01 ~]# systemctl stop firewalld
[root@root-02 ~]# systemctl stop firewalld
#重新测试就OK了
说明: 显示0, 说明可以获得数值

Zabbix监控中心配置,增加监控项目
说明:点击配置 --> 主机 --> 选择root-02 的监控项 -->点击创建监控项  
          名称(自定义) --> 键值 -->添加

bd7fc55748b42304169a42a215a41dcca72.jpg

 给添加的并发连接数监控项目做图形
说明:点击图形 --> 创建图形 -->名称 --并发连接数 --> 添加 -->选中并发连接数 -->选择 -->添加 

8c8e6cc8beeb126ba4d588650cdb303bc48.jpg
#并发连接数图形创建成功

75af4bfb80aa93a757051055c3429a0bcf0.jpg

2e57927ebd0eb71b625e29da32fbae14b55.jpg
给并发连接数监控项目做个触发器
说明:点击触发器 -->创建触发器 --> 名称 :并发连接数 --> 严重性 -- 选择告警 -->表达式 --添加  --> 监控项目 --点击选择--> 选中并发连接数 --> 功能 选择 最新的T值<N --> N 定义为200 (意思是并发数达到200就告警) -->添加

640b7acca31fdf8947545d04327efbfecac.jpg
   

转载于:https://my.oschina.net/u/3867322/blog/2049939

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值