10、Zabbix 主机自动发现和自动注册

一、自动发现和自动注册介绍

1、为什么要用主机自动发现和自动注册

  • 手动添加主机比较麻烦
  • 得填写主机IP,应用模板等等
  • 主机自动发现和自动注册能够帮我们自动添加主机

2、简介

  • 自动发现:由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。
  • 自动注册:由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。对于使用SNMP的就要采用自动发现了。

二、自动发现

1、步骤

Zabbix自动发现实战步骤

  • Zabbix添加自动发现
  • 创建动作,假如说添加主机、应用模板

自动发现建议

  • 使用Zabbix Agent去自动发现,也就是只有部署了Zabbix客户端的才能被发现
  • 使用的自动发现Key建议为:system.uname

2、设置
在(配置–>自动发现)中
在这里插入图片描述

设置名称为 www_discovery
由之前的proxy程序代理
ip范围10.0.0.1-254
更新间隔这里默认一小时比较久,所以改为60s
检查类型新建一个zabbix客户端的,键值选择system.uname
设备唯一性准则选择IP地址

在这里插入图片描述

3、新建一台机器10.0.0.103,安装agent,Hostname=www_003,将sever设置为前面的proxy

修改主机名

hostnamectl set-hostname www_003

这里的hostname需要在proxy和server上能解析到这个主机名的ip,我这里在hosts文件里加上解析,而在生产环境中可以初始化agent配置文件时,将hostname改为主机的名称,一般公司内网dns上都有主机名对应的ip解析,这样server和proxy就能根据主机名解析到ip,从而获取数据了。
在这里插入图片描述
vim /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Hostname=www_003
Server=10.0.0.105
ServerActive=10.0.0.105
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

4、启动agent,过程参照之前的博客Zabbix客户端监控Linux

过一会在(监测–>自动发现)里可以看到有自动发现的机器
在这里插入图片描述
在(配置–>主机)里可以看到这台机器
在这里插入图片描述

5、为自动发现创建动作

在(配置–>动作)里,事件源选择自动发现,然后创建动作

在这里插入图片描述
配置动作的触发条件

名称为 www discovery action
触发条件为自动发现规则为上面创建的,即自动发现规则=www_discovery,也可以设置其他规则,比如服务端口、服务类型、主机ip等

在这里插入图片描述
配置动作触发后的操作

添加主机
添加到www主机组
并链接到模板

在这里插入图片描述

6、然后在主机中将刚才发现的主机删除,再重启一下agent,过一会可以发现自动加入主机组并且链接了模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、自动注册

1、主机自动发现和自动注册区别

  • 自动发现zabbix server是主动去扫描网段,寻找agent的,海量的机器中不一定都是一个网段,可能会是N个网段中的N个机器,大量网段的自动发现触发大量的进程,会加速服务器的死亡。

  • 自动注册由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表,即agent自动向server注册,你来注册且满足我条件我就给你监控。

自动发现主机名设置比较麻烦
自动发现配置起来比较麻烦,没有自动注册好
自动注册相对来说比自动发现好用
使用自动注册的话,添加主机的时候主机名使用Agent配置的Hostname

2、主机自动注册的流程

  • zabbix客户端需要配置ServerActive
  • zabbix客户端把自己的元数据提供给zabbix服务器或zabbix分布式proxy
  • zabbix服务器添加动作,当收到元数据时候自动添加主机、链接模板等

3、设置agent配置

这里还是使用上面的www_003这台机器,先将上面的自动发现及动作停用,然后在主机里删除这台机器。

修改agent配置文件,比前面的自动发现多了HostMetadataItem=system.uname这个元数据配置。

vim /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Hostname=www_003
Server=10.0.0.105
ServerActive=10.0.0.105
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
HostMetadataItem=system.uname

配置说明

ServerActive=Zabbix Server的IP地址

#设置主机名,如果不设置默认使用HostnameItem获取主机名。而默认情况下HostnameItem=system.hostname,这样就可以获取到Agent的主机名了。
Hostname=auto.example.com

#HostMetadata用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,如果不设置默认从HostMetadataItem获取
HostMetadata=nginx

# HostMetadataItem也是用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,这里设置的Item指的是Zabbix自带的监控项,注意这个值只用于HostMetadata没有设置的时候才生效。
HostMetadataItem=system.uname

4、配置自动注册动作

  • 事件源选择自动注册
  • 创建动作
  • 动作中指定条件,假如说来自哪个Proxy,元数据包含什么(主机名)
  • 验证自动注册

在(配置–>动作)里,事件源选择自动注册,然后创建动作
在这里插入图片描述
名称 www register
条件 通过之前的proxy代理的
元数据包含www的,这里主机名为www_003,元数据为键system.uname,所以元数据中会包含主机名

在这里插入图片描述

在这里插入图片描述
5、触发动作后的操作

添加主机
添加到www主机组
并链接到模板

在这里插入图片描述

6、添加动作后过一会查看,可以看到有自动注册的机器

在这里插入图片描述

7、注意
添加主机会把Hostname填上
只需要一个Action就好
需要注意每个Agent都要加上HostMetadataItem这个配置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值