1. 程式人生 > >部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)

部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)

docker 教程 容器

Graylog 是與 ELK 可以相提並論的一款集中式日誌管理方案,支持數據收集、檢索、可視化 Dashboard。本節將實踐用 Graylog 來管理 Docker 日誌。

Graylog 架構

Graylog 架構如下圖所示:

技術分享

Graylog 負責接收來自各種設備和應用的日誌,並為用戶提供 Web 訪問接口。

Elasticsearch 用於索引和保存 Graylog 接收到的日誌。

MongoDB 負責保存 Graylog 自身的配置信息。

與 ELK 一樣,Graylog 的部署方案很靈活,快速搭建一個 all-in-one 的環境對於學習很有益處;部署一個高可用高伸縮性的集群對於生成環境也是必要的。

接下來我們將在容器環境下搭建 Graylog。

部署 Graylog

Graylog 及其相關組件都將以容器的方式部署。

MongoDB
docker run --name graylog-mongo -d mongo:3

Elasticsearch

docker run --name graylog-elasticsearch -d elasticsearch:2 elasticsearch -Des.cluster.name="graylog"

Graylog

docker run --link graylog-mongo:mongo            --link graylog-elasticsearch:elasticsearch            -p 9000:9000            -p 12201:12201/udp            -e GRAYLOG_WEB_ENDPOINT_URI="http://192.168.56.101:9000/api"            -e GRAYLOG_PASSWORD_SECRET=somepasswordpepper            -e GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918            -d graylog2/server

--link 參數讓 Graylog 容器能夠用主機名 mongo elasticsearch 訪問 MongoDB 和 Elasticsearch 的服務。

-p 9000:9000 映射 Graylog 的 Web 服務端口 9000。

-p 12201:12201/udp 映射 Graylog 接收日誌數據的 UDP 端口 12201。

GRAYLOG_WEB_ENDPOINT_URI 指定 Graylog 的 Web 訪問 URI,請註意這裏需要使用 Docker Host 的外部 IP(在實驗環境中為 192.168.56.101)。

GRAYLOG_ROOT_PASSWORD_SHA2 指定 Graylog 管理員用戶密碼的哈希值,在這個例子中密碼為 admin。可以通過如下命令生成自己的密碼哈希,比如:

echo -n yourpassword | shasum -a 256

容器啟動後,在 Web 瀏覽器中訪問 http://[Docker Host IP]:9000

技術分享

用戶名/密碼 = admin/admin

登錄後顯示 Getting Started 頁面。

技術分享

配置 Graylog

目前 Graylog 還沒法接收任何日誌,我們需要配置一個 Input,點擊頂部菜單 System -> Inputs

技術分享

Graylog 支持多種 Input 類型,與 Graylog 對接的 Docker logging driver 是 gelf,因此這裏我們需要運行一個 GELF UDP 類型的 Input。

技術分享

點擊 技術分享

技術分享

Node 列表中選擇 Graylog 容器。
Title 命名為 docker GELF input
其他保持默認值,其中 port 12201 即為前面啟動容器時映射到 Host 的端口,用於接收日誌數據。

點擊技術分享,Input 成功運行。

技術分享

Graylog 已經準備就緒,接下來就可以將容器的日誌發送給 Graylog 了,下節繼續。

書籍:

1.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

2.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html

技術分享

部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)