• zabbix模板监控和自定义监控


    目录

    一、环境准备

    二、使用模板监控

    1、添加监控主机

    2、设置应用监控模板

    3、查看监控数据

    三、自定义监控

    1、配置自定义监控key

    2、创建自定义监控模板、应用集、监控项和图形

    2.1、监控模板、应用集、监控项介绍

    2.2、创建监控模板

    2.3、给自定义模板添加应用集、监控项和图形

     3、查看监控数据


    一、环境准备

    zabbix基础环境部署参照:zabbix基础环境部署_桂安俊@kylinOS的博客-CSDN博客

    以下实验部署均基于上述环境。

    二、使用模板监控

    1、添加监控主机

    • Host(主机)是监控的基本载体
    • Zabbix所有监控都是基于Host
    • 通过Configuration--->Hosts--->Create Host创建

     下面自带的一个监控记录是zabixserver自己监控自己,但是服务没有启用,点击状态可以切换启用。

    添加被监控客户端:

     如下可以看到添加的web1监控主机,但是监控项是0项,这里只是添加了主机,还没有设置监控项: 

    2、设置应用监控模板

    为web1主机添加关联的监控模板:

    • 点击监控主机名称
    • 在"Templates"模板选项卡页面中
    • 找到Link new templates,select选择合适的模板添加
    • 这里我们选择Template OS Linux模板

     

     

     

    如下图可以看到,在给web1关联了zabbix自带的Linux OS标准模板后,被监控web1主机有了32个监控项:

    3、查看监控数据

    选择“监测中”--->“最新数据”--->选择主机,如果主机比较多,可以先选择“主机群组”,然后在群组里找到指定主机,选择完后点“应用”:

     选择应用后,可以看到下面有了监控数据:

     监控数据页面是自动刷新的,刷新时间可以自己设置:

     可以图形化查看,比如下图选择查看cpu一分钟负载,选择后点后面图形,因为中文这边会有显示问题,所以切换回英文:

     ​​​​

     可以在web1执行一个死循环脚本,是cpu负载上升:

    while :; do echo a; echo b; done

     可以看到,cpu负载明显上升:

    三、自定义监控

    上述使用的是zabbix自带的模板进行主机监控,监控的数据也是模板里固定的数据,无法满足每个场景具体的、个性化的需求,这就需要使用自定义监控。

    1、配置自定义监控key

    zabbix的自定义监控,默认是不开启的,需要修改配置文件,然后才可以编写自定义监控脚本。

    第1步:修改被监控端的Agent配置文件(在被监控端操作):

    1. #以web1主机为例
    2. vim /usr/local/etc/zabbix_agentd.conf

    修改如下参数:

    1. UnsafeUserParameters=1 #取消注释,设置是否允许自定义支持特殊符号,1允许,0不允许
    2. Include=/usr/local/etc/zabbix_agentd.conf.d/ #取消注释,加载配置文件目录,后面自定义监控的命令或脚本都得放在该目录下

    第2步:创建自定义key(在被监控端操作):

    (以下以web1主机为例):

    1. #count.line.passwd是自定义key名称,该文件不存在,需要新建
    2. vim /usr/local/etc/zabbix_agentd.conf.d/count.line.passwd

    添加如下内容,监控内容为获取当前系统用户数量:

    1. #自定义key语法格式:UserParameter=自定义key名称,命令
    2. #sed -n '$=' /etc/passwd是自定义监控命令,这里是统计passwd文件最后一行行号,即监控系统用户数量,也可以换成自定义脚本
    3. UserParameter=count.line.passwd,sed -n '$=' /etc/passwd

    重启Agentd:

    1. #关闭agentd
    2. killall zabbix_agentd
    3. #启动agentd
    4. zabbix_agentd

    测试自定义key是否生效:

    1. #zabbixserver向被监控端获取监控数据就是使用的zabbix_get命令,-s是被监控目标IP,-k后面跟监控项名称
    2. zabbix_get -s 127.0.0.1 -k count.line.passwd

     如上能够获取到执行结果,表示成功。

    【常见报错】:

    如在执行zabbix_get提示:Check access restrictions in Zabbix agent configuration

    说明该主机没有权限去监控目标主机,需要检查目标主机(被监控端)的agent客户端配置,有没有将监控服务端主机IP加入进去,配置文件如下:

    vim  /usr/local/etc/zabbix_agentd.conf   #对于配置内容如下:

    Server=127.0.0.1,192.168.2.10

    ServerActive=127.0.0.1,192.168.2.10:10051

    2、创建自定义监控模板、应用集、监控项和图形

    2.1、监控模板、应用集、监控项介绍

    上面只是创建了一个监控项,后面还需要使用zabbix页面去调用,一个正式的自定义监控项的添加流程应该是:创建监控模板--->创建应用集--->添加监控项,如下图:

     如上图,先创建一个监控模板,名为cluster,再创建一个应用集1,应用集1里再去添加具体的监控项,当然如果这个模板里的监控项比较少的话,可以不用应用集,直接将监控项放在模板里面,应用集只是一个分组的概念,方便监控项多的时候,进行分组管理,可以快速查询。

    如下图,在查看监控项的时候,下面的CPU、Filesystems黑色加粗项就是一个个应用集,应用集里面包含了同一类的若干具体监控项:

    2.2、创建监控模板

    根据上述添加流程,我们需要先创建一个监控模板

    登录zabbix服务器管理页面:

    选择 配置--->模板--->创建模板

     

     如上,这里创建一个count.line.passwd监控模板,然后放到一个新建组count.line.passwd里,完成之后选择最下面的添加。

    添加完成后,可以看到做了一个刚刚新建的模板,但是这个模板是空的,里面没有应用集和监控项:

    2.3、给自定义模板添加应用集、监控项和图形

    第1步:创建应用集 

    先创建应用集,点击监控模板后面对应的应用集:

    选择创建应用集:

     回到刚刚的所有模板页面,可以看到新建的count.passwd模板里多了一个应用集:

    第2步:创建监控项 

    点击监控项,进行添加具体监控项:

    默认没有监控项,选择创建监控项:

     如下图所示,监控项名称自定义;类型是选zabbix客户端,因为客户端的count.line.passwd是zabbix agent客户端提供;键值这里不能自定义,一定要和客户端在创建key的时候zabbix_agentd.conf.d/count.line.passwd文件中的UserParameter字段的等于号后面的字段一致,这里是count.line.passwd;信息类型的话根据实际监控项返回内容选择,这里是获取系统用户数量,是数字类型;下面更新间隔、历史数据保留时长、趋势存储时间等无特殊需求使用默认值就可以;应用集是将该监控项归属到之前创建的应用集;配置完成后,选择最下面的添加:

     添加完成后,返回到所有模板页面,可以看到多了一个监控项:

     第3步:创建图形

    如上有了应用集、监控项,还需要再添加一个图形:

    创建图形:

     配置图形参数:

     再次回到所有模板,可以看到自定义模板图形也有了:

     第4步:将监控模板和被监控主机绑定

     以上是创建了一个基础监控模板,剩下就是将模板和被监控主机绑定,实现自动监控:

    点击配置--->主机--->被监控主机web1

     选择web1模板:

     选择模板:

     勾选完后需要选添加,才将模板正式添加给主机:

    添加完后,选择更新:

     3、查看监控数据

    以上配置好自定义监控内容后,可以实现查看自定义监控数据了,可以看到监控web1的count_line_passwd_item的值,即实时用户数: 

     也可以图形化查看折线图

     测试:可以给被监控主机web1创建几个用户,观察zabbixserver的监控数据是否会实时变化:

    1. #在web1执行,创建10个用户
    2. for i in {1..10}; do useradd testuser$i; done

     可以看到监控的用户数量数据由46变成了56,折线图也发生了变化:

  • 相关阅读:
    Ajax与jQuery
    spark相关网站
    【广州华锐互动】影视制作VR在线学习:身临其境,提高学习效率
    torch.hub.load()函数的使用——联网加载权重以及如何加载本地权重
    人工智能-卷积神经网络之多输入多输出通道
    修改Cpython解释器为python单文件代码加密(无import自己模块)
    旅游网站HTML
    MyBatis 动态 SQL、MyBatis 标签、MyBatis关联查询
    福建农林大学计算机考研资料汇总
    边缘路由器是什么意思?全方位了解它
  • 原文地址:https://blog.csdn.net/qq_28903377/article/details/128071208