詳細內容請參考引用來源官方網站

印象中應該是在 graylog 6.x 後,官方導入了資料節點概念

最早在先前的系統架構是 graylog + MongoDB + OpenSearch/Elasticsearch

如今已經變成是 graylog + MongoDB + Data Node (OpenSearch) - 疑怎麼看起來沒變


每日收容Log量在10GB以下建議架構

架構圖參考

可以從架構圖中看出來建議部署的架構至少要2部以上,且官方的建議是要將 datanode 與 graylog 拆開建置

需要採哪種架構節點方式部署,官方也有指引可以評估每日需要收容的 log 量


每日收容Log量在100GB以下建議架構

多節點架構圖參考

多節點叢集部署架構示意圖


多節點叢集部署順序筆記

利用 Nginx 當做 Graylog 2個節點的負載平衡工具,建置 3個 MongoDB (其中 2個節點同時安裝 Graylog Server)及 3個 Datanode 於 nginx 設定檔中將 graylog 預計要收容的服務寫入設定檔中。 (/etc/nginx/nginx.conf)

stream {
	upstream syslog_name1 {
		server server_hostname1:port_number1;
		server server_hostname2:port_number1;
	}
	server {
		listen port_number1;
		proxy_pass syslog_name1;
		error_log /var/log/nginx/syslog_name1_error.log;
	}
}

有關 http port 部分,如法炮製。 寫入設定檔中。(/etc/nginx/conf.d/default.conf)

upstream graylog {
		server server_hostname1:9000;
		server server_hostname2:9000;
}
server {
		listen 80;
	location / {
			proxy_pass http://graylog;
	}
}

依據官方的建置文件,安裝 MongoDB, Datanode 及 Graylog Server 後,採虛擬機的複製,將 guest OS 複製到指定的節點數量。

注意複製將會使得系統產生的 node-id 重複,確認節點數量複製完成後需停止服務刪除 /etc/graylog/server/node-id and /etc/graylog/datanode/node-id 後,重啟服務生成 node-id


MongoDB 群集設定及認證機制確認

Graylog JVM 調整

依據官方的建置文件,建議將 Graylog Server/Data Node 設定為主機配置記憶體大小的一半

Graylog 搜尋結果量大於預設60秒超時配置

vim /etc/graylog/server/server.conf Elasticsearch_socker_timeout = 60s