当我们能够熟练构建Zabbix监控平台之后,我们会发现,对zabbix的认识只是刚开始,今天带大家来学习Zabbix比较牛的功能,自动发现功能。什么是自动发现呢,简单来说就是,可以自动批量去发现局域网若干服务器,并自动添加监控,省去人工手动的添加,节省大量的人力成本!
随着监控主机不断增多,有时候需要添加一批机器,需要将公司的所有服务器添加到zabbix中,学过nagios、cacti的同学都知道,如果要批量必须使用脚本,或者手动传统办法去单个添加设备、分组、项目、图像,如果设备多,会晕倒哦。
Zabbix最大的特点之一就是可以批量自动主机并监控,利用发现(Discovery)模块,实现自动刚发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像。
1)Configuration ----discovery ---- Create discovery rule
2)脚本自动安装配置Agent
由于发现规则里checks,我们选择的是Zabbix agent方式去检查,所以需要在被监控端安装zabbix agent,安装脚本如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#!/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如下:
更多文章请持续关注我们!后期更经常哦!
你若觉得作者的文章写得不错,请奖励作者几锭银子,让作者感受到来自你满满的鼓励和继续创作的动力!我们支持原创!鼓励原创!
打赏之后,文章底部显示参与打赏者的记录,可以直接通过微信扫描打赏哟,直接按打赏根据提示操作。
自定义打赏金额,友情提示打赏金额不要超过50元哦,土豪可以随意哦,51CTO谢谢您对作者的支持!谢谢你的慷慨大方!
本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1917278