Zabbix是一款开源得监控软件,我们可以根据自己的需要下载源码并对其二次开发以达到我们想要的功能。
下面说一下zabbix的源码安装的步骤和安装过程中遇到的问题以及解决办法。

zabbix安装完成后中文支持的配置,fping的支持,以及一些其他插件的安装配置请看下面的链接

http://blog.csdn.net/liang_baikai/article/details/53303952

1安装环境要求

1.1 Zabbix安装前需要先搭建zabbix的运行环境。

先用uname –a 命令看一下系统版本以便安装相应的环境

1.2数据库

MySQL: 5.0.3 或者以上(推荐使用)
Oracle: 10g 或者以上
PostgreSQL: 8.1 或者以上 .
SQLite: 3.3.5 或者以上
IBM DB2: 9.7 或者以上

1.3 WEB 应用

Apache: 1.3.12 或者以上
PHP: 5.3.0 或者以上, zabbix 早期版本支持 5.2,但是 2.2 版本最低版本是 5.3

1.4服务器

以下内容都为可选项,如果你需要监控特定项,安装特定支持即可。
OpenIPMI: IPMI 硬件监控
Libssh2:版本 1.0 以上, SSH 支持
fping: icmp 监控项
libcurl:监控 web 项.
libiksemel:支持 jabber 报警(国内应该没什么人用)
net-snmp: SNMP 监控支持

1.5 JAVA 网关

如果你需要通过 Java 网关来监控你的 Java 进程

2安装配置

代码建议手打,因为拷贝的时候有些字符会变成中文模式的字符,可能导致错误

2.1安装xampp(可选)

由于zabbix需要的环境比较多,所以我这里是先装了xampp,这样会省去很多搭建环境的操作。
下面是在百度上复制过来的一段
{
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了。它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。[1]
许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。如果您想添加 MySQL、PHP 和 Perl,那就更难了。XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版。XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可。

}
Xampp安装完成之后稍稍配置下就好了
Xampp的安装配置方法可以参考如下:
http://blog.csdn.net/liang_baikai/article/details/53159653

2.2net-snmp

我这里同样是采用源码安装
源码下载路径:
net-snmp-5.4.1.tar.gz源码
http://download.csdn.net/detail/liang_baikai/9657550
net-snmp-5.7.1.tar.gz源码
http://download.csdn.net/detail/liang_baikai/9666368
net-snmp-5.7.3.tar.gz源码
http://download.csdn.net/detail/liang_baikai/9682366

我下载的是net-snmp-5.7.3.tar.gz版本的源码
安装好了,配置一下,配置方法见:
http://blog.csdn.net/liang_baikai/article/details/52953571

首先放行一些端口,这些端口后面都用的上;
我是直接在文件里面操作的

vim /etc/sysconfig/iptables

添加这两行

-A INPUT -p tcp -m multiport --dports 80,10050:10051 -j ACCEPT
-A INPUT -p udp -m multiport --dports 161 -j ACCEPT

这里写图片描述
保存退出,重启iptables

 service iptables restart

2.3配置PHP参数

修改php.ini文件

首先时间区域设置成亚洲

date.timezone = Asia/Shanghai

以及一下一些项

max_execution_time = 300
post_max_size = 32M
max_input_time = 300
memory_limit = 128M
mbstring.func_overload = 2

这些项最后在setup.php界面上都会显示出来,也可以最后根据网页的提示修改
修改完了重启下服务就好了

2.4下载zabbix源码包

源码包建议在官网上下载(由于官网上面下载有时候会比较的慢,下面有从官网上下载 好的源码包)
Zabbix3.0.5版本的源码包:http://download.csdn.net/detail/liang_baikai/9682449

Zabbix3.2.1版本的源码包:http://download.csdn.net/detail/liang_baikai/9675877

我这里用的是3.2.1版本的

2.5添加 zabbix 用户和组

# groupadd zabbix
# useradd -g zabbix -m zabbix

2.6安装 zabbix

解压zabbix

# tar -zxvf zabbix3.2.1.tar.gz
# cd zabbix3.2.1
# ./configure  --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/opt/lampp/bin/mysql_config --with-net-snmp=/usr/local/bin/net-snmp-config --with-libcurl --with-libxml2
# make && make install

(安装过程遇到问题可以找一下下面的“遇到的问题及解决办法”里面有没有)

2.7创建 zabbix 数据库以及相关表

先登录MySQL(如果是装的xampp自带的MySQL需要先配置下环境,方法见http://blog.csdn.net/liang_baikai/article/details/53196602

# mysql -uroot –proot
#mysql> create database zabbix default charset utf8;
#mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
#mysql> exit

然后将zabbix的相关数据导入数据库
(注意顺序不能错)

# mysql -uzabbix -pzabbix zabbix<./database/mysql/schema.sql
# mysql -uzabbix -pzabbix zabbix<./database/mysql/images.sql
# mysql -uzabbix -pzabbix zabbix<./database/mysql/data.sql

导入的时候注意路径(因为我cd zabbix3.2.1 所以我的路径是上面的)

2.8拷贝启动文件和配置软连接

# mkdir /var/log/zabbix
# chown zabbix.zabbix /var/log/zabbix
# ln -s /usr/local/zabbix/etc/ /etc/zabbix
# ln -s /usr/local/zabbix/bin/* /usr/bin/
# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
# cp ./misc/init.d/fedora/core/zabbix_* /etc/init.d  

(同样的要注意路径是否正确)(有些步骤现在看起来没必要,但后续使用的时候就会发现真的挺重要的,笔者亲生感受!)

# chmod 755 /etc/init.d/zabbix_*

2.9修改/etc/init.d 目录下的 zabbix_server 和 zabbix_agentd 启动文件

启动文件里面默认的路径是BASEDIR=/usr/local
需要修改成 BASEDIR=/usr/local/zabbix

# vim /etc/init.d/zabbix_server

然后找到BASEDIR=/usr/local 修改成BASEDIR=/usr/local/zabbix

# vim /etc/init.d/zabbix_agentd

然后找到BASEDIR=/usr/local 修改成BASEDIR=/usr/local/zabbix

2.10修改/usr/local/zabbix/etc/zabbix_server.conf

vim /usr/local/zabbix/etc/zabbix_server.conf

找到DBUser= 这是设置访问数据库的用户名,
设置成
DBUser=zabbix
找到 DBPassword= 这是设置访问数据库的密码
设置成
DBPassword=zabbix
以上两个参数是必须的,下面的参数有时候需要,建议也设置一下
ListenPort=10051(将注释符去掉)
DBHost=localhost
DBSocket=/opt/lampp/var/mysql/mysql.sock以xampp环境为例,具体的路径得看你怎么配置的。
DBPort=3306

2.11修改usr/local/zabbix/etc/zabbix_agentd.conf

注意下ip地址以及路径是否正确就好了,这里不做详细说明

2.12拷贝PHP文件

如果是安装xampp
将/zabbix3.2.1/frontends/php/路劲下的所有文件拷贝到/opt/lampp/htdocs/zabbix/

# cp -rf ./frontends/php/ /opt/lampp/htdocs/zabbix/

这里需要注意路径是否正确,每个人的路径不同。

如果没有安装xampp的就拷贝到/var/www/html/zabbix/
紧接着启动服务就好了,启动过程中出现的问题在后面3.12以后有解决方法:

# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
# service zabbix_server start
Starting zabbix_server: [ OK ]
# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]

2.13通过 web 站点配置 zabbix

以上步骤配置完后通过 http://192.168.XXX.XXX/zabbix/setup.php 网页端进行后续配置。
网页配置根据他的提示一直下一步就好了,如果有提示错误的地方,根据提示修改相应的地方就OK了。

2.14 《zabbix由入门到精通》新版

http://download.csdn.net/detail/liang_baikai/9675889

使用过程遇到问题可以参考这本书,新版的。写的很详细,很适合初学者学习。

3遇到的问题及其解决方法

3.1 MySQL没有找到

如果你是安装的xampp环境,或者自己安装MySQL时路径没有配置在默认路径下,这时候就会出现MySQL找不到的情况。这时候自己手动搜索下MySQL的配置文件的路径在什么地方,然后指定一下配置文件的路径就好了。

3.2 Net-snmp找不到

Net-snmp找不到的原因也许是和上面的原因一样,自己手动安装的,或者是源码编译的,net-snmp.conf文件不在默认路径下,所以导致文件找不到,这时候需要我们找到那个文件

# find / -name net-snmp.conf 

找到该文件后指定一下路径就好了。

3.3库文件找不到

由于有些环境是我们源码安装的,有些环境安装的时候他的Makefile文件中没有做拷贝库文件的操作,那么他的库文件很可能在他源码的路径下,我们找到那个库文件,然后直接将它拷贝到/usr/lib路径下就好了。

3.4MySQL登不进去,一直显示密码错误

如果一直提示都是密码不正确的错误,那就只有修改密码了。
如果你用的是xampp自带的MySQL的话

# vi /opt/lampp/etc/my.conf

在[mysqld]的下面加上这样一句话skip-grant-tables
然后保存退出。
这个时候不用密码就可以打开MySQL了,直接

# mysql

打开MySQL

>use mysql
  >update user set password=password("新密码") where user="root";
  >flush privileges;
>exit

然后

# vi /opt/lampp/etc/my.conf

将之前添加的那句话注释掉,重启下MySQL就好了

如果是自己另外装的MySQL,则找一下my.ini文件,然后操作和上面一样。

3.5 Server文件找不到

启动zabbix服务的时候提示说没有zabbix_server这个文件或目录,说明可能是路径与错误。

# vi /etc/init.d/zabbix_server

打开启动文件看看
启动文件里面默认的zabbix_server的路径是/usr/local
然后我们总是习惯于给他装在/usr/local/zabbix路径下,所以需要修改启动文件的路径。

# vi /etc/init.d/zabbix_server

然后找到BASEDIR=/usr/local 修改成BASEDIR=/usr/local/zabbix

# vi /etc/init.d/zabbix_agentd

然后找到BASEDIR=/usr/local 修改成BASEDIR=/usr/local/zabbix

3.6 Server启动后立马就死了

出现这个问题的原因有很多种,上面安装过程中任何一个错误都有可能会导致出现这个问题。出现了这个问题之后最好先看一下系统日志

# vi /tmp/zabbix_server.log

开一下该文件的最后,找找是什么原因导致的程序死掉,找到具体的问题再想办法解决。

3.7 Server启动了但是网页上显示server没有启动

service zabbix_server status

看看server的状态,如果状态是运行中,则看看是不是下面的问题。
有些系统不支持localhost,导致localhost无法解析,先

# ping localhost

看看能不能ping通,如果ping不通
将各项配置文件的localhost改成IP地址就好了。
如果能ping通则不是上述问题。

# netstat -antulp | grep zabbix

看看有没有zabbix_server,如果没有的话,检查下10051端口有没有打开。打开端口的方法见上面。
看看zabbix的系统日志提示的是不是数据库的问题,检查下数据库的配置文件,看看有没有问题,如果配置文件没有问题则看看zabbix的数据有没有成功的导入到数据库里面。
进入数据库里面

>show databases;

看看有没有zabbix这个数据库

>use zabbix;
>show tables;

看看表是否完全。可以重新导入一下。

3.8 MySQL数据导入不进去

同下

3.9 MySQL导入数时显示已经存在,但是查看数据库没有那个文件

原因就不说了,小编打不动了。
方法是

>drop database (数据库名);

将那个库删掉,然后重新建。

3.10MySQL能登进去但是没有操作权限

这个问题经常是发生在装了xampp的用户。MySQL有个匿名用户,有时候默认是匿名登录了。解决办法和上面3.4的方法一样。

3.11 -bash: mysql: command not found的解决方法,配置环境变量。

方法见:
http://blog.csdn.net/liang_baikai/article/details/53196602

3.12 error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

这是mysql的一个库没有找到,将这个库文件拷贝到系统/usr/lib/下就好了

cp /opt/lampp/lib/libmysql* /usr/local/

3.13 error while loading shared libraries: libnetsnmp.so.30: cannot open shared object file: No such file or directory

只是一个netsnmp的库文件没有找的。

cp /usr/local/lib/libnetsnmp* /usr/lib/

3.13 error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

将库文件和软链接都拷贝过去

cp /opt/lampp/lib/libcurl.so.4 /usr/lib/
cp /opt/lampp/lib/libcurl.so.4.3.0 /usr/lib/

3.14 error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

cp /opt/lampp/lib/libssl.so.1.0.0 /usr/lib/

3.15 error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

出现这个问题小心了,切不可把libcrypto的文件都拷贝过去,会导致系统崩溃的。只要拷贝下面一个文件就好了

cp /opt/lampp/lib/libcrypto.so.1.0.0 /usr/lib/
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐