admin

Sentry 企业级数据安全解决方案 – Relay 配置选项

admin 安全防护 2023-01-02 367浏览 0

Sentry 企业级数据安全解决方案 – Relay 配置选项

Relay 的配置记录在文件 .relay/config.yml 中。要更改此位置,请将 –config 选项传递给任何 Relay 命令:

./relayrun--config/path/to/folder

所有配置 key 都是 snake_case。

Relay

以下记录了 Relay 的常规设置:

:String,default:managed,可能的值:managed,static,proxy和capture

控制Relay如何获取事件的项目配置。有关这些模式的详细说明,请参阅Relay模式。

relay.upstream

:String,default:https://sentry.io上游Relay或Sentry实例的完全限定URL。

Relay不会检查循环。不要将此选项设置为会导致事件循环回到此处的端点。

relay.host

String,default:Docker中0.0.0.0,否则127.0.0.1

elay应该绑定到的主机(网络接口)。示例:0.0.0.0

relay.port

:Integer,default:3000

为未加密的RelayHTTPserver绑定的端口。示例:3000

relay.tls_port

:Integer,optional

为加密RelayHTTPSserver绑定的可选端口。示例:3001

这是对port选项的补充:如果你在tls_port上设置了一个HTTPS服务器,那么port上的HTTPserver仍然存在。

relay.tls_identity_path

:String,optional

用于HTTPSserver的身份(DER-encodedPKCS12)的文件系统路径。在当前工作目录中评估相对路径。例如:relay_dev.pfx

relay.tls_identity_password

:String,optional

relay.tls_identity_path中PKCS12存档的密码。

HTTP

这些设置控制与网络相关的配置。

http.timeout

:Integer,default:5

上游请求的超时时间(以秒为单位)。

此超时涵盖从发送请求到接收响应头的时间。此超时既不包括连接过程和握手,也不包括读取响应正文。

:http.connection_timeout

:Integer,default:3

与上游建立连接的超时时间(以秒为单位)。

这包括SSL握手。当上游支持连接保持活动时,Relay重用连接。连接最多保留75秒,不活动保留15秒。

http.max_retry_interval

:Integer,default:60

失败请求重试之间的最大间隔(秒)。

http.host_header

:String,default:null

要发送到上游的自定义HTTPHostheader。

Caching(缓存)

这些设置可以微调项目状态的缓存。

cache.project_expiry

:Integer,default:300(5minutes)

项目配置的缓存超时(以秒为单位)。如果您使用"simpleproxymode",您的项目配置存储在本地文件中,则无关紧要。

cache.project_grace_period

:Integer,default:0(seconds)

在获取新状态时缓存到期后继续使用此项目配置的秒数。这是在cache.project_expiry和cache.miss_expiry之上添加的。

cache.relay_expiry

:Integer,default:3600(1hour)

下游Relay信息(公钥)的缓存超时(以秒为单位)。这仅在您计划将更多Relay连接到此Relay时才相关。

cache.envelope_expiry

:Integer,default:600(10minutes)

在网络问题或积压的情况下,Relay在其缓存中缓冲传入有效负载的最长时间。这适用于发送到Relay的所有类型的数据,包括事件、附件和会话。

另见cache.envelope_buffer_size。

cache.miss_expiry

:Integer,default:60(1minute)

不存在的条目的缓存超时。

cache.batch_interval

:Integer,default:60(1minute)

不存在的条目的缓存超时。

cache.batch_size

:Integer,default:500

一次从Sentry获取的最大项目配置数。

cache.file_interval

:Integer,default:10(10seconds)

监视本地缓存覆盖文件的时间间隔(以秒为单位)。

cache.envelope_buffer_size

:Integer,default:1000

在网络问题或积压的情况下缓冲的传入有效负载的最大数量。这适用于发送到Relay的所有类型的数据,包括事件、附件和会话。

另见cache.envelope_expiry。

cache.eviction_interval

:Integer,default:60(seconds)

从内存中驱逐过时的项目配置的时间间隔。

Size Limits(大小限制)

这些设置控制与 HTTP 相关的限制。所有值要么是整数,要么是人类可读的数字字符串和人类可读的单位,例如:

  • 500B
  • 1kB (1,000 bytes)
  • 1KB or 1KiB (1,024 bytes)
  • 1MB (1,000,000 bytes)
  • 1MiB (1,048,576 bytes)

limits.max_concurrent_requests

:Integer,default:100

上游的最大并发连接数。如果上游支持,Relay支持连接保活(keepalive)。

limits.max_concurrent_queries

:Integer,default:5

在Relay开始缓冲请求之前,可以同时从Relayupstream发送的最大查询数。查询是为了获取信息而向上游发出的所有请求,并明确地排除事件提交。

查询的并发性还受到max_concurrent_requests的限制。

limits.max_event_size

:String,default:1MiB

事件的最大负载大小。

limits.max_attachment_size

:String,default:50MiB

每个附件的最大大小。

limits.max_attachments_size

:String,default:50MiB

信封(envelope)或请求中所有附件的最大组合大小。

limits.max_envelope_size

:String,default:50MiB

整个信封的最大有效负载大小。个人限制仍然适用。

limits.max_session_count

:Integer,default:100

每个信封的最大会话项目数。

limits.max_api_payload_size

:String,default:20MiB

一般API请求的最大负载大小。

limits.max_api_file_upload_size

:String,default:40MiB

文件上传和块(chunks)的最大有效负载大小。

limits.max_api_chunk_upload_size

:String,default:100MiB

块的最大有效负载大小。

limits.max_thread_count

:Integer,default:numberofcpus

为每个CPU和WebWorker生成的最大线程数。

产生的线程总数大致为2*limits.max_thread_count+N,其中N是一组固定的管理线程。

limits.query_timeout

:Integer,default:30(seconds)

允许查询重试的最大秒数。单个请求的超时时间较短。

limits.max_connection_rate

:Integer,default:256

一次可以创建的与Relay的最大连接数。

limits.max_pending_connections

:Integer,default:2048

最大挂起连接到Relay的数量。这对应于POSIX中listen(2)的backlog参数。

limits.max_connections

:Integer:default:25_000

Relay打开的最大传入连接数。

limits.shutdown_timeout

:Integer,default:L10(seconds)

接收到关闭信号后等待挂起事件的最大秒数。

Logging(日志记录)

logging.level

:String,default:info

relay的日志级别。以下之一:

off
error
warn
info
debug
trace
在debug和trace级别,Relay会发出极其冗长的消息,这可能会对应用程序性能产生严重影响。

logging.log_failed_payloads

:boolean,default:false

将失败事件的完整事件负载记录到日志流中。

logging.format

:String,default:auto

控制日志格式。以下之一:

auto:自动检测(非常适合TTY,其他则简化)

pretty:带有颜色的人类可读格式

simplified:简化的人类可读日志输出

json:JSON记录,适用于日志软件

logging.enable_backtraces

:boolean,default:true

如果启用,将所有内部错误的跟踪写回日志流并将它们包含在Sentry错误中。

StatsD Metrics(统计指标)

metrics.statsd

String,optional

果设置为host/port字符串,则指标将报告给此StatsD实例。

metrics.prefix

:String,default:sentry.relay

应添加到所有指标的前缀。

metrics.default_tags

:Mapofstringstostrings,default:empty

一组应附加到所有传出StatsD指标的默认标签。

metrics.hostname_tag

:String,optional

如果设置,则添加给定名称的标签并将其设置为运行Relay的机器的hostname。此配置对于区分多个Relay很有用。

metrics.buffering

:boolean,default:true

在发送到StatsDserver之前是否会缓冲发出的指标。这通常会提高性能,但需要注意的是,在流量较低的情况下,指标可能需要多几秒钟才能传播。

metrics.sample_rate

:Float,default1.0

所有发出的指标的全局采样率。应该在0.0和1.0之间。如果超出该范围,该值将被归一化(负值将变为0.0,大于1.0的正值变为1.0)。例如,0.3的值意味着只有30%的已发出指标将被发送。请注意,实施的采样方法不知道指标类型,例如,当采样率小于1.0时,不会重新调整计数器值。

: Internal Error Reporting(内部错误报告)

为 Relay 中发生的错误配置错误报告。默认禁用。

sentry.enabled

:boolean,default:false

是否向单独的DSN报告内部错误。false表示不会发送内部错误,但仍会记录。

sentry.dsn

:String,optional

向其报告内部Relay故障的SentryDSN。

我们建议将其设置为不会向自身发送Relay错误的值。理想情况下,这个值应该直接向Sentry发送错误,而不是另一个Relay。

继续浏览有关 安全 的文章
发表评论