加载中

内置数据过滤器

APM Server 与托管摄取服务 (managed intake service)

在 Elastic Cloud Hosted 中,APM Server 接收来自 Elastic APM Agent 的数据并将其转换为 Elasticsearch 文档。而在 Elastic Cloud Serverless 中,实际上并没有运行 APM Server,而是由托管摄取服务 (managed intake service) 接收并转换数据。

内置数据过滤器允许您筛选或关闭以下类型数据的提取

数据类型 常见敏感数据
HTTP 标头 密码、信用卡号、授权信息等。
HTTP 主体 密码、信用卡号等。
个人数据 客户端 IP 地址和用户代理。
真实用户监控数据 访问的 URL、点击事件、用户浏览器错误、使用的资源等。
数据库语句 敏感的用户或业务信息

默认情况下,APM 代理会捕获 HTTP 请求和响应标头(包括 Cookie)。大多数 Elastic APM 代理都提供对 HTTP 标头字段进行净化(sanitize)的功能,包括 Cookie 和 application/x-www-form-urlencoded 数据(POST 表单字段)。查询字符串和捕获的请求主体(例如 application/json 数据)不会被净化。

默认的净化字段列表试图针对密码、信用卡号、授权等数据的常见字段名称,但可以根据您的数据进行自定义。这些敏感数据永远不会离开被插桩的服务。

此设置支持 中心化配置,这意味着无需重新部署服务即可更新净化字段列表

或者,您也可以完全禁用 HTTP 标头的捕获。此设置同样支持 中心化配置

默认情况下不记录 HTTP 请求的主体。请求主体通常包含密码或信用卡号等敏感数据,因此在启用此功能时请小心操作。

此设置支持 中心化配置,这意味着无需重新部署服务即可更新净化字段列表

默认情况下,APM Server 或托管的提取服务会捕获与追踪事件相关的一些个人数据

  • client.ip:客户端的 IP 地址。通常派生自传入请求的 HTTP 标头。client.ip 还与 geoip 处理器结合使用,以向追踪事件分配地理信息。要了解有关如何派生 client.ip 的更多信息,请参阅 派生传入请求的 client.ip 地址
  • user_agent:用户代理数据,包括客户端操作系统、设备名称、供应商和版本。

Capture personal data 设置为 false 可以关闭此类数据的捕获。

注意

此设置仅防止 APM Server 或托管的提取服务捕获已经提取的个人数据。它不会阻止此类数据出现在适用的提取日志中。有关在提取时编辑数据的说明,请参阅 APM 代理过滤器

保护用户数据非常重要。因此,可以通过 RUM 代理中的 disableInstrumentations 配置变量禁用单个 RUM 插桩。禁用的插桩不会产生任何跨度或事务。

禁用 配置值
HTTP 请求 fetchxmlhttprequest
页面加载指标(包括静态资源) page-load
浏览器上的 JavaScript 错误 error
用户点击事件,包括访问的 URL、鼠标点击和导航事件 eventtarget
单页应用路由更改 history

对于 SQL 数据库,APM 代理不会捕获预处理语句的参数。请注意,Elastic APM 目前不会尝试剥离常规语句的参数。不使用预处理语句会使您的代码容易受到 SQL 注入攻击,因此请务必使用预处理语句。

对于非 SQL 数据存储(例如 Elasticsearch 或 MongoDB),Elastic APM 会捕获查询的完整语句。对于插入或更新操作,不会存储完整的文档。要过滤或混淆非 SQL 数据库语句中的数据,或者完全移除该语句,可以设置提取节点管道。

某些代理提供额外的过滤和混淆选项

代理配置选项

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.