一、为什么要用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,端口监视等方法去监控远程服务器或网络状态。

  1. 准备安装环境

    zabbix的服务端需要有一个本地数据库,监控的数据和信息都存在本地的数据库中,同时由于是利用web界面进行管理,我们有需要安装Apache或者nginx。

    我目前所使用的服务端和客户端都是是 CentOS6.5,数据库使用mysql.

    同时安装过程中,我们需要关闭selinx和防火墙,当然如果生产环境需要用到防火墙,我们可以在客户端上加上一条防火墙规则(因为客户端是被动接受服务端的请求,默认使用10050端口)

# 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:

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 

rpm -i http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

使用yum 安装更高版本的php:

 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的数据库文件

对数据库进行如下操作:

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中:

cd  /software-tools/zabbix-3.2.1/database/mysql

依次入数据<单实例数据不用指定socket>

mysql -u zabbix -pzabbix zabbix -S /data/3306/mysql.sock <schema.sql
mysql -u zabbix -pzabbix zabbix -S /data/3306/mysql.sock <p_w_picpaths.sql
mysql -u zabbix -pzabbix zabbix -S /data/3306/mysql.sock <data.sql


5.   安装Zibbix

安装zabbix agent,使用yum安装对应版本的agent需要先配置zabbix的yum源,或者直接下载rpm包安装。

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 >

 

./configure --prefix=/usr/local/zabbix_server --enable-server  --with-mysql --enable-ipv6 --with-net-snmp 
--with-libcurl --with-libxml2--with-openipmi --with-ssh2
make install


6.修改zabbix配置文件 

到源包中将文件拷apache的网站访问录,并命名为zabbix

mv /software-tools/zabbix-3.2.1/frontends/php

chown -R apache:apache /var/www/html

修改zabbix配置文件,确保以下配置参数和数据库对应

vim /usr/local/zabbix_server/etc/zabbix.conf
68 DBHost=localhost     #host对应,默认是注释状态
78 DBName=zabbix
94 DBUser=zabbix
102 DBPassword=zabbix    #默认密码是注释状态,需要打开

配置好的状

[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)

/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仓库直接添加:

yum install --enablerepo=remi --enablerepo=remi-php56 php-bcmath gd -y

重启httpd后安装检查将会通过。