[原创]企业级系统监控平台-Zabbix安装手记

By Sonicman2013/7/15

voidice@gmail.com


一.简介

大名鼎鼎的开源系统监控平台Zabbix,官方网站:https://www.zabbix.com。不同于NagiosZabbix的企业版就是开源的,免费的,而且没有区分社区版和商业版,虽然他们也提供收费的商业服务,这让用户大呼过瘾,真是厚道啊!

二.安装之前的准备

1.Zabbix支持的系统平台如下:

Platform

ZABBIX Server

ZABBIX Agent

AIX

Supported

Supported

FreeBSD

Supported

Supported

HP-UX

Supported

Supported

Linux

Supported

Supported

Mac OS X

Supported

Supported

Novell Netware

-

Supported

Open BSD

Supported

Supported

SCO Open Server

Supported

Supported

Solaris

Supported

Supported

Tru64/OSF

Supported

Supported

Windows NT 4.0,  Windows 2000, Windows Server 2003, Windows XP,  Windows Vista, Windows Server 2008, Windows 7,  Windows Server 2012, Windows 8

-

Supported

ZABBIX Agent is not required formonitoring of external network services such as FTP, SSH, HTTP, DNS, LDAP, etc.

2. 常见的有3种安装方式

§使用官方提供安装包(packages),有RPMDEB包,考虑的还是很周到。

§下载源码并自行编译安装(compile it yourself

§下载现成的虚拟机virtual appliance


本次安装是为了测试Zabbix系统,为了快速部署,选择了现成的系统软件和官方提供的Deb包,省时省事啊。

准备工作如下:

A.Ubuntu系统,本人采用的是13.04.

B.MySQL 5.0

C.Apache 2.0Nginx

D.PHP5PHP-MySQL相关支持包


其它Linux/Unix系统的安装配置,请参考官方的安装手册:

http://www.zabbix.com/documentation/2.0

三.安装步骤

1.添加Zabbix 2.0.6 for Ubuntu 软件源

#wget http://repo.zabbix.com/zabbix/2.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.0-1lucid_all.deb
# dpkg -i zabbix-release_2.0-1lucid_all.deb
# apt-get update

2.安装配置MySQL数据库

Zabbix debian 安装包会自动创建并初始化Zabbix数据库,有一点注意的是需要更改mysql数据的默认字符集,如果你使用mysql作为后台数据库,要在安装Zabbix服务器之前先安装并配置好mysql,请参考以下步骤,注意不用使用 dbconfig-common.

安装MySQL服务器:

# apt-get install mysql-server


更改字符集编码参数,配置文件位于/etc/mysql/my.cnf

对于mysql 5.5以前的版本修改配置如下:

[mysqld]
default-character-set=utf8


对于mysql 5.5以后的版本修改配置如下:

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

一定要注意mysql版本,不然mysql服务启动可能会报错。

之后启动 mysqld

       # service mysql start

3.安装Zabbix服务器,web前端。

                 # apt-get install zabbix-server-mysql zabbix-frontend-php

安装Zabbix包, dbconfig-common将会自动创建数据库并初始化.如果后台数据库位于不同的服务器,请修改配置文件/etc/dbconfig-common/config,将 dbc_remote_questions_default='true'.


晕了,报错了,在这里卡住了:

The followingpackages have unmet dependencies:

zabbix-server-mysql: Depends: libmysqlclient16 (>= 5.1.21-1) but it is not installable

E:Unable to correct problems, you have held broken packages.

一查,Deb只支持Ubuntu10.0高版本的deb还没有发布,详细请看:

https://www.zabbix.com/forum/showthread.php?t=40114

前面的功课重新来做了,没关系,我们用源代码编译吧

4.下载源码包

#wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz

  解压缩包:

            #tar -zxvf zabbix-2.0.6.tar.gz

5.添加系统用户

                 #groupadd zabbix
                 #useradd -g zabbix zabbix

6.手创建动Zabbix数据库

#cd zabbix/zabbix-2.0.6/database/mysql
# mysql -u<username> -p<password>
#mysql> create database zabbix character set utf8 collate utf8_bin;
#mysql> quit;
# mysql -u<username> -p<password> zabbix < schema.sql
//stop here if you are creating database for Zabbix proxy
# mysql -u<username> -p<password> zabbix < p_w_picpaths.sql
# mysql -u<username> -p<password> zabbix < data.sql


  7.编译,安装

#./configure --enable-server --enable-agent --with-mysql --enable-ipv6
      #make install


四.配置Web前端

1.拷贝frontend文件至apache2www文档目录。

#mkdir /var/www/zabbix

#cd fronted

#cp –a . /var/www/zabbix

2.配置Frontend

使用浏览器打开网站,注意,我本机的80端口分配给了NginxApache2使用的8080端口,请根据自己的情况自行修改端口。

http://YourIP:8080/zabbix/

终于出现亲切的画面:

发现有不少错误提示,修改/etc/php5/apache2/php.ini之后#service apache2restart重启apache2服务进程。

“Retry”之后发现还是缺少PHP GD库,耐心点,继续安装支持库!

# apt-get install php5-gd

之后再重启apache2服务,这下终于同步检测通过了:

Next,配置数据库

填入正确的地址,用户和密码之后,测试一下数据库联通性。


一路Next,心情大好吧。

这一步要注意,点Next之后,把要下载的文件保存到/var/www/zabbix/conf/zabbix.conf.php

最后,大功告成!

http://192.168.80.129:8080/zabbix,高兴的有点早,出现错误提示,无法登陆啊。


呵呵,无独有偶,别人也会遇到这种情况,原因是数据库创建的时候出错了。

参考文章:

https://www.zabbix.com/forum/showthread.php?t=28274

严格安装以下步骤重新创建并初始化数据:

MySQL (we assume thatuser username with password password existsand has permissions to create database objects):
shell> mysql -u<username>-p<password>
mysql> create database zabbix characterset utf8 collate utf8_bin;
mysql> quit;
shell> mysql -u<username>-p<password> zabbix < database/mysql/schema.sql
# stop here if you are creating databasefor Zabbix proxy
shell> mysql -u<username>-p<password> zabbix < database/mysql/p_w_picpaths.sql
shell> mysql -u<username>-p<password> zabbix < database/mysql/data.sql


Drop database之后,重新跑了一下脚步,注意修改sql脚本文件的路径。

这下终于搞定了,可以喝杯茶,吃个包子了。

注意:用户名是:Admin,区分大小写,密码是:zabbix

按照惯例,来张效果图吧.


    有时间的话,我们会再仔细讨论一下zabbix的具体用法,欢迎大家交流。