基于 Docker 搭建开发环境(二):EFK 日志套件

💡 原文中文,约9300字,阅读约需23分钟。
📝

内容提要

本文介绍如何使用 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 文件配置。

🔎

延伸解读

Elasticsearch 版本选择的影响

在搭建 EFK 日志套件时,选择 Elasticsearch 7.x 版本而非 8+ 版本是因为后者的安全策略限制了超级管理员的使用。这意味着在使用新版本时,可能会遇到更多的配置和权限问题,影响系统的稳定性和安全性。用户在选择版本时应考虑这些因素,确保系统的兼容性和安全性。

磁盘管理的重要性

文章中提到的磁盘过载问题及其解决方案强调了在使用 Elasticsearch 时,磁盘管理的重要性。合理设置磁盘使用阈值可以避免索引被设置为只读,从而影响日志的写入和查询。用户应定期监控磁盘使用情况,并根据实际需求调整阈值,以确保系统的正常运行。

Fluentd 插件安装的注意事项

在使用 Fluentd 进行日志传输时,安装 fluent-plugin-elasticsearch 插件是必不可少的。由于权限问题,建议使用 root 用户进行安装,以避免因权限不足导致的安装失败。用户在配置 Docker 容器时,应注意权限设置,确保插件能够顺利安装并正常运行。

延伸问答

如何使用 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 访问并可视化日志数据。

🏷️

标签

➡️

继续阅读