当我们能够熟练构建Zabbix监控平台之后,我们会发现,对zabbix的认识只是刚开始,今天带大家来学习Zabbix比较牛的功能,自动发现功能。什么是自动发现呢,简单来说就是,可以自动批量去发现局域网若干服务器,并自动添加监控,省去人工手动的添加,节省大量的人力成本!
随着监控主机不断增多,有时候需要添加一批机器,需要将公司的所有服务器添加到zabbix中,学过nagios、cacti的同学都知道,如果要批量必须使用脚本,或者手动传统办法去单个添加设备、分组、项目、图像,如果设备多,会晕倒哦。
Zabbix最大的特点之一就是可以批量自动主机并监控,利用发现(Discovery)模块,实现自动刚发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像。
1)Configuration ----discovery ---- Create discovery rule
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脚本即可:
3)主机自动加入主机组并关联模板
我们配置了自动发现主机,那么发现主机之后我们要做什么呢?
需要将主机加入主机组、并关联相应的模板,执行Action (动作)来执行一些列的操作:
Configuration ---- Actions ---- Event source(选择Discovery) ---- Create action
4)动作-条件-操作
5)MontoringàDiscovery如下图
6)查看主机是否被自动监控
ConfigurationàHosts如下图
7)监控图像查看
MonitoringàGraphs如下:
更多文章请持续关注我们!后期更经常哦!