Zabbix介绍:php
1.1 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,能够自由下载使用,运做团队靠提供收费的技术支持赢利。html
zabbix是一个C/S结构的监控系统,server端侦听在10051端口,客户端侦听在10050端口,用户界面使用php开发,数据存储在MySQL里面。Zabbix经过C/S模式采集数据,经过B/S模式在web端展现和配置。前端
被监控端:主机服务器经过安装agent方式采集数据,网路设备经过SNMP方式采集数据mysql
Server端:经过收集SNMP和agent发送的数据,写入MySQL数据库,再经过Apache等软件在web前端显示web
Server:Zabbix Server 需运行在LAMP(Linux+Apache+MySQL+PHP)环境下,对硬件要求低sql
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
2、服务器安装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
一、编译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
二、添加用户
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd zabbix -g zabbix
3、配置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做为数据库,则须要指定数据库名称,用户及密码。
4、配置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_*
这里面的脚本,注意脚本里面的命令路径要和你的安装路径一致。
5、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
6、在另外一台服务器安装客户端,此次新版本采用源码安装
[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
7、命令行验证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服务器端跟客户端能够正常通讯*