当我们能够熟练构建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