zabbix在red hat上部署(操作过程) - 项目进程,zabbix,iced,网络安全,PHP开发,网站发展,系统集成 - Powered by Sablog-X
有勇气来改变可以改变的事情,有度量接受不可改变的事情,有智慧来分辨两者的不同。[09-01-03] 注册 | 登陆

zabbix在red hat上部署(操作过程)

项目名:搭建Linux(red hat es 4 内核2.6)+Apache2+Mysql4+Php5+zabbix1.6系统环境实现网络状况监控
作者:iced     iced36#gmail.com

注:(共耗时3小时)
1.本环境中所用的软件全部全新安装,旧的安装包都通过命令卸载掉了(防止不必要的问题产生),安装过程开启防火墙ssh/web为可连接或者安装好后开启
2.以下安装过程的软件全部下载到/root目录并进行解压与编译,全部软件见soft文件夹
3.安装过程以wget http://target/softname-beta.tar.gz 格式下载 (也可以通过ftp进行下载,注意进行下载前将传输模式变更为二进制)
4.#命令 代表在终端中输入的,其他为说明字符
5.以下全部操作以root用户执行(省去sudo)
6.本操作过程中root用户密码为llllll,系统第一次启动时新建立的root1用户密码为111111,mysql的root密码为111111(在实际操作过程中,这是十分危险的,简易修改为长而错综复杂的密码,自己不要忘记哦)

-----------------------------------------------------------------------
A.linux(red hat enterprise 4)安装过程

准备好四张安装光盘,本处以实地光驱安装模式进行,采用图形界面安装
安装详细过程略,硬盘采用自动分区模式(特殊情况可以再行调整,比如有重要数据在其他分区)
a.增加“编辑器”(编辑使用)“开发工具”(编译使用)
b.去掉“万维网服务器”(web使用)
c.其他默认(包括没选上的sql数据库服务器组件)
-----------------------------------------------------------------------
B.Mysql5数据库安装:(需要安装3个包)


查看已经安装的模块
# rpm -qa | grep mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
已经安装了mysql跟mysql client10
再安装mysql-server跟mysql-devel

下载所需要的包(光盘中已经提供了,我这里直接提取到target的web服务器上了):
#wget http://target/perl-DBD-MySQL-2.9004-3.1.i386.rpm
#wget http://target/mysql-devel-4.1.12-3.RHEL4.1.i386.rpm
#wget http://target/mysql-server-4.1.12-3.RHEL4.1.i386.rpm

安装mysql-server前必须安装了perl-dbd
#rpm -ihv perl-DBD-MySQL-2.9004-3.1.i386.rpm
#rpm -ihv mysql-devel-4.1.12-3.RHEL4.1.i386.rpm
#rpm -ihv mysql-server-4.1.12-3.RHEL4.1.i386.rpm

warning: mysql-server-4.1.12-3.RHEL4.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...                ########################################### [100%]
   1:mysql-server           ########################################### [100%]

查询mysql的相关信息
#whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz


/var/lib/mysql/mysql/ 数据库位置

/var/lib/mysql/mysql.sock 数据库连接文件

修改mysql的root登陆密码为111111
#/usr/bin/mysqladmin -u root password 111111

查看端口3306打开情况
#netstat -atln

随系统启动(8晓得这么在终端下实现)
在图像界面下将mysql设置为随系统启动

-----------------------------------------------------------------------
C:安装Apache
#下载
wget http://target/httpd-2.2.9.tar.gz

解压缩
#tar zxvf httpd-2.2.9.tar.gz

进入apache安装目录
#cd httpd-2.2.9

配置apache
#./configure --prefix=/usr/local/apache --with-mysql --enable-module=so --enable-shared=max

编译
#make

生成到系统
#make install

试试能否启动apache, 如果启动了,可以打开浏览器,就可以看到默认的apache页面了
#/usr/local/apache/bin/apachectl start

随系统启动(终端未实现,图形界面下用服务管理器打开)

用ln做链接,可以在终端任何地方输入apache进行操作
#ln -s /usr/local/apache/bin/apachectl /usr/sbin/apache

如果没起来,看看日志:more /usr/local/apache/logs/error_log,可能是这台机器80端口被别的程序(如resin)占用了,修改一下配置文件:
vi /usr/local/apache/conf/httpd.conf
  Listen 192.168.1.212:88
  修改一下#ServerName www.example.com:80 为ServerName www.example.com:88,并把最前面的#去掉,然后/usr/local/httpd/bin/apachectl restart

-----------------------------------------------------------------------
D:安装PHP
#回到root目录进行php安装
cd /root

----------查看下以下组件是否安装,此操作可省略,直接进行下面的安装-----------------
(这些包全部是rpm包,只要安装的tar.gz的源码包编译后安装到/usr/local/下,php编译引用这些组建指定路径即可)

#rpm -qa |grep openssl
返回:openssl-0.9.7a-43.2 openssl-devel-0.9.7a-43.2 openssl096b-0.9.6b-22.3 xmlsec1-openssl-1.2.6-3

#rpm -qa | grep curl
返回:curl-7.12.1-5.rhel4 curl-devel-7.12.1-5.rhel4

#rpm -qa | grep zlib
返回:zlib-devel-1.2.1.2-1.2 zlib-1.2.1.2-1.2

#rpm -qa | grep libpng
返回:libpng-1.2.7-1 libpng10-1.0.16-1

#rpm -qa | grep freetype
返回:freetype-2.1.9-1

#rpm -qa | grep jpeg
返回:libjpeg-6b-33

#rpm -qa | grep fontconfig
返回:fontconfig-2.2.3-7

#rpm -qa | grep gettext
返回:gettext-0.14.1-13 (这个包不安装则会导致gd包无法安装(gd包依赖此包),而gd包是php必要的一个包,所以...下载地址:http://ftp.gnu.org/gnu/gettext/)

#rpm -qa | grep gd
返回:gd-2.0.28-4

#rpm -qa | grep libxml2
返回:libxml2-python-2.6.16-6 libxml2-devel-2.6.16-6 libxml2-2.6.16-6

#rpm -qa | grep libxslt
返回:libxslt-1.1.11-1

---------------------------

OPENSSL安装
 #wget http://target/openssl-0.9.8h.tar.gz
 #tar zxvf openssl-0.9.8h.tar.gz
 #cd openssl-0.9.8h
 #./config --prefix=/usr/local/openssl
 #make
 #make install

#cd ..

curl安装
 #wget http://target/curl-7.18.2.tar.gz
 #tar zxvf curl-7.18.2.tar.gz
 #cd curl-7.18.2
 #./configure --prefix=/usr/local/curl
 #make
 #make install

#cd ..

Zlib的安装,安装libpng和gd前需要先安装zlib(这个安装比较快的说)
 #wget http://target/zlib-1.2.3.tar.gz
 #tar zxvf zlib-1.2.3.tar.gz
 #cd zlib-1.2.3
 #./configure --prefix=/usr/local/zlib
 #make
 #make install
#cd ..

Libpng的安装
 #wget http://target/libpng-1.2.30.tar.gz
        #tar zxvf libpng-1.2.30.tar.gz
        #cd libpng-1.2.30
 #./configure --prefix=/usr/local/libpng
        #make
        #make install

#cd ..

Freetype的安装
 #wget http://target/freetype-2.3.7.tar.gz
        #tar zxvf freetype-2.3.7.tar.gz
        #cd freetype-2.3.7
        #./configure --prefix=/usr/local/freetype
        #make
        #make install

#cd ..

jpeg的安装,jpeg不能自己创建安装所需的目录,要提前创建好,通过mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1} 命令创建即可(这个安装也比较快的哦)
下载地址:http://google-desktop-for-linux-mirror.googlecode.com/files/jpeg-6b.tar.gz
 #wget http://target/jpeg-6b.tar.gz
        #tar zxvf jpeg-6b.tar.gz
        #cd jpeg/src
        #mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
        #./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
        #make
        #make install

#cd ..


注意:fontconfig可以考虑不安装,因为在安装这个组件过程中出现很多问题...人品问题?还是代码问题?编译都有错误...
!解压fontconfig源代码,字体库fontconfig-2.6.0.tar.gz,可能会出现说freetype没安装的提示,在fontconfig进行confiure时,加上“–with-freetype-config=/usr/local/freetype”选择,其中“/usr/local/freetype”要根据您具体的情况修改。完整的configure应该是:
./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype
问题解决 ---安装字体库出现问题,考虑之后不安装
 #wget http://target/fontconfig-2.6.0.tar.gz
        #tar zxvf fontconfig-2.6.0.tar.gz
 #cd fontconfig-2.6.0
 #./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype
 #make
 #make install

#cd /root

GDlib的安装,不装此包可能会出现在装gd包时出现 AM_ICON 的错误提示,此时需要安装 gettext 软件包,安装时间稍长
 #wget http://target/gettext-0.17.tar.gz
        #tar zxvf gettext-0.17.tar.gz
        #cd gettext-0.17
        #./configure --prefix=/usr/local/gettext
        #make
        #make install


gdlib安装
 #wget http://target/gd-2.0.35.tar.gz
        #tar zxvf gd-2.0.35.tar.gz
        #cd gd-2.0.35
        #CPPFLAGS="-I/usr/local/freetype/include -I/usr/local/jpeg/include -I/usr/local/libpng/include -I/usr/local/gettext/include" ./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/ --with-gettext=/usr/local/gettext/
 #make && make install
 #cp gd.h  /usr/local/gd2/lib/
 返回:
-----------------------------------------
** Configuration summary for gd 2.0.34:

   Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   no
   Support for Xpm library:          no
   Support for pthreads:             yes
----------------------------------------
 #make && make install
#cd ..

libxml2的安装(有点久)
 #wget http://target/libxml2-sources-2.6.32.tar.gz
        #tar zxvf libxml2-sources-2.6.32.tar.gz
        #cd libxml2-2.6.32
        #./configure --prefix=/usr/local/libxml2
        #make
        #make install

#cd ..

libxslt的安装
 #wget http://target/libxslt-1.1.22.tar.gz
        #tar zxvf libxslt-1.1.22.tar.gz
 #cd libxslt-1.1.22
 #./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
 #make && make install
#cd ..

zend引擎(对zabbix非必须,所以不装了...-_-)

开始PHP5的安装,只要通过./configure后出现thanks之类的话才表示成功...否则都要查看错误进行调整,如果提示make test,此步可以跳过
 #wget http://target/php-5.2.6.tar.gz
        #tar zxvf php-5.2.6.tar.gz
        #cd php-5.2.6
 #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --enable-ftp --with-libexpat=/usr/local/lib --with-gd=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg/ --with-zlib-dir=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --enable-bcmath
 #make && make install

提示:You may want to add: /usr/local/php/lib/php to your php.ini include_path

整合php和apache

    #cp /root/php-5.2.6/php.ini-dist /usr/local/php/lib/php.ini
    #vi /usr/local/php/etc/php.ini
    1.将extension=php_mysql.dll前面的#去掉
    2.将脚本超时的30s(PHP max execution time) 改成300s
    3.将date.timezone ="asia/shanghai"

    注意在/usr/local/apache/conf/httpd.conf加上下代码使apache执行PHP,LoadModule php5_module modules/libphp5.so 这段代码肯定可以在httpd.conf找到,如果找不到则需要重新编译了

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
   
    这两行是让apache知道php的文件类型
   
    DirectoryIndex index.html  改成DirectoryIndex index.html index.php
    让apache默认的首页也支持index.php

重启apache服务器,使得其加载php解析...
#updatedb
#apache -k restart

在默认的/usr/local/apache/htdocs下建立info.php(给予777权限可执行权限)
<?php
phpinfo();
?>

------------------net-snmp组件安装-----------
先装beecrypt-4.1.2,因为net-snmp需要这个包
#wget http://target/beecrypt-4.1.2.tar.gz
#tar zxvf beecrypt-4.1.2.tar.gz
#cd beecrypt-4.1.2
#./configure --prefix=/usr(默认是安装在/usr/local,我们需要安装在/usr目录下)
#make
#make install


开始安装
1.提升到root权限(如果是root了则省略此步)

#wget http://target/net-snmp-5.3.2.tar.gz
#tar -zxvf net-snmp-5.3.2.tar.gz
#cd net-snmp-5.3.2
#./configure
a.回车
b.输入 3
c.输入 root@
d.输入 Unknown
e.输入 /var/log/snmpd.log
f.输入 /var/net-snmp

2.ln -s libelf.so.1 /usr/lib/libelf.so
3.#make
4.#make install
-----------------------------------------------------------------------

E:zabbix1.6安装

#cd /root
#useradd zabbix
#wget http://target/zabbix-1.6.tar.gz
#tar xvzf zabbix-1.6.tar.gz
#cd zabbix-1.6

#mysql -u root -p
输入密码进入mysql控制端

>create database zabbix;
创建成功后退出
>quit;
//111111代表上面安装mysql的时候设置的密码,下面三条语句一条条执行即可,将数据库信息导入到数据库zabbix中
#mysql -u root -p111111 --default-character-set=utf8 -D zabbix < create/schema/mysql.sql
#mysql -u root -p111111 --default-character-set=utf8 -D zabbix < create/data/data.sql
#mysql -u root -p111111 --default-character-set=utf8 -D zabbix < create/data/images_mysql.sql

服务器端+客户端的编译:

#./configure --with-mysql --with-net-snmp --enable-server --enable-agent --prefix=/usr/local/zabbix

遇到的问题:
1.提示缺少net-snmp,则要安装net-snmp组件
2.提示configure: error: Not found MySQL library或者提示缺失mysqlclient,则为mysql没装完整,还需要mysql-devel,建议全新安装mysql

===================make install后出现如下=====================
Configuration:

  Detected OS:           linux-gnu
  Install path:          /usr/local/zabbix
  Compilation arch:      linux

  Compiler:              gcc
  Compiler flags:        -g -O2   -I/usr/include/mysql -g -pipe -m32 -march=i386 -mtune=pentium4 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing     -I/usr/include/rpm -I. -I/usr/local/include

  Enable server:         yes
  With database:         MySQL
  WEB Monitoring via:    no
  Native Jabber:         no
  SNMP:                  net-snmp
  IPMI:                  no
  Linker flags:                 -L/usr/lib/mysql -L/usr/lib     -L/usr/local/lib -lnetsnmp -lcrypto -lm -lcrypto  -L/usr/local/lib -lnetsnmp -lcrypto -lm -lcrypto
  Libraries:             -lm -lresolv     -lmysqlclient     -lnetsnmp

  Enable proxy:          no

  Enable agent:          yes
  Linker flags:
  Libraries:             -lm -lresolv

  LDAP support:          no
  IPv6 support:          no

***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using ZABBIX!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
==================================================
# make
# make install


zabbix 设置

#vi /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper


配置文件

#chown -R zabbix.zabbix /usr/local/zabbix/
#cp misc/conf/zabbix_* /usr/local/zabbix/

#vi /usr/local/zabbix/zabbix_server.conf

ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=<password>  修改为111111
DBSocket=/tmp/mysql.sock       修改为 /var/lib/mysql/mysql.sock


复制启动程序
cp misc/init.d/redhat/zabbix_server_ctl  /etc/init.d/
cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/


vi /etc/init.d/zabbix_server_ctl

# base zabbix dir
BASEDIR=/usr/local/zabbix
# PID file
PIDFILE=/var/tmp/zabbix_server.pid
# binary file
ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server

 

复制zabbix

mkdir /usr/local/apache/htdocs/zabbix
cp -Rpf frontends/php/* /usr/local/apache/htdocs/zabbix


LAMPZ安装完成,接下来去web上看看是否可以进行安装了

------安装中第3步检查配置信息无错误则会返回正常,可进行继续安装操作--------
PHP version:  5.2.6 Ok
PHP Memory limit: 128M Ok
PHP post max size: 8M Ok
PHP max execution time: 300 sec Ok
PHP Databases support:  MySQL Ok
PHP BC math support yes Ok
GD Version: 2.0 or higher Ok
Image formats: PNG Ok
PHP Timezone: asia/shanghai Ok
-----------------

安装完成进入界面管理(http://zabbix_server/zabbix),默认用户admin,密码zabbix

提醒:
1.安装此环境需要你比较了解linux下的基本操作流程、包与包之间的依赖性等
2.不明白的地方尽量找官方的手册进行查看,这样可以避免你少走许多弯路(很多网上的教程虽然中文简单,但是却很不明确,甚至有错误存在)

2008年10月28日下午 最后修订版

 

----------

zabbix官方网站:www.zabbix.com

软件整个打包了了,提供下载(不包括red hat系统):http://iced.is36.com/log/attachments/lampz.rar

包内包含软件如下:

beecrypt-4.1.2.tar.gz
curl-7.18.2.tar.gz
freetype-2.3.7.tar.gz
gd-2.0.35.tar.gz
gettext-0.17.tar.gz
httpd-2.2.9.tar.gz
jpeg-6b.tar.gz
libpng-1.2.30.tar.gz
libxml2-sources-2.6.32.tar.gz
libxslt-1.1.22.tar.gz
mysql-devel-4.1.12-3.RHEL4.1.i386.rpm
mysql-server-4.1.12-3.RHEL4.1.i386.rpm
net-snmp-5.3.2.tar.gz
openssl-0.9.8h.tar.gz
perl-DBD-MySQL-2.9004-3.1.i386.rpm
php-5.2.6.tar.gz
zabbix-1.6.tar.gz
zlib-1.2.3.tar.gz

ZABBIX Manual v1.6.pdf //手册

如果下载不了,可能是我删除掉了(空间容量因素),恕iced太忙,无法及时通知,请给我留言,我会发给你的。

Tags: zabbix

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

8条记录访客评论

很不错,我是在FREEBSD上装的,用自己的办法,也成功了。问题是怎么样添加ITEM,进行监测。请问你是如何做的,有空的时候能不能电邮交流一下,谢谢!
---
iced回复:嘉兴的朋友,你好,无论在freebsd还是在red hat或者是ubuntu上安装,安装都是大同小异的。这个是参考安装zabbix过程,zabbix使用我还没有深入做。不过闲下来就会开始做啦。期待与你共同提高!

Post by hyaskaczy on 2008, November 5, 2:06 PM 引用此文发表评论 #1

不错。有空交流一下
---
iced回复:我会给你去邮件的...

Post by brandon on 2008, December 22, 11:01 PM 引用此文发表评论 #2

我安装后报以下错,按你给的方法改成PORT:88也这样的,能交流一下吗,我的QQ45672558,MSN:ninja.cn@msn.com


Not Found

The requested URL /zabbix was not found on this server.
Apache/2.0.52 (Red Hat) Server at 10.8.78.30 Port 80
---
iced回复:已加你MSN,IM上详聊

Post by Ninja.Cn on 2009, January 6, 3:04 PM 引用此文发表评论 #3

hi,iced~
想问下你,有没有使用1.6的IMPI功能,想和你交流下~
如果方便,加我msn: jackie.wuang@hotmail.com,谢谢。
---
iced回复:
你好,本周内上网不便,下周网络畅通了与你取得联系,共同探讨!

Post by Jackie on 2009, February 3, 4:18 PM 引用此文发表评论 #4

下载不了,咋办,谢谢!deminlin@sina.com

Post by dmlin on 2009, April 23, 9:38 PM 引用此文发表评论 #5

下载不了, love19791125@vip.sina.com

Post by love19791125 on 2010, January 25, 12:59 PM 引用此文发表评论 #6

加入了--with-libcurl,配置Web monitoring时,却说需要这个库的支持。

Post by qhy02he on 2014, April 22, 4:59 PM 引用此文发表评论 #7

补充:配置报的错误如下:failed: cURL library is required for Web monitoring support

Post by qhy02he on 2014, April 22, 5:00 PM 引用此文发表评论 #8


发表评论

评论内容 (必填):