监控利器zabbix实现自动发现与自动注册

概述
自动发现:
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。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ZhanBiaoChina/article/details/105700523
今日推荐