Sentry 企業(yè)級(jí)數(shù)據(jù)安全解決方案 - Relay 配置選項(xiàng)
Relay 的配置記錄在文件 .relay/config.yml 中。要更改此位置,請(qǐng)將 --config 選項(xiàng)傳遞給任何 Relay 命令:
- ./relay run --config /path/to/folder
所有配置 key 都是 snake_case。
Relay
以下記錄了 Relay 的常規(guī)設(shè)置:
- : String, default: managed, 可能的值: managed, static, proxy 和 capture
- 控制 Relay 如何獲取事件的項(xiàng)目配置。有關(guān)這些模式的詳細(xì)說(shuō)明,請(qǐng)參閱 Relay模式。
relay.upstream
- : String, default: https://sentry.io 上游 Relay 或 Sentry 實(shí)例的完全限定 URL。
- Relay 不會(huì)檢查循環(huán)。不要將此選項(xiàng)設(shè)置為會(huì)導(dǎo)致事件循環(huán)回到此處的端點(diǎn)。
relay.host
- String, default: Docker 中 0.0.0.0, 否則 127.0.0.1
- elay 應(yīng)該綁定到的主機(jī)(網(wǎng)絡(luò)接口)。示例:0.0.0.0
relay.port
- : Integer, default: 3000
- 為未加密的 Relay HTTP server 綁定的端口。示例:3000
relay.tls_port
- : Integer, optional
- 為加密 Relay HTTPS server 綁定的可選端口。示例:3001
- 這是對(duì) port 選項(xiàng)的補(bǔ)充:如果你在 tls_port 上設(shè)置了一個(gè) HTTPS 服務(wù)器,那么 port 上的 HTTP server 仍然存在。
relay.tls_identity_path
- : String, optional
- 用于 HTTPS server 的身份(DER-encoded PKCS12)的文件系統(tǒng)路徑。在當(dāng)前工作目錄中評(píng)估相對(duì)路徑。例如:relay_dev.pfx
relay.tls_identity_password
- : String, optional
- relay.tls_identity_path 中 PKCS12 存檔的密碼。
HTTP
這些設(shè)置控制與網(wǎng)絡(luò)相關(guān)的配置。
http.timeout
- : Integer, default: 5
- 上游請(qǐng)求的超時(shí)時(shí)間(以秒為單位)。
- 此超時(shí)涵蓋從發(fā)送請(qǐng)求到接收響應(yīng)頭的時(shí)間。此超時(shí)既不包括連接過(guò)程和握手,也不包括讀取響應(yīng)正文。
:http.connection_timeout
- : Integer, default: 3
- 與上游建立連接的超時(shí)時(shí)間(以秒為單位)。
- 這包括 SSL 握手。當(dāng)上游支持連接保持活動(dòng)時(shí),Relay 重用連接。連接最多保留 75 秒,不活動(dòng)保留 15 秒。
http.max_retry_interval
- : Integer, default: 60
- 失敗請(qǐng)求重試之間的最大間隔(秒)。
http.host_header
- : String, default: null
- 要發(fā)送到上游的自定義 HTTP Host header。
Caching(緩存)
這些設(shè)置可以微調(diào)項(xiàng)目狀態(tài)的緩存。
cache.project_expiry
- : Integer, default: 300 (5 minutes)
- 項(xiàng)目配置的緩存超時(shí)(以秒為單位)。如果您使用 "simple proxy mode",您的項(xiàng)目配置存儲(chǔ)在本地文件中,則無(wú)關(guān)緊要。
cache.project_grace_period
- : Integer, default: 0 (seconds)
- 在獲取新狀態(tài)時(shí)緩存到期后繼續(xù)使用此項(xiàng)目配置的秒數(shù)。這是在 cache.project_expiry 和 cache.miss_expiry 之上添加的。
cache.relay_expiry
- : Integer, default: 3600 (1 hour)
- 下游 Relay 信息(公鑰)的緩存超時(shí)(以秒為單位)。這僅在您計(jì)劃將更多 Relay 連接到此 Relay 時(shí)才相關(guān)。
cache.envelope_expiry
- : Integer, default: 600 (10 minutes)
- 在網(wǎng)絡(luò)問(wèn)題或積壓的情況下,Relay 在其緩存中緩沖傳入有效負(fù)載的最長(zhǎng)時(shí)間。這適用于發(fā)送到 Relay 的所有類型的數(shù)據(jù),包括事件、附件和會(huì)話。
- 另見 cache.envelope_buffer_size。
cache.miss_expiry
- : Integer, default: 60 (1 minute)
- 不存在的條目的緩存超時(shí)。
cache.batch_interval
- : Integer, default: 60 (1 minute)
- 不存在的條目的緩存超時(shí)。
cache.batch_size
- : Integer, default: 500
- 一次從 Sentry 獲取的最大項(xiàng)目配置數(shù)。
cache.file_interval
- : Integer, default: 10 (10 seconds)
- 監(jiān)視本地緩存覆蓋文件的時(shí)間間隔(以秒為單位)。
cache.envelope_buffer_size
- : Integer, default: 1000
- 在網(wǎng)絡(luò)問(wèn)題或積壓的情況下緩沖的傳入有效負(fù)載的最大數(shù)量。這適用于發(fā)送到 Relay 的所有類型的數(shù)據(jù),包括事件、附件和會(huì)話。
- 另見 cache.envelope_expiry。
cache.eviction_interval
- : Integer, default: 60 (seconds)
- 從內(nèi)存中驅(qū)逐過(guò)時(shí)的項(xiàng)目配置的時(shí)間間隔。
Size Limits(大小限制)
這些設(shè)置控制與 HTTP 相關(guān)的限制。所有值要么是整數(shù),要么是人類可讀的數(shù)字字符串和人類可讀的單位,例如:
- 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
- 上游的最大并發(fā)連接數(shù)。如果上游支持,Relay 支持連接?;?keepalive)。
limits.max_concurrent_queries
- : Integer, default: 5
- 在 Relay 開始緩沖請(qǐng)求之前,可以同時(shí)從 Relay upstream 發(fā)送的最大查詢數(shù)。查詢是為了獲取信息而向上游發(fā)出的所有請(qǐng)求,并明確地排除事件提交。
- 查詢的并發(fā)性還受到 max_concurrent_requests 的限制。
limits.max_event_size
- : String, default: 1MiB
- 事件的最大負(fù)載大小。
limits.max_attachment_size
- : String, default: 50MiB
- 每個(gè)附件的最大大小。
limits.max_attachments_size
- : String, default: 50MiB
- 信封(envelope)或請(qǐng)求中所有附件的最大組合大小。
limits.max_envelope_size
- : String, default: 50MiB
- 整個(gè)信封的最大有效負(fù)載大小。個(gè)人限制仍然適用。
limits.max_session_count
- : Integer, default: 100
- 每個(gè)信封的最大會(huì)話項(xiàng)目數(shù)。
limits.max_api_payload_size
- : String, default: 20MiB
- 一般 API 請(qǐng)求的最大負(fù)載大小。
limits.max_api_file_upload_size
- : String, default: 40MiB
- 文件上傳和塊(chunks)的最大有效負(fù)載大小。
limits.max_api_chunk_upload_size
- : String, default: 100MiB
- 塊的最大有效負(fù)載大小。
limits.max_thread_count
- : Integer, default: number of cpus
- 為每個(gè) CPU 和 Web Worker 生成的最大線程數(shù)。
- 產(chǎn)生的線程總數(shù)大致為 2 * limits.max_thread_count + N,其中 N 是一組固定的管理線程。
limits.query_timeout
- : Integer, default: 30 (seconds)
- 允許查詢重試的最大秒數(shù)。單個(gè)請(qǐng)求的超時(shí)時(shí)間較短。
limits.max_connection_rate
- : Integer, default: 256
- 一次可以創(chuàng)建的與 Relay 的最大連接數(shù)。
limits.max_pending_connections
- : Integer, default: 2048
- 最大掛起連接到 Relay 的數(shù)量。這對(duì)應(yīng)于 POSIX 中 listen(2) 的 backlog 參數(shù)。
limits.max_connections
- : Integer: default: 25_000
- Relay 打開的最大傳入連接數(shù)。
limits.shutdown_timeout
- : Integer, default:L 10 (seconds)
- 接收到關(guān)閉信號(hào)后等待掛起事件的最大秒數(shù)。
Logging(日志記錄)
logging.level
- : String, default: info
- relay 的日志級(jí)別。以下之一:
- off
- error
- warn
- info
- debug
- trace
- 在 debug 和 trace 級(jí)別,Relay 會(huì)發(fā)出極其冗長(zhǎng)的消息,這可能會(huì)對(duì)應(yīng)用程序性能產(chǎn)生嚴(yán)重影響。
logging.log_failed_payloads
- : boolean, default: false
- 將失敗事件的完整事件負(fù)載記錄到日志流中。
logging.format
- : String, default: auto
- 控制日志格式。以下之一:
- auto: 自動(dòng)檢測(cè)(非常適合 TTY,其他則簡(jiǎn)化)
- pretty: 帶有顏色的人類可讀格式
- simplified: 簡(jiǎn)化的人類可讀日志輸出
- json: JSON 記錄,適用于日志軟件
logging.enable_backtraces
- : boolean, default: true
- 如果啟用,將所有內(nèi)部錯(cuò)誤的跟蹤寫回日志流并將它們包含在 Sentry 錯(cuò)誤中。
StatsD Metrics(統(tǒng)計(jì)指標(biāo))
metrics.statsd
- String, optional
- 果設(shè)置為 host/port 字符串,則指標(biāo)將報(bào)告給此 StatsD 實(shí)例。
metrics.prefix
- : String, default: sentry.relay
- 應(yīng)添加到所有指標(biāo)的前綴。
metrics.default_tags
- : Map of strings to strings, default: empty
- 一組應(yīng)附加到所有傳出 StatsD 指標(biāo)的默認(rèn)標(biāo)簽。
metrics.hostname_tag
- : String, optional
- 如果設(shè)置,則添加給定名稱的標(biāo)簽并將其設(shè)置為運(yùn)行 Relay 的機(jī)器的 hostname。此配置對(duì)于區(qū)分多個(gè) Relay 很有用。
metrics.buffering
- : boolean, default: true
- 在發(fā)送到 StatsD server 之前是否會(huì)緩沖發(fā)出的指標(biāo)。這通常會(huì)提高性能,但需要注意的是,在流量較低的情況下,指標(biāo)可能需要多幾秒鐘才能傳播。
metrics.sample_rate
- : Float, default 1.0
- 所有發(fā)出的指標(biāo)的全局采樣率。應(yīng)該在 0.0 和 1.0 之間。如果超出該范圍,該值將被歸一化(負(fù)值將變?yōu)?nbsp;0.0,大于 1.0 的正值變?yōu)?nbsp;1.0)。例如,0.3 的值意味著只有 30% 的已發(fā)出指標(biāo)將被發(fā)送。請(qǐng)注意,實(shí)施的采樣方法不知道指標(biāo)類型,例如,當(dāng)采樣率小于 1.0 時(shí),不會(huì)重新調(diào)整計(jì)數(shù)器值。
: Internal Error Reporting(內(nèi)部錯(cuò)誤報(bào)告)
為 Relay 中發(fā)生的錯(cuò)誤配置錯(cuò)誤報(bào)告。默認(rèn)禁用。
sentry.enabled
- : boolean, default: false
- 是否向單獨(dú)的 DSN 報(bào)告內(nèi)部錯(cuò)誤。false 表示不會(huì)發(fā)送內(nèi)部錯(cuò)誤,但仍會(huì)記錄。
sentry.dsn
- : String, optional
- 向其報(bào)告內(nèi)部 Relay 故障的 Sentry DSN。
- 我們建議將其設(shè)置為不會(huì)向自身發(fā)送 Relay 錯(cuò)誤的值。理想情況下,這個(gè)值應(yīng)該直接向 Sentry 發(fā)送錯(cuò)誤,而不是另一個(gè) Relay。