减少存储

编辑

APM 数据的存储量取决于几个因素:您正在检测的服务数量、服务流量、代理和服务器设置以及您存储数据的时间长度。

以下是一些方法,您可以减少正在摄取的 APM 数据量或正在保留的数据量。

降低采样率
编辑

分布式跟踪可以生成大量数据。更多的数据可能意味着更高的成本和更多的噪声。采样旨在降低摄取的数据量和分析该数据所需的工作量。

请参阅 事务采样 以了解更多信息。

启用 span 压缩
编辑

在某些情况下,APM 代理可能会在事务中收集大量非常相似或相同的 span。这些重复的、相似的 span 通常不会提供额外的好处,特别是如果它们的持续时间非常短。Span 压缩将这些相似的 span 压缩成单个 span,从而保留重要信息,同时减少处理和存储开销。

请参阅 Span 压缩 以了解更多信息。

减少收集的堆栈跟踪信息
编辑

在某些情况下,Elastic APM 代理会收集 stacktrace 信息。这对于识别代码中的问题非常有帮助,但也会带来收集时的开销并增加存储使用量。

堆栈跟踪收集设置在每个代理中进行管理。

删除数据
编辑

您可能只想将数据保留一段时间。这可能意味着定期删除旧文档、删除为特定服务或客户收集的数据,或删除特定的索引。

根据您的使用情况,您可以删除数据

如果您想出于安全或隐私原因删除数据,请参阅 保护数据

使用索引生命周期管理 (ILM) 删除数据编辑

索引生命周期管理使您能够自动化如何随时间管理索引。您可以根据分片大小和性能要求等因素来制定操作。请参阅 索引生命周期管理 以了解更多信息。

删除匹配查询的数据编辑

您可以使用 按查询删除 API 删除所有匹配特定查询的 APM 文档。例如,要删除所有具有给定 service.name 的文档,请使用以下请求

POST /.ds-*-apm*/_delete_by_query
{
  "query": {
    "term": {
      "service.name": {
        "value": "old-service-name"
      }
    }
  }
}
使用 Kibana 索引管理删除数据编辑

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 代理配置中更改服务名称。