skywalking9.3.0源码中涉及到数据持久化到es7数据库的方法有哪些 具体流程是怎样的 es的文档写入api的具体位置和方法名都是什么
时间: 2024-05-19 21:11:14 浏览: 20
在SkyWalking 9.3.0中,涉及到数据持久化到ES7数据库的方法有:
1. Trace数据的写入:在org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.TraceEs7DAO类中,通过Elasticsearch High Level REST Client使用Index API将Trace数据写入到ES7中。
2. Metric数据的写入:在org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.MetricEs7DAO类中,通过Elasticsearch High Level REST Client使用Bulk API将Metric数据批量写入到ES7中。
具体流程如下:
1. 当SkyWalking收集到Trace或Metric数据时,会将数据传递给对应的DAO类。
2. DAO类通过Elasticsearch High Level REST Client连接到ES7,构建对应的IndexRequest或BulkRequest对象。
3. 将数据写入ES7。
4. 如果写入失败,则会进行重试。
ES的文档写入API的具体位置是https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.0/java-rest-high-document-index.html,方法名是index。
相关问题
skywalking9.3.0源码中涉及到数据持久化到es7数据库的方法有哪些 具体流程是怎样的
在 SkyWalking 9.3.0 中,涉及到数据持久化到 Elasticsearch 7 数据库的方法主要有以下几个:
1. Span 持久化到 Elasticsearch:在 skywalking-storage-query 模块的 org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.ElasticSearch7SpanQueryDAO 类中实现。具体流程为,将 Span 对象转换为 Elasticsearch 中的文档格式,然后使用 Elasticsearch 的 Bulk API 批量写入到 Elasticsearch 中。
2. Trace 持久化到 Elasticsearch:在 skywalking-storage-query 模块的 org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.ElasticSearch7TraceQueryDAO 类中实现。具体流程为,将 Trace 对象转换为 Elasticsearch 中的文档格式,然后使用 Elasticsearch 的 Bulk API 批量写入到 Elasticsearch 中。
3. Service 持久化到 Elasticsearch:在 skywalking-storage-query 模块的 org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.ElasticSearch7ServiceQueryDAO 类中实现。具体流程为,将 Service 对象转换为 Elasticsearch 中的文档格式,然后使用 Elasticsearch 的 Index API 写入到 Elasticsearch 中。
4. Endpoint 持久化到 Elasticsearch:在 skywalking-storage-query 模块的 org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.ElasticSearch7EndpointQueryDAO 类中实现。具体流程为,将 Endpoint 对象转换为 Elasticsearch 中的文档格式,然后使用 Elasticsearch 的 Index API 写入到 Elasticsearch 中。
总体来说,数据持久化到 Elasticsearch 的流程为:先将需要持久化的数据转换为 Elasticsearch 中的文档格式,然后使用 Elasticsearch 提供的 API 进行写入操作。其中,Span 和 Trace 的写入使用了 Elasticsearch 的批量写入 API,而 Service 和 Endpoint 的写入使用了 Elasticsearch 的单个文档写入 API。
SkyWalking 中如何将数据存储到Elasticsearch
SkyWalking 将数据存储到 Elasticsearch 的过程通常通过以下步骤完成:
1. 配置 Elasticsearch 后端存储:在 SkyWalking 的配置文件中,需要指定 Elasticsearch 的地址、端口以及其他相关配置。通过修改 `application.yml` 文件(或其他相关配置文件),将 Elasticsearch 设置为后端存储。
2. 启动 SkyWalking Collector:启动 SkyWalking Collector,它是负责数据收集和处理的组件。Collect