部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)
2017-11-10 07:46
1406 查看
Graylog 是与 ELK 可以相提并论的一款集中式日志管理方案,支持数据收集、检索、可视化 Dashboard。本节将实践用 Graylog 来管理 Docker 日志。
Graylog 负责接收来自各种设备和应用的日志,并为用户提供 Web 访问接口。Elasticsearch 用于索引和保存 Graylog 接收到的日志。MongoDB 负责保存 Graylog 自身的配置信息。与 ELK 一样,Graylog 的部署方案很灵活,快速搭建一个 all-in-one 的环境对于学习很有益处;部署一个高可用高伸缩性的集群对于生成环境也是必要的。接下来我们将在容器环境下搭建 Graylog。
docker run --name graylog-mongo -d mongo:3
Elasticsearch
用户名/密码 = admin/admin登录后显示
Graylog 支持多种 Input 类型,与 Graylog 对接的 Docker logging driver 是
点击
。
在
其他保持默认值,其中 port
,Input 成功运行。
Graylog 已经准备就绪,接下来就可以将容器的日志发送给 Graylog 了,下节继续。
书籍:1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html
Graylog 架构
Graylog 架构如下图所示:Graylog 负责接收来自各种设备和应用的日志,并为用户提供 Web 访问接口。Elasticsearch 用于索引和保存 Graylog 接收到的日志。MongoDB 负责保存 Graylog 自身的配置信息。与 ELK 一样,Graylog 的部署方案很灵活,快速搭建一个 all-in-one 的环境对于学习很有益处;部署一个高可用高伸缩性的集群对于生成环境也是必要的。接下来我们将在容器环境下搭建 Graylog。
部署 Graylog
Graylog 及其相关组件都将以容器的方式部署。MongoDBdocker 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 容器技术(92)
- 部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)
- 如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)
- 如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)
- 如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)
- 如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)
- 万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
- 部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)
- 万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
- Docker 如何支持多种日志方案?- 每天5分钟玩转 Docker 容器技术(88)
- 部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)
- 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)
- 部署 k8s Cluster(上)- 每天5分钟玩转 Docker 容器技术(118)
- 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)
- 部署 k8s Cluster(上)- 每天5分钟玩转 Docker 容器技术(118)
- DNS 访问微信h5鱼虾蟹系统搭建 Service - 每天5分钟玩转 Docker 容器技术(138)
- Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)
- ELK 完整部署和使用 - 每天5分钟玩转 Docker 容器技术(90)
- 如何部署 Calico 网络?- 每天5分钟玩转 Docker 容器技术(67)