Zabbix 实现自动化运维

实现zabbix网络发现,自动把被监控主机纳入到监控列表
(适用于小规模环境,如果机器过多,会加重zabbix server的压力)
自动发现两个步骤组成:
发现discovery: Zabbix周期性地扫描在"网络发现规则"中定义的IP段,发现满足规则的主机 
动作action: 对这些主机完成动作,包括添加主机,添加模板,发送通知等等.
自动发现需求
发现有Zabbix agent运行的主机 每10分钟执行一次 
如果主机正常运行时间超过2分钟,添加主机 
将Linux主机添加到“Linux servers”组 
链接模板Template OS Linux 到Linux主机 
如果主机停机时间超过24小时,删除主机
创建自动发现指定需要监控的网段
配置--自动发现--创建发现规则
名称:自动网络发现
IP范围:10.0.0.10-50
更新间隔:1h
检查类型添加:zabbix客户端 范围10050  键值:system.uname
全选IP地址后启用添加
创建添加主机的自动发现动作
配置--动作--选择Discovery actions--创建动作--名称:自动发现动作--条件:
添加1:
类型:接收到的值
操作者:包含
值:Linux
添加2:
类型:服务类型
操作者:等于
服务类型:zabbix客户端
添加3:
类型:在线/不在线
操作者:大于等于
值:120s
计算方式:关系:或

操作:
添加:操作类型为发送消息,用户添加邮件告警
添加:操作类型为添加主机
添加:操作类型为添加到主机群组 选择linux server组
添加:操作类型为添加模板关联  Template OS Linux by Zabbix agent
完成添加并启动
检测--自动发现--选择规则
创建主机的自动发现删除动作
配置--动作--选择Discovery actions--创建动作--名称:自动发现删除动作--条件:
添加:在线/不在线大于等于30s(生产环境设置86400s)
添加:服务类型等于zabbix客户端
添加:自动发现状态等于下

操作:
添加:操作类型为移除主机
当停止客户端时,超过时间就被删除
Zabbix自动注册(适用于大规模主机的情况)
zabbix agent主动向服务器端发送请求来注册
Agent 必须使用主动模式才支持自动注册

在Zabbix agent 端的配置文件修改以下项目

Server=<Zabbix Server IP>  
ServerActive=<Zabbix Server IP>     #客户端主动模式是实现自动注册的前提条件
Hostname=<agent IP> 
#HostnameItem=system.hostname
HostMetadata==<key>             #非必须项,可以做为添加主机的验证标识和分类,或者实现加入主机的验证功能
HostMetadata=<监控项Item>        #非必须项,监控项的值可以做为添加主机的验证标识和分类
修改Zabbix agent的配置
[root@centos8 ~]#vim /etc/zabbix/zabbix_agent2.conf 
Server=zabbix.meng.org 
ServerActive=zabbix.meng.org 
Hostname=web-10.0.0.18            #指定主机名,如果不指定,则服务器将使用agent的系统主机名 #HostnameItem=system.hostname     #指定主机名 
HostMetadata=123456               #类似于验证码,agent和server都配,还可做分配用(默认没用)
#HostMetadataItem=system.uname
重启服务
[root@rocky8 ~]#systemctl restart zabbix-agent2.service
创建添加主机的自动注册动作
配置--动作--选择自动注册--创建动作--名称:自动注册动作--添加:主机元数据,匹配123456 (HostMetadata)
操作:操作类型:添加主机
操作:操作类型:添加到主机群组
操作:操作类型:与模板关联(主动模式)Template OS Linux by Zabbix agent active
验证结果:稍过一会儿,再观察可以看到下面显示添加主机成功或者重启以下agent服务