前言:众所周知,zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。其优点就不在这里一一列举了,本文的目的就是在centos5.9系统上搭建一个zabbix服务端程序,所使用的是zabbix的最新版本2.0.5,本文没有什么创新之处,只是在众大神的基础上,使用最新的版本(当然不光是zabbix的版本,还有apache、mysql、php的版本)来安装这样一个监控平台,本文是第一篇,内容只是一个服务端的安装,后续还会有客户端和各种常见服务的监控方法的设置,请感兴趣的朋友关注下,如有问题欢迎留言探讨。

安装平台:vmware workstation 9

系统:centos 5.9(内核2.6.18-348.el5)


内存:1024M

一、配置安装环境

首先我们需要一个lamp的环境,这个可以参见我的上一篇博文http://zhangjianjian.blog.51cto.com/2944771/1144236

我这里使用的也是使用文中步骤配置好的环境。

1.安装依赖包和配置zabbix用户和组 

# yum install net-snmp net-snmp-devel curl curl-devel perl-DBI  
# groupadd -g 1006 zabbix 
# useradd -u 1006 -g 1006 -s /sbin/nologix -M zabbix

2.下载zabbix-2.0.5的源码包并解压

# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.5/zabbix-2.0.5.tar.gz 
# tar xvf zabbix-2.0.5.tar.gz 
# cd zabbix-2.0.5

3创建 mysql 数据库

# mysql mysql>create database zabbix character set utf8;

4创建 mysql 用户:

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix'; mysql> flush privileges; mysql> use zabbix;

5导入表和数据

mysql> source database/mysql/schema.sql 
mysql> source database/mysql/p_w_picpaths.sql 
mysql> source database/mysql/data.sql

这里要注意,导入数据库的时候做好安装我的这个顺序进行,我在实际操作的过程中发先如果导入数据库的顺序不正确会出现导入出错的问题。

二、编译安装zabbix

# ./configure --prefix=/usr/local/zabbix \         //指定安装目录 
--sysconfdir=/etc/zabbix \
--enable-server \                      //安装zabbix server 
--enable-proxy \                       //安装 Zabbix Proxy            
--enable-agent \                       //安装 Zabbix Agent 
--with-mysql=/usr/local/mysql/bin/mysql_config \   //使用 mysql 做数据库服务器 
--with-net-snmp \                   //支持 SNMP 
--with-libcurl                     //支持 curl,用于 web 监控
# make && make install

1. 服务端口定义:(可以根据自己需求写的)

 编辑 /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

2. 修改 zabbix server 配置文件 /usr/local/zabbix/etc/zabbix_server.conf 中的数据库用户名和密码

# /usr/local/zabbix/etc/zabbix_server.conf   
DBUser=zabbix           102行  
DBPassword=zabbix       109行

3.安装启动脚本,添加可执行权限:

# cp misc/init.d/fedora/core/* /etc/init.d/ 
# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server 
# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
# chmod +x /etc/init.d/zabbix-server # chmod +x /etc/init.d/zabbix-agentd

4. 启动 Zabbix Server:

# /etc/init.d/zabbix_server start

我启动时出现了下面的错误

这是因为我的 mysql client 库不在系统默认库中,做以下修改后重新启动就可以了:

# echo /usr/local/mysql/lib >> /etc/ld.so.conf 
# ldconfig -v | grep mysql

可以看到mysql库已经载入成功,此时再启动zabbix服务就没有问题了。

5.启动 Zabbix Agentd

# /etc/init.d/zabbix_agentd start 
# netstat -tnlp | grep zabbix

可以看到服务已经正常启动,server默认监听在TCP的10051端口上。

三、安装zabbixweb界面

 复制 Web Interface 到 web 目录

# cp -r frontends/php/* /var/www/html/

修改php的配置文件,调整部分参数以适应zabbix的安装。下面红字的部分为要修改的选项。

# vim /etc/php.ini  
post_max_size = 16M         672行
max_execution_time = 300       384行
mbstring.func_overload = 2      759行
date.timezone = Asia/Shanghai    918行
max_input_time = 300         394行可以直接对文件进行编辑,也可以使用sed命令进行替换。
# sed -i 's/^\(.*\)date.timezone =.*$/date.timezone = Asia\/Shanghai/g' /etc/php.ini 
# sed -i 's/^\(.*\)post_max_size =.*$/post_max_size = 16M/g' /etc/php.ini 
# sed -i 's/^\(.*\)max_execution_time =.*$/max_execution_time = 300/g' /etc/php.ini 
# sed -i 's/^\(.*\)max_input_time =.*$/max_input_time = 300/g' /etc/php.ini 
之后就可以在web界面下进行安装了。

step 1

在浏览器中,输入url:http://192.168.1.140,会看到前端安装向导的第一个画

step  2
点击next 进入配置检查页面,确保所有依赖的软件都正确安装。

step 3
输入连接数据库的详细信息,并测试数据库连接正常之后可以进入下一步。

step  4
输入zabbix服务器端的详细信息。

step  5
检查一下设置情况,确保没有问题之后进入下一步。

step  6
下载配置文件,并把他放置在zabbix网页目录下的conf/ 目录里

点击 Dowload configuration file ,将文件上传到虚拟机的 /var/www/html/conf 目录下,点击 retry,测数成功后点击进入下一步。

step 7
结束安装

step  8
zabbix前端已经安装就绪,可以使用默认的用户名Admin,密码zabbix进行登录了。

 step 9

登录之后调整一下系统的默认语言,zabbix默认是支持中文的,只需要在选项里打开,点击右上角的“Profile”按钮,在“Language”中选择“Chinese(zh_CN)”保存即可。

此时就可以看到中文界面的菜单栏了,由于还没有添加被监控主机所有这里看到的信息不多。

到这里zabbix的服务器部分按照完毕,在随后的文章中我会再介绍监控的客户端的设置方法,如有问题欢迎各位博友留言,共同探讨学习。