熟悉了zabbix的日常监控,可以在生产环境正确的部署核实施监控工作。而且通过修改zabbix agent为主动方式并结合zabbix proxy的使用,可以满足大规模监控的需求。那么同样的问题就是大规模监控环境中,如何能让操作自动化。面对上百、数千乃至上万的规模,手动添加监控基本上是不可能的。
可以将zabbix自动化分为三个打方向
- Zabbix Agent的自动添加
- Zabbix Discovery自动发现
- 使用Zabbix API
zabbix agent主动注册指的是,当新增加一台服务器,安装好zabbix agent,并配置zabbix server的IP地址后,zabbix agent主动练习zabbix server,zabbix server接收到agent的连接后,根据agent的特性核相应的策略,自动将它们加入Host,并且可以根据相关的特征自动关联相应的监控模版。
zabbix Agent配置
需要开启zabbix agent的主动注册,首先需要对zabbix agent进行配置。
|
|
Zabbix Action配置
配置完毕agent后,在web界面上配置一个Action。步骤为
configuration–>action–>Eventsource(选择AUTO REGISTRATION)–>CreateAcion
可以自定义一个名称,其它的默认即可。
Action选项卡
Conditions选项卡
要在Conditions里面定义好需要的条件,这里选择Host metadata like Linux。这样就刚好匹配到在agent配置文件里面设置的HostMetadataItem=system.uname
Operations选项卡
接下来配置Operations选项卡,告知Action匹配到条件后的操作。下面配置了三个操作,满足条件的activehost发起请求后会进行下面操作:
- 把agent加到host列表
- 把agent加入linux server组
- agent主机link模版Template OS linux
需要强调的是,需要修改模版中的监控类型为zabbix agent(active)。默认的话都是zabbix agent被动模式。
首先克隆一个模版:Configuration–>Templates–>Template–>Template OS Linux点进去,拉到最下面,选择Full Clone,重新给模版起一个名字,因为要改成恒主动模式,所以这里给模版起了一个Template OS Linux Active的名字。点进去模版选择items查看监控项,可以发现Type都是Zabbix Agent(被动模式)
修改被动模式为主动
- 点击左侧复选框选择所有监控项,然后点击下方的Mass update
- Type选择zabbix agent active 进行批量修改提交即可
修改完成以后就可以查看所有的模版类型了,不过发现并不是所有的模版类型都改成了主动模式,这主要是因为上述模版还Link了一个“Template App Zabbix Agent”的模版,为了使所有的监控项类型都为主动模式,可以如法炮制,将上述关联的模版也进行一次 Full Clone然后按照上面的方法进行修改。
配置Actions中的options选项卡
经过这样的配置,那么新的Agent就会自动被Zabbix Server添加到主机监控中,并自动链接模版。目前自动注册并不会产生一个时间所以在Event中是看不到Zabbix Server自动添加了一台主机的。