zabbix自动发现和自动注册

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

Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服务器添加至Zabbix监控平台,省去人工手动频繁的添加,节省大量的人力成本。

一. 自动发现:

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

1.创建发现的规则:

configuration --> discovery-->create discovery rule

zabbix自动发现和自动注册_第1张图片

2.创建发现的动作

Configuration --> Actions --> Event source(选择Discovery) --> Create action

注意:type of calculation是or的关系。

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


二. 自动注册:

实现方式:

Configuration --> Actions --> Event source(选择Auto registration) --> Create action



三. 查看结果:

configuration-->hosts 

查看web界面:monitoring-->graphs 

zabbix自动发现和自动注册_第2张图片

四. 自动发现和自动注册比较:

自动发现与自动注册,哪一个更好?

  • 共同的特点均可以添加主机、监控主机;

  • 自动发现规则比较多,Zabbix_Server主动去发现;

  • 自动注册,注册的方式少,客户端主动上报数据(客户端必须安装Agent,而且能够连接服务器端)。


五. 排错

如果都确定规则都创建好了,但是就是监控不到主机。可以使用zabbix的自带的命令来排错。

格式:

zabbix_get 
usage:
  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key
  zabbix_get -h
  zabbix_get -V


查看是否可以连接到客户端服务器:

zabbix_get -s  192.168.1.56 -p 10050 -k system.uname
Linux jiajie 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64
zabbix_get -s  192.168.1.56 -p 10050 -k system.hostname
jiajie
zabbix_get -s  192.168.1.55 -p 10050 -k system.hostname
php

出现如下问题:说明不能连接到客户端服务器:

#zabbix_get -s  192.168.1.56 -p 10050 -k system.hostname
zabbix_get [4165]: Get value error: cannot connect to [[192.168.1.56]:10050]: [113] No route to host

或者:web端一直显示:

Get value from agent failed: cannot connect to [[192.168.1.205]:10050]: [113]No route to host的错误,主机没法被监听。

解决:查看是否可以ping通。如何可以一般就是防火墙的问题,修改防火墙规则,或者关闭防火墙。