当我们能够熟练构建Zabbix监控平台之后,我们会发现,对zabbix的认识只是刚开始,今天带大家来学习Zabbix比较牛的功能,自动发现功能。什么是自动发现呢,简单来说就是,可以自动批量去发现局域网若干服务器,并自动添加监控,省去人工手动的添加,节省大量的人力成本!

随着监控主机不断增多,有时候需要添加一批机器,需要将公司的所有服务器添加到zabbix中,学过nagios、cacti的同学都知道,如果要批量必须使用脚本,或者手动传统办法去单个添加设备、分组、项目、图像,如果设备多,会晕倒哦。

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

1)Configuration ----discovery ---- Create discovery rule

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_运维

2)脚本自动安装配置Agent

由于发现规则里checks,我们选择的是Zabbix agent方式去检查,所以需要在被监控端安装zabbix agent,安装脚本如下:



#!/bin/bash
#auto install zabbix version 2.0
#by www.jfedu.net 2017
#############
ZABBIX_SOFT="zabbix-2.0.6.tar.gz"
INSTALL_DIR="/usr/local/zabbix/"
SERVER_IP="192.168.111.128"
IP=`ifconfig|grep Bcast|awk '{print $2}'|sed 's/addr://g'`
 
SERVER_INSTALL(){
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
groupadd zabbix ;useradd -g zabbix zabbix;usermod -s /sbin/nologin zabbix
 
tar-xzf $ZABBIX_SOFT;cd `echo $ZABBIX_SOFT|sed 's/.tar.*//g'`
./configure  --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl&&make install
if [$? -eq 0 ];then
       ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
fi
cd -;cd zabbix-2.0.6
cp misc/init.d/tru64/{zabbix_agentd,zabbix_server}  /etc/init.d/ ;chmod o+x /etc/init.d/zabbix_*
mkdir-p /var/www/html/zabbix/;cp -a frontends/php/* /var/www/html/zabbix/
 
#config zabbix server 
cat>$INSTALL_DIR/etc/zabbix_server.conf<<EOF
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
EOF
#config zabbix agentd
cat>$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF
LogFile=/tmp/zabbix_agentd.log
Server=$SERVER_IP
ServerActive=$SERVER_IP
Hostname=$IP 
EOF
 
#start zabbix agentd
/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd restart
/etc/init.d/iptables stop
setenforce 0
}
 
AGENT_INSTALL(){
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
groupadd zabbix ;useradd -g zabbix zabbix;usermod -s /sbin/nologin zabbix
 
tar-xzf $ZABBIX_SOFT;cd `echo $ZABBIX_SOFT|sed 's/.tar.*//g'`
./configure  --prefix=/usr/local/zabbix  --enable-agent&&make install
if [$? -eq 0 ];then
       ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
fi
cd -;cd zabbix-2.0.6
cp  misc/init.d/tru64/zabbix_agentd  /etc/init.d/zabbix_agentd ;chmod o+x/etc/init.d/zabbix_agentd
 
#config zabbix agentd
cat>$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF
LogFile=/tmp/zabbix_agentd.log
Server=$SERVER_IP
ServerActive=$SERVER_IP
Hostname=$IP 
EOF
 
#startzabbix agentd
/etc/init.d/zabbix_agentd restart
/etc/init.d/iptables stop
setenforce 0
}
 
read-p "Please confirm whether to install Zabbix Server,yes or no? "INPUT
if [$INPUT == "yes" -o $INPUT == "y" ];then
       SERVER_INSTALL
else
       AGENT_INSTALL
fi



在客户端执行sh  auto_install_agent.sh脚本即可:

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_awk_02

3)主机自动加入主机组并关联模板

我们配置了自动发现主机,那么发现主机之后我们要做什么呢?

需要将主机加入主机组、并关联相应的模板,执行Action (动作)来执行一些列的操作:

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

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_运维_03

4)动作-条件-操作

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_zabbix实现自动备份网络设备配置_04

5)MontoringàDiscovery如下图

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_zabbix实现自动备份网络设备配置_05

6)查看主机是否被自动监控

ConfigurationàHosts如下图

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_php_06

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_awk_07

7)监控图像查看

MonitoringàGraphs如下:

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_php_08

zabbix实现自动备份网络设备配置 zabbix 自动发现配置_运维_09

更多文章请持续关注我们!后期更经常哦!


51CTO谢谢您对作者的支持!谢谢你的慷慨大方!