原文發表於cu:2016-05-11 參考文檔: 一.環境 Server:CentOS-7-x86_64-1511 Server IP: 192.168.11.252 Web環境:CentOS-7-x86_64-1511編譯nginx-1.9.12+ mysql-5.7.11+ php-7.0.4 ...
原文發表於cu:2016-05-11
參考文檔:
一.環境
Server:CentOS-7-x86_64-1511
Server IP: 192.168.11.252
Web環境:CentOS-7-x86_64-1511編譯nginx-1.9.12+ mysql-5.7.11+ php-7.0.4
Client:Win7 x86_64, Chrome/Firefox瀏覽器
二.軟體獲取
Zabbix官網下載地址:http://www.zabbix.com/download.php
截至2016-05-11,最新LTS版本下載地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz
三.安裝zabbix
1. iptables設置
# zabbix_agent埠10050,agent預設採用被動方式,由server端主動連接agent;agent主動模式,在agent的配置文件中可配置; # zabbix_trapper埠10051,agent主動或trapper方式連接server端 [root@localhost ~]# vim /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
2. 創建/導入資料庫
# 進入mysql資料庫創建腳本目錄,列出文件,有schema.sql、images.sql、data.sql三個文件 cd /usr/local/src tar -zxvf zabbix-3.0.1.tar.gz cd /usr/local/src/zabbix-3.0.1/database/mysql ll # 輸入密碼,進入MySQL控制台 mysql -u root -p # 創建資料庫zabbix,並且資料庫編碼使用utf8 create database zabbix character set utf8; # 新建賬戶zabbix,密碼123456,刷新系統授權表 CREATE USER zabbix IDENTIFIED BY '123456'; flush privileges; # 允許zabbix賬號能從本機連接到資料庫zabbix grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456' with grant option; flush privileges; # 進入mysql資料庫,查看新建zabbix賬號及其許可權庫zabbix use mysql; select host,user from user; # 進入zabbix資料庫,導入腳本文件到zabbix資料庫,重要:請務必按以下順序導入 use zabbix; source /usr/local/src/zabbix-3.0.1/database/mysql/schema.sql source /usr/local/src/zabbix-3.0.1/database/mysql/images.sql source /usr/local/src/zabbix-3.0.1/database/mysql/data.sql # 或者在系統中直接導入 mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-3.0.1/database/mysql/schema.sql mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-3.0.1/database/mysql/images.sql mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-3.0.1/database/mysql/data.sql # 系統版本不同,文件版本可能不一樣,這裡是18.0.0;有可能找不到libmysqlclient_r.so.x.0.0文件,不影響 cd /usr/lib64/mysql ln -s libmysqlclient.so.18.0.0 libmysqlclient.so ln -s libmysqlclient_r.so.18.0.0 libmysqlclient_r.so
3. 部署zabbix
添加用戶
# 創建用戶zabbix,將用戶zabbix加入到用戶組zabbix中 groupadd zabbix useradd -g zabbix -s /sbin/nologin zabbix
依賴包
#如果以下軟體包在安裝Web環境LNMP時已安裝過,此步驟可忽略 yum install net-snmp-devel curl curl-devel mysql-devel
安裝zabbix
#有可能找不到libiconv.so.2文件,暫時未發現有何影響 ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #使配置立即生效 /sbin/ldconfig #find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel cd /usr/local/src/zabbix-3.0.1 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config make make install ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ ln -s /usr/local/zabbix/bin/* /usr/local/bin/
配置
添加埠
#添加zabbix服務對應的埠,預設services文檔中已添加 vim /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
修改zabbix配置文件
#zabbix配置文件修改 vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=123456 ListenIP=127.0.0.1 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #啟用自定義key子配置文件路徑,並打開對特殊字元的處理 vim /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1
添加開機啟動腳本
#服務端 cp /usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #客戶端 cp /usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #添加腳本執行許可權 chown zabbix:zabbix /etc/rc.d/init.d/zabbix_server chown zabbix:zabbix /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 #編輯服務端啟動腳本中zabbix的安裝目錄 vim/etc/rc.d/init.d/zabbix_server BASEDIR=/usr/local/zabbix/ #編輯客戶端啟動腳本中zabbix的安裝目錄 vim /etc/rc.d/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix/ #添加開機啟動 chkconfig –level 35 zabbix_server on chkconfig –level 35 zabbix_agentd on
配置web站點
#解壓文件中有模板 cp -r /usr/local/src/zabbix-3.0.1/frontends/php /usr/local/nginx/html/zabbix #/usr/local/nginx/html為Nginx預設站點目錄,www為nginx運行賬戶 chown -R www:www /usr/local/nginx/html/zabbix #啟動zabbix服務端/客戶端 service zabbix_server start service zabbix_agentd start
修改php配置文件參數
#參數都是zabbix web安裝需要的參數,在後面的zabbix啟動安裝時會檢測 vim /etc/php.ini post_max_size =16M max_execution_time =300 max_input_time =300 vim /usr/local/php/etc/php-fpm.d/www.conf request_terminate_timeout = 300 #重啟php-fpm service php-fpm reload
安裝zabbix web
在瀏覽器中打開:http://192.168.11.252/zabbix
第一次運行時,系統會自動重重定向到setup.php進行web安裝。
Next step
Zabbix web安裝會檢測安裝環境,必須全部通過才能進行下一步安裝。
如下,檢測顯示有一項未通過檢測,
參數:always_populate_raw_post_data 檢測不通過,
zabbix會主動檢測此參數,但php5.6已經沒有此參數,可以做如下修改:
# 註釋原76~78行,添加如上幾行,當php版本大於5.6時忽略此檢測 # https://blog.memotz.com/276.html vim /usr/local/nginx/html/zabbix/include/classes/setup/CFrontendSetup.php // check for deprecated PHP 5.6.0 option 'always_populate_raw_post_data' #if (version_compare(PHP_VERSION, '5.6', '>=')) { # $result[] = $this->checkPhpAlwaysPopulateRawPostData(); #} if (version_compare(PHP_VERSION, '5.6', '>=') && version_compare(PHP_VERSION, '7.0.4', '<')) { $result[] = $this->checkPhpAlwaysPopulateRawPostData(); } $result[] = $this->checkPhpSockets();
修改後刷新檢測,通過,Next step
配置DB信息,按之前的配置填寫即可,註意:database host處如localhost不通過,可查看zabbix是否賦予主機localhost相應許可權,如沒有,可增加localhost主機或修改配置頁中的localhost為127.0.0.1
修改後刷新檢測,通過。
Next step
可以預設,也可以設置一個zabbix伺服器名。
Next step
Next step
安裝完成,Finish。
Zabbix登錄頁,預設賬號/密碼:admin/zabbix
zabbix server啟動問題
登錄zabbix後,重點觀察Dashboard中zabbix server的狀態值,有時zabbix並沒用運行,VALUE顯示值為No,此時可以查看/tmp/zabbix_server.log日誌文件定位(在配置文件/usr/local/zabbix/etc/zabbix_server.conf中明確日誌文件的位置),經常會因為mysql許可權問題導致zabbix_server不能正常啟動。
4. Zabbix漢化(optional)
修改系統配置文件,使web頁面支持簡體中文顯示
vim /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),
替換監控圖像上系統預設的字體
預設字體不支持中文,如果不替換,圖像上會顯示亂碼。
在Windows系統中的C:\Windows\Fonts目錄中複製出一個中文字體文件,例如msyh.ttf,
把字體文件msyh.ttf上傳到zabbix站點根目錄下fonts文件夾中,如/usr/local/nginx/html/zabbix/fonts
#備份預設的字體文件,修改msyh.ttf名為DejaVusSans.ttf mv DejaVusSans.ttf DejaVusSans.ttf-bak mv msyh.ttf DejaVusSans.ttf
修改顯示語言
登錄zabbix,AdministratoràUseràAdmin(字體與賬戶有關),修改Language為Chinese(zh_CN)。
點擊update,退出站點,重新登錄即可。