当你有十台机器需要监控时,你手动去添加是没有问题的。但是当你有五十台、上百台或更多服务器要监控时,你会怎么做 ?
Active Agent Auto-Registration 主要用于 Agent 主动且自动向 Server 注册。很好的解决了 Agent IP、系统、配置不统一等问题。
非常适合现在的云环境中。
一、安装 Agent
shell > cd /scripts ; vim auto_install_zabbix_agent.sh
#!/bin/bash
cd /usr/local/src
# download zabbix agent
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz
# install zabbix agent
tar zxf zabbix-3.0.1.tar.gz
cd zabbix-3.0.1
./configure --prefix=/usr/local/zabbix_agent --enable-agent ; make install
# config
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix_agent#' /etc/init.d/zabbix_agentd
echo 'Zabbix Agent is Install sucessed .'
# End
二、配置 Agent auto-Registration
shell > grep -vP '^#|^$' /usr/local/zabbix_agent/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log # 指定日志路径
Server=121.42.11.220 # 被动模式下的 Zabbix Server 地址
# StartAgents=0 # 禁止使用被动模式 ( 禁止后 agent 将不监听任何地址、端口 )
ServerActive=121.42.11.220 # 主动模式下的 Zabbix Server 地址
Hostname=Auto RServer 54.64 # 机器标识符 ( Web 界面显示的主机名称 )
HostMetadata=password 123456 # 主动注册条件,很灵活,你可以像我一样做成这种方式,两个字段完全匹配才添加主机
三、启动 Agent
shell > service zabbix_agentd start
shell > netstat -lnpt | grep zabbix_agent
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7149/zabbix_agentd
四、Web 前端配置
1、模板
> Configuration --> Templates --> 点击 Templates OS Linux --> Full clone ( 完全克隆 )
Template name Template OS Linux Active # 起一个唯一的名称
Add # 完成克隆
> Configuration --> Templates --> 点击 Templates OS Linux Active --> Items ( 还要将 item 改为主动模式 ) --> 全选,点击下面的 Mass update
Type # 勾选,将原来的 Zabbix agent 改为 Zabbix agent(active)
Update # 完成
## 我们发现跟这个模板关联的还有一个是 Template App Zabbix Agent ,使用同样的方法修改!
## 修改完之后,还需要打开更改后的 OS Linux 模板,Linked template 将原来的被动 Agent 模板,换成更改后的主动 Agent 模板。
2、Auto Registration
> Configuration --> Actions --> ( Event source ) Auto-Registration --> Create action
Name Auto Registration
Default subject Auto registration:{HOST:HOST}
Default message Host name:{HOST.HOST}
Host IP:{HOST.IP}
Agent port:{HOST.PORT}
Conditions ( 条件 )New condition Host metadata like password # 条件一
AddNew condition Host metadata like 123456 # 条件二
AddType of calculation And A and B # 关系为 And ,两条件必须同时满足
Operations ( 操作 )
Action operations New # 开始添加操作
Operation details Operation type Add host # 操作一:添加主机
AddOperation details Operation type Link to template # 操作二:链接模板
Templates Template OS Linux Action
AddOperation details Operation type Send message # 操作三:发送邮件
Send to User groups DevOPS
Send only to My_Email
Default message √
AddAdd # 全部完成 !
五、测试
# 保存完成,大约一、两分钟,就会主机自动注册完成,并且会收到邮件!
## 遇到的问题 !
1、如果 Agent 将被动模式完全关闭 ( Server 注释掉,StartAgents 设为 0 ## 前面注释掉,后面必须设为 0 )
Agent 将不监听任何地址、端口!
Zabbix Server Web 会显示无法连接到 Agent。这是因为添加的主机中 Agent interfaces 里写了 Agent 地址、端口。
2、防火墙情况:Zabbix Server TCP 10051 / Zabbix Agent Server TCP 10050
3、主机状态:如果能获取到数据,无报错,就是颜色不变,重启一下 Zabbix Server 即可