ELK日志监控平台的基本概念和组成
1.什么是ELK日志监控平台
- ELK日志监控平台是一个开源的实时日志分析平台,主要由Elasticsearch、Logstash和Kibana三个组件组成。
- Elasticsearch(ES):一个分布式的Restful风格的搜索和数据分析引擎,支持全文搜索、结构化搜索以及分析,并且具有速度快、可扩展性强、弹性好、灵活度高等特点。
- Logstash:一个开源数据收集引擎,具有实时管道功能,能够动态地将来自不同数据源的数据统一起来,并将数据标准化到所选择的目的地。Logstash收集数据的过程主要分为输入、过滤器和输出三个部分。
- Kibana:一个基于浏览器的界面,用于快速创建和分享动态数据仪表板,以追踪Elasticsearch的实时数据变化。Kibana可以使海量数据通俗易懂,并且搭建过程简单。
2.ELK日志监控平台的工作原理和流程
- 日志采集:Logstash作为Shipper角色,部署在产生日志的服务上,负责采集服务产生的日志文件,并将消息推送到消息队列(如Redis)。
- 日志处理:另一台服务器上部署的Logstash作为Indexer角色,从消息队列中读取数据,经过Filter的解析和处理后,输出到Elasticsearch集群中存储。
- 日志存储:Elasticsearch主副节点之间数据同步,确保日志数据的可靠性和完整性。
- 日志分析:Kibana读取Elasticsearch中的日志数据,并在Web页面上展示,用户可以通过Kibana进行日志搜索、分析和可视化操作。
ELK服务端安装
docker compose安装ELK
1 | version: "3.0" |
logstash配置文件
1 | logstash.yml 改配置可省略 |
运行
1 | docker compose up -d |
应用端调整
1 | spring boot版本3.4.1 |
**效果**需要安装分词插件才支持分词