zabbix-第二章-第一節 zabbix編譯安裝

Zabbix:是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

zabbix-第二章-第一節 zabbix編譯安裝

1、依賴包安裝

<code>[root@one ~]# cd /home/package/
[root@one package]# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
[root@one package]# /<code>

最後結果如下圖:

zabbix-第二章-第一節 zabbix編譯安裝

2、軟件包下載

可以前往官網:https://www.zabbix.com/ 自行按需下載

zabbix-第二章-第一節 zabbix編譯安裝

或者直接使用如下命令下載,推薦直接使用如下命令進行操作:

<code>[root@one package]# wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz'/<code>

其中 zabbix-4.0.3.tar.gz 就是我們剛下載的 zabbix 程序

<code>[root@one package]# rm -rf php-5.6.40
[root@one package]# ls
mysql57-community-release-el7-8.noarch.rpm nginx-1.14.2.tar.gz php-5.6.40.tar.gz zabbix-4.0.3.tar.gz

[root@one package]# /<code>

3、初始準備

新建一個zabbix用戶,並指定其不可登錄系統

<code>[root@one package]# useradd -s /sbin/nologin zabbix
[root@one package]# mkdir -pv /home/zabbix
[root@one package]# /<code>

4、編譯安裝

<code>[root@one package]# tar xf zabbix-4.0.3.tar.gz 
[root@one package]# cd zabbix-4.0.3
[root@one zabbix-4.0.3]# ls
aclocal.m4 bin ChangeLog conf config.sub configure.ac database frontends INSTALL m4 Makefile.in misc NEWS sass
AUTHORS build compile config.guess configure COPYING depcomp include install-sh Makefile.am man missing README src
[root@one zabbix-4.0.3]# ./configure --prefix=/home/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2/<code>

編譯之後發現最後報錯了,如圖所示:

zabbix-第二章-第一節 zabbix編譯安裝

解決一下:

<code>[root@one zabbix-4.0.3]# yum install mysql-devel -y/<code>

而後重新進行編譯安裝:

<code>[root@one zabbix-4.0.3]# ./configure --prefix=/home/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2/<code>

如下顯示,即表示編譯成功

zabbix-第二章-第一節 zabbix編譯安裝

此時我們安裝即可:

<code>[root@one zabbix-4.0.3]# make && make install/<code>

界面如下,顯示安裝成功:

zabbix-第二章-第一節 zabbix編譯安裝

編譯參數說明:

<code>--prefix指定安裝目錄
--enable-server安裝zabbix server
--enable-agent安裝zabbix agent
--with-mysql用mysql來存儲/<code>

5、設置環境變量,查看 zabbix 版本

<code>echo "PATH=$PATH:/home/zabbix/sbin/:/home/zabbix/bin/" >> /etc/profile/<code>

6、初始化mysql

首先要登錄mysql,使用root用戶:

<code>[root@one zabbix]# mysql -uroot -pNihaowohao@123456/<code>

新建數據庫:

<code>mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

mysql> /<code>
<code>mysql> grant all privileges on *.* to huaxin@'%' identified by 'Nihao@123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)/<code>

進入zabbix數據庫,開始數據初始化:

<code>mysql> use zabbix;
Database changed
mysql> source /home/package/zabbix-4.0.3/database/mysql/schema.sql;
mysql> source /home/package/zabbix-4.0.3/database/mysql/data.sql;
mysql> source /home/package/zabbix-4.0.3/database/mysql/images.sql;/<code>

每次執行一次 source 的時候都會顯示如下圖:

zabbix-第二章-第一節 zabbix編譯安裝

如果報錯 “ERRO” 請檢查初始化sql的位置是不是沒有寫對;

而後退出 mysql :

<code>mysql> exit
Bye
[root@one zabbix]# /<code>

7、配置zabbix_server

<code>[root@one zabbix]# cp etc/zabbix_server.conf etc/zabbix_server.conf_back
[root@one zabbix]# vim etc/zabbix_server.conf
# 將原本內容全部刪除,添加以下信息
LogFile=/home/zabbix/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=huaxin
DBPassword=Nihao@123456
DBPort=3316
Timeout=30
AlertScriptsPath=/home/zabbix/share/zabbix/alertscripts
ExternalScripts=/home/zabbix/share/zabbix/externalscripts
LogSlowQueries=3000
# 保存退出 :wq
[root@one zabbix]# /<code>

配置修改之後截圖如下:

zabbix-第二章-第一節 zabbix編譯安裝

配置文件參數釋義:

<code>LogFile # 日誌存放位置
DBHost # 數據庫IP地址
DBName # 數據庫名字
DBUser # 數據庫用戶名
DBPassword # 數據庫密碼
DBPort # 數據庫端口號
Timeout # 鏈接超時時間
AlertScriptsPath # 固定腳本位置
ExternalScripts # 固定腳本位置
LogSlowQueries # 超過設置時長的數據庫慢查詢將被會記錄/<code>

8、啟動zabbix

<code>[root@one zabbix]# chown -R zabbix:zabbix /home/zabbix/
[root@one zabbix]# zabbix_server
[root@one zabbix]# /<code>

9、確認是否啟動成功

進程:

<code>[root@one zabbix]# ps -ef | grep zabbix
root 14857 33635 0 15:57 pts/0 00:00:00 grep --color=auto zabbix
[root@one zabbix]#/<code>

發現沒有啟動成功,那麼我們看下 zabbix 日誌,根據報錯排錯:

<code>[root@one zabbix]# tail -f zabbix_server.log 
14818:20200320:155652.880 Jabber notifications: NO
14818:20200320:155652.880 Ez Texting notifications: YES
14818:20200320:155652.880 ODBC: NO
14818:20200320:155652.880 SSH2 support: NO
14818:20200320:155652.880 IPv6 support: NO
14818:20200320:155652.880 TLS support: NO
14818:20200320:155652.880 ******************************

14818:20200320:155652.880 using configuration file: /home/zabbix/etc/zabbix_server.conf
14818:20200320:155652.910 [Z3001] connection to database 'zabbix' failed: [1044] Access denied for user 'huaxin'@'localhost' to database 'zabbix'
14818:20200320:155652.910 Cannot connect to the database. Exiting.../<code>

從日誌中看出,是我們的數據庫用戶權限設置不對,我們登錄數據庫進行更改:

<code>[root@one zabbix]# mysql -uroot -p
Enter password:
mysql> grant all privileges on *.* to huaxin@localhost identified by "Nihao@123456";
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@one zabbix]#/<code>

10、再次嘗試啟動zabbix服務

<code>[root@one zabbix]# zabbix_server/<code>

11、再次驗證是否啟動成功

進程:

<code>[root@one zabbix]# ps -ef | grep zabbix_server
# 會出現很多信息,就不一一複製了/<code>

端口號:

<code>[root@one zabbix]# netstat -tunlp | grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15551/zabbix_server
[root@one zabbix]# /<code>

表示我們zabbix服務啟動成功了;

12、配置 zabbix_web 端

即可以從瀏覽器進行訪問

需要配置nginx

<code>[root@one zabbix]# mkdir -pv /home/nginx/html/zabbix
mkdir: 已創建目錄 "/home/nginx/html/zabbix"
[root@one zabbix]# cp -a /home/package/zabbix-4.0.3/frontends/php/* /home/nginx/html/zabbix//<code>

重新加載nginx

<code>[root@one zabbix]# nginx -s reload
[root@one zabbix]# /<code>

13、使用瀏覽器訪問 zabbix_web 界面

輸入地址:http://192.168.20.128:8010/zabbix/setup.php

PS:IP地址需要些自己實際IP地址

zabbix-第二章-第一節 zabbix編譯安裝

14、界面配置

點擊右下角的 “Next setp”

zabbix-第二章-第一節 zabbix編譯安裝

可以看到有很多報錯,接下來我們一一進行解決:

修改 php 的配置文件,將幾個參數修改成如下所示

<code>[root@one zabbix]# vim /home/PHP/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai

always_populate_raw_post_data = -1/<code>

重啟 php-fpm

<code>[root@one zabbix]# ps -ef | grep php-fpm
root 17349 37720 0 16:43 pts/1 00:00:00 grep --color=auto php-fpm
root 128300 1 0 14:28 ? 00:00:00 php-fpm: master process (/home/PHP/etc/php-fpm.conf)
nobody 128301 128300 0 14:28 ? 00:00:00 php-fpm: pool www
nobody 128302 128300 0 14:28 ? 00:00:00 php-fpm: pool www
root@one zabbix]# kill -9 128300
[root@one zabbix]# kill -9 128301
[root@one zabbix]# kill -9 128302
[root@one zabbix]# ps -ef | grep php-fpm
root 17390 37720 0 16:44 pts/1 00:00:00 grep --color=auto php-fpm
[root@one zabbix]#
[root@one zabbix]# /home/PHP/sbin/php-fpm
[root@one zabbix]# ps -ef | grep php-fpm
root 17401 1 0 16:44 ? 00:00:00 php-fpm: master process (/home/PHP/etc/php-fpm.conf)
nobody 17402 17401 0 16:44 ? 00:00:00 php-fpm: pool www
nobody 17403 17401 0 16:44 ? 00:00:00 php-fpm: pool www
root 17410 37720 0 16:44 pts/1 00:00:00 grep --color=auto php-fpm
[root@one zabbix]#
/<code>

重新加載nginx

<code>[root@one zabbix]# nginx -s reload
[root@one zabbix]/<code>

再次使用瀏覽器進行登錄:

zabbix-第二章-第一節 zabbix編譯安裝

這個時候我們就會發現已經全部顯示 “OK” ,此時我們再次點擊右下角的 “Next step”

這裡主要配置數據庫信息,我們根據信息進行填寫即可

zabbix-第二章-第一節 zabbix編譯安裝

而後再次點擊右下角的 “Next step”:

這裡讓輸入 zabbix_server 的IP地址、端口號以及自定義一個名字;

zabbix-第二章-第一節 zabbix編譯安裝

而後再次點擊右下角的 “Next step”:

這裡是讓你核對之前配置的信息是否正確

zabbix-第二章-第一節 zabbix編譯安裝

如果不正確可以點擊右下角的 “Back” 按鈕,如果確認無誤可以直接點擊右下角的 “Next step” 按鈕;

出現此界面就表示你的 zabbix_server 已經安裝成功了

zabbix-第二章-第一節 zabbix編譯安裝

上面的圖中提示你:“祝賀你!您已成功安裝Zabbix前端。創建了配置文件“/home/nginx/html/zabbix/conf/zabbix.conf.php”。”

最後一次點擊右下角的 “Finish” 按鈕,我們就進入了登錄界面了;

zabbix-第二章-第一節 zabbix編譯安裝

在這裡我們輸入默認的用戶名和密碼:

用戶名:Admin

密碼:zabbix

而後點擊 “Sign in” 按鈕,就進入系統了

zabbix-第二章-第一節 zabbix編譯安裝

至此,恭喜你,你的 zabbix_server 就算部署完成了,下一節開始進行基礎操作,繼續加油哦~


分享到:


相關文章: