将原来的zabbix升級至3.0.2版本

因在原有的基礎上進行升級,只要各個支撐軟件的版本符合要求,都沒有任何問題只需要針對zabbix進行升級即可


LAMP是zabbix安裝搭建的前提條件

在此次升級的機器中,除了php版本過低以外,其他應用版本尚可使用

故只進行php、zabbix升級動作

現查看原php版本裝了些什麽東西

yum list installed | grep php


爲了升級,需要把原先的版本的東西全部清除。

清除前,現停掉apache的服務

service httpd stop


刪除php的所有安裝的東西

yum remove 上面查看的rpm即可


再次查看是否有殘留

yum list installed | grep php


無剩餘之後,進入新版php安裝

rpm -Uvh php56w-5.6.27-1.w6.x86_64.rpm php56w-bcmath-5.6.27-1.w6.x86_64.rpm 

php56w-cli-5.6.27-1.w6.x86_64.rpm php56w-common-5.6.27-1.w6.x86_64.rpm 

php56w-devel-5.6.27-1.w6.x86_64.rpm php56w-gd-5.6.27-1.w6.x86_64.rpm 

php56w-ldap-5.6.27-1.w6.x86_64.rpm php56w-mbstring-5.6.27-1.w6.x86_64.rpm 

php56w-mcrypt-5.6.27-1.w6.x86_64.rpm php56w-mysqlnd-5.6.27-1.w6.x86_64.rpm 

php56w-odbc-5.6.27-1.w6.x86_64.rpm php56w-opcache-5.6.27-1.w6.x86_64.rpm 

php56w-pdo-5.6.27-1.w6.x86_64.rpm php56w-pear-1.10.1-1.w6.noarch.rpm 

php56w-pecl-apcu-4.0.11-1.w6.x86_64.rpm php56w-pecl-memcache-3.0.8-2.w6.x86_64.rpm 

php56w-pgsql-5.6.27-1.w6.x86_64.rpm php56w-process-5.6.27-1.w6.x86_64.rpm 

php56w-soap-5.6.27-1.w6.x86_64.rpm php56w-xml-5.6.27-1.w6.x86_64.rpm 

php56w-xmlrpc-5.6.27-1.w6.x86_64.rpm


如果出現某某rpm須由什麽.so()(64bit)才能安裝完畢,需將依賴包安裝完畢即可


所有問題解決以後,安裝成功

php -v(查看php版本)

PHP 5.6.27 (cli) (built: Oct 15 2016 21:31:59) 

Copyright (c) 1997-2016 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies


在數據庫中設定配置zabbix用戶、密碼、權限

# mysql -u root -p

Enter password:

mysql>create database zabbix character set utf8;

mysql>insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix'));

mysql>grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option;

mysql>flush privileges;


若出現下列錯誤:

[root@localhost ~]#/etc/init.d/mysqld restart

Stopping mysqld:                                           [  OK  ]

Another MySQL daemon already running with the same unix socket.

Starting mysqld:                                           [FAILED]

原因多个Mysql进程使用了同一个socket

#cd /var/lib/mysql/mysql.sock直接把mysql.sock文件改名即可

然后就可以启动mysql了


將下載好的zabbix-3.0.2進行解壓及安裝

# tar -zxvf zabbix-3.0.2.tar.gz

# cd zabbix-3.0.2

# ./configure --with-mysql=/usr/bin/mysql_config --with-net-snmp 

--with-libcurl --enable-server --enable-agent --enable-proxy 

--prefix=/usr/local/zabbix

    --prefix----> 指定zabbix安装目录

    --enable-server----> 支持zabbix服务器

    --enable-agent----> 支持zabbix代理

    --enable-proxy----> 支持zabbix代理服务器

    --with-libcurl----> 使用curl包

    --with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置

    --with-mysql=/usr/bin/mysql_config 使用MySQL客户端库可以选择指定路径mysql_config

    注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包

,yum install mariadb-devel进行安装


# make

# make install

# mysql -uzabbix -pzabbix

# show databases;

mysql > use zabbix;

mysql > source /usr/local/zabbix-3.0.2/database/mysql/schema.sql

mysql > source /usr/local/zabbix-3.0.2/database/mysql/data.sql

mysql > source /usr/local/zabbix-3.0.2/database/mysql/p_w_picpaths.sql

注:上述行為是先將zabbix的數據庫表結構導入到指定的空數據庫中


#cat /etc/services | grep zabbix (查看添加服務器所對應的端口)

测试zabbix服务启动

# /usr/local/zabbix/sbin/zabbix_agentd    //客户端

# /usr/lcoal/zabbix/sbin/zabbix_server    //服务端


修改zabbix的配置文件

# vi /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

ListenIP=127.0.0.1

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts


修改zabbix客戶端的配置文件

# vi /usr/local/zabbix/etc/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

UnsafeUserParameters=1


接下來將你的解壓后安裝包所在位置的執行script文檔複製到本機預設啟動腳本放置文件夾/etc/init.d/里

# cp /usr/local/zabbix-3.0.2/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

# cp /usr/local/zabbix-3.0.2/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd


然而事實上CentOS 实际上放置在啟動腳本在/etc/rc.d/init.d/里


編輯服務器端的啟動腳本目錄

# vi /etc/rc.d/init.d/zabbix_server

BASEDIR=/usr/local/zabbix/


編輯客戶端的啟動腳本目錄

# vi /etc/rc.d/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix/


接下來啟動客戶端和服務器端的服務

# service zabbix_agentd start

# service zabbix_server start


爲了將zabbix的安裝介面更好的訪問,直接修改Apache的默認路徑到

#vi /etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/html/zabbix/"(修改此處的路徑即可)


把zabbix默認的安裝頁面放置到我們剛剛設置的Apache訪問路徑即可

#cp -raf /usr/local/zabbix-3.0.2/frontends/php/* /var/www/html/zabbix

在本地瀏覽器中訪問http://10.134.100.7 就可以出来zabbix配置介面


進入驗證頁面會出現數值有待調整的地方,修改php的配置文件就可以

vi /etc/php.ini

post_max_size =16M

max_execution_time =300

max_input_time =300

date.timezone = Asia/Shanghai

注:主要根據顯示頁面信息進行調整即可


調整后進行重啟apache服務就可進入下面的安裝步驟

# service httpd restart

如果在此期間出現下列情況

httpd:Could not reliably determine the server's fully qualified domain name 

解決辦法:修改apache配置文件

vi /etc/httpd/conf/httpd.conf

#    ServerName www.example.com:80

改成或在其後加上

ServerName localhost:80

重啟apache服務

service httpd restart 


最后一步可能會報錯:

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

可以下載,也可以利用現有資源進行配置即可

# cd /var/www/html/zabbix/conf

# cp zabbix.conf.php.example zabbix.conf.php

# vi zabbix.conf.php

<?php

global $DB;

$DB["TYPE"]                    = 'MYSQL';

$DB["SERVER"]                   = '127.0.0.1';(默认localhost修改)

$DB["PORT"]                    = '3306';(默认0修改为3306)

$DB["DATABASE"]                 = 'zabbix';

$DB["USER"]                    = 'zabbix';

$DB["PASSWORD"]                 = 'zabbix';(默认修改为自己的密码)

// Schema name. Used for IBM DB2 and PostgreSQL.

$DB["SCHEMA"]                   = '';

$ZBX_SERVER                    = 'localhost';

$ZBX_SERVER_PORT                = '10051';

$ZBX_SERVER_NAME                = '';

$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;

?>

注:一般typical或者example的文檔都是可以借鑒的


爲了緩解查看zabbix數據英文比較吃力,將zabbix本身自帶的語言配置修改即可

# vi /var/www/html/zabbix/include/locales.inc.php

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改为

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

注:只要裏面有的語言改成true就可以呈現了