在选择搭建监控Linux系统的开源软件时,你一定听说过zabbix这个神器,zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级的开源解决方案。由于zabbix是基于web界面将存储在数据库中的数据生成图表显示出来,所以zabbix需要运行在web和数据库的平台上。
zabbix由2部分构成,zabbix server与可选的组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,port等方法提供对远程服务器/网络状态的监控以及数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。zabbix
agent需要安装在被监控的目标服务器上,它主要完成对硬件信息或与操作系统有关的信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据,同时还可被动接收zabbix
agent发送的数据。另外zabbix server还支持SNMP(v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
下面用源码包搭建一个简单的zabbix server、zabbix agent模式的监控体系,后端数据库采用mysql,前端web采用apache。
1 下载zabbix server端软件(10.1.6.16)
1
|
wget
http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4. tar .gz
|
2 添加zabbix用户及用户组,使zabbix服务以zabbix用户运行
2
|
useradd -g
zabbix zabbix
|
3 因为zabbix采集的数据存储在数据库中,所以我们需要先建立数据库用户
4
|
mysql>create
database zabbix;
|
5
|
mysql>grant
all on zabbix.* to zabbix@localhost identified by ‘123456‘ ;
|
6
|
mysql>flush
privileges;
|
4 初始化zabbix库
1
|
tar zxvf
zabbix-2.0.4. tar .gz
|
4
|
mysql
-uroot zabbix -p123456 < database/mysql/schema.sql
|
5
|
mysql
-uroot zabbix -p123456 < database/mysql/data.sql
|
6
|
mysql
-uroot zabbix -p123456 < database/mysql/images.sql
|
5 安装zabbix服务端
02
|
./configure
--prefix=/usr/ local /zabbix
-- enable -server
-- enable -agent
--with-mysql --with-libcurl --with-net-snmp
|
06
|
cp -a
conf/* /etc/zabbix/
|
08
|
cp -a
frontends/php/* /var/www/
|
09
|
chown www-data.www-data
/var/www/ -R
|
11
|
cp misc/init.d/debian/*
/etc/init.d/
|
6 把生成的bin文件拷贝到/bin、/sbin下面
2
|
ln -s
/usr/ local /zabbix/bin/zabbix_get
zabbix_get
|
3
|
ln -s
/usr/ local /zabbix/bin/zabbix_sender
zabbix_sender
|
6
|
ln -s
/usr/ local /zabbix/sbin/zabbix_agent
zabbix_agent
|
7
|
ln -s
/usr/ local /zabbix/sbin/zabbix_agentd
zabbix_agentd
|
8
|
ln -s
/usr/ local /zabbix/sbin/zabbix_server
zabbix_server
|
7 修改/etc/init.d/zabbix-*中bin程序的路径
8 修改zabbix配置文件
3
|
├──
zabbix_agent.conf 客户端配置文件
|
5
|
├──
zabbix_agentd.conf 客户端作为守护进程运行时的配置文件
|
6
|
├──
zabbix_agentd.win.conf win下的配置文件
|
7
|
├──
zabbix_proxy.conf 代理配置文件,在本文中没有用到代理模式
|
8
|
└──
zabbix_server.conf 服务端配置文件
|
zabbix_server.conf配置
4
|
LogFile=/tmp/zabbix_server.log
|
zabbix_agentd.conf配置
02
|
LogFile=/tmp/zabbix_agentd.log
|
03
|
EnableRemoteCommands=1
|
09
|
ServerActive=10.1.6.16
|
11
|
RefreshActiveChecks=60
|
9 启动zabbix服务
1
|
/etc/init.d/zabbix-server
start
|
2
|
/etc/init.d/zabbix-agent
start
|
10 查看服务是否正常启动
1
|
root@debian6-1:/etc/zabbix
|
2
|
tcp
0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4800/zabbix_agentd
|
3
|
tcp
0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 4564/zabbix_server
|
11 在浏览器中查看zabbix的web界面,默认用户名/密码:admin/zabbix
开始配置初始环境
12 zabbix 2.0.4的web端已经友好的支持中文
1
|
apt-get install debconf
|
3
|
dpkg-reconfigure
locales
|
登录zabbix的web界面后,在右上角的profile中user表单中的language选项中选择chinese(zh_CN),然后保存即可。
13 在debian6-2增加一个zabbix agent(10.1.6.13)
1
|
wget
http://www.zabbix.com/downloads/2.0.4/zabbix_agents_2.0.4.linux2_6.amd64. tar .gz
|
这是官方提供的编译好的客户端,既然zabbix可以在编译时决定是作为服务端还是客户端,所以我们手动编译一个客户端。
02
|
useradd -g
zabbix zabbix
|
03
|
tar zxvf
zabbix-2.0.4. tar .gz
|
05
|
./configure
--prefix=/usr/ local /zabbix
-- enable -agent
|
08
|
cp misc/init.d/debian/*
/etc/init.d/
|
11
|
ln -s
/usr/ local /zabbix/sbin/zabbix_agent
zabbix_agent
|
12
|
ln -s
/usr/ local /zabbix/sbin/zabbix_agentd
zabbix_agentd
|
14
|
ln -s
/usr/ local /zabbix/etc
zabbix
|
修改/etc/init.d/zabbix-agent
zabbix_agentd.conf配置文件
01
|
LogFile=/tmp/zabbix_agentd.log
|
02
|
EnableRemoteCommands=1
|
08
|
ServerActive=10.1.6.16
|
10
|
RefreshActiveChecks=60
|
启动zabbix客户端
1
|
/etc/init.d/zabbix-agent
start
|
14 在浏览器中打开zabbix web界面进行设置,把新加的客户端添加到web中
连接:https://www.zabbix.com/documentation/2.0
一款分布式系统监控及网络监控的企业级神器zabbix