iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0
DevOps

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

Day 26: Graylog 升級準備與評估 (上)

  • 分享至 

  • xImage
  •  

接下來會花幾個篇幅來記錄如何對 Graylog 系統進行版本更新。
因為目前我實際在使用的 Graylog 版本為 5.0,希望能在有空的時候升級整個 Graylog 服務的版本,正好趁這次寫鐵人賽的時候實作這項任務。

架構變更認知

Data Node 的重要性

Graylog 6.3 引入了 Data Node 架構,這是一個重大的架構變更。
Data Node 在 Graylog 架構中負責管理 OpenSearch,它允許 Graylog 管理搜尋後端,這樣就不需要單獨安裝和管理 OpenSearch。

重要變更:

  • 不再需要獨立的 OpenSearch 容器:Data Node 內建了 OpenSearch 功能
  • 簡化管理:Graylog 會處理 OpenSearch 的修補、升級和配置
  • 增強安全性:自動憑證更新和內建安全措施

從 OpenSearch 到 Data Node 的轉變

在 Graylog 5.0 中需要自行管理 OpenSearch 容器;而在 6.3 中,Data Node 將接管這個責任。升級後將不再需要運行獨立的 OpenSearch 容器

現有環境相容性評估

當前版本檢查

現有環境配置:

# 當前 Docker Stack 版本
graylog: 5.0
opensearch: 2.4.0
mongodb: 5.0.13

相容性分析

MongoDB 5.0.13

  • 完全相容 - Graylog 6.3 支援 MongoDB 5.0.7 至 7.x
  • 可選擇保持現版本或升級至更新版本

OpenSearch 2.4.0

  • 相容 - 符合 6.3 要求的 1.1.x 至 2.15.x 範圍
  • 可直接進行 Data Node 遷移,無需先升級 OpenSearch

Graylog 5.0

  • 可直接升級 - 支援直接升級至 6.3,無需經過中間版本

升級策略規劃

升級路徑設計

採用單階段升級方案

  1. 備份現有資料(MongoDB + OpenSearch volumes)
  2. 更新 Docker Compose 配置(移除 OpenSearch,新增 Data Node)
  3. 執行 Graylog 5.0 → 6.3 升級
  4. 進行 Data Node 遷移(從 OpenSearch 2.4.0 遷移資料)

Docker Compose 架構變更

舊架構(5.0):

services:
  mongodb:
    image: mongo:5.0.13
  
  opensearch:
    image: opensearchproject/opensearch:2.4.0
  
  graylog:
    image: graylog/graylog:5.0

新架構(6.3):

services:
  mongodb:
    image: mongo:7.0
    volumes:
      - "mongodb_data:/data/db"
  
  datanode:
    image: graylog/graylog-datanode:6.3
    volumes:
      - "datanode_data:/var/lib/graylog-datanode/opensearch/data"
  
  graylog:
    image: graylog/graylog:6.3
    volumes:
      - "graylog_data:/usr/share/graylog/data/data"
      - "graylog_journal:/usr/share/graylog/data/journal"
      - ./docker-data/graylog/contentpacks:/usr/share/graylog/data/contentpacks

To be continued ...


上一篇
Day 25: 實作 Linux 日誌監控
系列文
從零開始的 graylog 探險26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言