在选择搭建监控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