跳到主要内容

[toc]

zabbix3.4自动化监控

1.zabbix主动被动模式区别

1.1 主动模式与被动模式针对的是agent

  • 主动模式 (Zabbix-agent主动上报给Zabbix-server)

    • agent向server主动请求对应监控项列表,在本机收集对应的监控数据,提交给server/proxy
    • 主动模式不启用10050端口
  • 被动模式 (Zabbix-server轮询检测zabbix-agent)

    • agent打开一个端口,默认为10050,等待server来获取数据,然后agent进行数据收集再发送到server

1.2 主动模式与被动模式选择如何选择

  • 当Queue里有大量延迟的监控项

  • 当监控主机超过300+, 建议使用主动模式

2.zabbix被动模式: zabbix默认是被动模式,假如有100个监控, 需要100个回合

iShot_2024-08-29_11.16.12

3.zabbix主动模式

3.1 修改zabbix为主动模式

第一步、修改agent端端配置文件/etc/zabbix/zabbix_agentd.conf

#修改以下两项
ServerActive=zabbix-server的IP地址
Hostname=zabbix-agent的主机名

第二步、zabbix web界面修改agent基础模版为Active

全克隆被动模式模版Template OS Linux

配置-->模版-->搜索Template OS Linux

iShot_2024-08-29_11.18.59

点击全克隆

iShot_2024-08-29_11.20.05

修改名称为Template OS Linux Active

iShot_2024-08-29_11.21.51

点击克隆后的Active模版-->监控项-->全选-->批量更新-->类型-->选择主动式-->更新

iShot_2024-08-29_11.23.01

更新后的类型为zabbix客户端主动式

iShot_2024-08-29_11.24.23

第三步、agent主机引用主动模式的模版

配置-->主机-->模版-->清理之前的默认模版Template OS Linux选择主动模式的模版Template OS Linux Active-->更新

iShot_2024-08-29_11.25.27

修改agent主机配置文件/etc/zabbix/zabbix_agentd.conf

//注释Server=
#Server=10.0.0.200

//修改ServerActive一项为server端IP地址
ServerActive=10.0.0.200

//修改Hostname 这里修改为server web端主机的名称
Hostname=test1-10.0.0.10

//将StartAgents一项修改为0,表示启用主动模式
StartAgents=0

//重启agent
systemctl restart zabbix-agent

#⚠️启用主动模式后,agent端就不会监听本地10050端口

4.zabbix自动注册

4.1 zabbix自动注册说明

zabbix3.4自动注册官方手册

  • zabbix-agent可以自动注册到服务器进行监控。这种方式无需在服务器上手动配置它们。

4.2 配置步骤

第一步、配置zabbix-agent指定zabbix-server

修改zabbix-agent配置文件/etc/zabbix/zabbix_agentd.conf,将Server和ServerActive都指定为zabbix-server
的IP,修改Hostname为zabbix-agent的主机名
[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=
ServerActive=
Hostname=

[root@zabbix-agent ~]# systemctl restart zabbix-agent

ServerActive即为主动模式
注意: 必须指定hostname,否则无法发现主机

第二步、单击配置->动作,选择自动注册为事件源,然后单击创建动作

iShot_2024-08-29_11.27.50

第三步、添加动作条件

iShot_2024-08-29_11.28.46

添加后的自动注册操作

iShot_2024-08-29_11.29.38

稍等几分钟,主机名似k8s的主机就会自动注册到server端

iShot_2024-08-29_11.30.57

另外一种方式,不修改agent端配置文件/etc/zabbix/zabbix_agentd.conf中的hostname,触发条件写主机名称似IP地址,但是这样在web界面显示的主机名称是默认的Zabbix Server,感觉有些low

5.zabbix自动发现

5.1 自动发现说明

zabbix3.4网络发现官方手册

网络发现由两个阶段组成:发现discovery和动作actions

⚠️自动发现的缺点

提示

自动发现中填写的IP地址范围是根据zabbix-server端的子网掩码去扫对应的主机,但是这样有缺陷,这样只能去扫跟zabbix-server端子网掩码相同段的主机,如果agent划分了子网掩码,这样就无法扫全主机

5.2 配置步骤

第一步、配置-->自动发现-->启用默认的发现规则(或者新建发现规则、克隆默认规则)

这里选择克隆系统默认规则并改名

iShot_2024-08-29_11.32.02

克隆后的自动发现规则

iShot_2024-08-29_11.35.33

第二步、配置-->动作-->创建动作

iShot_2024-08-29_11.37.01

操作信息

#默认标题
自动发现主机IP:{DISCOVERY.DEVICE.IPADDRESS}

#消息内容
客户端名称:{DISCOVERY.SERVICE.NAME}
客户端端口:{DISCOVERY.SERVICE.PORT}
客户端状态:{DISCOVERY.SERVICE.STATUS}

iShot_2024-08-29_11.38.12

稍等几分钟就会自动发主机

iShot_2024-08-29_11.38.56