之前有搭建过cacti的应用,但是最近cacti总是出现错误的报警提示,感觉监控不是很严密,对此想使用另外一个监控应用zabbix来作为比较使用。

下面是简要的安装步骤

测试系统环境
# uname -a
Linux localhost.localdomain 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 23:51:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release 
CentOS release 6.4 (Final)

1.配置安装LAMP和开发环境

至于lamp的配置方法在这里就不再赘述了,可以参照如下文档http://liumissyou.blog.51cto.com/4828343/1255317

# 确保开发环境已经安装
yum -y groupinstall "Develoment Tools" "Develoment Libraries"

2.下载zabbix

官方下载地址:http://www.zabbix.com/download.php

选择和自己系统对应的版本,这里选择安装与Linux内核为2.6对应的zabbix-2.2.2版本

# 解压缩
tar -zxvf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2

3.安装所需要的组件

yum install -y curl curl-devel net-snmp snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath php-mbstring

4.zabbix数据库创建导入

mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@'%' identified;
mysql> flush privileges;
mysql> source /root/zabbix-2.2.2/database/mysql/schema.sql
mysql> source /root/zabbix-2.2.2/database/mysql/data.sql
mysql> source /root/zabbix-2.2.2/database/mysql/p_w_picpaths.sql

5.编译安装参数

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl
make && make install


6.添加zabbix服务对应的端口(可以省略),一般系统中都已经存在了,若没有可以如下添加

cat /etc/service 
 zabbix-agent    10050/tcp   //客户端
 zabbix-agent    10050/udp     
 zabbix-trapper  10051/tcp    # 服务端
 zabbix-trapper  10051/udp

7.为zabbix提供启动脚本和配置文件

(1)测试zabbix服务启动

/usr/local/zabbix/sbin/zabbix_agentd    # 客户端
/usr/lcoal/zabbix/sbin/zabbix_server    # 服务端
# 查看端口:
netstart -tnlp | grep ‘zabbix’
# 停止zabbix服务:
pkill zabbix

(2)为zabbix提供开机启动脚本:

mkdir -v /etc/zabbix
cp /root/zabbix-2.2.2/misc/init.d/tru64/zabbix_agentd /etc/init.d/    # 客户端
cp /root/zabbix-2.2.2/misc/init.d/tru64/zabbix_server /etc/init.d/    # 服务端
chmod 777 /etc/init.d/zabbix*

(3)修改zabbix_agentd、zabbix_server程序目录的位置:

cat /etc/init.d/zabbix_agentd
 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
cat /etc/init.d/zabbix_server
 DAEMON=/usr/local/zabbix/sbin/zabbix_server
# 启动zabbix服务:
service zabbix_agentd start
service zabbix_server start
#添加开启启动
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd

(4)由于zabbix_server 服务不支持 chkconfig,使用下列方法自启动:
   分别在/etc/init.d/zabbix_agentd和/etc/init.d/zabbix_server文件添加对应的如下代码:

chkconfig: 345 95 95   # 三个参数:345代表不同的Level运行,第二个参数:启动序号95,第三个参数:关闭序号95
description: Zabbix_Server # 注意前面的‘#’不能取消掉,此行为描述

(5)然后再设置自启

chkconfig --add zabbix_server  # 服务列表中增加此服务
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on

8.编辑zabbix相关的配置文件

cat /usr/local/zabbix/zabbix_agentd.conf
    LogFile=/tmp/zabbix_agentd.log   # 客户端的日志文件
    Server=127.0.0.1          # 指定服务端ip,这里的本机 
    Hostname=Zabbix Server      # 指定本机的主机名
cat /usr/local/zabbix/zabbix_server.conf
    LogFile=/tmp/zabbix_server.log   # 服务端的日志文件
    DBHost=192.168.0.240        # 服务端ip
    DBName=zabbix           # zabbix数据库名字
    DBUser=root            # zabbix数据库登陆用户

9.提供zabbix的web文件

mkdir -v /var/www/html/zabbix
cp zabbix-2.2.2/frontends/php/* /var/www/html/zabbix

在浏览器输入:http://ip/zabbix

然后通过web页面继续配置zabbix

若页面上有错误的提示,则在/etc/php.ini修改对应的值就行

cat /etc/php.ini
 max_input_time = 600
 max_execution_time = 300
 date.timezone = Asia/Shanghai
 post_max_size = 32M
 memory_limit = 128M

Centos6.4下zabbix的安装配置_第1张图片

直到所有的都正确配置完成,显示Ok,到此zabbix才算真正搭建完成

Centos6.4下zabbix的安装配置_第2张图片

默认的登陆用户名admin,密码为zabbix


若页面提示缺少"mbstring":PHP mbstring extension missing (PHP configuration parameter --enable-mbstring).
    解决方法:#yum install -y php-mbstring
然后一路“Next”:
到了第五步骤:5. Pre-Installation summary 需要下载配置文件然后将其保存到server的/var/www/html/zabbix/conf/下面,
名字一定是zabbix.conf.php,然后“Retry” ,点击 “Finish”,完成安装。
配置完成,出现登录界面,默认的用户为admin,密码为:zabbix


若浏览器上错误提示:Zabbix server is not running:be information displayed may not be current.    
解决方法:修改/var/www/html/zabbix/conf/zabbix.conf.php
     $ZBX_SERVER      = '192.168.0.240';        //修改ip为server的ip,非127.0.0.1

10.添加监控主机
Configuration --> Host --> Create Host --> HostName(主机名可以是ip)、Visible name(定义主机名)、选择Groups、IP address(主机的ip地址)
然后选择模板Templates --> add --> Save

Centos6.4下zabbix的安装配置_第3张图片Centos6.4下zabbix的安装配置_第4张图片Centos6.4下zabbix的安装配置_第5张图片

一类的hosts可以归属到用一个host group,便于分类管理同一类设备,在 Configuration --> Host Group --> Create Host Group可以添加设备组

11.zabbix的汉化(显示中文web)
zabbix-2.2.2版本中自带了各种语言版本,只需要手动设置就行了
简要设置方法:
Administration --> Users --> Members(Admin(Zabbix Administrator)) --> Language (选择Chinese(zh_CN)) --> Save

Centos6.4下zabbix的安装配置_第6张图片

到此,就完成了页面中文显示,可能是由于版本自带的中文翻译,所以有些地方翻译的可能不完整,但不影响使用。


下面是zabbix_agent客户端的安装

(1)Linux客户端安装
1.下载zabbix_agent客户端(下载与系统版本对应的版本)zabbix_agents_2.2.1.linux2_6.amd64.tar

官方下载地址:http://www.zabbix.com/download.php

同时我也已经将其上传:http://down.51cto.com/data/1513462

rpm安装 http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/

2.解压缩

#tar -zxvf zabbix_agents_2.2.1.linux2_6.amd64.tar -C /usr/local/zabbix

解压后有三个目录:bin sbin conf
3.修改配置文件
  

cat zabbix_agentd.conf
 LogFile=/tmp/zabbix_agentd.log    # agent日志文件
 Server=192.168.0.250         # zabbix_server的ip
 ServerActive=192.168.0.250      # zabbix服务器ip
 Hostname=192.168.0.250        # 客户端的主机名(此名字要和浏览器上面Host对应的name一致)

cp配置文件zabbix_agentd.conf到 /usr/local/etc/ 文件下  

cp /usr/local/zabbix/zabbix_agentd.conf /usr/local/etc/

4.添加zabbix的监控端口

cat /etc/service
 zabbix_agent    10050/tcp
 zabbix_agent    10050/udp

5.添加zabbix用户和组

groupadd zabbix
useradd zabbix -g zabbix

6.启动zabbix_agent

/usr/local/zabbix/sbin/zabbix_agentd
查看是否启动:
netstat -tnlp | grep 'zabbix'



/tmp/zabbix_agentd.log日志错误提示:18864:20140321:150533.246 no active checks on server [192.168.0.240:10051]: host [Cacti] not found            
解决方案:修改/usr/local/etc/zabbix_agentd.conf
      Hostname=XXX,这个定义的名字必须和web页面里面host的名字一样。  
 

/tmp/zabbix_agentd.log日志错误提示:
 21980:20140321:153024.219 using configuration file: /usr/local/etc/zabbix_agentd.conf
 21980:20140321:153024.219 listener failed: bind() for [[-]:10050] failed: [98] Address already in use
解决方案:修改/usr/local/etc/zabbix_agentd.conf
      ServerActive=192.168.0.250,192.168.0.1    //在zabbix服务器ip后面添加一个对应的网关地址


(2)windows客户端安装
1.官网下载http://www.zabbix.com/download.php

2.解压,把对应的系统文件内容拷贝到\zabbix_agents_2.2.1.win 根目录下面
3.在根目录下面新建zabbix_agentd.conf文件,并添加以下内容:
    LogFile=d:\zabbix_agents_2.2.1.win\zabbix_agentd.log  //日志文件
    Server=192.168.0.240    //服务端IP
    ListenIP=192.168.0.250    //客户端IP
    Hostname=250        //客户端主机名
4.安装zabbix客户端
命令安装:D:\zabbix_agents_2.2.1.win> zabbix_agentd.exe --install -c d:\zabbix_agents_2.2.1.win\zabbix_agentd.conf
5.启动zabbix客户端
    D:\zabbix_agents_2.2.1.win> zabbix_agentd.exe --start -c d:\zabbix_agents_2.2.1.win\zabbix_agentd.conf
6.查看端口是否监听
    netstat -an | find "10050"


以上内容经过本人测试均成功,若有变化,随时更新!仅作参考……若有其他疑问可共同探讨!!!