TITLE: Zabbix Install and Configure

 

AUTHOR: Luo

E-MAIL: [email protected]

DATE: Fri Sep 9, 2011 First

KEYWORDS: Zabbix, Cluster Monitor, Server Monitor, OpenSource

UPDATE: $


一 软件出处

Zabbix是一个开源分布式监控平台,包含诸多监控功能,用于构建一个符合企业级的监控解决方案。软件由开源社区提供开发和维护,遵循GPL协议,可以自由传播和使用,但开发团队提供收费的技术支持服务。

官方网站: http://ww.zabbix.com

SourceForge网址:

二 功能描述与截图

三 同类型软件横向说明

四 使用说明

五 安装

1 安装前提:

OS: Centos 5.6

软件依赖: $ yum install curl*  net-snmp*  mysql-server mysql*

2 创建用户:

$ groupadd zabbix
$ useradd -g zabbix -m zabbix

2 解压缩:tar xvf zabbix-1.8.6.tar

3 创建数据库:

$mysql -uroot -p

$myslq> create database zabbix character utf8;

$mysql> show databases;

$mysql> quit;

$ cd zabbix-1.8.6

$ cat create/schema/mysql.sql | mysql -uroot -p[PASSWORD] zabbix

$ cat create/data/data.sql | mysql -uroot -p[PASSWORD] zabbix

$ cat create/data/p_w_picpaths_mysql.sql | mysql -uroot -p[PASSWORD] zabbix

4 安装必要配件

##编译配置

$ ./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/opt/zabbix

##编译安装

$ make && make install

六 配置

1.  开启服务端口

$grep zabbix /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


如果以上内容没有出现, 请手动添加到文件中

 

2. 编辑配置文件

$ mkdir /etc/zabbix

$ cp -r misc/conf/*   /etc/zabbix/


修改服务器配置文件

$ vim /etc/zabbix/zabbix_server.conf

编辑行: DBPassword=【数据库的登录密码】


修改client配置文件

$ vim /etc/zabbix/zabbix_agent.conf

编辑行: server=【服务器IP】


3.  配置 UI

$ cp -r  frontends/php /var/www/html/zabbix

4. 配置PHP

$ vim /etc/php.ini

修改如下参数为:

 

max_execution_time = 300
max_input_time = 300

date.timezone = Asia/Shanghai

post_max_size = 32M

memory_limit = 128M

mbstring.func_overload = 2

$ yum install php-mbstring  php-gd*

 

5.  重启服务

$ server httpd restart

七 使用

1.  使用浏览器打开地址: http://[Server-IP]/zabbix

可能会出现白屏幕,查看/var/log/httpd/error_log文件,发现如下错误:

Call to undefined function bcscale() in /var/www/html/zabbix/include/defines.inc.php on line 797

是php缺少一个数学库: $ yum install php-bcmath

OK!

2.  在配置第三项时候, 出现:


这个配置前提要求,出现Fail的表示该项目不可用或不达标,需要修改。方法如下:

$ vim /etc/php.ini

修改此项目: max_input_time = 600    ; Maximum amount of time each script may spend parsing request data

$ yum install php-gd  php-mbstring

$ /etc/init.d/httpd restart

打开浏览器, 使用 "Retry" 按钮刷新, 界面变为:


如果你还有Fail项目,可根据项目内容(黑体字),修改/etc/php.ini文件,或者安装相应的包

点击 "Next >> ", 进入第四步,请输入密码,然后点击 "Test connection" (注意默认不需要修改其他,只要填入密码就好)

一路Next

到第七步:

点击 “Save configuation file", 将下载的文件zabbix.conf.php, 拷贝到服务器的目录/var/www/html/zabbix/conf/zabbix.conf.php去

然后点击" Retry" 就不会有Fail了。

点击“Finish" 完成安装

3. 初始登录用户:

username: Admin

password: zabbix

4. 配置启动项:

(在编译安装目录下)

$ pwd

/root/zabbix-1.8.6

$ cp misc/init.d/redhat/zabbix_server_ctl  /etc/init.d/zabbix_server

$ cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/zabbix_agentd

在编译配置中如果 --prefix=不是文档中所描述的, 需要在上面两个文件中改动项目“BASEDIR=“为你设置的新安装目录。

5.  开机自启动

 

$ echo '/etc/init.d/zabbix_server start &' >>/etc/rc.local

$ echo '/etc/init.d/zabbix_agentd start &' >>/etc/rc.local


 

6. 启动

$ service zabbix_server start

$ service zabbix_server restart

$ ps aux | grep zabbix

为空,表示有错误

7. 无法启动的原因和错误排除方法

错误信息所在的日志文件在:

tail -f /tmp/zabbix_server.log

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

错误信息: zabbix 无法登录到数据库

[root@server ~]# tail -f /tmp/zabbix_server.log
 13233:20110910:054124.337 SNMP monitoring:           YES
 13233:20110910:054124.337 IPMI monitoring:            NO
 13233:20110910:054124.337 WEB monitoring:            YES
 13233:20110910:054124.337 Jabber notifications:       NO
 13233:20110910:054124.337 Ez Texting notifications:  YES
 13233:20110910:054124.337 ODBC:                       NO
 13233:20110910:054124.337 SSH2 support:               NO
 13233:20110910:054124.337 IPv6 support:               NO
 13233:20110910:054124.337 ******************************
 13233:20110910:054124.340 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'root'@'localhost' (using password: NO)

解决办法:

编辑配置文件: $ vim /etc/zabbix/zabbix_server.conf

修改 DB项目中的“DBName=", "DBPassword="等项目,是否设置正确或者去掉了注释。

然后重启服务: $ service zabbix_server restart

OK

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

主界面如下:



8.  设置需要监控的服务器

        首先需要下载安装包,由于Zabbix 在不同的操作系统上需要不同的安装包,应此首先需要去官方网站下载相应的安装包.

        下载安装文件到需要监控的LINUX服务器,然后

        $ tar -zxvf  zabbix_agents_1.8.linux2_6.i386.tar.gz

        $ mkdir /etc/zabbix

        登录到主服务器,将配置文件复制到需要监控的服务器上

        $ scp /etc/zabbix/zabbix_agentd.conf    root@host:/etc/zabbix/

        登录到受监控的服务器节点,修改配置文件,参考如下:

        Hostname=本机主机名

        Server=Zabbix服务器IP

        运行:

        $ /usr/local/zabbix/sbin/zabbix-agentd –c /etc/zabbix/zabbix_agentd.conf &

        可以使用命令查看是否运行:

        $ ps aux | grep zabbix-agentd

        查看日志:

        $ tail -f /tmp/zabbix_agentd.log


        Windows 主机的监控使用如下配置:

     Windows下解压客户端包到c:,下载修改好的zabbix_agentd.conf文件也放到c:,打开cmd命令行,执行
        C:>zabbix_agentd –install

        安装后会在系统服务里添加一个zabbix_agentd服务,会自动开机运行

        如果需要将客户端和配置文件放在其他目录,请执行

        C:>DIR/zabbix_agentd –c DIR/zabbix_agentd.conf –install

        启动agentd服务

        C:>zabbix_agentd –start

        或是通过管理->服务找到zabbix_agentd来启动

测试:

 $ netstat -lnt         ##出现10050, 10051说明系统服务已经启动

$ /usr/share/zabbix/bin/zabbix_get -s 192.168.1.182 -p 10050 -k "net.if.in[eth0,bytes]"     ## 出现数字,说明网络服务已经畅通

八 编者按

   Linux 程序安装要注意版本诉求,在此案中,zabbix使用1.8.5为好,OS使用centos5.6或类似版本,主要是PHP版本要合适,由于zabbix 调用了php-bcmath模块,而这个模块需要和PHP版本合并,罪行的PHP版本无法匹配PHP—BCMATH,会造成安装无法进行,需要降低PHP 版本。 这个在实践中需要注意。

    其次推荐使用zabbix的RPM包,加YUM工具配合安装,对于zabbix的依赖关系较为好处理(zabbix需要很多第三方工具)。

九 备注

    官方网站: http://www.zabbix.com/

    参考文档:

        http://zjdick.blog.51cto.com/1278092/277970

        http://zjdick.blog.51cto.com/1278092/277973