Zabbix配置自动发现、实现自动批量添加主机
Zabbix 最大的特点之一是可以批量自动发现主机并监控,利用发现(discovery)模块, 实现自动发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(items)、自动创建监控图像。
主动模式:Zabbix Agent启动之后,把采集的数据主动发给Zabbix Server或者Zabbix Porxy。
被动模式:Zabbix Server或者Zabbix Proxy被动找Zabbix Agent拿监控数据。
这二种模式在使用过程中有所不同,各有优势,主要有以下区别:
模式 | Server压力 | 远程命令 | 日志监控 |
---|---|---|---|
主动 | 低 | 不支持 | 支持 |
被动 | 高 | 支持 | 不支持 |
一、自动发现环境部署
1、zabbix server 已经部署好,所需要加入的服务器zabbix-agent已经安装。
运维之道 | Centos7安装部署Zabbix4.4监控服务
运维之道 | Zabbix客户端配置被动模式(安装zabbix-agent)
2、防火墙都开放端口,主要是10050、10051端口,或者关闭整个iptables。
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
主机 | IP |
---|---|
服务端 | 192.168.146.136 |
客户端 | 192.168.146.133 |
客户端 | 192.168.146.134 |
二、zabbix-agent客户端的设置
1、修改zabbix-agent配置文件
[root@localhost zabbix]# vi /etc/zabbix/zabbix_agentd.conf
StartAgents=0 ///关闭被动模式,开启主动模式,此时agent客户端不会监听10050端口
ServerActive=192.168.146.136 ///zabbix server端的ip 自动模式
Server=192.168.146.136 ///zabbix server端的ip 被动模式
Hostname=villian ///和主机hostname一致
配置解释:
ServerActive
配置为Zabbix Server或Zabbix proxy的地址,这里可以配置域名/ip,如需配置多个地址,多地址之间用英文逗号隔开即可,如:192.168.1.100,10.10.1.100Hostname
配置唯一的主机名,以便识别此机器。在Zabbix里,不同主机的区分就是通过hostname区分的,并不是通过IP。StartAgents
如果配置为0,会关闭被动模式检查,而且Agent不会监听任何主机TCP端口。
2、关闭防火墙、selinux服务
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
三、配置zabbix-web服务端自动发现规则
1、配置自动发现规则
- 配置 → 自动发现 → 创建发现规则
Host name
为必须配置项目,需要和Agent配置里的Hostname配置一致。
Visible name
配置为可见名称,这里可配置为中文,主机列表会显示此名称。
Agent interfaces
的IP和端口可以随意配置,不过还是建议配置成业务ip或者主机的真实IP。
- 配置 → 动作
2、查看自动发现主机
- 使用
zabbix_get
命令查询主机
[root@localhost ~]# yum install -y zabbix-get
[root@localhost ~]# zabbix_get -s 192.168.146.133 -k system.uname
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
注意事项
如纯使用主动模式,需要注意以下适宜:
- 主动模式不支持远程命令执行。如你需要在Zabbix Agent执行远程命令,需要Agent开启主动模式。
- Agent自带的日志监控,仅支持主动模式,不支持被动模式。
- 主动模式建议为指标配置nodate告警阈值。
- 利用主动模式,可将Zabbix Server或者Zabbix Proxy 放在公网,内网Zabbix Agent配置主动模式,即可监控内网机器。