部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)相关的知识,希望对你有一定的参考价值。

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)的主要内容,如果未能解决你的问题,请参考以下文章

如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)

ELK 完整部署和使用 - 每天5分钟玩转 Docker 容器技术(90)

ELK 完整部署和使用 - 每天5分钟玩转 Docker 容器技术(90)

部署 DevStack - 每天5分钟玩转 OpenStack(17)

日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术(87)

用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)