基于 Docker 搭建开发环境(二):EFK 日志套件
内容提要
本文介绍如何使用 Docker 搭建 EFK 日志套件,将 NACOS 日志接入 Elasticsearch。由于 Elasticsearch 8+ 的安全策略限制,选择 7.x 版本进行演示。解决磁盘过载问题的方法包括调整磁盘使用阈值。Fluentd 用于传输日志,需要安装 fluent-plugin-elasticsearch 插件,并通过 root 用户权限解决安装问题。配置完成后,使用 Kibana 可视化日志数据。提供了完整的 docker-compose.yml 文件配置。
关键要点
-
使用 Docker 搭建 EFK 日志套件,将 NACOS 日志接入 Elasticsearch。
-
选择 Elasticsearch 7.x 版本进行演示,因 8+ 版本的安全策略限制。
-
设置 Elasticsearch 超级管理员 elastic 的账户密码时,纯数字密码需用引号括起来。
-
解决磁盘过载问题的方法包括调整磁盘使用阈值。
-
使用 Fluentd 传输日志,需要安装 fluent-plugin-elasticsearch 插件。
-
通过 root 用户权限解决插件安装问题。
-
配置完成后,使用 Kibana 可视化日志数据。
-
提供完整的 docker-compose.yml 文件配置。
延伸问答
如何使用 Docker 搭建 EFK 日志套件?
可以通过 Docker 搭建 EFK 日志套件,将 NACOS 日志接入 Elasticsearch,使用 Fluentd 进行日志传输,并通过 Kibana 可视化日志数据。
为什么选择 Elasticsearch 7.x 版本而不是 8+?
选择 Elasticsearch 7.x 版本是因为 8+ 版本的安全策略限制,导致 Kibana 无法使用超级管理员 elastic 连接 Elasticsearch。
如何解决 Elasticsearch 的磁盘过载问题?
可以通过调整磁盘使用阈值来解决磁盘过载问题,例如设置高水位线为 90%,低水位线为 85%。
Fluentd 如何传输 NACOS 日志到 Elasticsearch?
Fluentd 通过配置文件指定 NACOS 日志的来源和去向,使用 elasticsearch 插件将日志发送到 Elasticsearch。
在安装 Fluentd 插件时遇到权限问题,如何解决?
可以通过在 docker-compose.yml 中增加 user: root 配置,使用 root 用户来运行容器,从而解决权限问题。
如何使用 Kibana 可视化日志数据?
在 Kibana 中配置 Elasticsearch 的网址、账户和密码后,可以启动 Kibana 访问并可视化日志数据。