内置数据过滤器
编辑

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

数据类型 常见敏感数据

HTTP 标头

密码、信用卡号、授权等。

HTTP 主体

密码、信用卡号等。

个人数据

客户端 IP 地址和用户代理。

真实用户监控数据

访问的 URL、点击事件、用户浏览器错误、使用的资源等。

数据库语句

敏感的用户或业务信息

HTTP 标头编辑

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

默认的清理字段列表尝试针对与密码、信用卡号、授权等相关的数据的常用字段名称,但可以根据您的数据进行自定义。这些敏感数据永远不会离开已检测服务。

此设置支持中央配置,这意味着可以在不重新部署服务的情况下更新清理字段列表

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

HTTP 主体编辑

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

此设置支持中央配置,这意味着可以在不重新部署服务的情况下更新清理字段列表

个人数据编辑

默认情况下,APM 服务器会捕获与跟踪事件相关的一些个人数据

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

可以通过将 捕获个人数据 设置为 false 来关闭此数据的捕获。

真实用户监控数据编辑

保护用户数据非常重要。为此,可以使用 disableInstrumentations 配置变量在 RUM 代理中禁用各个 RUM 检测。禁用的检测不会生成任何跨度或事务。

禁用 配置值

HTTP 请求

fetchxmlhttprequest

页面加载指标(包括静态资源)

page-load

浏览器上的 JavaScript 错误

error

用户点击事件(包括访问的 URL、鼠标点击和导航事件)

eventtarget

单页应用程序路由更改

history

数据库语句编辑

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

对于非 SQL 数据存储(如 Elasticsearch 或 MongoDB),Elastic APM 会捕获查询的完整语句。对于插入或更新,不会存储完整文档。要过滤或模糊非 SQL 数据库语句中的数据,或完全删除语句,您可以设置摄取节点管道。

特定于代理的选项编辑

某些代理提供其他过滤和模糊选项

代理配置选项

  • (Node.js)删除服务器端进程引发的错误:使用 captureExceptions 禁用。
  • (Java)从事务中删除进程参数:默认情况下使用 include_process_args 禁用。