接下來會花幾個篇幅來記錄如何對 Graylog 系統進行版本更新。
因為目前我實際在使用的 Graylog 版本為 5.0,希望能在有空的時候升級整個 Graylog 服務的版本,正好趁這次寫鐵人賽的時候實作這項任務。
Graylog 6.3 引入了 Data Node 架構,這是一個重大的架構變更。
Data Node 在 Graylog 架構中負責管理 OpenSearch,它允許 Graylog 管理搜尋後端,這樣就不需要單獨安裝和管理 OpenSearch。
重要變更:
在 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:
OpenSearch 2.4.0:
Graylog 5.0:
採用單階段升級方案:
舊架構(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 ...