首页 > 代码库 > CentOS64位6.5下部署Zabbix2.2.6监控系统

CentOS64位6.5下部署Zabbix2.2.6监控系统

系统环境:

[root@it3246 ~]# cat/etc/redhat-release
CentOS release 6.5(Final)

软件环境LAMP

1.在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:

[root@it3246 ~]# yum -y
install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql
httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring
php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel
libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenPMI-devel
java-devel libxml2-devel

技术分享

技术分享


2.在系统中添加一个管理zabbix的用户:

[root@it3246 ~]#groupaddzabbix
[root@it3246 ~]#useraddzabbix -g zabbix -s /sbin/nologin -m

技术分享

3.登陆mysql数据库,创建zabbix系统的数据库,添加授权账号

mysql> createdatabase zabbix character set utf8;    
mysql> grantall privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;
mysql> flushprivileges;

技术分享

技术分享

技术分享

4.编译安装zabbix

下载地址:

wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIXLatest Stable/2.2.6/zabbix-2.2.6.tar.gz

[root@it3246 src]# tar
xf zabbix-2.2.6.tar.gz
[root@it3246 src]# ls
LAMP  zabbix-2.2.6 
zabbix-2.2.6.tar.gz
[root@it3246 src]# cd
zabbix-2.2.6
[root@it3246
zabbix-2.2.6]#
./configure
--prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql
--with-net-snmp --with-libcurl



技术分享

技术分享

技术分享

[root@it3246mysql]# make install

技术分享

技术分享


5.导入数据库(源码包的里面包含的数据库初始表,这里mysql设置密码是123456,在操作时候可以更改为自己系统mysql数据库的密码)

进入zabbix安装包中,按照如下命令查看mysql文件

技术分享

技术分享

[root@it3246 mysql]#
mysql -uroot -p123456 zabbix < ./schema.sql
[root@it3246 mysql]#
mysql -uroot -p123456 zabbix < ./images.sql
[root@it3246 mysql]#
mysql -uroot -p123456 zabbix < ./data.sql


技术分享

       注意:[root@it3246 mysql]# mysql -uroot -p123456 zabbix < ./data.sql

       ERROR 1146 (42S02) at line 2: Table ‘zabbix.hosts‘doesn‘t exist

       错误提示:在第二行表 zabbix.hosts文件不存在。此时差错肯定在表上。

    

6.修改zabbixServer的配置文件

配置zabbix 连接数据库的账号密码

[root@it3246 mysql]#vim/usr/local/zabbix/etc/zabbix_server.conf

技术分享

    替换:DBUser=root换成DBUser=zabbix

    添加:DBPassword

    DBPassword=123456


技术分享

脚本替换    
    sed-i ‘s/^DBUser=.*$/DBUser=zabbix/g‘ /usr/local/zabbix/etc/zabbix_server.conf
    sed-i ‘s/^.*DBPassword=.*$/DBPassword=zabbix/g‘/usr/local/zabbix/etc/zabbix_server.conf
    sed-i ‘s/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g‘/etc/init.d/zabbix_server
    sed-i ‘s/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g‘/etc/init.d/zabbix_agentd

7.配置启动脚本,授予启动权限

[root@it3246zabbix-2.2.6]# pwd
/usr/local/src/zabbix-2.2.6
[root@it3246zabbix-2.2.6]# ls
aclocal.m4  conf          configure.ac  INSTALL      man     upgrades
AUTHORS     config.guess   COPYING      install-sh   misc
bin         config.log     database      m4           missing
build       config.status  depcomp      Makefile     NEWS
ChangeLog   config.sub     frontends     Makefile.am  README
compile     configure      include       Makefile.in  src

技术分享

[root@it3246zabbix-2.2.6]#
cpmisc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@it3246zabbix-2.2.6]#
cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@it3246zabbix-2.2.6]#
[root@it3246zabbix-2.2.6]cp-R frontends/php/ /var/www/html/zabbix


技术分享

[root@it3246 zabbix-2.2.6]#chmod +x /etc/init.d/zabbix_server
[root@it3246zabbix-2.2.6]# chmod +x /etc/init.d/zabbix_agentd


技术分享

7.添加服务端口:

[root@it3246zabbix-2.2.6]# cat >>/etc/services <<EOF
> zabbix-agent10050/tcp Zabbix Agent
> zabbix-agent10050/udp Zabbix Agent
> zabbix-trapper10051/tcp Zabbix Trapper
> zabbix-trapper10051/udp Zabbix Trapper
> EOF

技术分享

8.启动服务,并且加入开机启动项

[root@it3246zabbix-2.2.6]# /etc/init.d/zabbix_server start
Startingzabbix_server:  /etc/init.d/functions:line 546: /usr/local/sbin/zabbix_server: 没有那个文件或目录
                                                          [失败] /etc/init.d/httpdstart
[root@it3246zabbix-2.2.6]# /etc/init.d/zabbix_server start   
Startingzabbix_server:  /etc/init.d/functions:line 546: /usr/local/sbin/zabbix_server: 没有那个文件或目录
[root@it3246zabbix-2.2.6]#
echo"/etc/init.d/zabbix_server start">>/etc/rc.local
[root@it3246zabbix-2.2.6]#
echo"/etc/init.d/zabbix_agentd start">>/etc/rc.local

技术分享

错误提示

技术分享

解决

 (1)进入zabbix_server  zabbix_agentd配置文件

[root@it3246zabbix-2.2.6]# vim /etc/init.d/zabbix_server

(2)修改BASEDIR选项

BASEDIR=/usr/local/zabbix


技术分享

技术分享

技术分享

技术分享

(3)修改完成后,重新启动httpd。

技术分享

9web页面配置

9.1 配置http访问好了后web登陆:http://ip/zabbix主要会报一些php报错的信息,对应的修改就好了,date.timezone = Asia/Shanghai

进入该页面按照提示一步一步初始化。

技术分享

技术分享

报错:

PHP option post_max_size   8M 16M     Fail

PHP option max_execution_time      30  300       Fail

PHP option max_input_time       60  300       Fail

PHP time zone     unknown         Fail

通过修改php配置文件 /etc/php.ini



技术分享

解决方法

(1)编辑修改php.ini

[root@it3246 ~]# ls -d/etc/php.
php.d/   php.ini 
[root@it3246 ~]# vi/etc/php.ini
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini   ;
;;;;;;;;;;;;;;;;;;;

技术分享

技术分享

技术分享

技术分享

技术分享

   (2) 保存退出,重庆httpd服务

技术分享

      (3)上一步改错了,max_input_time改动如下。

技术分享

  (4)再次重启httppd刷新页面如下

技术分享


9.2 查看之前的授权,用户名zabbix密码zabbix

技术分享

9.3 初始登录账户和密码: zabbix   zabbix

技术分享

9.4 下一步配置服务器端数据库详细:

技术分享

技术分享

技术分享

出现这个错误,提示:

Configuration file
"/var/www/html/zabbix/conf/zabbix.conf.php"
created:
Fail

解决办法:

(1)这个需要把一个模板文件zabbix.conf.php.example拷贝为zabbix.conf.php,然后编辑这个php文件,主要是数据库连接的信息,核对正确即可。

技术分享

操作如下:

[root@it3246 conf]#
cpzabbix.conf.php.example zabbix.conf.php
[root@it3246 conf]# ls
maintenance.inc.php  zabbix.conf.php  zabbix.conf.php.example
[root@it3246 conf]# vimzabbix.conf.php

技术分享

技术分享


(2)现在看到的界面,本机的服务和监控是not running

技术分享

(3)点击ConfigurationHosts看到的ZabbixServerStatus状态为Not monitored,可以点击Not monitored按钮将其设置成Monitored

技术分享

技术分享

技术分享

错误提示:

Zabbix server is not running the informationdisplayed may not be current

技术分享

解决思路

(1) selinux是否关闭。一定要关闭这个,开启selinux会引起一连串问题,甚至zabbixdiscovery功能也不能正常使用

关闭SELinux的方法:

修改/etc/selinux/config文件中的SELINUX="" disabled ,然后重启。

如果不想重启系统,使用命令setenforce0 注:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式 

lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux

(2) zabbix web目录下面  $ZBX_SERVER 是否为ip,如果是localhostpinglocalhost是否能解析。如果不能,需要在/etc/hosts文件里增加相应的项目

(3)查看phpfsockopen模块是否启用。

    方法一:

    第一步:

    php.ini文件中查找

    allow_url_fopen = On

    使其值为On

    

    第二步:

    php.ini文件中查找

    extension=php_openssl.dll

    如果前面有分号,去掉分号

    第三步:

    重启web服务器,apacheIIS

还有一种情况,也就是方法二:

(1) vi php.ini

找到allow_url_fopen 这个参数设置成 On,即

allow_url_fopen = On

(2) 让你的php支持 opensll扩展。

默认,是没有openssl扩展的,只能重新编译安装。

yum install openssl openssl-devel

cd /usr/local/src/php-5.2.14/ext/openssl

/usr/local/php/bin/phpize

./configure with-openssl with-php-config=/usr/local/bin/php-config

make && make install

看提示,把编译成的openssl.so拷贝到你在php.ini 中指定的 extension_dir

(3) vi php.ini

加入

extension=openssl.so

(4) 重启web server


本文出自 “坚持不懈IT男” 博客,请务必保留此出处http://it3246.blog.51cto.com/7479386/1866360

CentOS64位6.5下部署Zabbix2.2.6监控系统