monicazhang 发表于 2017-8-20 16:13:28

怎样自动化添加上百台Zabbix监控

前言当我们熟悉了Zabbix的日常监控,可以在生产环境正确的部署和实施监控工作。而且通过修改Zabbix Agent为主动方式并结合Zabbix Proxy的使用,可以满足大规模监控的需求。那么同样的问题就是大规模监控环境中,如何能让操作自动化。面对上百、数千乃至上万的规模,手动添加监控基本上是不可能的。可以将Zabbix自动化分为三个大方向:
[*]Zabbix Agent的自动添加
[*]Zabbix Discovery自动发现
[*]使用Zabbix API

那么今天我们来说说Zabbix Agent的自动添加。
Zabbix Agent主动注册指的是,当我们新增加一台服务器,安装好Zabbix Agent,并配置Zabbix Server的IP地址后,Zabbix Agent主动联系Zabbix Server,Zabbix Server接收到Agent的连接后,根据Agent的特征,和相应的策略自动将它们加入Host,并且可以根据相关的特征自动关联相应的监控模板。
Zabbix Agent配置    需要开启Zabbix Agent的主动注册,首先我们需要对ZabbixAgent进行配置。
ServerActive=Zabbix Server的IP地址Hostname= #设置主机名,如果不设置默认使用HostnameItem获取主机名。而默认情况下HostnameItem=system.hostname,这样就可以获取到Agent的主机名了。#HostMetadata=nginx#HostMetadata用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,如果不设置默认从HostMetadataItem获取HostMetadataItem=system.uname# HostMetadataItem也是用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,这里设置的Item指的是Zabbix自带的监控项,注意这个值只用于HostMetadata没有设置的时候才生效。
Zabbix Action配置配置完毕Agent后,我们在Web界面上来配置一个Action。步骤为:configuration>>action>>Eventsource(选择Auto registration)>>CreateAction。可以自定义一个名称,其它的默认即可。
Action选项卡
Conditions选项卡我们要在Conditions里面定义好需要的条件,这里我们选择Host metadata like Linux。这样就刚好可以匹配到我们在agent配置文件里面设置的HostMetadataItem=system.uname。
Operations选项卡接下来我们配置Operations选项卡,告知Action匹配到条件后的操作。下面我们配置了三个操作,满足条件的activehost发起请求后会进行下面操作:
[*]把agent加到host列表
[*]把agent加入linuxservers组
[*]agent主机link模板Template OS linux


经过这样的配置,那么新的Agent就会自动被Zabbix Server添加到主机监控中,并自动链接模板。需要强调的是,你需要修改模板中的监控类型为Zabbix Agent(active)。目前自动注册并不会产生一个事件所以在Event中是看不到Zabbix Server自动添加了一台主机的。
原创:赵舜东
页: [1]
查看完整版本: 怎样自动化添加上百台Zabbix监控