一.zabbix的简介

1.1 zabbix介绍

Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。官方网站:http://www.zabbix.com , 官方文档http://www.zabbix.com/documentation/2.0/manual/quickstart。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。

Zabbix运行条件:

Server:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。

Agent: 目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。

SNMP: 支持各类常见的网络设备

1.2 Zabbix功能

  具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。

1.3 zabbix监控优势

优点:开源,无软件成本投入;Server对设备性能要求低(实际测试环境:虚拟机CentOS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集中管理;开放式接口,扩展性强。


1.4 zabbix配置文件说明

Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监控数据并使用apache+php的方式呈现。

Agent:指安装在被监控设备上的zabbix代理(以下简称代理),被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。

SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。

IPMI:Agent的另一种方式,主要应用于设备的物理性能监控,例如设备的温度、风扇的转速等。


1.5 zabbix架构图

zabbix的搭建_monitor

二、zabbix的安装与配置

系统:centos 6.4 X86_64  环境:lamp
1.安装lamp环境及需要的软件包
yum -y install httpd php php-mysql mysql-server mysql-client curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath php-mbstring zlib-devel mysql-devel glibc-devel gcc automake libidn-devel openssl-devel rpm-devel OpenIPMI-devel
2.添加zabbix用户
groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
3.zabbix数据库的创建及配置
#mysql
>create database zabbix;
>grant all privileges on zabbix.* to root@localhost identified by ‘123456’;
#tar -xvf zabbix-2.0.8.tar.gz
#cd zabbix-2.0.8
#mysql -uroot –p123456 zabbix < database/mysql/schema.sql
#mysql -uroot –p123456 zabbix < database/mysql/p_w_picpaths.sql
#mysql -uroot –p123456 zabbix < database/mysql/data.sql
//导入数据库和表,注意三个表的导入是有顺序的,否则可能出错
4. 编译安装zabbix
#./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
(如果mysql是编译安装在/usr/local/mysql下,编译参数--with-mysql=/usr/local/mysql-5.x.x/bin/mysql_config)
#make && make install
5. 添加服务器端口(2.0.8版本默认已经添加) ,如果没有请添加
#vim /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
6.修改配置文件
#mkdir /usr/local/zabbix/html
#cp –r zabbix-2.0.8/frontends/php/* /usr/local/zabbix/html
#chown –R zabbix:zabbix /usr/local/zabbix/html
#vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix
DBUser=root
DBPassword=123456
或者:
sed -i 's/DBName=/DBName=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/DBUser=/DBUser=root/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/#DBPassword=/DBPassword=123456/g' /usr/local/zabbix/etc/zabbix_server.conf
vim /etc/httpd/conf/httpd.conf
配置虚拟主机:
<VirtualHost *:80>
DocumentRoot /usr/local/zabbix/html/
ServerName 192.168.0.127
ErrorLog logs/zabbix.log
</virtualHost>
修改User = zabbix
Group = zabbix
主要配置参数介绍:

DBName=zabbix zabbix所属数据库名称
DBUser=root zabbix所属数据库用户
DBPassword=123456 zabbix数据库密码
StartPollers=30  轮询的初始值(0-1000)
StartIPMIPollers=4 IPMI轮询的初始值(0-1000)
StartPollersUnreachable=30 轮询不可达的主机数(包括IPMI 0-1000)
StartTrappers=8 捕获的初始值(0-1000)
StartPingers=4 ping的初始值(0-1000)
StartDiscoverers=0 自动发现的初始值(0-250)
CacheSize=384M 缓存大小
CacheUpdateFrequency=300 缓存更新的频率
StartDBSyncers=8 数据库同步时间
TrendCacheSize=128M 总趋势缓存大小
AlertScriptsPath=/usr/bin 脚本的存放位置
LogSlowQueries=1000 日志慢查询设定
7.web前端安装配置
#vim /etc/php.ini
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
max_input_time = 300
配置完成之后,重启apache,浏览器输入http://192.168.0.127进行安装。
按提示下载配置文件到Server的/usr/local/zabbix/html/conf下,名字一定要是zabbix.conf.php
配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix

2.0.8支持中文设置:登录web管理界面->profile->User->Language

zabbix的搭建_zabbix_02

spacer.gifspacer.gif
8.服务开机自启设置:
[root@localhost ]# for i in `ls /usr/local/zabbix/bin/`;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
[root@localhost ]# for i in `ls /usr/local/zabbix/sbin/`;do ln -s /usr/local/zabbix/sbin/${i} /usr/bin/${i};done

[root@localhost ]# cp /root/zabbix-2.0.8/misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
[root@localhost ]#sed -i '2i\# chkconfig: - 95 95' /etc/init.d/zabbix_server
[root@localhost ]#sed -i '3i\# description: Zabbix server' /etc/init.d/zabbix_server
[root@localhost ]# chmod +x /etc/init.d/zabbix_server
[root@localhost ]# chkconfig --add zabbix_server
[root@localhost ]chkconfig --level 345 zabbix_server on
[root@localhost ]# /etc/init.d/zabbix_server start
[root@localhost ]# cp /root/zabbix-2.0.8/misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
[root@localhost ]#sed -i '2i\# chkconfig: - 95 95' /etc/init.d/zabbix_agentd
[root@localhost ]#sed -i '3i\# description: Zabbix agent' /etc/init.d/zabbix_agentd
[root@localhost ]# chmod +x /etc/init.d/zabbix_agentd
[root@localhost ]#/etc/init.d/zabbix_agentd start
[root@localhost ]#chkconfig --add zabbix_agentd
[root@localhost ]#chkconfig --level 345 zabbix_agentd on
查看服务端口:
zabbix的搭建_linux_05