以下安装步骤来自网上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权限可执行权限) phpinfo(); ?>
四、安装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.美图
|