当前位置: > Linux服务器 > 监控工具 >

Zabbix 监控的部署

时间:2014-12-03 17:55来源:www.it.net.cn 作者:IT
zabbix是一个C/S结构的监控系统,server端侦听在10051端口,客户端 侦听在10050端口,用户界面使用php开发,数据存储在MySQL里面;官方网站:http://www.zabbix.com/
ZABBIX由Alexei Vladishev编写,目前由ZABBIX SIA积极开发和维护;
ZABBIX是一个企业级的开源分布式监控解决方案;
ZABBIX是一款用于监控众多服务器的健康完整状态的软件,采用了灵活的预警通知机制,比如它允许用户设定通过email示警任何网络活动,从而使得服 务器的问题能够被迅速反映出来;
ZABBIX具备出色的报告和数据可视化功能所有的数据存储的在数据库中,这使得ZABBIX具备很好的规划的能力;
ZABBIX支持投票和陷阱(polling and trapping);通过参数配置,所有ZABBIX报告和统计资料都可以通过基于Web的前端访问到;
通过正确的配置,您可以从任何地点评估您的服务器状态,这一点无论对于小企业还是大企业都是非常重要的;
ZABBIX是免费的,遵循GPL公共许可证第二版,这意味着其源代码是免费地分发提供给广大公众,并可以从ZABBIX公司获得商业支持;

ZABBIX的功能:
自动发现服务器和网络设备;
分布式监控网络,集中式管理;
支持polling和trapping机制;
服务器端支持Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X系统;
高性能本地代理(客户端软件支持Linux ,Solaris, HP-UX, AIX,Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000,Windows 2003, Windows XP, Windows Vista系统);
无代理监控;
有安全的用户认证功能;
可灵活地分配用户权限;
基于web的接口;
可灵活地预定网络事件并使用邮件通知;
高等级的资源监控;
日志审计功能;

1:zabbix服务器端的编译安装
[root@server3 tarbag]# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.1/zabbix-1.8.1.tar.gz?use_mirror=nchc
[root@server3 tarbag]# tar -zxvf zabbix-1.8.1.tar.gz -C ../software/
[root@server3 tarbag]# cd ../software/zabbix-1.8.1/
[root@server3 zabbix-1.8.1]# yum -y install net-snmp-devel
[root@server3 zabbix-1.8.1]# useradd zabbix
[root@server3 zabbix-1.8.1]# cd create/schema/
[root@server3 schema]# scp mysql.sql root@192.168.122.1:/root          //将数据文件scp传到数据库服务器上
[root@server3 schema]# scp ../data/data.sql root@192.168.122.1:/root
[root@server3 schema]# scp ../data/images_mysql.sql root@192.168.122.1:/root
开始编译
[root@server3 zabbix-1.8.1]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl 
[root@server3 zabbix-1.8.1]# make install
[root@server3 zabbix-1.8.1]# mkdir /etc/zabbix
[root@server3 zabbix-1.8.1]# cp misc/conf/* /etc/zabbix/
[root@server3 zabbix-1.8.1]# ls /etc/zabbix/
zabbix_agent.conf   zabbix_agentd.win.conf zabbix_server.conf
zabbix_agentd.conf zabbix_proxy.conf

[root@server3 ~]# grep -v '^#' /etc/zabbix/zabbix_server.conf |uniq   //修改配置文件如下,定义数据库主机地址和用户名及密码

LogFile=/tmp/zabbix_server.log

DBHost=192.168.122.1

DBName=zabbix

DBUser=zabbix

DBPassword=123456

[root@server3 ~]# cp /usr/local/src/software/zabbix-1.8.1/misc/init.d/redhat/zabbix_* /etc/init.d/
[root@server3 ~]# cp -rp /usr/local/src/software/zabbix-1.8.1/frontends/php/ /www/        //将php目录通过Apache发布出去

[root@server3 ~]# tail -5 /etc/services 
# Local services
zabbix-agent    10050/tcp
Zabbix Agent zabbix-agent 10050/udp
Zabbix Agent zabbix-trapper 10051/tcp
Zabbix Trapper zabbix-trapper 10051/udp

数据库主机方面,导入数据库:
[root@jsb-ylw-5024 ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database zabbix character set utf8;   //创建utf8格式的数据库zabbix
Query OK, 1 row affected (0.02 sec)

mysql> grant all privileges on zabbix.* to 'zabbix'@'%' identified by '123456'; //创建zabbix用户并赋权限
Query OK, 0 rows affected (0.05 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@jsb-ylw-5024 ~]# cat mysql.sql |mysql -uzabbix -p123456 zabbix   //导入数据表
[root@jsb-ylw-5024 ~]# cat data.sql |mysql -uzabbix -p123456 zabbix
[root@jsb-ylw-5024 ~]# cat images_mysql.sql |mysql -uzabbix -p123456 zabbix

[root@server3 ~]# /usr/local/zabbix/sbin/zabbix_server   //启动zabbix服务器进程
[root@server3 ~]# netstat -ntpl |grep zab
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      16671/zabbix_server 

2:浏览器方面的安装配置,zabbix完全依赖于LAMP结构,编译PHP的时候除了添加MySQL的扩展外,还需要如下扩展:

Php BC math:编译php的时候加上--enable-bcmath
Php mb string:编译php的时候加上--enable-mbstring
Php GD:编译的时候加上--with-gd






登录,默认用户名:Admin 密码:zabbix 


3:客户端的配置,这里我的客户端使用64位系统
[root@jsb-ylw-5024 ~]# cd /usr/local/src/tarbag/
[root@jsb-ylw-5024 tarbag]# wget http://www.zabbix.com/downloads/1.8/zabbix_agents_1.8.linux2_6.x64.tar.gz
[root@jsb-ylw-5024 tarbag]# tar -zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz -C /usr/local/
[root@jsb-ylw-5024 tarbag]# cd
[root@jsb-ylw-5024 ~]# mv /usr/local/zabbix-1.8/ /usr/local/zabbix
[root@jsb-ylw-5024 ~]# tail -2 /etc/services 
zabbix_agent    10050/tcp
zabbix_trap     10051/tcp

[root@jsb-ylw-5024 ~]# mkdir /etc/zabbix
把服务器下的/etc/zabbix/zabbix_agentd.conf传到agentd客户端的/etc/zabbix下

[root@server3 ~]# scp /etc/zabbix/zabbix_agentd.conf root@192.168.122.1:/etc/zabbix/
root@192.168.122.1's password: 
zabbix_agentd.conf                                        100% 5105     5.0KB/s   00:00

[root@jsb-ylw-5024 ~]# grep -v '^#' /etc/zabbix/zabbix_agentd.conf |uniq

LogFile=/tmp/zabbix_agentd.log

Server=192.168.122.30

Hostname=test

[root@jsb-ylw-5024 ~]# useradd -s /sbin/nologin -d /dev/null zabbix
[root@jsb-ylw-5024 ~]# /usr/local/zabbix/sbin/zabbix_agentd     //启动客户端进程
[root@jsb-ylw-5024 ~]# netstat -ntpl |grep zab
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      2314/zabbix_agentd 


4:服务器端测试
[root@server3 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.122.1 -p10050 -k"system.cpu.load[all,avg1]"
2.280000

更多详细信息可以参考官方文档:
http://www.zabbix.com/documentation/1.8/start


(责任编辑:IT)
------分隔线----------------------------