一、概述

为什么需要自定义监控呢?

虽然zabbix已经给我们准备好了很多的模板,但是有的东西还是无法监控,这时候就要我们自定义监控了。

自定义监控的思路

比如我们现在想要监控这个值,如下所示,模板里面并没有。

二、步骤

第一步:我们首先要把需要的值取出来

iostat | awk '/^sda/{print $2}'
4.11

第二步:在被监控端增加增加监控项

[root@web01 ~]#yum -y install zabbix-agent 
[root@web01 ~]#systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbx-agent
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Format: UserParameter=<key>,<shell command> #这就是格式
Include=/etc/zabbix/zabbix_agentd.d/*.conf
Server 192.168.80.22 #修改这一处即可,这时的IP是zabbix端的IP,而不是被监控端的,就是告诉被监控端,把数据交给谁。
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/iotop.conf
UserParameter=iotop,iostat | awk '/^sda/{print $2}'
[root@web01 ~]# systemctl restart zabbix-agent #重启
[root@web01 ~]# zabbix_agentd -p | grep iotop #验证是否生效
iotop [t|3.96]

第三步:在zabbix-server上验证zabbix-agent是否有对应的监控项

[root@zabbix ~]# yum -y install zabbix-get
[root@zabbix ~]# zabbix_get -s 192.168.80.240 -p10050 -k iotop
3.91

第四步:在zabbix-web界面进行关联对应的主机

单位和更新时间随便写,单位可以自定义,写”个“,”帧“都可以,没问题。

更新时间就是多长时间刷新一次。

历史保留时长不要搞太长,动不动就很长时间,如果着急取一个值,但是数据库满了,数据放不进进去了,web界面也无法显示,到时候干瞪眼!!

这个查看值值得说一下:

错误总结

问题一:

后来再复现这个实验时出了问题,什么问题呢?zabbix通过zabbix_get 命令控测被监控端老是报错:

Check access restrictions in Zabbix agent configuration

检查过程当中也没有发现什么错误,到最后在agent端上看日志时发现了这么一条:

22640:20191230:111447.722 failed to accept an incoming connection: connection from "192.168.80.173" rejected, allowed hosts: "192.168.80.22"

原来代理仅允许80.22访问,而zabbix有两个网卡,一个网卡是80.22另一个网卡是80.173,zabbix探测agent的时候是通过80.173网卡过去的,结果被agent端给拒绝了,其实也很好解决这个问题,在zabbix把带有173地址的那个网卡在down了就可以了,怎么down呢?ifconfig eth1 down。

问题2:

在配置agent代理时,我们要进入agent的配置文件设置ansible-server的IP地址,原本以为这个地址的意思是将收集好的信息交给哪台主机?后来通过查看日志之后发现不是这样,server的意思是我只允许哪台服务器从我这里面通过zabbix协议获取信息,默认的日志地址:var/log/zabbix/zabbix_agentd.log ,这同时也说明了为什么只有zabbix的服务端才能使用zabbix-get命令。

6、zabbix自定义监控的更多相关文章

  1. Zabbix自定义监控8080端口的连接数

    Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...

  2. zabbix自定义监控阿里云RDS服务

    zabbix自定义监控rds zabbix通过阿里云api 自动发现.监控阿里云RDS-Mysql数据库 注意事项  脚本会收集RDS别名,  不要默认别名 不要使用中文别名(zabbix不识别)  ...

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

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

  4. zabbix自定义监控项

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

  5. zabbix自定义监控

    有的时候zabbix提供的监控项目,不能满足我们生产环境下的监控需求,此时我们就要按照zabbix的规范自定义监控项目,达到监控的目的 zabbix_get:模拟zabbix_server和agent ...

  6. zabbix 自定义监控文本内容

    需求:监控服务器硬盘使用率是否有超过80%的 需要监控的文本 root@zabbix zabbix]# cat /etc/zabbix/scripts/data/monitor_disk.txt &q ...

  7. zabbix 自定义监控nginx

    zabbix自定义nginx监控项 查看nginx编译安装是否加上该选项,如果没有请重新编译安装 配置nginx.conf vim /usr/local/cpgroup/nginx/conf/vhos ...

  8. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  9. zabbix自定义监控项二

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

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

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

随机推荐

  1. [日常] 解决PHP Warning: Module 'mysqli' already loaded in Unknown on line 0

    解决PHP Warning: Module 'mysqli' already loaded in Unknown on line 0 原因:是PHP有两种方式添加扩展模块,一种是直接编译进了PHP,另 ...

  2. Shadow Map -- 点阴影(全方位)

    昨晚终于把点阴影(深度CubeMap)程序调通了,思想不难,基本就是在上节定向光阴影基础上稍作修改,但是CG程序不太方便Debug,需要输出中间效果图进行判断,耽搁了一会儿. 过程如下: 1.将深度渲 ...

  3. 点击element-ui表格中的图标,上方显示具体的文字描述

    <template> <el-table :data="tableData" style="width: 100%"> <el-t ...

  4. UVA 12165 Triangle Hazard

    https://cn.vjudge.net/problem/UVA-12165 题目 给出D.E.F分BC,CA,AB的比$m_1:m_2$,$m_3:m_4$,$m_5:m_6$和PQR三点的坐标, ...

  5. 推荐|MathType的使用技巧

    前言 持续更新中,敬请期待... 数学学科 制作新的数学符号 不包含于符号:输入$\not\subseteq,然后按回车键enter即可: 分式\(\cfrac{3-x}{2x-1}\)符号:输入$\ ...

  6. CF1253E Antenna Coverage(DP)

    本题难点在正确性证明. 令 \(f_i\) 表示 \([1,i]\) 被全部覆盖的最小花费.答案为 \(f_m\). 首先发现,添加一个区间 \([0,0]\) 不会影响答案.所以 \(f_i\) 的 ...

  7. 【JS】JS实现Html转义和反转义(html编码和解码)的方法总结

    1.JS实现html转义和反转义主要有两种方式: 1).利用用浏览器内部转换器实现html转义: 2).用正则表达式实现html转义: 2.封装的JS工具类: var HtmlUtil = { /*1 ...

  8. 15-scrapy-redis两种形式分布式爬虫

    什么叫做分布式爬虫? 分布式爬虫,就是多台机器共用一个scrapy—redis程序高效爬取数据, 为啥要用分布式爬虫? 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器 ...

  9. Kubernetes V1.15 二进制部署集群

    1. 架构篇 1.1 kubernetes 架构说明              1.2 Flannel网络架构图 1.3 Kubernetes工作流程             2. 组件介绍 2.1 ...

  10. MySQL学习——操作数据库

    MySQL学习——操作数据库 摘要:本文主要学习了使用DDL语句操作数据库的方法. 创建数据库 语法 create database [if not exists] 数据库名 [default] ch ...