Zabbix 自动发现和自动注册实现批量添加主机

zabbix自动发现和自动注册


熟练通过Zabbix监控平台监控单台客户端之后,企业中有成千上万台服务器,如果手工添加会非常耗时间,造成大量的人力成本的浪费,有没有什么好的自动化添加客户端的方法呢?

Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服务器添加至Zabbix监控平台,省去人工手动频繁的添加,节省大量的人力成本。(自动发现规则由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备,实现自动刚发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像等功能。)

 

自动发现的原理


网络发现由两个步骤组成: 发现和动作(action)

zabbix周期性地扫描在网络发现规则中定义的IP段,根据每一个规则配置自身的检查频率,每一个规则都定义了一个对指定IP段的服务检查集合.

动作是对发现的主机进程相关的设置过程, 常用的动作有添加,或删除主机,启用或停用主机,添加主机到某一个组中,发现通知等等.

 

自动发现discover进程


说明:用于设置自动发现主机的线程数量,若单台代理所管理机器超过500台,可以考虑加大此数值(仅适用于直接AGENT场景)
# StartDiscoverers=1
### Option: StartHTTPPollers
#   Number of pre-forked instances of HTTP pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:

[root@localhost ~]# systemctl restart zabbix-server   --如果发现没有探测到主机就要看看有没有探测进程

[root@localhost ~]# ps -ef | grep discove  --重启zabbix-server服务之后查看是否存在discover进程,可以看到默认情况下只开启一个探测进程

zabbixs+  21298  21287  0 20:16 ?        00:00:00 /usr/sbin/zabbix_server: discoverer #1 [processed 1 rules in 0.563187 sec, idle 60 sec]

 

[root@localhost ~]# vim /etc/zabbix_server.conf   --默认情况下发现进程只有一个,如果需要发现的主机可以将参数调大,使用多个进程去发现主机,这样探测速度快

StartDiscoverers=2

[root@localhost ~]# ps -ef | grep discoverer  

zabbixs+  21442  21431  0 20:21 ?        00:00:00 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000338 sec, idle 43 sec]

zabbixs+  21443  21431  0 20:21 ?        00:00:00 /usr/sbin/zabbix_server: discoverer #2 [processed 0 rules in 0.000497 sec, idle 60 sec]

 

自动发现


Zabbix最大的特点之一就是可以批量自动主机并监控,利用发现(Discovery)模块,实现自动发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(Items)、自动创建监控图像,操作步骤如下:Configuration----->discovery------->Create discovery rule

 

创建发现的规则:

填写server端所扫描的主机ip地址所在范围,例如服务器所在的范围为192.168.179.99-104

修改适合的时间延迟(延迟太短如果主机太多会导致有的主机扫描不到,这里为60S)

Name:    规则名称;

Discovery by proxy : 通过代理探索;

IP range : zabbix_server 探索区域的IP范围;

Delay :     搜索一次的时间间隔;

Checks : 检测方式,如用ping方式去发现主机,zabbix_server需安装fping,此处使用SSH方式发现;

#使用yum安装的zabbix默认已经帮我们安装好
[root@localhost ~]# fping 192.168.179.101
192.168.179.101 is alive

Device uniqueness criteria: 以IP地址作为被发现主机的标识。

[root@localhost ~]# netstat -tpln | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      717/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      717/sshd 

探测到了会如下显示:(可以看到有些主机是没有被探测到的,如101,102,SSH不通)

 

如果你这里需要自动发现被监控端已经部署了agent的机器使用下面的方法(这样相当于ssh的方法探测的范围更加小)

#被监控端129.168.179.101
[root@localhost ~]# yum install zabbix40-agent.x86_64 -y
[root@localhost ~]# vim /etc/zabbix_agentd.conf 
Server=192.168.179.102
[root@localhost ~]# systemctl restart zabbix-agent
[root@localhost ~]# zabbix_get -s 192.168.179.101 -k system.uname
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64

 

 

创建发现的动作

Zabbix发现规则创建完毕,客户端Agent安装完后,被发现的IP主机不会自动添加至Zabbix监控列表,需要添加发现动作,添加方法如下:Configuration --> Actions --> Event source(选择Discovery) --> Create action

操作:添加相应的操作,如加模板,加主机等

 

 

 查看结果


configuration-->hosts-->配置你的zabbix客户端即按照zabbix agent

192.168.179.100上面安装zabbix agent 

[root@localhost ~]# yum install zabbix40-agent -y  --被监控的主机安装上agent
[root@localhost ~]# rpm -qc zabbix40-agent 
/etc/zabbix/zabbix_agentd.conf
Server=192.168.179.103  --要将数据给到103
#ServerActive=127.0.0.1
Hostname=192.168.179.100  --主机ip

[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# netstat -tpln | grep 100
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      15386/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    LISTEN      15386/zabbix_agentd 

再来查看可以看到192.168.179.99成功添加进监控项 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值