部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)
部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)
原創 CloudMan CloudMan 2017-11-10
第92篇
部署 Graylog 日誌系統
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 容器技術(93)Docker
- Kubernetes 叢集日誌管理 - 每天5分鐘玩轉 Docker 容器技術(180)Docker
- 每天5分鐘玩轉Docker容器技術(二)Docker
- 【Docker】(9)---每天5分鐘玩轉 Docker 容器技術之映象Docker
- Kubernetes Dashboard - 每天5分鐘玩轉 Docker 容器技術(173)Docker
- 回收 PV - 每天5分鐘玩轉 Docker 容器技術(152)Docker
- Network Policy - 每天5分鐘玩轉 Docker 容器技術(171)Docker
- Prometheus Operator - 每天5分鐘玩轉 Docker 容器技術(177)PrometheusDocker
- PV & PVC - 每天5分鐘玩轉 Docker 容器技術(150)Docker
- ELK 完整部署和使用 - 每天5分鐘玩轉 Docker 容器技術(90)Docker
- 外部 Storage Provider - 每天5分鐘玩轉 Docker 容器技術(149)IDEDocker
- Liveness 探測 - 每天5分鐘玩轉 Docker 容器技術(143)Docker
- Helm 架構 - 每天5分鐘玩轉 Docker 容器技術(161)架構Docker
- 再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術MySqlDocker
- 什麼是 stack?- 每天5分鐘玩轉 Docker 容器技術(111)Docker
- MySQL 使用 PV 和 PVC - 每天5分鐘玩轉 Docker 容器技術(154)MySqlDocker
- 通過 Service 訪問 Pod - 每天5分鐘玩轉 Docker 容器技術(136)Docker
- 用 Weave Scope 監控叢集 - 每天5分鐘玩轉 Docker 容器技術(175)Docker
- 在滾動更新中使用 Health Check - 每天5分鐘玩轉 Docker 容器技術(146)Docker
- 萬能資料收集器 Fluentd - 每天5分鐘玩轉 Docker 容器技術(91)Docker
- 用 k8s 管理機密資訊 - 每天5分鐘玩轉 Docker 容器技術(155)K8SDocker
- docker筆記48-部署EFK日誌系統Docker筆記
- Docker 容器日誌分析Docker
- Docker容器與虛擬化技術:OpenEuler 部署 docker容器應用Docker
- docker 容器日誌清理方案Docker
- docker檢視容器日誌命令Docker
- 分散式日誌元件GrayLog入門分散式元件
- Centos部署Loki日誌聚合系統CentOSLoki
- 部署Sentry日誌監控系統
- Docker容器日誌管理最佳實踐Docker
- Docker--容器技術Docker
- docker容器技術原理Docker
- 玩轉docker之自定義PHP容器DockerPHP
- ELK 日誌分析系統 ----------- 部署ElasticSearch群集Elasticsearch
- 探秘Kubernetes:在本地環境中玩轉容器技術
- docker容器技術基礎之聯合檔案系統OverlayFSDocker
- Docker技術( 容器虛擬化技術 )Docker
- Docker應用容器日誌資訊收集Docker