[原创]企业级系统监控平台-Zabbix安装手记
By Sonicman2013/7/15
一.简介
大名鼎鼎的开源系统监控平台Zabbix,官方网站:https://www.zabbix.com。不同于Nagios,Zabbix的企业版就是开源的,免费的,而且没有区分社区版和商业版,虽然他们也提供收费的商业服务,这让用户大呼过瘾,真是厚道啊!
二.安装之前的准备
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),有RPM和DEB包,考虑的还是很周到。
§下载源码并自行编译安装(compile it yourself)
§下载现成的虚拟机(virtual appliance)
本次安装是为了测试Zabbix系统,为了快速部署,选择了现成的系统软件和官方提供的Deb包,省时省事啊。
准备工作如下:
A.Ubuntu系统,本人采用的是13.04.
B.MySQL 5.0
C.Apache 2.0或Nginx
D.PHP5及PHP-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 < images.sql # mysql -u<username> -p<password> zabbix < data.sql
7.编译,安装
#./configure --enable-server --enable-agent --with-mysql --enable-ipv6
#make install
四.配置Web前端
1.拷贝frontend文件至apache2的www文档目录。
#mkdir /var/www/zabbix
#cd fronted
#cp �Ca . /var/www/zabbix
2.配置Frontend
使用浏览器打开网站,注意,我本机的80端口分配给了Nginx,Apache2使用的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/images.sql shell> mysql -u<username>-p<password> zabbix < database/mysql/data.sql
Drop database之后,重新跑了一下脚步,注意修改sql脚本文件的路径。
这下终于搞定了,可以喝杯茶,吃个包子了。
注意:用户名是:Admin,区分大小写,密码是:zabbix
按照惯例,来张效果图吧.
有时间的话,我们会再仔细讨论一下zabbix的具体用法,欢迎大家交流。