概述
自动发现:
zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多。
自动注册:
zabbix agent主动到zabbix Server上报到登记;缺点agent有可能找不到Server(配置出错)
两种模式
被动模式:默认 agent被server抓取数据
主动模式:agent主动将数据发到server端
PS:两种模式都是在agent上进行配置,zabbix 的使用要在hosts文件中预先做好主机名的解析
自动发现——被动模式
客户端安装agent,并配置
rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
sed -i.bak 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#g' /etc/yum.repos.d/zabbix.repo
yum clean all && yum makecache
yum install zabbix-agent -y
vim /etc/zabbix/zabbix_agentd.conf
修改如下内容:
ListenPort=10050
Server=192.168.2.3
#ServerActive=192.168.2.3
#Hostname=192.168.2.15
注:
我通过测试在配置文件中设置Hostname,但是在WEB查看是该主机的主机名,所以由此可以判断出,自动发现会根据主机名来配置WEB端名称。
其中 Server 和 ServerActive 都指定 zabbix_server 的 IP 地址,不同的是,前者是被动 后者是主动。也就是说 Server 这个配置是用来允许 192.168.2.3 这个 ip 来我这取数据。而serverActive 的 192.168.2.3 的意思是,客户端主动提交数据给他。
Hostname=XXX,这个定义的名字必须和 web 页面里面 host 的名字一样。
如果你没有在zabbix_agentd.conf中特别定义Hostname, 则服务器将使用agent的系统主机名命名主机。Linux中的系统主机名可以通过运行hostname命令获取。最后成功添加的主机名称也是该选项设置的值。
启动
systemctl start zabbix-agent.service
netstat -anput | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 35795/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 35795/zabbix_agentd
WEB界面配置
web界面:配置 >> 自动发现 >> Local network
使用自带的自动发现规则(进行修改)即可
在ip范围内输入ip,注意格式;
延迟在实际的生产环境中要大一些(1h-2h),实验环境可以小一些60s
创建发现动作
配置 >> 动作 >> Auto discovery. Linux servers.
配置动作
配置条件
PS:触发的条件可以根据自己的环境来进行修改,类似也可以。
配置操作
最后等待主机上线即可。
自动注册——主动模式
注意:先停用之前的自动发现
1.修改zabbix agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
修改如下内容:
ListenPort=10050
Server=192.168.2.3
ServerActive=192.168.2.3 #server端IP
Hostname=192.168.2.15
#HostnameItem=system.uname
HostMetadataItem:主机元数据,默读是system.uname,可以通过zabbix_get命令获取查看。
当agent程序向服务器发送自动注册请求时,会发送其主机名。在某些情况下,Zabbix服务器的主机名不足以区分发现的主机。主机元数据可将其他信息从agent发送到服务器。
主机元数据在zabbix_agentd.conf中配置。在配置文件中指定主机元数据有两种方式:(两种不能同时用)
HostMetadataItem:
HostMetadataItem=system.uname
system.uname用于获取包含“Linux”或“Windows”等信息,具体取决于运行agent的主机。
主机元数据示例如下:
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1
systemctl start zabbix-agent.service
netstat -anput | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 43332/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 43332/zabbix_agentd
WEB界面配置
配置动作
配置条件
PS:条件根据自身定义来进行修改!
配置操作
也就是自动发现的主机符合前面设置条件后需要设置的操作,比如添加到某个群组,链接到某个模板等等。
注意事项
如果我们设置好了,上面的配置后,但是发现没有主机注册,我们可以看看是不是我们 zabbix server 或者 zabbix proxy 的监听的端口在防火墙(或者是安全组)有没有开放。默认监听端口是 10051。
如果我们可以看到主机注册成功了,但是 agent 的状态一直不是活跃的,那么我们可以看看我们 zabbix agent 的监听的端口在防火墙(或者是安全组)没有开放。默认监听端口是 10050。