日志对接 ELK 体系

    本文档适合的场景是:将运行于 Rainbond 的服务组件的日志通过,对接 ELK 体系进行日志收集与分析。

    • 通过应用市场一键安装的 elasticsearch_kibana 应用。
    • 团队中有fileBeat日志收集插件默认插件。

    以 Nginx 服务组件日志的收集为例,通过fileBeat日志收集插件,将 Nginx 的访问日志、错误日志上报 ElasticSearch,并通过 Kibana 展示。

    连接 ELK

    需要将 Nginx 组件依赖 Elasticsearch 和 Kibana,使 Nginx组件可以通过fileBeat日志收集插件默认配置的方式将日志推送到 ElasticSearch 中。

    在团队视图中的我的插件页面中,选择,点击安装,安装完成后,组件才可以使用该插件。

    参数配置

    可以点击该插件右侧的查看配置按钮,查看该插件的配置参数信息。

    插件收集日志需要共享组件的日志文件目录,需要将组件的日志文件目录共享给插件。可以通过挂载存储进行实现。

    在组件管理页面的存储页面,添加临时存储类型的存储,挂载路径填写组件会产生日志文件的路径。如 /var/log/nginx

    了解原理

    FileBeat 通过类似于 tail -f sth.log 的方式,监控日志输出并上传到指定的 Elasticsearch。运行于 Rainbond 的服务组件,可以通过将日志目录持久化的方式,将日志文件和插件共享。通过这样的机制,基于 FileBeat 制作的插件,就可以监视到 Nginx 的日志。插件中的配置,是为了确定日志路径、以及指定 Elasticsearch、Kibana 的连接地址。

    • 组件未依赖 Elasticsearch 和 Kibana 导致收集不到日志

      可以在组件管理页面的依赖页面,选择从应用市场安装的 Elasticsearch 和 Kibana 进行依赖,重启更新后使其生效。

    • 可以尝试重启组件,确认所有的配置都生效了,再确认日志是否收集成功。