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. uoj228:基础数据结构练习题

    题意:http://uoj.ac/problem/228 sol  :线段树开根操作 对于节点x,可以在max[x]-min[x]<=1时直接做,转化为区间减或区间覆盖 #include< ...

  2. java实现短连接

    现在比较流行短连接,例如新浪微博,腾讯等等公司都开始使用短连接. ① 将长网址用md5算法生成32位签名串,分为4段,,每段8个字符: ② 对这4段循环处理,取每段的8个字符, 将他看成16进制字符串 ...

  3. python module :shelve

    shelve 是一个 key-value 的数据库. 操作方法和字典几乎一致. shelve 模块功能:以 key - value 的方式存储数据. 写数据 >>> import s ...

  4. 杭电oj2012-2021

    2012  素数判定 #include <stdio.h> #include <math.h> int main() { int x,y,i,j,a,flag; while(s ...

  5. QML与Qt C++ 交互机制探讨与总结(转)

    原文转自 https://www.cnblogs.com/aoldman/p/4103510.html 介绍 QML和 C++对象可以通过,signals,slots和 属性修改进行交互.对于一个C+ ...

  6. linux用户登录

    一.linux用户登录过程访问的文件 /etc/passwd---用户登录时,linux会先到这里查看用户Id.组Id.登录后的shell.用户工作目录 /etc/shadow(影)---linux在 ...

  7. Postman前端HTTP请求调试神器教程

    Postman功能: 主要用于模拟网络请求包 快速创建请求 回放.管理请求 快速设置网络代理 我们看下界面: 一 接口请求流程: 二 postman使用   从流程图中我们可以看出,一个接口请求需要设 ...

  8. Simditor 富文本编辑器

    Simditor 是团队协作工具 Tower 使用的富文本编辑器. 相比传统的编辑器它的特点是: 功能精简,加载快速 输出格式化的标准 HTML 每一个功能都有非常优秀的使用体验 兼容的浏览器:IE1 ...

  9. typescript项目配置路径别名(路径映射)

    在vue项目中,我们可以利用“@”来指代src目录,在普通webpack项目中,我们也可以通过配置webpack的config来指定路径别名,但是在typescript+webpack项目中我们该怎么 ...

  10. Codeforces Round #277.5 (Div. 2) B. BerSU Ball【贪心/双指针/每两个跳舞的人可以配对,并且他们两个的绝对值只差小于等于1,求最多匹配多少对】

    B. BerSU Ball time limit per test 1 second memory limit per test 256 megabytes input standard input ...