日志对接 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 进行依赖,重启更新后使其生效。
-
可以尝试重启组件,确认所有的配置都生效了,再确认日志是否收集成功。