减少存储
编辑减少存储
编辑APM 数据的存储量取决于几个因素:您正在检测的服务数量、服务流量、代理和服务器设置以及您存储数据的时间长度。
以下是一些方法,您可以减少正在摄取的 APM 数据量或正在保留的数据量。
降低采样率
编辑分布式跟踪可以生成大量数据。更多的数据可能意味着更高的成本和更多的噪声。采样旨在降低摄取的数据量和分析该数据所需的工作量。
请参阅 事务采样 以了解更多信息。
启用 span 压缩
编辑在某些情况下,APM 代理可能会在事务中收集大量非常相似或相同的 span。这些重复的、相似的 span 通常不会提供额外的好处,特别是如果它们的持续时间非常短。Span 压缩将这些相似的 span 压缩成单个 span,从而保留重要信息,同时减少处理和存储开销。
请参阅 Span 压缩 以了解更多信息。
减少收集的堆栈跟踪信息
编辑在某些情况下,Elastic APM 代理会收集 stacktrace
信息。这对于识别代码中的问题非常有帮助,但也会带来收集时的开销并增加存储使用量。
堆栈跟踪收集设置在每个代理中进行管理。
删除数据
编辑您可能只想将数据保留一段时间。这可能意味着定期删除旧文档、删除为特定服务或客户收集的数据,或删除特定的索引。
根据您的使用情况,您可以删除数据
- 使用索引生命周期管理定期删除
- 匹配查询
- 使用 Kibana 索引管理 UI删除
如果您想出于安全或隐私原因删除数据,请参阅 保护数据。
索引生命周期管理使您能够自动化如何随时间管理索引。您可以根据分片大小和性能要求等因素来制定操作。请参阅 索引生命周期管理 以了解更多信息。
您可以使用 按查询删除 API 删除所有匹配特定查询的 APM 文档。例如,要删除所有具有给定 service.name
的文档,请使用以下请求
POST /.ds-*-apm*/_delete_by_query { "query": { "term": { "service.name": { "value": "old-service-name" } } } }
Kibana 的 索引管理 允许您管理集群的索引、数据流、索引模板等。
要打开索引管理,请在主菜单中找到堆栈管理,或使用全局搜索字段。选择数据流。选择要删除的数据流,然后单击删除数据流。
更新现有数据
编辑您可能想要更新已建立索引的文档。例如,如果您的服务名称设置不正确。
为此,您可以使用 按查询更新 API。要重命名服务,请发送以下请求
POST /.ds-*-apm*/_update_by_query?expand_wildcards=all { "query": { "term": { "service.name": { "value": "current-service-name" } } }, "script": { "source": "ctx._source.service.name = 'new-service-name'", "lang": "painless" } }
请记住同时在APM 代理配置中更改服务名称。