一、为什么要用zabbix
zabbix 是最近比较流行的一款开源的系统监控软件,他的特点是配置简单,可以直接通过web界面进行管理和维护,同时能够自定义监控的数据和图形,从使用上使比较轻松的,但是她也有不足的地方,如报警功能比较弱,对于一些特别出图需求无法做到。在实际的生产场景中,可以根据自己的需求进行合理的选择。
二、zabbix的安装
zabbix官方更新版本的速度是比较快的,到目前为止已经更新到了3.4的版本,最新的版本还是测试版,在生产环境我们最好使用3.0的长期支持版本。对于3.0以上的版本,官方是要求PHP在5.4以上才行,对于这一点需要注意。
https://www.zabbix.com/life_cycle_and_release_policy
zabbix是一个CS架构的系统,需要有一个服务端,被监控的设备上需要安装客户端的agent软件,当然zabbix也支持snmp,fping,端口监视等方法去监控远程服务器或网络状态。
-
准备安装环境
zabbix的服务端需要有一个本地数据库,监控的数据和信息都存在本地的数据库中,同时由于是利用web界面进行管理,我们有需要安装Apache或者nginx。
我目前所使用的服务端和客户端都是是 CentOS6.5,数据库使用mysql.
同时安装过程中,我们需要关闭selinx和防火墙,当然如果生产环境需要用到防火墙,我们可以在客户端上加上一条防火墙规则(因为客户端是被动接受服务端的请求,默认使用10050端口)
1
|
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
|
2.安装eple源和zabbix 所要用到的依赖包。
直接使用阿里云的epel:
wget -O
/etc/yum
.repos.d
/epel
.repo http:
//mirrors
.aliyun.com
/repo/epel-6
.repo
设置主机名,主机名的配置需要统一规划好,早后面配置的时候需要识别主机名,同时,如果没有内网DNS,需要绑定hosts。
安装所需要的软件包,这里所用的web服务是Apache:
1
2
|
yum
install
httpd mysql mysql-server gcc gcc-c++ glibc mysql-devel
libxml2-devel libcurl curl curl-devel net-snmp net-snmp-devel libssh2-devel OpenIPMI-devel
|
3. 安装或升级php
这里的epel源默认安装的是php5.3的版本,配置zabbix服务端要求5.4以上,需要对此版本进行升级.升级php需要配置一个remi源。这个步骤请参考我之前转载的php升级的方法:
http://tryingstuff.blog.51cto.com/4603492/1854343
1
|
rpm -i http:
//rpms
.famillecollet.com
/enterprise/remi-release-7
.rpm
|
使用yum 安装更高版本的php:
1
|
yum
install
--enablerepo=remi --enablerepo=remi-php56 php php-gd php-xml php-mbstring php-bcmath php-pdo php-mysql -y
|
3.配置LAMP环境
/etc/init.d/httpd start
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
vim /etc/my.cnf
将下面的配置放到mysqld 模块下:
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
启动mysql : /etc/init.d/mysqld start
编写phpinfo.php 测试lamp是否成功加载我们需要的模块,或者直接执行 ”php -m“.
cd /var/www/html
vim phpinfo.php
1 <?php
2 phpinfo();
3 ?>
在网页访问 http://local-ip/phpinfo.php测试,测试成功后删除此文件。
4.配置zabbix服务端数据库
这里我们下载官方3.2版本的源码进行编译安装。在解压的安装包中包含了zabbixd的数据库文件
对数据库进行如下操作:
1
2
3
4
5
|
mysql
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@localhost identified by
'zabbix'
;
mysql> flush privileges;
mysql>
exit
|
在解压后的database/mysql目录中
导入zabbix的数据,注意顺序:
cd 到下载解压的zabbix目录中:
1
|
cd
/software-tools/zabbix-3
.2.1
/database/mysql
|
依次导入数据库:<单实例数据库不用指定socket>
1
2
3
|
mysql -u zabbix -pzabbix zabbix -S
/data/3306/mysql
.sock <schema.sql
mysql -u zabbix -pzabbix zabbix -S
/data/3306/mysql
.sock <images.sql
mysql -u zabbix -pzabbix zabbix -S
/data/3306/mysql
.sock <data.sql
|
5. 安装Zibbix
安装zabbix 客户端 agent,使用yum安装对应版本的agent需要先配置zabbix的yum源,或者直接下载rpm包安装。
1
2
|
yum
install
-y http:
//repo
.zabbix.com
/zabbix/3
.2
/rhel/6/x86_64/zabbix-release-3
.2-1.el6.noarch.rpm
yum
install
zabbix-agent –y
|
注意:安装zabbix_agent 会自动生成一个zabbix的用户,而服务端需要用到这个用户,如果没有安装安装agent需要手动创建该用户。
安装server端:
cd /software-tools/zabbix-3.2.1
编译参数,<如果需要Java参数模块,需要加上,这里没有加 --enable-java >
1
2
|
.
/configure
--prefix=
/usr/local/zabbix_server
--
enable
-server --with-mysql --
enable
-ipv6 --with-net-snmp
--with-libcurl --with-libxml2--with-openipmi --with-ssh2
|
1
|
make
install
|
6.修改zabbix配置文件
到源码包中将文件拷贝到apache的网站访问目录,并命名为zabbix
1
|
mv
/software-tools/zabbix-3
.2.1
/frontends/php
|
授权:
1
|
chown
-R apache:apache
/var/www/html
|
修改zabbix配置文件,确保以下配置参数和数据库对应:
1
2
3
4
5
|
vim
/usr/local/zabbix_server/etc/zabbix
.conf
68 DBHost=localhost
#host对应,默认是注释状态
78 DBName=zabbix
94 DBUser=zabbix
102 DBPassword=zabbix
#默认密码是注释状态,需要打开
|
配置好的状态:
1
2
3
4
5
6
|
[root@localhost etc]
# grep "^[a-Z]" zabbix_server.conf
LogFile=
/tmp/zabbix_server
.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
|
7. 指定配置文件启动zabbix (启动前检查是否有zabbix用户)
1
|
/usr/local/zabbix_server/sbin/zabbix_server
-c
/usr/local/zabbix_server/etc/zabbix_server
.conf
|
网页登录本地IP/zabbix 即可进入web页面进行安装
8. Web界面安装后续配置
如果web界面出现错误配置提示:需要修改php的配置文件,按照提示修改/etc/php.ini文件参数为要求的参数即可。
如果缺少某些模块,可以使用yum的方式指定yum仓库直接添加:
1
|
yum
install
--enablerepo=remi --enablerepo=remi-php56 php-bcmath gd -y
|
重启httpd后安装检查将会通过。