热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

Graylog是与ELK可以相提并论的一款集中式日志管理方案,支持数据收集、检索、可视化Dashboard。本节将实践用Graylog来管理Docker日志。Graylog架构Gr

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

技术分享


推荐阅读
author-avatar
昙檀禅潺_162
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有