一、概述

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

虽然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. 关于Linux下进程的详解【进程查看与管理】

    一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体 ...

  2. docker /var/lib/docker/aufs/mnt 目录满了怎么清理

    1.创建脚本文件 vi cleandocker.sh 内容如下: #!/bin/sh echo "==================== start clean docker contai ...

  3. NLP中的数据增强

    相关方法合集见:https://github.com/quincyliang/nlp-data-augmentation 较为简单的数据增强的方法见论文:https://arxiv.org/pdf/1 ...

  4. Linux 学习记录二(文件的打包压缩).

    和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip.bzip2.xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令.   gzip 压缩 ...

  5. node 下载 md5.js

    命令:npm install js-md5

  6. Javascript模块化开发4——Grunt常用模块

    一.copy 用于复制文件与目录. grunt-contrib-copy 二.eslint 检测代码的合理性. grunt-eslint 常见参数: 1.quiet 是否只显示errors.默认值fa ...

  7. consolidate.js 一个Node.js 模板引擎的集合

    consolidate是一个模板引擎的结合体.包括了常用的jade和ejs.通过配置我们就可以使用多种模板引擎. consolidate.js安装 npm install consolidate co ...

  8. 学习 正则表达式 js java c# python 通用

    正则表达式 js java c# python 学习网站 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Globa ...

  9. javascript检索某个字符或字符串在源字符串中的位置(下标)

    indexOf()方法 JavaScript中的String对象提供了一个indexOf(searchValue, fromIndex)方法用于检索某个字符或字符串在源字符串中第一次出现的位置(下标) ...

  10. Visual Studio 2019 16.1 使用 .NET Core 3.0

    一.前言 早在很久之前微软便公布 .NET Core 3.0 将支持开发Winform应用程序等等新特性,现如今 .NET Core 3.0 预览版已经出来第五个预览版了,从 .NET Core 2. ...