收集的数据
查看 Sentry SDK 收集的数据。
Sentry 非常重视数据隐私,并且设置了默认设置以优先考虑数据安全,特别是在涉及个人身份信息 (PII) 数据时。当你将 Sentry SDK 添加到应用程序中时,允许它在应用程序运行期间收集数据并将其发送到 Sentry。
收集的数据类别和数据量取决于你在 Sentry SDK 中启用的集成。以下是 Sentry Python SDK 收集的数据类别列表:
默认情况下,Sentry SDK 不会发送任何 HTTP 头。即使启用了发送 HTTP 头,我们也有一个 拒绝列表,用于过滤包含敏感数据的任何头信息。
要开始发送 HTTP 头,请在 sentry_sdk.init()
调用中设置 send_default_pii=True
。
默认情况下,Sentry SDK 不会发送 cookies。Sentry 尝试移除包含敏感信息的任何 cookies(例如 Django 中的会话 ID 和 CSRF Token cookies)。
如果你想发送 cookies,请在 sentry_sdk.init()
调用中设置 send_default_pii=True
。
默认情况下,Sentry SDK 不会发送任何关于登录用户的信息(例如电子邮件地址、用户 ID 或用户名)。即使启用,你能够发送的登录用户信息类型取决于你在 Sentry SDK 中启用的集成。大多数集成不会发送任何用户信息。有些只会设置用户 ID,但有一些会设置用户 ID、用户名和电子邮件地址。
要开始发送登录用户的信息,请在 sentry_sdk.init()
调用中设置 send_default_pii=True
。
默认情况下,Sentry SDK 不会发送用户的 IP 地址。即使启用,是否能够发送用户的 IP 地址也将取决于你在 Sentry SDK 中启用的集成。大多数集成根本不会设置用户的 IP 地址。
要启用发送用户的 IP 地址,请在 sentry_sdk.init()
调用中设置 send_default_pii=True
。
传出和传入 HTTP 请求的完整请求 URL 始终会发送到 Sentry。根据你的应用程序,这可能包含 PII 数据。
传出和传入 HTTP 请求的完整请求查询字符串 始终会发送到 Sentry。根据你的应用程序,这可能包含 PII 数据。
传入 HTTP 请求的请求体可以发送到 Sentry。是否发送取决于请求体的类型和大小,如下所述:
- 请求体的类型:
- JSON 和表单体被发送
- 原始请求体始终被移除
- 请求体中的上传文件永远不会发送到 Sentry
- 请求体的大小: 有一个 "max_request_body_size" 选项,默认设置为
medium
。这意味着较大的请求体不会发送到 Sentry。
如果你想完全防止请求体发送到 Sentry,请将 max_request_body_size
设置为 "never"
。
当未处理的异常发送到 Sentry 时,会发送错误发生行周围的源代码快照。
要选择不将此源代码上下文发送到 Sentry,请将 include_source_context
设置为 False
。
当未处理的错误和异常发送到 Sentry 时,同时会发送错误发生时设置的局部变量的名称和值。
你可以通过在 sentry_sdk.init()
调用中设置 include_local_variables=False
来停止发送局部变量到 Sentry。
虽然 SQL 查询会发送到 Sentry,但完整的 SQL 查询(UPDATE app_user SET password='supersecret' WHERE id=1;
)及其参数的值永远不会发送。相反,会发送参数化版本的查询(UPDATE app_user SET password='%s' WHERE id=%s;
)。