一、自动发现和自动注册工作流程及其区别
- 自动发现
自动发现是Zabbix Server主动发起探测,通过Zabbix Discoverer进程根据定义规则(SSH、Agent、ICMP)去扫描客户端机器,如果客户端主机发现满足条件规则,会被添加至Zabbix-WEB发现列表,通过定义动作-自动发现-设置条件-动作可以将客户端主机加入监控列表(不要求客户端必须安装Agent或者SNMP)。
- 自动注册
自动注册是Zabbix Agent主动向Server端发送信息,通过定义动作-自动注册-设置条件-动作可以将客户端主机加入监控列表,而且要求Zabbix Server端10051端口不能只开127.0.0.1,不消耗Zabbix Server端资源。(要求客户端必须安装Agent或者SNMP)
注:一般情况下,agent是配置在网站所在的那台服务器,zabbix_server是在另外一台服务器上的,所以server不能监控127.0.0.1,应该监控自己在网络中的物理网卡地址。因为我这里是云服务器所以都在一台服务器上部署的,所以没改zabbix_server的监听端口。
二、自动发现
1、创建自动发现
2、创建发现动作
虽然我们创建了自动发现,但是并没有添加到主机监控中去。我们需要通过配置动作,将其添加到主机监控中去。
这样就完成了添加。
3、Zabbix客户端安装Agent
由于发现规则里选择checks方式为Agent,所以需在所有被监控的服务器安装zabbix Agent,安装的方法可以手动安装,也可以使用Shell脚本。此处我们采用手动。
由于我是云服务器,也没有多余的服务器去做实验,所以这里我写下大致方法。
在所有需要被发现的服务器上创建目录/usr/local/zabbix_agent
在一台配置好zabbix-agent上执行:
scp /usr/local/zabbix_agent/* [email protected]:/usr/local/zabbix_agent/
scp /etc/init.d/zabbix_agent [email protected]:/etc/init.d/
所有服务器都要修改/usr/local/zabbix_agent/etc/zabbix_agentd.conf中的hostname
然后做作软链接:
ln -s /usr/local/zabbix_agent/sbin/zabbix_agentd /usr/local/sbin/
再都把zabbix_agent启动即可。
这是云服务器自己检测到的存活的服务器,如果上面这些服务器都配置了第三步,它们都会像第一个一样变成绿色。
三、自动注册
vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf
注意这里的主机名称并不是指的下面这个。
如果主机非常多呢?答:采用"非似"匹配。
动作:相当于是匹配的条件
操作:相当于是我们要做的事情
成功后,启动zabbix_agent就好了。
如果你是云服务器,还需要再安全组中打开端口:
zabbix_agent监听的是10050端口,zabbix_server监听的端口是10051端口。因为agent要给server发我还存活的消息,所以需要打开10051.