zabbix监控的部署
zabbix是一个C/S结构的监控系统,server端侦听在10051端口,客户端侦听在10050端口,用户界面使用php开发,数据存储在MySQL里面。
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
N1
N2
登录,默认用户名: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
Zabbix监控的部署就讲到这里了。
【编辑推荐】