Zabbix介绍:
1.1 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,可以自由下载使用,运作团队靠提供收费的技术支持赢利。
zabbix是一个C/S结构的监控系统,server端侦听在10051端口,客户端侦听在10050端口,用户界面使用php开发,数据存储在MySQL里面。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机服务器通过安装agent方式采集数据,网路设备通过SNMP方式采集数据
Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过Apache等软件在web前端显示
Server:Zabbix Server 需运行在LAMP(Linux+Apache+MySQL+PHP)环境下,对硬件要求低
Agent:目前已有的agent基本支持市面上常见的OS,包涵Linux、HPUX、Solaris、Sun、Windows
SNMP:支持各类常见的网络设备
1.2 zabbix功能
具备常见的商业监控软件所具备的功能;(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通讯协议的监控、多种告警方式、详细的报表图表绘制)。
支持自动发现网络设备和服务器;
支持分布式,能集中显示、管理分布式的监控点;
支持polling和trapping机制;
扩展性强,server提供通用接口,可以自己开发完善各类监控。
无代理监控;
有安全的用户认证功能;
可灵活地分配用户权限;
基于web的接口;
可灵活地预定网络事件并使用邮件通知;
高等级的资源监控;
日志审计功能;
1.3 优劣势
优点:开源,无软件成本投入 Server对设备性能要求低
支持设备多 支持分布式集中管理 开放式接口,扩展性强
缺点:全英文,界面不友好 数据量太大时,清理不是很方便
一 软件环境
rhel-server-6.3-x86_64 zabbix-2.0.2.tar.gz
httpd-2.2.15 (自带)php-5.3.3 (自带)
mysql-5.1.61 (自带)
服务器:172.168.6.2
客户端:172.168.6.3
二、服务器安装lamp
[root@localhost ~]# yum install mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql php-mbstring php-bcmath httpd -y
1、编译zabbix:
[root@localhost ~]# tax xf zabbix-2.0.2.tar.gz
[root@localhost ~]# cd zabbix-2.0.2
[root@localhost ~]#./configure --enable-server --enable-agent --enable-proxy --with-mysql --enable-ipv6 --with-libcurl --with-net-snmp
#这里将zabbix服务器与客户端安装在同一个机器上的配置:
[root@localhost ~]# Make install
2、添加用户
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd zabbix -g zabbix
三、配置zabbix
1.配置mysql
[root@localhost ~]#mysqladmin -uroot -p password ‘123123’ #mysql设置密码123123
[root@localhost ~]#mysql -uroot –p123123
[root@localhost ~]#mysql> create database zabbix character set utf8; #建立zabbix数据库
[root@localhost ~]#mysql> grant all on zabbix.* to zabbix@'%' identified by '123123';
#授权zabbix数据库里面的所有表给通过远程zabbix用户登录的所有权限
[root@localhost ~]#mysql>flush privileges;
将数据导入mysql:schema.sql--- p_w_picpaths.sql---data.sql
[root@localhost ~]#mysql -uzabbix –p123123 zabbix < schema.sql
[root@localhost ~]#mysql –uzabbix –p123123 zabbix <p_w_picpaths.sql
[root@localhost ~]#mysql –uzabbix –p123123 zabbix < data.sql
服务器端配置文件/usr/local/zabbix/etc/zabbix_server.conf需要修改的有:使用mysql作为数据库,则需要指定数据库名称,用户及密码。
四、配置web安装
[root@localhost ~]#mkdir /var/www/html/zabbix/
[root@localhost ~]#cp -rfa frontends/php/* /var/www/html/zabbix/
修改文件/etc/php.ini
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
mbstring.func_overload = 2
[root@localhost ~]#sed -i 's/^\(.*\)date.timezone =.*$/date.timezone = Asia\/Shanghai/g' /etc/php.ini
[root@localhost ~]#sed -i 's/^\(.*\)post_max_size =.*$/post_max_size = 16M/g' /etc/php.ini
[root@localhost ~]#sed -i 's/^\(.*\)max_execution_time =.*$/max_execution_time = 300/g' /etc/php.ini
[root@localhost ~]#sed -i 's/^\(.*\)max_input_time =.*$/max_input_time = 300/g' /etc/php.ini
[root@localhost ~]#cp misc/init.d/fedora/core5/zabbix_* /etc/init.d/
[root@localhost ~]#chmod -R 777 /var/www/html/zabbix/conf
打开源码包目录下面的misc/init.d/选择对应的系统版本,将启动文件复制到/etc/init.d下面
我的系统是rhel6的,但是里面没有redhat目录因此misc/init.d/fedora/core5/zabbix_*
这里面的脚本,注意脚本里面的命令路径要和你的安装路径一致。
五、Http://IP/zabbix web图形下一路安装
检查php环境时报错
检查没通过 修改/etc/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M 663 [Date]
;Defines the default timezone used by the date functions
date.timezone = Asia/Shanghai
检查发现少装了软件包
rpm -ivh php-mbstring-5.3.3-3.el6_2.8.x86_64.rpm
php-bcmath-5.3.3-3.el6_2.8.x86_64.rpm
php-xml-5.3.3-3.el6_2.8.x86_64
根据报错少装了上面几个软件包缺少的软件包可在http://rpm.pbone.net上面找到。
(如果是编译版PHP的时候出了添加MySQL的扩展外,还需要如下扩展:
Php BC math:编译php的时候加上--enable-bcmath
Php mb string:编译php的时候加上--enable-mbstring
Php GD:编译的时候加上--with-gd)
装好后的全部通过
数据库配置
主机IP,端口预览配置
默认登陆用户名密码是 admin/zabbix
六、在另一台服务器安装客户端,这次新版本采用源码安装
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd zabbix -g zabbix
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar zxf zabbix-2.0.2.tar.gz
[root@localhost src]# cd zabbix-2.0.2
[root@localhost zabbix-2.0.2]# ./configure --prefix=/usr/local/zabbix --enable-agent
[root@localhost zabbix-2.0.2]# make install
[root@localhost zabbix-2.0.2]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.0.2]#sed -i
's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
[root@localhost zabbix-2.0.2]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=172.168.1.2
Hostname=Zabbix-client
[root@localhost zabbix-2.0.2]# /etc/init.d/zabbix_agentd start
[root@localhost zabbix-2.0.2]# tail -f /tmp/zabbix_agentd.log
七、命令行验证zabbix安装是否正确
a、在命令行输入下列命令,启动zabbix服务器守护程序与zabbix客户端:
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd
输入netstat -tunlp | grep zabbix,有类似下面输出,说明zabbix正常启动:'
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 26828/sbin/zabbix_a
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 26772/sbin/zabbix_s
c、在命令行输入/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k agent.hostname。如果输出Zabbix server,证明zabbix服务器端跟客户端可以正常通信*