1、在agent端配置

1.1 添加自定义监控项

zabbix中监控项叫做item,监控项的取值方法叫做key

item: Items是从agnet主机里面获取的所有数据。通常情况下我叫itme为监控项,item由key+参数组成

Key:我们可以理解为key是item的唯一标识,在agent端有很多监控项,zabbix-server根据key区分不同的监控项

zabbix_server通过发送key给zabbix_agent,然后agent端口根据key,把所要监控的item的最新数据返回给server端

例如添加一个简单的自定义监控项:监控硬盘的tps值(tps即为磁盘的 IOPS,KBPS 即为磁盘每秒的吞吐量)

tps值的获取可以用iostat命令得到,在使用iostat命令的时候需要先安装

[root@db01 ~]# yum install sysstat -y

[root@db01 ~]# iostat        #此处得到的tps值为8.97

Linux 3.10.0-327.el7.x86_64 (db01)     2018年06月11日     _x86_64_    (1 CPU)

 

avg-cpu: %user %nice %system %iowait %steal %idle

0.48 0.00 1.67 2.14 0.00 95.71

 

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 8.97 168.68 10.91 186118 12042

[root@db01 ~]# iostat|awk '/^sda/{print $2}'    #利用正则表达式取出tps的值

7.98

[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf        #修改zabbix-agent配置文件,在配置文件中设置允许并添加自定义监控项

284 UnsafeUserParameters=1    #默认为1,不修改也可以

自定义监控项的key值,格式为UserParameter=<key>,<shell command>,key值不能与现有的重复,现有的key值可以通过zabbix的web界面找到或者通过命令zabbix_agentd -p打印出来。命令最好使用全路径

285 UserParameter=monitor_tps,/usr/bin/iostat|/usr/bin/awk '/^sda/{print $2}

1.2 重启zabbix-agent服务

[root@db01 ~]# systemctl restart zabbix-agent.service

[root@db01 ~]# zabbix_agentd -p    #打印出所有zabbix的key值,可以发现自定义的会出现在最后面,此处已经取到了值,取值为5.69

2、在server端配置

2.1 测试zabbix-server主动获取数据

在zabbix服务端使用zabbix-get

[root@zabbix ~]# yum install zabbix-get -y        #安装

[root@zabbix ~]# zabbix_get -s 192.168.1.51 -p 10050 -k "monitor_tps"

3.86        #-s参数指定客户端地址,-p指定端口,-k指定key值,这里获取到客户端的tps值为3.86

2.2 在zabbix的web界面添加自定义监控项

点击:配置——>主机,选择并点击要添加自定义监控项的主机的监控项

点击创建监控项,填写相关信息后再点击添加

其中的键值要与自定义的key值对应,即monitor_tps

数据类型tps值为小数,即浮点类型

数据更新间隔,历史数据保留时长等要根据所添加的监控项合理设置

最后点击添加

2.3 查看自定义监控项

点击:监测中——>最新数据,过滤主机及应用集

自定义的监控项已经成功获取到了值,相关监控图形也生成了

3、批量增加自定义监控项

利用zabbix-agent的include方法,为每一个自定义的监控项创建一个配置文件,并将自定义的监控项发送到其他机器

[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf        #修改配置文件

294 删除自定义的单个监控项

265 Include=/etc/zabbix/zabbix_agentd.d/*.conf

[root@db01 ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@db01 zabbix_agentd.d]# ls

userparameter_mysql.conf

[root@db01 zabbix_agentd.d]# vim tps.conf        #新建自定义监控项的配置文件

UserParameter=monitor_tps,/usr/bin/iostat|/usr/bin/awk '/^sda/{print $2}'

[root@db01 zabbix_agentd.d]# systemctl restart zabbix-agent.service    #重启服务

[root@db01 zabbix_agentd.d]# scp tps.conf 10.0.0.63:`pwd`    #将配置文件发送到其他机器,这里发送到zabbix服务器上

[root@zabbix ~]# yum install sysstat -y

iosstat的命令在zabbix-server上并不具备,需要安装,因此批量添加自定义监控项的时候要注意的是,自定义的监控项中所使用的命令必须存在

接下来在web界面上为zabbix-servver也添加自定义的监控项,点击:配置——>主机,选择已经添加了自定义监控项的机器,点击监控项,找到并勾选自定义的监控项,点击复制

选择目标并复制

按照此方法,就可以批量为多台机器添加自定义的监控项

 

博主原创文章,转载请务必注明出处

zabbix自定义监控项一的更多相关文章

  1. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  2. zabbix自定义监控项二

    为zabbix增加支持传参的自定义监控项 例如使用zabbix来监控tcp的12种状态 tcp的12种状态可以通过man netstat来找到,即 LISTEN:等待从任何远端TCP 和端口的连接请求 ...

  3. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  4. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  5. zabbix自定义监控项

    原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...

  6. zabbix 自定义监控项,监控tomcat访问量

    uv:访客量.每个独立上网电脑视为一位访客.pv:访问量.页面浏览量或者点击量,访客每访问一次记录一次. 1.创建文件 /home/zabbix/pvuv_number.sh [ #/bin/bash ...

  7. zabbix 自定义监控项简单案例

    例如:获取被监控主机的登录用户数 以uptime为例: 输入命令:uptime | awk '{print $6}'  可以获得当前登录用户数(不通终端打印出的位置不同) 1.被监控主机修改zabbi ...

  8. zabbix 自定义监控项每隔1分钟检测一次三次失败报警

    在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py auth.check就是之后添加的自定义的item值 ...

  9. zabbix 自定义监控项 获取nginx监控状态

    本篇是基于zabbix 源码安装的 [root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" Acti ...

随机推荐

  1. POJ3717 Decrypt the Dragon Scroll

    Description Those who have see the film of "Kong Fu Panda" must be impressive when Po open ...

  2. 强军如歌(strong)

    强军如歌(strong) 题目描述 给定一个NN个数的序列AA,如果序列AA不是非降序的,你需要在其中选择一个数删掉,不断重复这个操作直到序列AA非降.求有多少种不同的删数方案.注意:删掉的数的集合相 ...

  3. mongo基本命令

    > show dbs    -- 查看数据库列表 > use admin   --创建admin数据库,如果存在admin数据库则使用admin数据库 > db   ---显示当前使 ...

  4. shell脚本——项目1

    案例名称:系统初始化 背景:10台已装有linux系统的服务器 需求: 1.设置时区同步 2.禁用selinux 3.清空防火墙策略 4.历史命令显示操作时间 5.禁止root远程登录 6.禁止定时任 ...

  5. 编写Shell脚本的最佳实践,规范一

    随着写的SHELL程序越来越多,发现自己每次写都有不同的习惯或者定义了不同的东西,变量名定义得不一样,整个程序缩进不统一,没有注释等问题,等我回过头看这些程序的时候发现很麻烦.所以写了个shell代码 ...

  6. [ CodeVS冲杯之路 ] P1098

     不充钱,你怎么AC? 题目:http://codevs.cn/problem/1098/ 显然就是使每堆牌达到总体的平均数,尽量使每次移动时的牌数最大,这就类似于飞行棋,将几个棋子叠起来一起走是最优 ...

  7. Application binary interface and method of interfacing binary application program to digital computer

    An application binary interface includes linkage structures for interfacing a binary application pro ...

  8. 华为上机测试题(MP3光标移动-java)

    PS:此题满分,可参考 描述: MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲.为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第 ...

  9. POCO库中文编程参考指南(2)基本数据类型(Poco/Types.h)

    POCO库中文编程参考指南(2)基本数据类型 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.com (# -> ...

  10. 【数据库】E-R模型

    E-R模型 实体:客观存在并可相互区别的事物称为实体.可以是具体的人.事.物或抽象的概念. 属性:实体所具有的某一特性称为属性.一个实体可以由若干个属性来刻画. 联系:现实世界中事物内部以及事物之间的 ...