iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
DevOps

從零開始的 graylog 探險系列 第 20

Day 20: 節點擴充與基礎負載均衡

  • 分享至 

  • xImage
  •  

在生產環境中,隨著日誌量與查詢請求增加,單節點架構容易成為性能瓶頸。本篇介紹如何在 Graylog 中進行水平擴展與基礎負載均衡,以提升系統可用性與吞吐量。

節點擴充概念與架構

Graylog 6.3 採用 Leader–Follower 模式:

  • Leader:負責分配輸入消息、指派工作節點。
  • Follower:接收 Leader 指令,執行索引寫入、訊息處理等。

水平擴展(新增節點)能線性提升吞吐;垂直擴展(提升單機資源)則受限於那台機器的上限。對於持續增長的日誌量,推薦以水平擴展為主。

添加新的 Graylog 節點

以 Docker Compose 為例,假設已存在一個 Leader 節點,現在新增一個 Follower 節點。

services:
  graylog-follower:
    image: graylog/graylog:6.3
    environment:
      - GRAYLOG_NODE_ID_FILE=/usr/share/graylog/data/node-id
      - GRAYLOG_IS_MASTER=false
      - GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000
      - GRAYLOG_HTTP_PUBLISH_URI=http://follower:9000/
      - GRAYLOG_MONGODB_URI=mongodb://mongo1:27017,mongo2:27017/graylog
      - GRAYLOG_ELASTICSEARCH_HOSTS=http://es1:9200,http://es2:9200
    depends_on:
      - mongo1
      - es1

關鍵設定:

  • GRAYLOG_IS_MASTER=false:關閉 Leader 身份。
  • GRAYLOG_HTTP_PUBLISH_URI:告知其他節點自身可訪問 URL。

GRAYLOG_MONGODB_URIGRAYLOG_ELASTICSEARCH_HOSTS 與 Leader 保持一致,確保共享資料路徑。

啟動後,新節點會自動向 Leader 註冊,並開始協同處理日誌。

基礎負載均衡實作

為均衡 API 與 Web 請求,可以在 Leader 與 Follower 之前加入 TCP 層級的負載均衡器,例如 HAProxy。

global
  maxconn 200

defaults
  mode tcp
  timeout connect 5s
  timeout client  30s
  timeout server  30s

frontend graylog_front
  bind *:9000
  default_backend graylog_back

backend graylog_back
  balance roundrobin
  server leader  leader:9000 check
  server follower follower:9000 check
  • balance roundrobin:輪詢分流。
  • check:啟用健康檢查,若節點失效則自動剔除。

完成配置後,所有 Web 與 API 請求均通過 HAProxy,實現基本流量分攤及故障隔離。

實際操作示範

在同一個 docker-compose.yml 中同時啟動 Leader、Follower 與 HAProxy:

docker compose up -d

使用 docker compose ps 確認服務狀態。

從瀏覽器或 curl http://<LB_IP>:9000 進入 Graylog Web UI;在 System -> Cluster Configuration 頁面可看到兩台節點同時在線。

監控與驗證

  1. 集群狀態檢查:在 Web UI「System → Cluster Configuration」頁面,確認所有節點均為 Running 並顯示相同叢集 ID。
  2. 節點健康監控:可透過 Graylog REST API 查詢 /api/cluster,或在 HAProxy 端查看 stats
  3. 性能指標觀察:監控輸入吞吐量(messages/s)、處理延遲、Opensearch 索引延遲等,評估是否需要進一步擴容。

上一篇
Day 19: 安全加固與權限管理
系列文
從零開始的 graylog 探險20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言