文章目录
1. 自动化监控概述
1.1 自动化添加主机
假设我们现在有100台主机需要添加,如果是一台台手动添加,工作量非常大。怎么样解决呢?我们可以通过zabbix提供的自动注册或自动发现来实现主机的批量添加。
1.2 自动化添加主机方式
网络发现(Network discovery)
自动注册(Active agent auto-registration)
2. 网络发现概念
2.1 发现原理
- 自动发现由两个步骤组成:发现discovery 和动作action
- 1.首先zabbix 周期性扫描“网络发现规则”中定义的IP段,发现满足规则的主机
- 2.然后使这些主机完成动作,添加主机、链接模版、发送通知等

2.2 规则示例
配置zabbix的网络来发现主机:
- 首先进入配置→自动发现
- 点击创建发现规则
- 编辑自动发现规则属性
- IP范围:192.168.20.1 - 192.168.20.254指zabbix会自动扫描这个网段的所有IP,依次连接这些IP的10050端口;
- 检查:尝试通过system.uname监控项,看看是否能获取到数据,如果可以则假如该主机;

2.3 网络发现实践
2.3.1 场景需求
例如我们设置IP段为192.168.20.1-192.168.20.254的网络发现规则,我们需要怎么操作:
- 发现有zabbix agent 运行的主机
- 每10分钟执行一次
- 如果主机正常运行时间超过2分钟,添加主机
- 如果主机停机时间超过24小时,删除主机
- 将Linux主机添加到"Linux server"组、链接模版Template OS linux到linux主机
2.3.2 发现场景-步骤1

2.3.3 发现场景-步骤2
点击配置→动作→Discovery actions
- “zabbix agent"服务器是"up”
- system.uname(规则中定义的zabbix agent键值)包含“linux”
- 正常运行时间为2分钟(120秒)或者更长

该动作(action)将执行以下操作:
- 将发现的主机添加到Linux server组(如果以前未添加主机,则自动添加主机)
- 链接主机到Template OS Linux 模版

2.3.4 发现场景-步骤3
定义动作删除失联主机


2.3.5 网络发现结果检查
2.4 网络发现总结
网络发现虽然能发现并添加主机,但依然存在一些问题:
- 1.发现时间长,效率低; 因为是串行添加 1-2-3-4-5
- 2.扫描过程中容易漏扫
- 3.当IP地址不固定难以实现
- 4.无法实现不同类型主机关联不同模版
3. 自动注册概念
3.1 注册原理
自动注册(agent auto-registration)功能主要用于Agent 主动向Server注册,与网络发现有同样的功能,但是这个功能更适用于云环境下,因为云环境下IP地址是随机的,难以使用网络发现方式实现;
1、注册时间短
2、适用于云复杂环境,IP地址无规律
3、关联不同的模版
4、提高server性能
3.2 注册配置
自动注册主要分为两个步骤:
1.自动注册,客户端避险开启主动模式,并设定主机名称
2.在zabbix web中配置一个自动注册的动作
3.3 自动注册实践-1
3.3.1 场景需求
- 根据不同的主机名称关联不同的主机模版
- web主机节点,需要关联Template OS Linux模版、TCP status模版、Nginx模版
- db主机节点,需要管理Template OS Linux模版、MySQL模版
3.3.2 配置ZabbixAgent
每当活动agent刷新主动检查到服务器的请求时,都会进行自动注册尝试。
请求的延时在agent的RefreshActiveChecks参数中指定,第一个请求在agent重启后立即发送
[root@localhost ~]# vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.20.46
ServerActive=192.168.20.46 #设置主动模式
Hostname=web02 #指定主机名,如不指定则服务器将使用agent的系统主机名命名主机
[root@localhost ~]# /etc/init.d/zabbix-agent2 restart
3.3.3 配置ZabbixServer
点击配置→动作→Autoregistration actions, 添加两个动作,一个是针对web组,一个是针对db组;

3.3.4 自动注册结果检查

3.4 自动注册实践-2
3.4.1 场景需求
- 根据不同主机名称关联不同的主机模版
- web主机节点,需要关联Template OS Linux模版、TCL status模版、Nginx模版、PHP模版;
- db主机节点,需要关联Template OS Linux模版、MySQL模版;
- 客户端采用Ansible Playbook实现,做到完全自动化添加主机,并智能添加模版
3.4.2 配置Ansible
#1.安装
#2.配置
server
serverActive
Hostname
#2.所有的脚本,所有的UserParameter全部导入到对应
的目录中;
#3.启动
# 脚本参考: roles_zbx.tar.gz
1.agent适用ansible来运行; (serverActive
Hostname )
2.所有的agen

本文详细介绍了如何通过网络发现与自动注册功能在Zabbix中批量添加主机,包括配置网络发现规则、自动注册流程、主动与被动模式的区别,以及低级发现LLD在监控端口和Redis多实例中的应用实例。
最低0.47元/天 解锁文章
1495

被折叠的 条评论
为什么被折叠?



