zabbix通过自动发现-配置监控项、触发器(小白教程)

自动发现配置参考链接(不小白,不友好)
zabbix-get介绍

1配置

  • zabbix server:版本7(不影响),IP地址:192.168.0.60
  • zabbix agent:版本agent1(不影响),ip地址:192.168.0.51

2server UI界面配置自动发现(监控项原型和触发器原型)

去看参考链接里面–“服务端配置”这个章节。我创建的和他一模一样
将主机链接到模板他没讲,本着小白教程我讲讲
  • 创建一个主机,然后在“模板”的那里输入你刚才创建的模板名字,选择并链接就行了
    在这里插入图片描述

  • 如下图所示
    在这里插入图片描述

3 agent端配置(虽然也是参考链接,但是我讲详细点,也精简了一下)

3.1修改zabbix_agentd.conf文件

vim /etc/zabbix/zabbix_agentd.conf

#将相应的地方修改为下面的代码
UnsafeUserParameters=1
UserParameter=readPorts,/etc/zabbix/scripts/readPorts.sh
  • 解释一下:
    • UnsafeUserParameters这个参数是允许用户自定义的参数字符通过,否则不通过(识别不到)
    • UserParameter这个参数(可以先看看官网的userparameters),“readPorts,/etc/zabbix/scripts/readPorts.sh”里面的“readPorts”就是我们在zabbixserver的ui界面上创建自动发现规则的时候填入的键:readPorts(两个要一一对应,不能写错),“/etc/zabbix/scripts/readPorts.sh”就是当使用“readPorts”这个键时就去agent端的/etc/zabbix/scripts/readPorts.sh这个文件拿东西做操作(具体做什么操作就看readPorts.sh里面怎么写了)

3.2创建目标文件

  • 目的:用于存放zabbix要访问的文件

(1)在/etc/zabbix下创建scripts文件夹

mkdir scripts

在这里插入图片描述

  • 然后在script下有这几个文件
    在这里插入图片描述

(2)创建readProts.sh

  • 上一小节说明了这个文件是干什么的,看下面代码就知道:这个文件就是去当前目录拿ports.json文件的
vim readPorts.sh

#将下面代码粘贴到文件readPorts.sh中

#!/bin/sh
mypath=$(cd `dirname $0`; pwd)
cat $mypath/ports.json
  • 创建了readPorts.sh后再chmod一下,否则待会我们zabbix_get的时候没有权限
chmod +x /etc/zabbix/scripts/readPorts.sh

(3)生成ports.json文件

  • 参考教程的原话是这样的:
自动发现需监控的服务/端口,难点不在于读取,而在于自动生成json数据文件。此处的ports.json是根据ports.ini转换而来的。ports.ini文件需人工填写。
我给你解释一下:就是工作中ports.ini我们自己填的,里面填了服务和服务端口。再用个py或者其他文件(参考教程是getPorts.py)去取ports.ini的数据再生成ports.json文件。
  • 我们直接把要的数据填入到ports.json(自己想跟着参考教程做一遍就去看看参考教程的这一步)
vim ports.json

#把下面这些代码复制到文件中去
{
    "data": [
        {
            "{#SERVICE}": "mymysql",
            "{#TCP_PORT}": "20081"
        },
        {
            "{#SERVICE}": "yangli",
            "{#TCP_PORT}": "8089"
        }
    ]
}
  • 解释一下:
    • {#SERVICE}就是zabbix server的UI中我们设置的宏{#SERVICE}对应
    • {#TCP_PORT}"同上
    • 20081、8089记一下,待会看看界面上有没有

(4)现在都创建完了,我们source、restart一下

source /etc/zabbix/zabbix_agentd.conf
source /etc/zabbix/scripts/readPorts.sh
systemctl restart zabbix-agent

4测试验证

4.1zabbix server端测试

  • 使用zabbix-get测试
zabbix_get -s 192.168.0.51 -k "readPorts"
  • 结果
    在这里插入图片描述

4.2前端界面去看看

  • 看看是不是自动识别出来并创建了监控项和触发器了
    ![[image-20231228164339720.png]]

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-29 09:30:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-29 09:30:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-29 09:30:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-29 09:30:04       18 阅读

热门阅读

  1. c# 纤程 FiberTaskScheduler

    2023-12-29 09:30:04       28 阅读
  2. elementui 表单校验validate不起效果

    2023-12-29 09:30:04       44 阅读
  3. react 为什么要重构架构

    2023-12-29 09:30:04       35 阅读
  4. Android系列-LayoutInflater 几个 inflate方法的区别

    2023-12-29 09:30:04       39 阅读
  5. 重构第十一章:处理概括关系

    2023-12-29 09:30:04       37 阅读
  6. Web网站渗透攻击防御:守护网络安全的关键思路

    2023-12-29 09:30:04       38 阅读