Sentry 企业级数据安全解决方案 - Relay 操作指南

内容整理自官方文档
本篇回顾了我们在自托管外部使用 Relay 时的操作指南,即在您的硬件上运行的 Relay 并将事件转发到 sentry.io。
系列
- Sentry 企业级数据安全解决方案 - Relay 入门
- Sentry 企业级数据安全解决方案 - Relay 运行模式
- Sentry 企业级数据安全解决方案 - Relay 配置选项
- Sentry 企业级数据安全解决方案 - Relay 监控 & 指标收集
- Sentry 企业级数据安全解决方案 - Relay 项目配置
注意事项
我们建议使用官方提供的
Docker镜像(getsentry/Relay)运行 Relay,该镜像位于 DockerHub 上,并带有Git修订标识符,而不是从源代码构建。我们建议至少运行两个
Relay实例(容器),并在它们前面使用反向代理(例如 HAProxy 或 Nginx),以提高可用性并简化Relay更新。
系统要求和建议
以下建议假设 Relay 在 Docker 中运行。
| 资源 | 建议 |
|---|---|
| CPU |
|
| 内存 |
|
| 网络 |
|
| 存储 |
|
Relay 是一个多线程应用程序,它试图利用所有可用的 CPU 内核。 因此,Sentry 强烈建议在多核 CPU 上运行 Relay。如果您的设置预计每秒处理 100 个以上的请求,我们建议在至少四 (4) 个 CPU 内核上运行 Relay。
默认情况下,每个 Relay 实例将使用可用内核的总数来调整其线程池的大小。通过配置 limits.max_thread_count 来调整此行为。
示例配置
此示例配置设置基本日志记录和指标设置,以及更改默认并发级别。
---
relay:
# The upstream hostname is taken from any of your DSNs.
# Go to your Project Settings, and then to "Client Keys (DSN)" to see them.
upstream: https://___ORG_INGEST_DOMAIN___.
host: 0.0.0.0
port: 3000
logging:
level: info
format: json
metrics:
statsd: 127.0.0.1:8126
prefix: relay
limits:
# Base size of various internal thread pools. Defaults to the number of logical CPU cores
max_thread_count: 8
有关所有可用选项的详细说明,请参阅配置选项页面。
性能调优
Relay 提供了多种配置选项。与其他选项相比,更改某些选项对 Relay 的行为的影响更大。 以下列表列出了当您想要根据组织的环境和工作负载调整 Relay 时应首先检查的几个选项:
limits.max_concurrent_requests(default: 100)您的 Relay 实例可以发送到上游 (Sentry) 的并发请求数。如果您的事件量或 Sentry 的连接延迟很高,您可以增加此值以获得额外的吞吐量,尽管增加的代价是额外的网络连接。
cache.event_buffer_size(default: 1000)在开始拒绝新事件之前,Relay 可以在其本地队列中缓冲多少事件。例如,当网络问题阻止 Relay 将接收到的消息转发到 Sentry 时,增加此值也会增加 Relay 的潜在内存消耗。
cache.event_expiry(in seconds, default: 600)在丢弃事件之前,Relay 可以将缓冲的事件保留在内存中的时间。如果您预计 Relay 可能需要在内存中保留事件的时间比默认值长,则可以增加此值。
cache.project_expiry(in seconds, default: 300)为了保持正常运行,Relay 会定期从 Sentry 上游获取项目配置。此设置控制 Relay 获取该配置的频率。您可以减小此值以使配置传播更加频繁。例如,如果您稍后在 Sentry 的项目设置中更改数据清理选项,您的 Relay 实例将更快地意识到这些更改。
cache.project_grace_period(in seconds, default: 0)项目配置过期后仍可使用多长时间。当上游无法访问时,增加此值可能会有所帮助;例如,由于网络问题。
请求路由
SDK 在一组端点上与 Sentry 通信。 Relay 提供相同的 API 以成为无缝替代品。 这需要一组端点可以访问:
/api/<project-id>/envelope//api/<project-id>/minidump//api/<project-id>/security//api/<project-id>/store//api/<project-id>/unreal/
根据 SDK 或客户端,对这些端点的请求使用压缩内容编码(compressed content-encoding)或分块传输编码(chunked transfer-encoding)执行。 根据 Relay 前面的基础设施,请检查以下 HTTP 头设置是否正确:
Host: 到此 Relay 的公共主机名X-Forwarded-For: 到客户端 IP 地址X-Sentry-Auth: 客户端提供的值
代理通常为请求设置默认的最大 body 大小。尤其是原生崩溃报告和附件可能会超出这些限制。我们建议将最大客户端 body 大小配置为 100MB。
在内部,Relay 向已配置的上游发出请求以转发数据并检索项目配置。我们 强烈建议 不要限制这些请求。 目前,Relay 向以下端点发出请求以进行基本操作:
以上所有端点:
/api/0/relays/projectconfigs//api/0/relays/publickeys//api/0/relays/register/challenge//api/0/relays/register/response/
Sentry 企业级数据安全解决方案 - Relay 操作指南的更多相关文章
- Sentry 企业级数据安全解决方案 - Relay 运行模式
内容整理自官方开发文档 Relay 可以在几种主要模式之一下运行,如果您正在配置 Relay server 而不是使用默认设置,那么事先了解这些模式至关重要. 模式存储在配置文件中,该文件包含 rel ...
- Sentry 企业级数据安全解决方案 - Relay 配置选项
Relay 的配置记录在文件 .relay/config.yml 中.要更改此位置,请将 --config 选项传递给任何 Relay 命令: ❯ ./relay run --config /path ...
- Sentry 企业级数据安全解决方案 - Relay 监控 & 指标收集
内容整理自官方文档 系列 Sentry 企业级数据安全解决方案 - Relay 入门 Sentry 企业级数据安全解决方案 - Relay 运行模式 Sentry 企业级数据安全解决方案 - Rela ...
- Sentry 企业级数据安全解决方案 - Relay 项目配置
内容整理自官方文档 系列 Sentry 企业级数据安全解决方案 - Relay 入门 Sentry 企业级数据安全解决方案 - Relay 运行模式 Sentry 企业级数据安全解决方案 - Rela ...
- Sentry 企业级数据安全解决方案 - Relay PII 和数据清理
本文档描述了一种我们希望最终对用户隐藏的配置格式.该页面仍然存在的唯一原因是当前 Relay 接受这种格式以替代常规数据清理设置. 以下文档探讨了 Relay 使用和执行的高级数据清理配置的语法和语义 ...
- Sentry 企业级数据安全解决方案 - Relay 入门
内容整理自官方开发文档 Sentry Relay 通过提供作为应用程序和 sentry.io 之间中间层的独立服务来提供企业级数据安全性. Relay 专门设计用于: 在将个人身份信息 (PII) 发 ...
- 《Hadoop高级编程》之为Hadoop实现构建企业级安全解决方案
本章内容提要 ● 理解企业级应用的安全顾虑 ● 理解Hadoop尚未为企业级应用提供的安全机制 ● 考察用于构建企业级安全解决方案的方法 第10章讨论了Hadoop安全性以及Hado ...
- Foreman 企业级配置管理解决方案
Foreman 企业级配置管理解决方案 Foreman 企业级配置管理解决方案 笔记本 puppet foreman 构建运维体系 本文是构建运维体系的其中一个关键环节. 什么是 foreman Fo ...
- Oracle数据安全解决方案(1)——透明数据加密TDE
Oracle数据安全解决方案(1)——透明数据加密TDE2009年09月23日 22:49:00 华仔爱技术 阅读数:7991原文地址: http://www.oracle.com/technolog ...
随机推荐
- 虚拟机快照和linux基础命令
虚拟机快照 磁盘"快照"是虚拟机磁盘文件(VMDK)在某个点及时的副本.可以通过使用恢复到快照来保持磁盘文件和系统存储. 1.拍摄快照 拍摄快照前先关机,然后右键点击虚拟机=> ...
- 转:android相对布局
android相对布局 Activity布局初步 - 相对布局 1. 相对布局的基本概念 一个控件的位置它决定于它和其他控件的关系,好处:比较灵活:缺点:掌握比较复杂. 2. 相对布局常用属性介绍 这 ...
- MySQL基础之DML语句
DML 语句 DML(Data Manipulation Language)语句:数据操纵语句. 用途:用于添加.修改.删除和查询数据库记录,并检查数据完整性. 常用关键字:insert.update ...
- [BUUCTF]PWN——jarvisoj_test_your_memory
jarvisoj_test_your_memory 附件 步骤: 例行检查,32位程序,开启了nx保护 试运行一下程序,看看大概的情况 32位ida打开,习惯性的检索程序里的字符串,看到了有关flag ...
- Notepad++ 常用功能:批量取消替换换行、强制刷新数据
批量取消替换换行 换行批量替换成空格 Ctrl+F 打开查找替换窗口,使用:\r\n 替换成 空格,全部替换 强制刷新数据源,重新加载数据 快捷键:Ctrl+R 或者 Alt+F 然后 L 或者点击菜 ...
- py常用标准库
functools python3中增加了更多工具函数,做业务开发时大多情况下用不到,记录一个比较常用的,给函数或者对象初始化参数 partial函数(偏函数) 把一个函数的某些参数设置默认值,返回一 ...
- JAVA通过经纬度获取两点之间的距离
private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math ...
- Protobuf 动态加载 .proto 文件并操作 Message
Google Protocol Buffer 的常规用法需要使用 protoc 将 .proto 编译成 .pb.h 和 .pb.cc,这样做效率非常高,但是耦合性也很高.在某些追求通用性而不追求性能 ...
- qt5之使用QtXlsxWriter库
note Qt version: 5.12 platform: os x 10.15 本文将介绍直接使用QtXlsxWriter源码 准备 下载QtXlsxWriter 使用Qt Creator 创建 ...
- 【LeetCode】653. Two Sum IV - Input is a BST 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:BFS 方法二:DFS 日期 题目地址:ht ...