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

下面是简要的安装步骤

1
2
3
4
5
测试系统环境
# 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

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


2.下载zabbix

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

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

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


3.安装所需要的组件

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

4.zabbix数据库创建导入

1
2
3
4
5
6
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.编译安装参数

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


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

1
2
3
4
5
#vim /etc/service 
zabbix-agent    10050/tcp    //客户端
zabbix-agent    10050/udp     
zabbix-trapper  10051/tcp    //服务端
zabbix-trapper  10051/udp


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

(1)测试zabbix服务启动

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

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

1
2
3
4
#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程序目录的位置:

1
2
3
4
5
6
7
8
9
10
#vim /etc/init.d/zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
#vim /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文件添加对应的如下代码:

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

(5)然后再设置自启

1
2
3
4
#chkconfig --add zabbix_server    //服务列表中增加此服务
#chkconfig --add zabbix_agentd
#chkconfig zabbix_server on
#chkconfig zabbix_agentd on


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

1
2
3
4
5
6
7
8
9
#vim /usr/local/zabbix/zabbix_agentd.conf
    LogFile=/tmp/zabbix_agentd.log    //客户端的日志文件
    Server=127.0.0.1
    Hostname=Zabbix Server
#vim /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文件

1
2
#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修改对应的值就行

1
2
3
4
5
6
#vi /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的安装配置_Centos6.4下zabbix的安装配

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

Centos6.4下zabbix的安装配置_Centos6.4下zabbix的安装配_02

默认的登陆用户名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的安装配置_Centos6.4下zabbix的安装配_03Centos6.4下zabbix的安装配置_Centos6.4下zabbix的安装配_04Centos6.4下zabbix的安装配置_Centos6.4下zabbix的安装配_05

一类的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的安装配置_Centos6.4下zabbix的安装配_06到此,就完成了页面中文显示,可能是由于版本自带的中文翻译,所以有些地方翻译的可能不完整,但不影响使用。


下面是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

2.解压缩

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

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

1
2
3
4
5
#vim 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/ 文件下
  

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

4.添加zabbix的监控端口

1
2
3
#vim /etc/service
    zabbix_agent    10050/tcp
    zabbix_agent    10050/udp

5.添加zabbix用户和组

1
2
#groupadd zabbix
#useradd zabbix -g zabbix

6.启动zabbix_agent

1
2
3
#/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"


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

本文出自 “行 者--->” 博客,请务必保留此出处http://liumissyou.blog.51cto.com/4828343/1438357