簡介
Graylog 的開源特性、豐富的功能、靈活性和可擴展性使其成為一個流行的日志管理平臺。在本教程中,我將向你展示如何在 Ubuntu 22.04 上安裝 Graylog,包括配置 Graylog 服務器軟件包和訪問 Graylog Web UI。
Graylog 是什么?
Graylog 是世界領先的集中式開源日志管理解決方案之一,用于集中、存儲、可視化和實時監控 TB 級的機器數據,被 DevOps 工程師、安全分析師和應用程序開發人員廣泛使用。
Graylog 用于做什么?
Graylog 是一種在技術、媒體、零售等行業廣泛使用的工具,用于監控大量的網絡活動,并精確定位任何影響性能的問題。它有助于從大規模的日志中獲取見解,以支持更快的問題解決和業務連續性,減少停機時間。
Graylog 服務器包含以下主要組件:
- Elasticsearch - 一種搜索和分析引擎,用于存儲和索引數據。
- MongoDB - 一種開源的 NoSQL 文檔數據庫,用于存儲諸如用戶信息之類的元數據。
- Graylog Server - 用于捕獲、存儲和分析實時機器數據的主要組件。它可視化數據以發現趨勢和異常,并在發生任何事件時觸發警報。此外,你還可以構建報告以符合既定標準和管理需求。
現在,讓我們繼續進行 Graylog Ubuntu 安裝說明,首先定義先決條件。
準備工作
服務器準備
必要前提:
- 一個充滿求知欲的大腦。
- 一臺 Linux 服務器(推薦騰訊云、阿里云或雨云等)。
我將以 雨云 為例,帶大家創建一臺自己的云服務器,以便學習本篇文章的內容。
注冊鏈接: https://rainyun.ivwv.site
創建雨云服務器
以下步驟僅供參考,請根據實際需求選擇配置。
- 點擊 云產品 → 云服務器 → 立即購買。
- 選擇距離你較近的區域,以保證低延遲。
- 按照自己需求選擇配置,選擇Ubuntu 22.04 版本,按照自己需求是否預裝Docker。
- 最后按照提示進行購買。
- 購買后等待機器部署完畢,點擊剛剛創建好的服務器,進入管理面板,找到遠程連接相關信息。
- 我們使用
PowerShell
進行SSH
遠程連接到服務器,Win+R
打開運行窗口,輸入powershell
后點擊確定。
- 輸入
ssh root@你的服務器IP
例如ssh root@154.9.227.239
回車后,首次需要輸入yes
,再次回車后即可登錄服務器。
- 到此為止,我們的云服務器就遠程連接上了。
安裝和配置步驟
為了在 Ubuntu 22.04 上安裝 Graylog,你必須遵循一個相對簡單的過程。它包括安裝 OpenJDK、Elasticsearch 和 MongoDB 等先決條件軟件包。之后,下載并配置 Graylog 服務器軟件包,然后設置 Nginx 作為反向代理以訪問 Graylog Web UI。
讓我們直接開始。按照以下步驟在你的 Ubuntu 22.04 服務器上安裝并運行 Graylog。
第一步:更新本地軟件包索引
首先,登錄到你的服務器并更新本地軟件包索引。
sudo apt update
接下來,安裝 Graylog 服務器安裝期間需要的一組依賴項。
sudo apt install curl wget apt-transport-https
安裝完成后,進入下一步。
第二步:安裝 OpenJDK
在安裝 Graylog 之前,我們需要安裝 Java。我們將安裝 OpenJDK,這是一個由 Oracle 當前維護的免費開源 Java 實現。最新版本的 Graylog - Graylog 5.2 - 至少需要 OpenJDK 17。
要安裝 OpenJDK 17,請運行以下命令:
sudo apt install openjdk-17-jre-headless -y
安裝完成后,你可以確認已安裝的 Java 版本,如下所示。
java -version
第三步:安裝 ElasticSearch
Elasticsearch 是 Graylog 安裝中的另一個關鍵組件。它是一個分布式搜索和分析引擎,廣泛用于全文搜索、日志分析、業務分析和分析安全事件。
在 Graylog 中,Elasticsearch 存儲、搜索和分析來自外部來源的日志和消息。
Elasticsearch 不托管在官方 Ubuntu 存儲庫中。因此,我們將從 Elasticsearch 存儲庫安裝它。為此,首先,下載并添加 Elasticsearch GPG 密鑰。
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
接下來,切換到 root 用戶。
sudo su -
并將 Elasticsearch 存儲庫添加到系統中。
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
接下來,更新本地緩存以通知系統新添加的存儲庫。
apt update
本地緩存更新后,使用 APT 軟件包管理器從存儲庫安裝 Elasticsearch。
apt install elasticsearch -y
安裝完成后,你需要對主要的 Elasticsearch 配置文件進行一些調整。使用你喜歡的文本編輯器訪問該文件。在這里,我們使用 nano 命令行編輯器。
nano /etc/elasticsearch/elasticsearch.yml
設置你喜歡的集群名稱,并在其下方添加 action.auto_create_index: false
行。
cluster.name: graylog
action.auto_create_index: false
完成后,保存更改并退出。重新加載 systemd 以應用更改并啟動 Elasticsearch。
systemctl daemon-reload
systemctl start elasticsearch
你可以驗證 Elasticsearch 的狀態,如下所示。
sudo systemctl status elasticsearch
從輸出中,你可以看到 Elasticsearch 服務正在運行。
此外,請考慮啟用 Elasticsearch 服務以在啟動時啟動。
systemctl enable elasticsearch
你可以使用 curl
命令行工具向你的節點發送 GET
請求,以查看有關 Elasticsearch 的詳細信息。
curl -X GET http://localhost:9200
第四步:安裝 MongoDB 服務器
在 Graylog 服務器中,MongoDB 數據庫存儲配置信息和用戶數據。最新版本的 Graylog 需要 MongoDB 5.x 和 6.x 版本。在本指南中,我們將從 MongoDB 存儲庫安裝 MongoDB 6.0。
因此,添加 MongoDB GPG 簽名密鑰。
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \\
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-server-6.0.gpg
接下來,將 MongoDB 存儲庫添加到你系統上的 sources.list.d
目錄。
echo "deb [ arch=amd64,arm64 signed=/etc/apt/trusted.gpg.d/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
將存儲庫添加到你的系統后,更新本地 APT 緩存。
sudo apt update
然后安裝 MongoDB 數據庫服務器。
sudo apt install mongodb-org -y
要驗證安裝的版本,請運行以下命令:
mongod --version
MongoDB 在安裝后不會自動啟動,因此請按如下所示啟動它。
sudo systemctl start mongod
確認 MongoDB 數據庫服務正在運行:
sudo systemctl status mongod
此外,請考慮啟用該服務以在啟動時自動啟動。
sudo systemctl enable mongod
安裝了 MongoDB 數據庫服務器后,下一步是安裝 Graylog 服務器。
第五步:安裝 Graylog 服務器
我們現在準備在 Ubuntu 上安裝 Graylog 服務器。默認情況下,Graylog 服務器軟件包在 Ubuntu 存儲庫上不可用。因此,我們將從官方 Graylog 存儲庫安裝 Graylog。
因此,下載 Graylog Debian 軟件包。
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
接下來,運行 dpkg
命令來運行該軟件包。
sudo dpkg -i graylog-5.0-repository_latest.deb
接下來,更新本地 APT 緩存。
sudo apt-get update
最后,按如下方式安裝 Graylog 服務器。
sudo apt install graylog-server -y
安裝 Graylog 服務器后,你需要生成一個密鑰來保護用戶密碼,并為管理員用戶生成一個加密密碼。
要生成一個用于保護用戶密碼的密鑰,請運行以下命令:
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
加密密碼(由字母數字字符組成)將顯示在終端上。
接下來,為 Graylog 管理員登錄用戶生成一個加密密碼。
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\\n' | sha256sum | cut -d" " -f1
出現提示時,鍵入密碼并按 ENTER。加密密碼將顯示在屏幕上。
將這兩個加密密碼復制并粘貼到某處,然后打開 Graylog 配置文件。
nano /etc/graylog/server/server.conf
使用生成的加密密碼更新 password_secret
和 root_password_sha2
。
password_secret = hTRdp0JxNLeuxKXFeTjNYzOMpM-6zdBPalK4eKbsEhxSlxkIFgTcUBzPmhj21Hc89OmyW1NqitmROHXtgqJqwGte4t7PBwi0root_password_sha2 = bfe4814665ab5c23359f7114d289110e7c725a1528fa2cd68c601a0a5d6c05108
接下來,使用 http_bind_address
指定 Graylog HTTP 接口將偵聽的 IP 地址。默認情況下,此項設置為 localhost 或回環地址。確保將其設置為分配給你的網絡接口的 IP,并指定 Graylog 偵聽的端口(端口 9000)。
http_bind_address = 208.117.84.72:9000
保存更改并退出配置文件。接下來,重新加載 systemd 以通知系統所做的更改。
systemctl daemon-reload
接下來,啟動 Graylog 服務。
systemctl start graylog-server
Graylog 守護程序或服務現在應該正在運行。你可以按如下所示確認這一點。
systemctl status graylog-server
請考慮啟用該服務以在系統啟動時啟動。
systemctl enable graylog-server
第五步:配置 Nginx 作為反向代理
Graylog 本身可以充當前端,不需要 Web 服務器。但是,你可以將 Web 服務器配置為端口 80 到端口 9000(Graylog 偵聽的端口)的反向代理。這也簡化了為 Graylog 配置 SSL 證書的過程。
在我們的示例中,我們將使用 Nginx 作為我們首選的 Web 服務器。要安裝 Nginx,請運行以下命令:
apt install nginx
安裝完成后,為 Graylog 創建一個虛擬主機文件。
nano /etc/nginx/sites-available/graylog.conf
添加以下代碼行,并確保為 proxy_pass
屬性指定你服務器的 IP。
server {listen 80;server_name graylog.example.org;location /{proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Graylog-Server-URL http://$server_name/;proxy_pass http://208.117.84.72:9000;}}
保存更改并退出配置文件。然后,運行以下命令以驗證你的 Web 服務器的配置語法是否正確。
nginx -t
如果一切正常,請啟用 Nginx 虛擬主機文件。
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
請記住刪除默認的虛擬主機文件,因為這將覆蓋新啟用的虛擬主機配置。
rm -rf /etc/nginx/sites-enabled/default
要應用所做的更改,請重新啟動 Nginx Web 服務
systemctl restart nginx
并確保它按預期運行。
systemctl status nginx
第六步:訪問 Graylog Web 界面
要訪問 Graylog Web 界面,請在你的 Web 瀏覽器上訪問以下 URL。
http://server-ip
你將看到顯示的網頁。使用用戶名 admin
和你在第 5 步中以純文本指定的 root 用戶密碼登錄。然后單擊“登錄”按鈕。
登錄后,你應該會看到 Graylog Web UI。從這里,你可以添加數據源以進行實時數據分析。
結論
就是這樣;在本教程中,我演示了如何在 Ubuntu 22.04 服務器上安裝 Graylog,包括配置。有關 Graylog 的更多信息,請查看 官方文檔。
雨云 - 新一代云服務提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site