基于 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 文件配置。
延伸解读
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 访问并可视化日志数据。