Graylog 7.0 安裝指南(Ubuntu 24.04)

版本: Graylog 7.0 | 平台: Ubuntu 22.04 / 24.04 LTS
架構模型: Core Deployment(單節點,適合小型/測試環境)
官方文件: https://go2docs.graylog.org/current/downloading_and_installing_graylog/ubuntu_installation.htm


一、推薦硬體規格

Core Deployment(單節點 — Graylog + MongoDB + Data Node)

Graylog 官方建議依照每日日誌量與保留天數估算,以下為一般小型生產環境建議值:

元件最低規格建議規格
CPU4 核心8 核心以上
RAM16 GB32 GB 以上
系統磁碟SSD 50 GBSSD 100 GB
資料磁碟(Data Node)SSD,依保留量決定SSD(高 IOPS)
網路1 Gbps1 Gbps 以上
作業系統Ubuntu 22.04 / 24.04 LTSUbuntu 24.04 LTS

儲存容量計算公式

所需儲存空間 = 每日日誌量 × 保留天數 × 1.2(緩衝 20%)

範例: 每日 10 GB,保留 30 天 → 10 × 30 × 1.2 = 360 GB

記憶體配置原則

服務Heap 建議值
Graylog ServerRAM / 2,最大 16 GB
Data Node(OpenSearch)RAM / 2,最大 31 GB

⚠️ 推薦使用 XFS 檔案系統作為資料儲存分區。訊息 Journal 建議置於高速 SSD。


二、網路連接埠需求

安裝前請確認以下連接埠已開放:

目標服務連接埠來源用途
GraylogTCP/9000瀏覽器Web UI / API
OpenSearchTCP/9200Graylog日誌查詢
MongoDBTCP/27017GraylogMetadata 儲存
Data NodeTCP/9300Graylog日誌索引儲存
SidecarTCP/5044日誌收集器日誌傳送

三、安裝步驟

Step 0:設定系統時區

sudo timedatectl set-timezone UTC

建議統一使用 UTC,避免時區問題導致日誌時間不一致。


Step 1:安裝 MongoDB 8.0

MongoDB 作為 Graylog 的 Metadata 資料庫。

1-1 安裝相依套件

sudo apt-get install -y gnupg curl

1-2 匯入 MongoDB 官方 GPG 金鑰

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
  sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
  --dearmor

1-3 新增 MongoDB 官方 APT 來源

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

1-4 更新套件清單並安裝 MongoDB

sudo apt-get update
sudo apt-get install -y mongodb-org

1-5 鎖定 MongoDB 版本(防止自動升級)

sudo apt-mark hold mongodb-org

1-6 修改 MongoDB 設定檔(調整監聽介面)

sudo nano /etc/mongod.conf

修改 net 區段,選擇以下其中一種設定:

監聽所有介面(測試/內部環境):

net:
  port: 27017
  bindIpAll: true

綁定特定 IP(建議生產環境):

net:
  port: 27017
  bindIp: 192.168.50.71   # 替換為實際 IP

綁定主機名稱:

net:
  port: 27017
  bindIp: graylog01        # 替換為實際主機名稱

1-7 啟動 MongoDB 服務

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service

驗證 MongoDB 運行狀態

sudo systemctl status mongod

Step 2:安裝 Graylog Data Node

Data Node 負責日誌的接收、處理與索引,內建 OpenSearch 作為搜尋後端。

⚠️ 請勿單獨安裝 OpenSearch! 請使用官方 Data Node,已整合最佳化設定。

2-1 新增 Graylog 官方 Repository 並安裝 Data Node

wget https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb
sudo dpkg -i graylog-7.0-repository_latest.deb
sudo apt-get update
sudo apt-get install -y graylog-datanode

2-2 設定 vm.max_map_count(OpenSearch 必要參數)

先檢查目前值:

cat /proc/sys/vm/max_map_count

若低於 262144,執行以下指令調整:

echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.d/99-graylog-datanode.conf
sudo sysctl --system
cat /proc/sys/vm/max_map_count   # 確認已生效

2-3 產生 password_secret

此為系統加密金鑰,Graylog Server 與 Data Node 必須使用相同的值

openssl rand -hex 32

📝 請將輸出的字串複製保存,後續步驟會再次用到。

2-4 編輯 Data Node 設定檔

sudo nano /etc/graylog/datanode/datanode.conf

加入以下設定(根據實際環境調整):

# 加密金鑰(與 Graylog Server 必須相同)
password_secret = <上一步產生的隨機字串>

# MongoDB 連線字串(替換主機名稱或 IP)
mongodb_uri = mongodb://127.0.0.1:27017/graylog

# Heap 大小:設為系統 RAM 的一半,最大 31 GB
# 範例:16 GB RAM → 設定 8g
opensearch_heap = 8g

⚠️ opensearch_heap 預設不存在,需手動加入!

2-5 啟動 Data Node 服務

sudo systemctl daemon-reload
sudo systemctl enable graylog-datanode.service
sudo systemctl start graylog-datanode

驗證 Data Node 運行狀態

sudo systemctl status graylog-datanode

Step 3:安裝 Graylog Server

3-1 安裝 Graylog 套件

Graylog Open(免費版):

sudo apt-get install -y graylog-server

Graylog Enterprise / Security(商業版):

sudo apt-get install -y graylog-enterprise

3-2 產生 root_password_sha2(管理員密碼雜湊值)

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

輸入你要設定的管理員密碼,將輸出的 SHA256 雜湊值複製保存。

3-3 編輯 Graylog Server 設定檔

sudo nano /etc/graylog/server/server.conf

修改以下重要參數:

# 加密金鑰(與 Data Node 相同)
password_secret = <Step 2-3 產生的字串>

# 管理員密碼 SHA256 雜湊值
root_password_sha2 = <Step 3-2 產生的雜湊值>

# Web UI / API 監聽位址(0.0.0.0 表示所有介面)
http_bind_address = 0.0.0.0:9000

# 訊息 Journal 設定(依實際日誌量調整)
# 建議設為 72 小時,大小為 72 小時預期日誌量
message_journal_max_age = 72h
message_journal_max_size = 90gb   # 範例:每日 30 GB × 3 天

3-4 調整 JVM Heap 設定

sudo nano /etc/default/graylog-server

修改 GRAYLOG_SERVER_JAVA_OPTS,設為系統 RAM 一半(最大 16 GB):

# 範例:系統 RAM 16 GB → Heap 設定 8g
GRAYLOG_SERVER_JAVA_OPTS="-Xms8g -Xmx8g -server -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow"

✅ 建議 -Xms-Xmx 設定為相同值,避免 Heap 動態調整的效能損耗。

3-5 啟動 Graylog Server 服務

sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

驗證 Graylog Server 運行狀態

sudo systemctl status graylog-server

四、首次登入(Preflight)

重要警告

⚠️ 第一次登入不可使用你設定的管理員密碼!
必須先從日誌中取得初始登入憑證完成 Preflight 設定後,才能使用一般管理員帳號。

取得 Preflight 初始登入憑證

sudo grep -i "preflight" /var/log/graylog-server/server.log | tail -20

存取 Web UI

開啟瀏覽器,前往:

http://<伺服器 IP 或主機名稱>:9000

使用從日誌取得的 Preflight 憑證完成初始設定,之後才可使用你在 root_password_sha2 設定的密碼登入。


五、服務狀態確認

安裝完成後,統一確認所有服務狀態:

sudo systemctl status mongod
sudo systemctl status graylog-datanode
sudo systemctl status graylog-server

三個服務均應顯示 active (running)


六、疑難排解

問題:MongoDB 安裝後網路連線失敗

可能原因:DNS 設定或 TCP/27017 連接埠未開放。

測試連通性:

nc -vz <MongoDB 節點 IP> 27017

若無法連線,檢查防火牆設定:

sudo ufw allow 27017/tcp
sudo ufw reload

問題:Data Node 無法啟動

確認 vm.max_map_count 是否已正確設定:

cat /proc/sys/vm/max_map_count
# 應回傳 262144 或更大的值

確認 password_secretdatanode.conf 中已填入。

問題:Graylog Server 無法連線至 Data Node

確認 password_secretserver.confdatanode.conf 中的值完全一致

查看 Graylog 服務日誌

sudo journalctl -u graylog-server -f
sudo journalctl -u graylog-datanode -f
sudo journalctl -u mongod -f

七、安全性建議(生產環境部署前必做)

⚠️ 本安裝指南未包含安全強化設定,部署至生產環境前請務必完成以下項目:

  • 限制 MongoDB、Data Node、Graylog API 的對外網路存取
  • 啟用 TLS/SSL 加密(Web UI 與元件間通訊)
  • 設定防火牆規則,僅開放必要連接埠
  • 啟用 Graylog 的角色型存取控制(RBAC)
  • 定期備份 MongoDB 資料與 Graylog 設定檔

詳細安全設定請參考官方文件:
https://go2docs.graylog.org/current/planning_your_deployment/secure_your_graylog_environment.htm


附錄:重要設定檔位置

服務設定檔路徑
MongoDB/etc/mongod.conf
Data Node/etc/graylog/datanode/datanode.conf
Graylog Server/etc/graylog/server/server.conf
Graylog JVM/etc/default/graylog-server
Graylog 日誌/var/log/graylog-server/server.log

本文件依據 Graylog 7.0 官方文件整理,適用於 Ubuntu 24.04 LTS 單節點 Core 部署。
官方文件:https://go2docs.graylog.org/current/downloading_and_installing_graylog/ubuntu_installation.htm

404NOTE
404NOTE
文章: 50

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *