Zabbix 旨在監控服務器性能、服務器的可用性、網絡設備和其他網絡組件。 我們可以使用它輕鬆跟踪任何應用程序、系統和網絡設備的狀態。
在本文中,我將解釋如何在我們最新的 Ubuntu 18.04 服務器上安裝開源監控工具 Zabbix 3.4,並向您展示如何添加遠程服務器進行監控。
Zabbix 的核心是用 Java 和 C 構建的,但它帶有一個用 PHP 構建的用戶友好的前端界面,這使得跟踪和監控系統變得更加容易。
先決條件
- 新安裝的 Ubuntu 18.04 服務器,具有 root 用戶權限。
- 配置良好的 LAMP 服務器。
安裝 LAMP 服務器
在安裝 Zabbix 服務器之前,我們需要正確配置一個 LAMP 服務器。 首先,我們可以安裝 Apache 和 PHP 以及使用以下命令的一些必需的 PHP 模塊:
#apt update -y
#apt install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-bcmath php7.2-mbstring -y
安裝完所有組件後,我們需要安裝 MariaDB。 Zabbix 使用 MySQL、Oracle 和 PostgreSQL 來存儲其數據。 這裡我們安裝 MariaDB 來存儲它的數據。 我們默認的 Ubuntu 18.04 存儲庫中提供了該軟件的最新版本。 因此,我們可以簡單地運行此命令來安裝它。
#apt install mariadb-server -y
接下來,我們可以啟動並啟用所有服務在引導時啟動:
#systemctl start apache2
#systemctl enable apache2
#systemctl start mysql
#systemctl enable mysql
因此,我們完成了我們的 LAMP 服務器。 接下來,我們可以開始我們的 Zabbix 安裝。
安裝和配置 Zabbix 服務器
根據我們的操作系統平台和要求,我們需要選擇/安裝最新的支持 Zabbix 存儲庫到我們的服務器。
第 1 步:使用 MySQL 下載並安裝 Zabbix Repository
我們可以使用以下命令為我們的 Ubuntu 18.04 服務器下載並安裝最新的 Zabbix 3.4 存儲庫:
# wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
# dpkg -i zabbix-release_3.4-1+bionic_all.deb
# apt update
第 2 步:安裝 Zabbix 服務器、前端和 Zabbix-Agent
其次,我們需要從我們安裝的 Zabbix 存儲庫中安裝我們的 Zabbix 服務器、前端和 Zabbix 代理。 請運行此命令進行安裝,如下所示:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
第 3 步:創建初始 Zabbix 數據庫
一旦安裝了上述所有組件,我們就可以為我們的 Zabbix 用戶創建一個數據庫:
~# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 41
Server version: 10.1.29-MariaDB-6 Ubuntu 18.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
現在您可以將初始架構和數據導入到我們新創建的 Zabbix 數據庫中。 在導入過程中,系統將提示您輸入數據庫用戶密碼。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
第 4 步:為 Zabbix 服務器配置數據庫
這個階段需要正確更新Zabbix配置文件中的數據庫密碼 /etc/zabbix/zabbix_server.conf
如下:
# grep -i DBpassword /etc/zabbix/zabbix_server.conf
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
### Option: DBPassword
DBPassword=password
您需要取消註釋 DB 密碼選項,並根據需要向其提供準確的 Zabbix DB 用戶密碼。
第 5 步:為 Zabbix 前端配置 PHP
我們需要配置 PHP 並設置適當的時區以順利進行 Zabbix Frontend 安裝。 首先,您可以在位於的 PHP 配置文件中設置適當的時區 /etc/php/7.2/apache2/php.ini
並根據您的首選時區對其進行相應修改。 我已將其更新如下:
# grep -i timezone /etc/php/7.2/apache2/php.ini
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = Europe/Riga
接下來,我們需要在以下位置更新 Zabbix 配置文件 /etc/zabbix/apache.conf
與以下相同的時區:
# grep timezone /etc/zabbix/apache.conf
php_value date.timezone Europe/Riga
您將在上述配置文件的 PHP 7 模塊部分中取消對時區的 php_value 的註釋,並像以前一樣使用確切的時區進行更新。
第 6 步:啟動 Zabbix 服務器和代理進程
最後,我們可以使用以下命令啟動並啟用所有必需的 Zabbix 服務和 Apache2:
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
就這樣! 現在我們的 Zabbix 服務器將啟動並運行。 您可以通過訪問 URL 來檢查它是否正常工作 >>>https://Server-IP/zabbix
安裝/配置 Zabbix 前端
一旦我們啟動並運行了 Zabbix 服務器,我們就可以使用 URL 訪問我們新安裝的 Zabbix 前端 >> https://Server-IP or hostname/zabbix.
這將打開前端安裝嚮導。 為了使其功能齊全,我們需要完成 Zabbix Frontend 的設置過程。
讓我們一一瀏覽每個設置過程。 你可以點擊 Next Step
檢查先決條件。 在這個階段,我們需要確保我們的服務器滿足下面列出的所有軟件先決條件。 完成後,您可以單擊下一步繼續。
在此階段,請確保更新連接到 Zabbix 數據庫的詳細信息,以確保正確的數據庫連接並繼續進行 Zabbix 服務器設置,包括主機和端口 10051。
最後,我們可以在 Pre-installation Summary 中再次驗證以上階段所做的所有設置,然後單擊 Next Step
以完成安裝。
如果一切順利,您將收到上述消息,說明 Zabbix 前端安裝成功。 現在您可以單擊完成選項卡退出安裝嚮導。
訪問 Zabbix 儀表板
歡呼! 我們的 Zabbix 前端已準備就緒。 您可以使用帶有用戶名的默認 Zabbix 登錄憑據訪問它 "Admin"
和密碼 "zabbix"
在網址中 >>>https://Server-IP/zabbix.
更改管理員密碼
使用默認設置成功登錄 Zabbix 前端面板後 admin 登錄憑據,出於安全原因,必須修改管理員憑據。 您可以通過瀏覽路徑來修改您的管理員密碼: Administration > Users > Admin > Password > Change Password
如下圖所示:
添加監控主機
由於我們的 Zabbix 服務器已準備好使用,我們可以通過添加我們的第一個監控目標主機(即我們的 Zabbix 服務器本身)來測試它的功能。 您可以通過導航路徑來執行此操作: Configuration >> Hosts
如屏幕截圖所示。
如您所見,我們的主機狀態默認設置為禁用狀態。 我們需要點擊disabled按鈕來啟用這個服務器上的Zabbix代理來監控主機。 如屏幕截圖所示, Status
轉向 enabled
現在正在監視服務器。
只需等待幾分鐘,我們的 Zabbix 服務器就會從服務器獲取監控數據並更新圖表。 現在您可以通過瀏覽路徑來查看主機圖: Monitoring > Screens > Server Name
就像在快照中一樣。
添加遠程主機
首先,我們需要在我們的遠程主機上安裝/啟用 Zabbix Agent。 Zabbix 代理的工作是從設備收集 CPU、內存、磁盤和網絡接口使用情況等數據。 Zabbix 代理可以執行被動(輪詢)和主動檢查(陷阱)。 這些檢查可以每隔一段時間或基於特定的時間安排執行。 讓我們看看如何在 Ubuntu 18.04 節點上安裝/啟用 Zabbix 代理。
安裝 Zabbix 代理
最初,您需要通過 SSH 連接到我們的新主機服務器並為我們的 Ubuntu 18.04 主機設置下載 Zabbix 3.4 存儲庫並從中安裝 Zabbix 代理。
#wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
#dpkg -i zabbix-release_3.4-1+bionic_all.deb
#apt install zabbix-agent
配置 Zabbix 代理
現在,您可以配置我們的 Zabbix Agent 以啟動與 Zabbix 服務器的正確連接。 我們使用預共享密鑰 (PSK) 來保護服務器和代理之間的連接。 Zabbix 代理配置位於 /etc/zabbix/zabbix_agentd.conf
.
步驟 1:生成 PSK 密鑰並進行配置。
首先,我們需要生成 PSK 密鑰。 這可以通過運行以下命令獲得:
#sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
您可以保存此密鑰,該密鑰將在代理配置期間使用。
# cat /etc/zabbix/zabbix_agentd.psk
abb6a14eace79044b9f3bab0c6cd26d50b4cfb3dc6fe2ef815b96216073b333b
第 2 步:將 Zabbix 服務器添加到代理配置中。
現在你必須打開 Zabbix Agent 配置文件 /etc/zabbix/zabbix_agentd.conf
並將其配置為在服務器之間建立安全連接。 首先,您需要使用 Zabbix 服務器 IP 編輯“95”和“136”行號,如下所示。 這裡 172.104.210.183 是我的 Zabbix 服務器 IP。
# sed -n '95 p' /etc/zabbix/zabbix_agentd.conf
Server=172.104.210.183
接下來,我們需要編輯帶有 Zabbix 服務器信息的 136 行。
# sed -n '136 p' /etc/zabbix/zabbix_agentd.conf
ServerActive=172.104.210.183
步驟 3:配置和啟用 PSK 安全連接
為了配置服務器之間的安全連接,我們啟用了支持 PSK 的 TLS 連接。 我們需要相應地編輯 Zabbix Agent 配置中的以下幾行以使其成為可能。
修改 /etc/zabbix/zabbix_agentd.conf 中的以下幾行:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
# TLSConnect=unencrypted
# TLSAccept=unencrypted
# TLSPSKIdentity=
# TLSPSKFile=
TO:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PKI 001
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
定義每個部分:
TLSConnect=psk
*// 這將啟用預共享密鑰支持 //*TLSAccept=psk
*// 這允許使用 PSK 支持接受所有傳入連接//TLSPSKIdentity=PKI 001
*// 給出一個唯一的名稱來標識您的代理預共享密鑰//TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
*// 這有助於 Zabbix 代理識別您創建的 PSK 文件。 //*
第 4 步:啟動 Zabbix 代理
現在您可以保存這些更改並使用以下命令啟動 Zabbix 代理並將其設置為在啟動時啟動:
~# systemctl start zabbix-agent
# systemctl enable zabbix-agent
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
我們的 Zabbix 代理現在已準備好向 Zabbix 服務器發送數據。 但是為了使用它,我們必須從 Zabbix 服務器的 Web 控制台將此代理鏈接到它。
第 5 步:將我們的新主機添加到 Zabbix 服務器
我們已經在新主機上成功安裝/配置了 Zabbix Agent。 現在我們需要通過我們的 Web 控制台將這個新節點註冊到我們的 Zabbix 服務器。 您可以使用 URL >> 登錄到我們的 Zabbix 服務器網絡界面https://Zabbix_ServerIP/zabbix/
使用創建的管理員登錄憑據。 現在我們可以瀏覽路徑: Configuration > Hosts > Create Host
這將打開主機配置頁面,您可以在其中添加新主機的主機名稱、IP 詳細信息。 此外,您可以選擇要將此新主機添加到的組。 您可以根據自己的喜好創建一個新組,也可以添加到預先存在的組中。 根據我們的喜好,一個主機可以包含在多個組中。 在這裡,我將我們的新節點添加到默認節點 Linux Servers
團體。
添加我們的主機後,我們可以通過從 Hosts 列表中選擇我們添加的節點來修改其設置。 我選擇了默認模板 Template OS Linux
對於我的節點。 您可以從模板列表中選擇任何首選模板。
接下來,我們需要導航到“加密”選項卡。 由於我們已經決定,我們需要為到主機的連接和來自主機的連接選擇 PSK。 然後設置 PSK identity
到 PSK 001
,這是 TLSPSKIdentity
一開始我們在Zabbix Agent中配置的設置。 然後將 PSK 值設置為您為 Zabbix 代理生成的密鑰。 這是存儲在文件中的那個 /etc/zabbix/zabbix_agentd.psk
在代理機器上。
就這樣! 現在您將看到帶有綠色標籤的新主機,表明一切正常並且連接已加密。
為了確保一切正常,你甚至可以關閉你的新主機,看看 Zabbix 是否正在就問題發出警報。 在這種情況下,它會報告一個問題,如屏幕截圖所示。
類似地,您可以通過在其中安裝和配置 Zabbix Agent 並將其註冊到您的 Zabbix 服務器來將新主機添加到您的 Zabbix 服務器。 我希望這篇文章是有用的和翔實的。 請就此發表您的寶貴建議和意見。