zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。
zabbix的主要特色:php
Zabbix主要功能:html
下載zabbix包而且安裝
去官網查看最新的zabbix包:www.zabbix.com
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz
[root@localhost src]# tar xf zabbix-3.4.3.tar.gz mysql
進入目錄,在編譯以前安裝好依賴包
[root@localhost src]# cd zabbix-3.4.3
[root@localhost zabbix-3.4.3]# yum install -y mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml unixODBC-devel OpenIPMI-devel libxml2-devel libevent-develnginx
新建一個zabbix帳戶:
[root@localhost ~]useradd zabbix -s /sbin/nologinweb
建立zabbix數據庫、並賦給zabbix權限:
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;sql
下載zabbix,而且導入數據庫,
[root@localhost src]# cd /usr/local/src/zabbix-3.4.3
[root@localhost zabbix-3.4.3]# cd database/mysql/
[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < data.sql數據庫
編譯安裝zabbix_server:
[root@monitor zabbix-3.4.3]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix
[root@localhost zabbix-3.4.3]# make && make installvim
編輯nginx.conf支持index.php
[root@monitor zabbix-3.4.3]# vim /usr/local/nginx/conf/nginx.conf
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}安全
修改zabbix文件對應的數據庫帳號和密碼:
[root@localhost zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix服務器
複製啓動腳本,並修改相應選項:
[root@localhost zabbix-3.4.3]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/
[root@localhost zabbix-3.4.3]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
修改兩個配置文件把
[root@localhost zabbix-3.4.3]# vim /etc/init.d/zabbix_agentd
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"改爲ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
[root@localhost zabbix-3.4.3]# vim /etc/init.d/zabbix_server
ZABBIX_BIN="/usr/local/sbin/zabbix_server"改爲ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
啓動:
[root@localhost zabbix-3.4.3]# /etc/init.d/zabbix_server start
[root@localhost zabbix-3.4.3]# /etc/init.d/zabbix_agentd start
[root@localhost zabbix-3.4.3]# chkconfig zabbix_agentd on
[root@localhost zabbix-3.4.3]# chkconfig zabbix_server on
修改php.ini文件支持大小,否則web也沒容易報錯:
[root@localhost zabbix-3.4.3]# vim /etc/php.ini
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
post_max_size = 32M
重啓httpd使php配置生效
複製zabbix的php項目早http目錄下,而且給權限:
[root@localhost zabbix-3.4.3]# cp -rf frontends/php /usr/local/nginx/html/zabbix
[root@localhost zabbix-3.4.3]# chown -R nginx:nginx /usr/local/nginx/html/zabbix/
[root@localhost zabbix-3.4.4]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost zabbix-3.4.4]# ps -ef |grep php |awk '{print $2}' |xargs kill -9
kill: sending signal to 15570 failed: No such process
[root@localhost zabbix-3.4.4]# /usr/local/php/sbin/php-fpm -c /etc/php.ini &
經過網頁訪問:http://192.168.163.189/zabbix/zabbix.php
出錯:PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
緣由:缺乏bcmath模塊
解決:安裝完成後重啓php發現並無起做用,查閱資料發現bcmath 安裝完成後須要從新編譯
進入php解壓的包裏/usr/local/src/phpxxx解壓出的目錄/ext/bcmath
[root@localhost ~]# cd /usr/local/src/php-5.5.38/ext/bcmath/
執行以下命令
[root@localhost ~]# /usr/local/php/bin/phpize
[root@localhost ~]# ./configure --with-php-config=/usr/local/php/bin/php-config
而後執行
[root@localhost ~]# make && make install
執行完以後會生成一個路徑 /usr/local/php-5.6.20/lib/php/extensions/no-debug-non-zts-20131226/(這個路徑每一個人不同)進入後發現該目錄下有個 bcmath.so文件
[root@localhost bcmath]# cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
[root@localhost no-debug-non-zts-20121212]# ls
bcmath.so opcache.a opcache.so
而後在php的配置文件中php.ini中添加extension=生成的路徑
[root@localhost ~]# cat /etc/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/bcmath.so
以後殺死php程,重啓php
[root@localhost ~]# ps -ef | grep php | awk '{print $2}' | xargs kill -9
[root@localhost ~]# /usr/local/php/sbin/php-fpm -c /etc/php.ini &
進入頁面後,會出現缺乏語言模塊 Translations are unavailable because the PHP gettext module is missing
PHP編譯時沒有加--with-gettext選項
解決方法以下:
這次安裝是動態安裝php的gettext擴展模塊 在php的安裝包源文件中,進入ext/gettext
[root@localhost ~]# cd /usr/local/src/php-5.5.38/ext/gettext/
[root@localhost gettext]# usr/local/php/bin/phpize
[root@localhost gettext]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost gettext]# make && make install
系統缺乏gettext-devel工具庫,或者已經編譯安裝了gettext可是在編譯php時沒找到路徑
[root@localhost ~]# vim /usr/local/php/etc/php.ini
找到extensions選項,添加以下項:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/gettext.so
這裏記得必定要加上擴展庫的路徑哦
同樣地重啓php進程
[root@localhost ~]# ps -ef |grep php |awk '{print $2}' |xargs kill -9
[root@localhost ~]# /usr/local/php/sbin/php-fpm -c /etc/php.ini &
這樣咱們就可使用中文界面,但咱們會發現,有些界面中文是亂碼的,因此,咱們還要修改字體,在咱們的電腦拉取字體上傳到zabbix服務器
C:\Windows\Fonts\simkai.ttf
下面的路徑是你zabbix放置的web路徑
將該字體替換掉當前字體
[root@localhost local]# cd /usr/local/nginx/html/zabbix/fonts/
[root@localhost fonts]# ls
DejaVuSans.ttf.bak simkai.ttf
在配置文件中,讓其支持中文字體,修改成true
[root@localhost fonts]# vim /usr/local/nginx/html/zabbix/include/locales.inc.php
'zhCN' => ['name' => ('Chinese (zh_CN)'), 'display' => true],
最後還要將字體指定爲simkai.ttf
[root@localhost include]# vim /usr/local/nginx/html/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
或者不改這個配置文件,直接將simkai.ttf 更名爲 DejaVuSans.ttf