zabbix自定义监控项一
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自定义监控项一的更多相关文章
- zabbix自定义监控项、添加图形、设置触发器、远程执行命令
监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...
- zabbix自定义监控项二
为zabbix增加支持传参的自定义监控项 例如使用zabbix来监控tcp的12种状态 tcp的12种状态可以通过man netstat来找到,即 LISTEN:等待从任何远端TCP 和端口的连接请求 ...
- Zabbix自定义监控项(模板)
虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...
- zabbix自定义监控项数据类型错误
问题描述 监控cpu使用率,脚本获取的值是浮点型 zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...
- zabbix自定义监控项
原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...
- zabbix 自定义监控项,监控tomcat访问量
uv:访客量.每个独立上网电脑视为一位访客.pv:访问量.页面浏览量或者点击量,访客每访问一次记录一次. 1.创建文件 /home/zabbix/pvuv_number.sh [ #/bin/bash ...
- zabbix 自定义监控项简单案例
例如:获取被监控主机的登录用户数 以uptime为例: 输入命令:uptime | awk '{print $6}' 可以获得当前登录用户数(不通终端打印出的位置不同) 1.被监控主机修改zabbi ...
- zabbix 自定义监控项每隔1分钟检测一次三次失败报警
在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py auth.check就是之后添加的自定义的item值 ...
- zabbix 自定义监控项 获取nginx监控状态
本篇是基于zabbix 源码安装的 [root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" Acti ...
随机推荐
- Linux系统——提高编译速度的方法
编译优化: 基本原则就是“以空间换时间” tmpfs: 解决IO瓶颈,充分利用本机内存资源 make -j: 充分利用本机计算资源 distcc: 利用多台计算机资源 ccache: 减少重复编译相同 ...
- 【POJ 2387 Til the Cows Come Home】
Time Limit: 1000MSMemory Limit: 65536K Total Submissions: 59755Accepted: 20336 Description Bessie is ...
- eclipse中git的使用
首先在Eclipse中安装EGit插件,如下图: 1. 2.点击Add 3. 4. 5. 给Eclipse安装插件很少遇到没被屏蔽的,这是一个.安装过程并不长,稍候即可. 安装成功之后我们就可以使用了 ...
- oracle修改数据遇到的坑
select t.*,mt.*,mr.rowid,mr.* from manu_routecardlist mr left join manu_routecard t on t.routecard_i ...
- JSON.stringify与jQuery.parseJSON
1.JSON.stringify,这个函数的作用主要是为了系列化对象的.(或者说是将原来的对象转换为字符串的,如json对象): 首先定义一个json对象,var jsonObject = { &qu ...
- mac 安装 mysql 配置
前言:下面主要介绍2种安装方法以及后续的配置,希望对大家有帮助.(推荐通过安装包的形式安装) 1. 使用安装包安装 mysql 双击打开安装文件 双击pkg文件安装 一 ...
- sql server创建外键,子母表,级联删除。
级联删除. 最近建一个合同关系,在原有的资产平台上添加维保合同关系,维保合同问题, 需要在后面添加资产的维保合同,使用ef,该添加的冗余字段都已经添加上了,现在做这个,删除的时候只删了主表提示出问题, ...
- calc(NOIP模拟赛Round 3)
原题: D e s c r i p t i o n 给三个正整数n,m和p,求(n^1+...n^m) mod p. Input 一行,三个整数n,m和p. Output 输出答案. S a m p ...
- ios截屏代码[转]
http://www.cnblogs.com/chenxiangxi/p/3547974.html 这位博主的连接中将ios自定义大小位置的截屏代码写的很不错,马上就能用的方法,对于只想马上用的程序员 ...
- HTTP GET与POST区别
HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST. HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语 ...