CentOS7.2設置zabbix


准備工作

1、lnmp或lamp環境,本機環境:CentOS 7.2 64位,nginx1.10.2 php5.6.26 mysql5.7.15

2、軟件Zabbix

wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.1/zabbix-3.2.1.tar.gz

安裝部署:

一、創建、導入zabbix數據庫

cd /usr/loca/src #進入軟件包下載目錄

wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.1/zabbix-3.2.1.tar.gz

tar zxvf zabbix-3.2.1.tar.gz #解壓

cd zabbix-3.2.1/database/mysql/ #進入mysql數據庫創建腳本目錄

ll  #列出文件,可以看到有schema.sql、images.sql、data.sql這三個文件

mysql  -h localhost  -uroot -p #輸入密碼,進入MySQL控制台

create database zabbix character set utf8; #創建數據庫zabbix,並且數據庫編碼使用utf8

create user zabbix identified by '123456'; #新建賬戶zabbix,密碼123456

grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456' with grant option; #新建賬戶zabbix,密碼123456

flush privileges; #刷新系統授權表

use zabbix;  #進入數據庫

source /usr/local/src/zabbix-3.2.1/database/mysql/schema.sql #導入腳本文件到zabbix數據庫                               

source /usr/local/src/zabbix-3.2.1/database/mysql/images.sql #導入腳本文件到zabbix數據庫                             

source /usr/local/src/zabbix-3.2.1/database/mysql/data.sql #導入腳本文件到zabbix數據庫

注意:請按照以上順序進行導入,否則會出錯。

exit;  #退出

二、安裝zabbix

1、添加用戶

groupadd zabbix #創建用戶組zabbix

useradd zabbix -g zabbix -s /bin/false #創建用戶zabbix,並且把用戶zabbix加入到用戶組zabbix中

2、安裝依賴包

#CentOS使用yum命令安裝

yum install net-snmp-devel curl curl-devel mysql-devel

備注:以上軟件包如果在安裝Web環境LAMP或者LNMP時已經安裝過,此步驟可忽略

3、安裝zabbix

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2  #添加軟連接

/sbin/ldconfig #使配置立即生效

cd /usr/local/src/zabbix-3.2.1 #進入安裝目錄

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql  #配置

 

報錯:configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

解決:yum install net-snmp-devel

 

說明:若使用--with-mysql=/usr/bin/mysql_config

find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel

 

make #編譯

make install #安裝

ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系統軟連接

ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系統軟連接

4、添加zabbix服務對應的端口

vi /etc/services #編輯,在最后添加以下代碼

#zabbix

zabbix-agent   10050/tcp  # Zabbix Agent

zabbix-agent   10050/udp  # Zabbix Agent

zabbix-trapper  10051/tcp  # Zabbix Trapper

zabbix-trapper  10051/udp  # Zabbix Trapper

:x #保存退出

5、修改zabbix配置文件

cd /usr/local/zabbix/etc

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

LogFile=/tmp/zabbix_server.log #日志保存位置

PidFile=/tmp/zabbix_server.pid #進程PID

DBName=zabbix #數據庫名稱

DBUser=zabbix #數據庫用戶名

DBPassword=123456 #數據庫密碼

ListenIP=127.0.0.1 #數據庫ip地址(寫localhost登陸后會有錯誤信息)

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄

:x #保存退出

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

PidFile=/tmp/zabbix_agentd.pid

LogFile=/tmp/zabbix_agentd.log

EnableRemoteCommands=1 #允許執行遠程命令

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

UnsafeUserParameters=1 #啟用自定義key

:x #保存退出

6、添加開機啟動腳本

cp  /usr/local/src/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_server  /etc/rc.d/init.d/zabbix_server    #服務端

cp  /usr/local/src/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_agentd  /etc/rc.d/init.d/zabbix_agentd  #客戶端

chmod +x /etc/rc.d/init.d/zabbix_server   #添加腳本執行權限

chmod +x /etc/rc.d/init.d/zabbix_agentd  #添加腳本執行權限

chkconfig zabbix_server on #添加開機啟動

chkconfig zabbix_agentd on #添加開機啟動

7、修改zabbix開機啟動腳本中的zabbix安裝目錄

vi /etc/rc.d/init.d/zabbix_server #編輯服務端配置文件

BASEDIR=/usr/local/zabbix/ #zabbix安裝目錄

:x #保存退出

vi /etc/rc.d/init.d/zabbix_agentd #編輯客戶端配置文件

BASEDIR=/usr/local/zabbix/ #zabbix安裝目錄

:x #保存退出

三、配置web站點

cd /usr/local/src/zabbix-3.2.1

cp -r /usr/local/src/zabbix-3.2.1/frontends/php /usr/local/nginx/html/zabbix

chown -R www:www  /usr/local/nginx/html/zabbix

chmod -R 755 /usr/local/nginx/html/zabbix

備注:/usr/local/nginx/htmlNginx默認站點目錄 wwwNginx運行賬戶

service zabbix_server start #啟動zabbix服務端 (systemctl start zabbix_server.service)

 

啟動警告:

Starting zabbix_server (via systemctl):  Warning: zabbix_server.service changed on disk. Run 'systemctl daemon-reload' to reload units.      [  確定  ]

解決:systemctl daemon-reload

 

service zabbix_agentd start #啟動zabbix客戶端 (systemctl start zabbix_agentd.service)

四、修改php配置文件參數

1、vi /etc/php.ini #編輯修改

post_max_size =16M

max_execution_time =300

max_input_time =300

:x #保存退出

2、vi /usr/local/php/etc/php-fpm.conf #編輯修改

request_terminate_timeout = 300

:x #保存退出

service php-fpm reload #重啟php-fpm

五、安裝web

在瀏覽器中打開:ip/zabbix

 

錯誤1:

頁面報錯403

原因分析:查看nginx錯誤日志,是因為modsecurity阻攔next step了,詳細查看modsecurity日志(/var/log/modsec_audit.log)確實是這樣

解決:修改站點的配置文件,暫停modsecurity,重啟nginx

錯誤2:

PHP option "always_populate_raw_post_data" must be set to "-1"

解決:vi /usr/local/nginx/html/zabbix/include/classes/setup/CFrontendSetup.php

添加 : $current = -1;  

結果如下:

public function checkPhpAlwaysPopulateRawPostData() {                

    $current = ini_get('always_populate_raw_post_data');  

 

    $current = -1; 

              

    return [

        'name' => _('PHP always_populate_raw_post_data'),

        'current' => ($current != -1) ? _('on') : _('off'),                        

        'required' => _('off'),                        

        'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,                        

        'error' => _('PHP always_populate_raw_post_data must be set to -1.')                

    ];        

}

 檢查系統環境設置,必須全部都為ok,才能繼續

數據庫:

mysql,localhost,3306,zabbix,zabbix,123456

Zabbix server detail 頁面保持默認

finish后登陸

賬號:admin

密碼:zabbix

 

有報錯:

zabbix監控報錯zabbix server is not running: the information displayed may not be current

解決方法:

查看zabbix_server日志:/tmp/zabbix_server.log有這樣一句話:

listener failed: incorrect IPv4 address [localhost]

修改配置文件:vi /usr/local/zabbix/etc/zabbix_server.conf

ListenIP=127.0.0.1

保存,重啟即可

修改web界面為中文

vi /usr/local/nginx/html/zabbix/include/locales.inc.php #編輯修改

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

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

:x #保存退出

 2、替換監控圖像上系統默認的字體 #默認字體不支持中文,如果不替換,圖像上會顯示亂碼

在Windows系統中的C:\Windows\Fonts目錄中復制出一個中文字體文件,例如msyh.ttf

把字體文件msyh.ttf上傳到zabbix站點根目錄下fonts文件夾中

例如:/usr/local/nginx/html/zabbix/fonts

備份默認的字體文件:DejaVusSans.ttf-bak

修改msyh.ttf名稱為DejaVusSans.ttf

頁面右上角有個人頭一樣的圖標,點擊設置

最后,修改配置信息,把默認語言修改為中文,update即可

 

至此,Zabbix3.2.1安裝圖解教程完成。

再切換中文時的頁面下方報錯:

scandir() has been disabled for security reasons [profile.php:199 → CView->render() → include() → getSounds() → scandir() in include/sounds.inc.php:24]

原因分析:php.ini中禁用scandir()這個函數了

解決:修改/usr/local/php/etc/php.ini ,去掉scandir保存並重起php-fpm即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM