随着监控主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的运维人员需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添加设备、分组、项目、图像…..结果应该是让人吐的结果。
鉴于这个问题我们可以好好利用下Zabbix的一个发现(Discovery)模块,进而来实现自动刚发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像,下面我们来看看这个模块如何使用。
一、Zabbix 创建发现规则创建发现规则Configuration ---- discovery ---- Create discovery rule
配置基本信息 配置Checks 添加完checks之后 点击最下面的add添加保存即可
上面我们了解了如何自动发现主机,那么发现主机之后我们要做什么呢?
将主机加入主机组、并关联相应的模板!这样一整个流程就完善了,那么如何做呢?我们上面已经发现了主机接下来要对主机做操作
所以需要一个action (动作)来执行一些列的操作,下面我们来看具体操作。
2.1、为discovery(发现)创建action(动作)Configuration ---- Actions ---- Event source(选择Discovery) ---- Create action
2.1.2、添加触发Action的条件 这里添加了三个条件 分别是 “ip地址范围”、“服务类型” 和 “Discovery 状态”
2.2、创建操作 2.2.1、“Add host ”添加主机
“Add to host group” 将主机添加到主机组、选择要添加到的主机组
“Link to template” 链接到模板、选择相应的模板 这里我定义了 发现主机就 “添加主机(Add host)”并 “添加到主机组(Add to host groups)”、“链接到相应的模板(Link to template)”
点击“Add” 添加 添加完成之后效果如下 Ok 至此发现主机、添加主机并将主机添加到主机组 链接模板 全部完毕看看效果吧Monitoring ---- Discovery ----选择 自定义的发现规则下面是我定义的一个发现规则的效果 如图是发现的主机 查看主机以及主机相关的图像
当主机分布在不同的城市,比如不同的云环境中时,使用主动发现就不好处理了,使用自动注册的方式非常适合在云环境中的部署。
vim /etc/zabbix/zabbix_agentd.conf
ServerActive=zbx.chinasoft.com
# 主机名(这个会自动加入到zabbix-server断的主机显示中)
Hostname=auto_register_agent01
Configuration --> Action --> Auto registion --> Create action
Name: action_for_auto_register
Default subject: Auto registration: {HOST.HOST}
Send message to users: Admin (Zabbix Administrator) via weixin
Add to host groups: Linux servers
Link to templates: Template OS Linux
grep auto_register_agent01 /var/log/zabbix/zabbix_server.log