說明:搭建ZABBIX所需的軟件列表爲:RHEL6.5+Nginx+MySQL+PHP+ZABBIX。php
1、軟件包css
軟件名稱html |
版本mysql |
下載地址nginx |
nginxc++ |
1.10.3web |
http://nginx.org/download/nginx-1.10.3.tar.gzsql |
MySQL數據庫 |
5.7.21apache |
https://dev.mysql.com/downloads/mysql/ |
PHP |
7.1.3 |
http://php.net/get/php-7.1.3.tar.gz/from/a/mirror |
ZABBIX |
2.4.8(Server) 2.4.6(agent) |
http://www.zabbix.com/download2 |
2、配置yum源
1.上傳文件rhel-server-6.5-x86_64-dvd.iso到/root目錄下;
2.新建目錄/yum
mkdir /yum
3.掛載鏡像文件到目錄/yum
mount -o loop rhel-server-6.5-x86_64-dvd.iso /yum
4.配置repo文件
cd /etc/yum.repos.d
編輯rhel-source.repo文件,修改後的內容以下:
[rhel-source] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=file:///yum enabled=1 gpgcheck=0
至此,yum源配置完畢!
3、安裝Nginx
1.安裝nginx相關依賴包
yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel
2.解壓壓縮包
tar -xvf nginx-1.10.3.tar.gz
3.安裝nginx到目錄/usr/local/nginx
cd nginx-1.10.3 ./configure --prefix=/usr/local/nginx #nginx安裝到此目錄
make #編譯
make insall #編譯安裝
4.爲後續配合PHP,故須要配置nginx.conf
#在以下目錄新建目錄web_root cd /usr/local/nginx mkdir web_root
#編輯nginx.conf以支持PHP,修改部分見以下紅字。
修改項:
#新建一行:root /usr/local/nginx/web_root
#修改一行:將以前的scripts修改成/usr/local/nginx/web_root
[root@ZABBIX conf]# more nginx.conf #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; ############add by guanyy################# root /usr/local/nginx/web_root; ########################################## #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/web_root$fastcgi_script_name; include fastcgi_params; }
location ~* ^.+\.(ico|gif|jpg|jpeg|png|html|css|htm|bmp|js|svg)$ {
root /usr/local/nginx/web_root;
}
# deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
5.修改完成後,保存退出
6.啓動nginx
/usr/local/nginx/sbin/nginx
7.新建一個測試文件index.php,測試成功後再刪除
cd /usr/local/nginx/web_root/
[root@ZABBIX web_root]# more index.php <?php phpinfo(); ?>
4、安裝MySQL
MySQL採用二進制方式安裝!具體安裝步驟見:
http://www.cnblogs.com/xialiaoliao0911/p/7523931.html
5、安裝PHP
1.安裝PHP所需依賴包
yum -y install libxml2 libxml2-devel libpng libpng-devel bzip2 bzip2-devel
2.解壓包來安裝PHP
#以nginx作Web服務器時,安裝命令以下:
#安裝php到目錄/usr/local/php
./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --with-bz2 --with-curl --enable-ftp --enable-sockets \ --disable-ipv6 \ --with-gd --with-jpeg-dir=/usr/local/jpeg \ --with-png-dir=/usr/local/png \ --with-freetype-dir=/usr/local/freetype \ --enable-gd-native-ttf \ --with-iconv-dir=/usr/local/iconv \ --enable-mbstring --enable-calendar \ --with-gettext --with-libxml-dir=/usr/local --with-zlib \ --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd \ --with-mysql=mysqlnd \ --enable-dom --enable-xml --enable-fpm \ --with-libdir=lib64 \ --enable-bcmath make #編譯 make test #測試 make install #安裝
#以Apache作Web服務器時,安裝命令以下:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
make && make install
3.複製和修改配置文件
(1)從PHP解壓後的目錄複製文件到/usr/local/php/etc目錄(該目錄在安裝時已被定義爲php配置文件目錄)
cp /root/php-7.1.3/sapi/fpm/php-fpm.conf /usr/local/php/etc
cp /root/php-7.1.3/php.ini-production/php.ini /usr/local/php/etc
mv /usr/local/php/etc/php.ini-production php.ini
說明:php.ini重命名後須要修改參數,具體以下:
vi /usr/local/php/etc/php.ini
post_max_size= 16M max_execution_time =300 max_input_time =300 date.timezone = Asia/shanghai
(2)經過複製方式新建一個文件www.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default www.conf
4. 啓動PHP
/usr/local/php/sbin/php-fpm
5.檢查PHP是否安裝成功,在瀏覽器輸入以下地址,看是否能夠正常訪問。其中192.168.102.140是安裝PHP的主機IP。
http://192.168.102.140/index.php
注意:若是不能訪問,請關閉Linux的防火牆!
如出現以下界面,表示PHP安裝成功!
6、安裝ZABBIX
1.安裝ZABBIX依賴包
#根據ZABBIX官方網站的連接,進行安裝依賴包
rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#除官網外,還須要安裝的依賴包
yum -y install zabbix-get zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql net-snmp-devel curl-devel
2.登陸MySQL,新建ZABBIX所需的數據庫、用戶名,並導入sql文件
#建立zabbix數據庫 create database zabbix; #建立zabbix用戶並受權,密碼爲123456 CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456'; grant all on zabbix.* to 'zabbix'@'%' identified by '123456' with grant option; #刷新權限 flush privileges;
#導入sql文件到MySQL,執行順序不能變 use zabbix; source /root/zabbix-2.4.8/database/mysql/schema.sql source /root/zabbix-2.4.8/database/mysql/images.sql source /root/zabbix-2.4.8/database/mysql/data.sql
3. 添加軟連接
cd /usr/lib64/mysql ln -s libmysqlclient.so.16.0.0 libmysqlclient.so ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
4.安裝ZABBIX
/usr/local/zabbix-2.4.8 : zabbix安裝目錄
/usr/local/mysql/bin/mysql_config : mysql實際安裝目錄
./configure --prefix=/usr/local/zabbix-2.4.8 --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-libxml2 --with-mysql=/usr/local/mysql/bin/mysql_config
make
make install
5.添加系統軟連接
ln -s /usr/local/zabbix-2.4.8/sbin/* /usr/local/sbin/ ln -s /usr/local/zabbix-2.4.8/bin/* /usr/local/bin/
6.添加zabbix服務對應的端口(zabbix安裝後會自動添加,但仍需檢查)
vi /etc/services zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trapper
7.修改zabbix配置文件
cd /usr/local/zabbix-2.4.8/etc vi /usr/local/zabbix-2.4.8/etc/zabbix_server.conf DBName=zabbix #數據庫名稱 DBUser=zabbix #數據庫用戶名 DBPassword=123456 #數據庫密碼 DBDBSocket=/tmp/mysql.sock #sock文件,/etc/my.cnf中有記錄 ListenIP=127.0.0.1 #監聽IP AlertscriptsPath=/usr/local/zabbix-2.4.8/share/zabbix/alertscripts #zabbix運行腳本存放目錄
vi /usr/local/zabbix-2.4.8/etc/zabbix_agentd.conf Include=/usr/local/zabbix-2.4.8/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1 #啓用自定義key
8.添加開機啓動腳本
#複製相關文件到/etc/init.d目錄下 cp /root/zabbix-2.4.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server cp /root/zabbix-2.4.8/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #添加執行權限 chmod +x /etc/init.d/zabbix_agentd chmod +x /etc/init.d/zabbix_server #設置開機啓動 chkconfig zabbix_server on chkconfig zabbix_agentd on #設置軟連接 ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20
#修改啓動腳本中的zabbix目錄爲實際安裝目錄,以下紅色框中。
/etc/init.d/zabbix_server
/etc/init.d/zabbix_agentd
9.啓動zabbix_server和zabbix_agentd
#啓動zabbix_server /etc/init.d/zabbix_server start #啓動zabbix_agentd /etc/init.d/zabbix_agentd start
10. 將zabbix源碼目錄frontends/php下的全部文件複製到/usr/local/nginx/web_root目錄下.
cp -r /root/zabbix-2.4.8/frontends/php/* /usr/local/nginx/web_root
11.爲防止打開的zabbix界面沒有樣式,只有文字,在/usr/local/php/etc/php-fpm.d/www.conf中找到以下這行,放開註釋,並添加js等。而後重啓nginx和php-fpm
#需修改行
security.limit_extensions = .php .php3 .php4 .php5
#修改後的結果以下
security.limit_extensions = .php .php3 .php4 .php5 .php7 .js .css .jpg .gif .png .jpeg .html .ico .bmp
12.在瀏覽器中輸入http://192.168.102.140/setup就能打開ZABBIX界面
13. 解決全部fail項後,進入下一步測試數據庫鏈接,輸入數據庫的IP、數據庫名稱、用戶名和密碼。
#解決全部fail項後的界面
#數據庫測試成功的界面
#輸入ZABBIX機器的host或IP,並起名
#點擊進入下一步,會顯示安裝概要,包括一些IP、數據庫等參數的設置
#點擊下一步,會出現一個錯誤,此時須要點擊界面中的「」下載配置文件「」下載配置文件,並放到界面中指定的目錄下。而後點擊重試。
#檢查成功後,點擊Finish. 進入ZABBIX登陸界面
#zabbix安裝後默認的用戶名和密碼爲admin/zabbix.登陸後便可進入zabbix.
7、安裝ZABBIX_AGENT
請參見:
http://blog.csdn.net/wn_hello/article/details/52121888
記錄MySQL用戶名和密碼的2個文件
/usr/local/zabbix/etc/zabbix_server.conf
/usr/local/nginx/web_root/conf/zabbix.conf.php
8、常見問題解決
1.問題描述:
解決方法:
(1)進入到PHP源碼目錄的/root/php-7.1.3/ext/mysqli下,執行以下命令:
/usr/local/php/bin/phpize ./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config make make install
說明:若是編譯失敗(找不到文件mysql_float_to_double.h),可參見:https://www.cnblogs.com/xiaoqian1993/p/6277771.html
(2)編譯成功後,結果以下:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/ Installing header files: /usr/local/php/include/php/
進入紅色字體目錄下,看是否有mysqli.so. 若是有的話,將該文件追加到/usr/local/php/lib/php.ini文件中,結果以下:
extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/mysqli.so
(3)重啓MySQL和nginx
2.問題描述:
解決方法:
找到以下文件,添加$current = -1; vi /usr/local/nginx/web_root/include/classes/setup/CFrontendSetup.php
3. 問題描述:
解決方法:
cd /root/php-7.1.3/ext/gettext /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-gettext make && make install
執行上述命令後,會生成一個gettext.so文件,將該文件追加到/usr/local/php/lib/php.ini文件中,結果以下:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/gettext.so
4. 問題描述
解決方法:
將文件/usr/local/zabbix/etc/zabbix_server.conf中的ListenIP=127.0.0.1註釋掉!而後重啓zabbix_server和zabbix_agentd
/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd restart
5.問題描述
解決方法:
找到文件/usr/local/nginx/web_root/include/func.inc.php
對412行的$val的數據類型進行轉換。新增一行 $val = intval($val);
6. 問題描述:關於中文亂碼的問題(方塊爲亂碼)
(1)首先從本地計算機中找到一箇中文字體 。例如 C:\Windows\Fonts\simfang.ttf
(2)將該字體上傳到/usr/local/nginx/web_root/fonts目錄下
(3)修改defines.inc.php文件中的字體爲simfang
cd /usr/local/nginx/web_root/include
sed -i 's/DejaVuSans/simfang/g' defines.inc.php
(4)修改後字體便可正常顯示
7. 問題描述:ZABBIX安裝完成後,在瀏覽器打開後,沒有界面樣式,只以文本顯示。
解決方法: https://www.cnblogs.com/shihuc/p/6149253.html