以下安装步骤来自网上2篇我认为不错的文章,感谢2位前辈好文章
1.
2.原作者小毛 http://blog.coos.cn/linux/centos_install_zabbix16/
搭建centos+Apache2+Mysql5+Php5+zabbix1.6.2系统环境实现网络状况监控
1.mysql的安装
我的mysql记得一开始是用yum安装,后来是用编译安装的
./configure --prefix=/home/opt/mysql-5.1.31 --with-charset=gbk --with-extra-charsets=all --enable-assembler --with-mysqld-ldflags=-all-static
make
make install
(网上有很多安装mysql的文档,可以看一下,缺少什么依赖包,可以用yum安装)
2.apache的安装
解压缩
#tar zxvf httpd-2.2.9.tar.gz
进入apache安装目录
#cd httpd-2.2.9
配置apache
#./configure --prefix=/usr/local/httpd --with-mysql --enable-module=so --enable-shared=max
编译
#make
生成到系统
#make install
试试能否启动apache, 如果启动了,可以打开浏览器,就可以看到默认的apache页面了
#/usr/local/apache/bin/apachectl start
3.php的安装。
这里着重说明一下。
查看下以下组件是否安装,并记住相应包的目录,因为我当初安装的时候以下的包都是通过yum安装的结果碰到php安装完毕,安装zabbix,配置zabbix的时候出错。
----------查看下以下组件是否安装,此操作可省略,直接进行下面的安装-----------------
(这些包全部是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必要的一个包,所以...下载地址:)
#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
#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
#tar zxvf zlib-1.2.3.tar.gz
#cd zlib-1.2.3
#./configure --prefix=/usr/local/zlib
#make
#make install
#cd ..
Libpng的安装
#wget
#tar zxvf libpng-1.2.30.tar.gz
#cd libpng-1.2.30
#./configure --prefix=/usr/local/libpng
#make
#make install
#cd ..
Freetype的安装
#wget
#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} 命令创建即可(这个安装也比较快的哦)
下载地址:
#wget
#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
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install
cd ..
在RHEL5 64 位下编译jpeg-6b时候报以下错误:
make: ./libtool: Command not found make: *** [jcapimin.lo] Error 127
错误分析:由于libtool版本过低导致的,进入jpeg-6b的源码目录,复制相关文件覆盖,然后重新configure。
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
#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
#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
#tar zxvf gettext-0.17.tar.gz
#cd gettext-0.17
#./configure --prefix=/usr/local/gettext
#make
#make install
gdlib安装
#wget
#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
#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
#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
#tar zxvf php-5.2.6.tar.gz
#cd php-5.2.6
#./configure --prefix=/home/opt/php-5.2.9 --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/home/opt/mysql-5.1.31 --with-config-file-path=/home/opt/php-5.2.9/etc/ --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
最后编译时出错
/usr/bin/ld: /usr/local/lib/zlib/lib/libz.a(compress.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/zlib/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1
参考来自于(http://hi.baidu.com/flyfreebsd/blog/item/5e234dbfca067e0218d81f68.html)的方法:
重新安装 zlib-1.2.3.tar.gz
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib-1.2.3
#./configure
#vi Makefile
找到 CFLAGS=-O3 -DUSE_MMAP
在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC
接下面步骤
#make
#make install
提示:You may want to add: /usr/local/php/lib/php to your php.ini include_path
另外我编译的时候制定了php的配置文件路径,因为php我以前装过好几次做测试,所以有些乱,配置zabbix时出了问题,又重新编译了一次
Fatal error: Call to undefined function socket_create() in /fgn/www/zabbix/include/scripts.inc.php on line 68
rebuild php with "--enable-sockets" option
整合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权限可执行权限)
四、安装fping
fping是加强版的ping工具,可以同时ping多个主机:
fping的官网是:
web03# wget
web03# tar zxf fping.tar.gz
web03# cd fping-2.4b2_to
web03# ./configure
web03# make && make install
安装完毕后,一起就2个文件:
/usr/local/sbin/fping #执行文件
/usr/local/man/man8/fping.8 #man文件
设置fping权限:
web03# chown root:zabbix /usr/local/sbin/fping
web03# chmod 710 /usr/local/sbin/fping
web03# chmod ug+s /usr/local/sbin/fping
五。安装net-snmp:
------------------net-snmp组件安装-----------
先装beecrypt-4.1.2,因为net-snmp需要这个包
#wget
#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
#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
-----------------------------------------------------------------------
六。开始安装zabbix-server:(及在本机安装zabbix agent)
这部分包括server端的安装以及本机的一个被监控端的安装,部署时请注意区别
zabbix的官网是:
目前最高稳定版是1.6.6。
1、添加用户:
web03# groupadd -g 28 zabbix
web03# useradd -u 28 -g 28 -s /sbin/nologin -M zabbix
web03# id zabbix
uid=28(zabbix) gid=28(zabbix) groups=28(zabbix)
2、下载解压:
web03# wget %20Latest%20Stable/1.6.6/zabbix-1.6.6.tar.gz?use_mirror=nchc
web03# tar zxf zabbix-1.6.6.tar.gz
web03# cd zabbix-1.6.6
3、设置mysql数据库
1)添加数据库和用户:
web03# mysql -u root -p
Enter password:
mysql> create database zabbix;
mysql> CREATE USER 'coos'@'localhost' IDENTIFIED BY 'coos';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,SHOW VIEW,CREATE VIEW,LOCK TABLES ON `zabbix` . * TO 'coos'@'localhost';
mysql> exit
Bye
2)导入数据:
web03# mysql -u coos -pcoos zabbix web03# mysql -u coos -pcoos zabbix web03# mysql -u coos -pcoos zabbix
4、开始安装配置zabbix:
1)编译
web03# ./configure --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp
===================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! *
* <> *
***********************************************************
==================================================
web03# make && make install
遇到的问题:
1.提示缺少net-snmp,则要安装net-snmp组件
2.提示configure: error: Not found MySQL library或者提示缺失mysqlclient,则为mysql没装完整,还需要mysql-devel,建议全新安装mysql
安装完毕后,会在/usr/local/sbin/下面生下如下命令:
zabbix_agent zabbix_agentd zabbix_get zabbix_sender zabbix_server
好像没看到有其他文件,或者inclue文件,lib库之类的。
2)复制配置文件:
web03# mkdir /etc/zabbix
web03# cp misc/conf/*.conf /etc/zabbix/
可以简化下默认配置,注释太多了:
①修改服务端配置文件:
web03# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.defalut
web03# cat /dev/null >/etc/zabbix/zabbix_server.conf
web03# vi /etc/zabbix/zabbix_server.conf
加入如下内容:
# This is config file for ZABBIX server process
# To get more information about ZABBIX,
# go
SenderFrequency=30
DebugLevel=3
Timeout=5
PidFile=/var/run/zabbix/zabbix_server.pid
LogFile=/var/log/zabbix/zabbix_server.log
AlertScriptsPath=/home/zabbix/bin/
FpingLocation=/usr/local/sbin/fping
#ListenIP=
#ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=coos
DBPassword=coos
DBSocket=/tmp/mysql.sock
①修改客户端配置文件:
web03# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.default
web03# cat /dev/null >/etc/zabbix/zabbix_agentd.conf
web03# vi /etc/zabbix/zabbix_agentd.conf
加入如下内容:
# This is config file for zabbix_agentd
# To get more information about ZABBIX, go
Server=127.0.0.1
#ServerPort=11051
Hostname=web03
#ListenIP=
#ListenPort=10050
TimeOut=3
StartAgents=3
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Timeout=3
最后建立日志和PID目录:
web03# mkdir /var/log/zabbix
web03# chown -R zabbix: /var/log/zabbix/
web03# mkdir /var/run/zabbix
web03# chown -R zabbix: /var/run/zabbix/
3)然后添加端口文件:
web03# 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
4)复制启动脚本:
web03# cp misc/init.d/redhat/zabbix_* /etc/init.d/
然后修改启动脚本:
①修改服务端启动脚本:
web03# vi /etc/init.d/zabbix_server_ctl
BASEDIR=/opt/zabbix ==>把这句前面加#注释掉。
PIDFILE=/var/tmp/zabbix_server.pid ==>修改为/var/run/zabbix/zabbix_server.pid
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_server ==>修改为/usr/local/sbin/zabbix_server
②修改客户端启动脚本:
web03# vi /etc/init.d/zabbix_agentd_ctl
BASEDIR=/opt/zabbix ==>把这句前面加#注释掉。
PIDFILE=/var/tmp/zabbix_agentd.pid ==>修改为/var/run/zabbix/zabbix_agentd.pid
ZABBIX_AGENTD=$BASEDIR/bin/zabbix_agentd ==>修改为/usr/local/sbin/zabbix_agentd
现在就可以启动了:
启动之前把net-snmpd的库路径加入ldconfig,否则会报错:
web03# grep ‘/usr/server/snmpd/lib’ /etc/ld.so.conf || echo “/usr/server/snmpd/lib” >>/etc/ld.so.conf
web03# ldconfig
启动:
web03# /etc/init.d/zabbix_server_ctl start
web03# /etc/init.d/zabbix_agentd_ctl start
然后查看监听端口和进程:
web03# netstat -tunlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 8911/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 8871/zabbix_server
5)配置web界面:
复制网页文件到web路径:
web03# cp -r frontends/php /data1/web/web80/zabbix
web03# chown -R www: /data1/web/web80/zabbix
编辑php.ini文件:
max_execution_time = 30 ==> 修改为300 #大约255行。
;date.timezone = ==>去掉注释在=后添加 Asia/Shanghai #大约662行。
然后重启php-fpm,apache的话就重启httpd。
然后使用浏览器访问:
就会出现安装向导,一步步填写就可以了。
最后默认的管理员用户和密码是:admin/zabbix。进去后就可以修改用户密码。
另外还有个guest用户,默认是无法删除,可以进去把用户名改一下,然后设置个密码或者删除就可以。
以下的2个方面的内容是关于在客户端的安装包括linux和windows的。
七、Centos 5.3下安装zabbix客户端zabbix-agentd:
其实前面服务段已经安装了客户端。但是这里为了分开,好在需要监控的的机器单独安装客户端,所以重新做一次:
1、添加用户:
web02# groupadd -g 28 zabbix
web02# useradd -u 28 -g 28 -s /sbin/nologin -M zabbix
web02# id zabbix
uid=28(zabbix) gid=28(zabbix) groups=28(zabbix)
2、下载解压,并编译客户端:
web02# wget %20Latest%20Stable/1.6.6/zabbix-1.6.6.tar.gz?use_mirror=nchc
web02# tar zxf zabbix-1.6.6.tar.gz
web02# cd zabbix-1.6.6
web02# ./configure --enable-agent
web02# make && make install
安装完成,会在/usr/local/sbin/目录生成如下命令:
zabbix_agent zabbix_agentd zabbix_get zabbix_sender
3、配置服务:
web02# mkdir /etc/zabbix
web02# touch /etc/zabbix/zabbix_agentd.conf
web02# vi /etc/zabbix/zabbix_agentd.conf
加入如下内容:
# This is config file for zabbix_agentd
# To get more information about ZABBIX, go
Server=10.1.1.8
#ServerPort=11051
Hostname=web03
#ListenIP=
#ListenPort=10050
TimeOut=3
StartAgents=3
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Timeout=3
最后建立日志和PID目录:
web02# mkdir /var/log/zabbix
web02# chown -R zabbix: /var/log/zabbix/
web02# mkdir /var/run/zabbix
web02# chown -R zabbix: /var/run/zabbix/
4、然后添加端口文件:
web03# vi /etc/services
在最后加入:
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
5、复制启动脚本:
web02# cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/
修改客户端启动脚本:
web02# vi /etc/init.d/zabbix_agentd_ctl
BASEDIR=/opt/zabbix ==>把这句前面加#注释掉。
PIDFILE=/var/tmp/zabbix_agentd.pid ==>修改为/var/run/zabbix/zabbix_agentd.pid
ZABBIX_AGENTD=$BASEDIR/bin/zabbix_agentd ==>修改为/usr/local/sbin/zabbix_agentd
启动:
web02# /etc/init.d/zabbix_agentd_ctl start
查看监听端口及进程:
web02# netstat -tunlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 15356/zabbix_agentd
现在就可以从zabbix server的web界面来添加web03的主机监控了。
八、windows 2003下安装zabbix客户端zabbix-agentd:
下载windows版本的zabbix agentd:/downloads/1.4.4/zabbix_agents_1.4.4.windows.i386.tar.gz
好像windows目前最高只有1.4.4的版本可下。然后把那个win32的目录解压出来(如果是64位系统就解压win64目录),并把目录名改成zabbix。比如我这里是:E:\bak\zabbix
首先建立一个文本文件c:\zabbix_agentd.conf,加入如下内容:
# This is config file for zabbix_agentd
# To get more information about ZABBIX, go
Server=10.1.1.8
#ServerPort=11051
Hostname=web03
#ListenIP=
#ListenPort=10050
TimeOut=3
StartAgents=3
DebugLevel=3
#PidFile=E:\bak\zabbix\zabbix_agentd.pid
LogFile=E:\bak\zabbix\zabbix_agentd.log
Timeout=3
然后打开 运行–cmd,进入cmd界面:
cmd> cd /d e:\bak\zabbix
cmd> zabbix_agentd.exe -i #安装,也可以用--install
zabbix_agentd.exe [8964]: ZABBIX Agent service created successfully.
zabbix_agentd.exe [8964]: Event source "ZABBIX Agent" installed successfully.
cmd> zabbix_agentd.exe -s #启动,也可以用--start
zabbix_agentd.exe [10156]: ZABBIX Agent service started successfully.
—————————————————————-
另外,如果你的配置文件不是c:\zabbix_agentd.conf,在安装的时候需要手工指定:
cmd> zabbix_agentd.exe –config d:\zabbix_agentd.conf –install
—————————————————————-
然后去zabbix server的web界面添加就可以了。
错误信息分析:
1.编译某些软件时提示出错,一般是由于少某些依赖包导致,建议百度或者谷歌一下,会有结果的
2.
以下出错原因是GD未正确安装,php编译错误(缺少 --enable-bcmath);脚本最大运行时间也应该设置成300;还有就是php配置文件中的时差需要设置;
3.这个就是GD的安装有问题。(我一开始是用yum安装的,编译php未指定相关包的安装目录,说句实话,我也不知道该如何指定《如果用yum安装的那些包如何指定,有知道的可以给我留言,谢谢》)
4.美图