(六)部署 Graylog 日志系統
Graylog 是與 ELK 可以相提并論的一款集中式日志管理方案,支持資料收集、檢索、可視化 Dashboard,本節將實踐用 Graylog 來管理 Docker 日志,
(1)Graylog 架構
Graylog 架構如下圖所示:

Graylog 負責接收來自各種設備和應用的日志,并為用戶提供 Web 訪問介面,
Elasticsearch 用于索引和保存 Graylog 接收到的日志,
MongoDB 負責保存 Graylog 自身的配置資訊,
與 ELK 一樣,Graylog 的部署方案很靈活,快速搭建一個 all-in-one 的環境對于學習很有益處;部署一個高可用高伸縮性的集群對于生成環境也是必要的,接下來我們將在容器環境下搭建 Graylog,
(2)部署 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 頁面,
(3)配置 Graylog
目前 Graylog 還沒法接收任何日志,我們需要配置一個 Input,點擊頂部選單 System -> Inputs,
Graylog 支持多種 Input 型別,與 Graylog 對接的 Docker logging driver 是 gelf,因此這里我們需要運行一個 GELF UDP 型別的 Input,
點擊 ===>launch new input

在 Node 串列中選擇 Graylog 容器, Title 命名為 docker GELF input, 其他保持默認值,其中 port 12201 即為前面啟動容器時映射到 Host 的埠,用于接收日志資料,
點擊===》save,Input 成功運行,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/245583.html
標籤:其他
