Sentry-监控 (sentry翻译成中文)

教程大全 2025-07-18 09:21:50 浏览

自托管 Sentry

除了公开提供其源代码外,Sentry 还提供并维护了一个最小的设置,可以为简单的用例开箱即用。该存储库还可以作为各种 Sentry 服务如何连接以进行完整设置的蓝图,这对于愿意维护更大安装的人很有用。为简单起见,我们为此选择使用 Docker 和 Docker Compose, 以及基于 bash 的安装和升级脚本。

入门

我们的建议是下载自托管存储库的最新版本, 然后在此目录中运行 ./install.sh。这个脚本会处理你开始需要的所有事情,包括一个 base-line 配置, 然后会告诉你运行 docker-compose up -d 来启动 Sentry。 Sentry 默认绑定到端口 9000。您应该能够访问上的登录页面。

配置

您很可能希望调整 Sentry 的默认配置。这些设施可用于此目的:

sentry/config.yml — 包含大多数(如果不是全部)要调整的配置选项。这个文件是在安装时从 sentry/config.example.yml 生成的。该文件本身将最常见的配置选项记录为代码注释。此文件中的一些常用设置包括:

sentry/sentry.conf.py—包含更高级的配置。这个文件是在安装过程中从 sentry/sentry.conf.example.py 生成的。

环境变量—可用的 Key 在 .env 中定义。如果您需要覆盖任何环境变量,请使用一些与系统相关的方法来设置环境变量。为避免 Git 更改,只需创建一个名为 .env.custom 的文件并在其中插入与系统相关的环境变量。为了使用它,请使用 docker-compose –env-file /path/to/.env.custom up -d。

GeoloCation 使用自定义配置文件来符合底层技术。

注意:更改配置后,您需要通过运行 docker-compose restart web worker cron sentry-cleanup(或仅 docker-compose restart 重新启动所有内容)来重新启动所有 Sentry 服务。

配置特定主题

以下是与自托管相关的特定配置主题的更多信息:

产品化

我们强烈建议在绑定到专用域或子域的 Sentry 设置前使用专用负载均衡器。一个执行 SSL/TLS 终止的专用负载平衡器也将客户端 IP 地址转发为 Docker Compose 内部网络 (因为这几乎不可能以其他方式获得)将为您提供最佳的 Sentry 体验。作为此设置的一部分,我们建议使用 HTTP 协议针对 /_health/ 端点配置负载均衡器运行状况检查。如果 Sentry 启动,这将返回 200 或带有问题列表的 500。

请记住,所有这些设置都对所有服务使用单节点,包括 Kafka。对于更大的负载,您需要一台具有大量 RAM 和磁盘存储空间的强大机器。为了进一步扩展,您很可能会使用带有更复杂工具(例如 Kubernetes)的集群。由于自托管安装的自定义性质,我们不提供任何有关扩展的建议或指导。

自托管发布和升级

Sentry 减少了自托管的定期发布,以使其尽可能接近 sentry.io。我们决定遵循使用 CalVer 版本控制方案的月度发布计划。 每个月的 15 号发布一个新版本,并在必要时进行后续发布。您可以在我们自托管存储库的发布部分 找到最新版本。

为什么选择 CalVer?

升级

我们鼓励每个人定期更新他们的 Sentry 安装以获得最佳和最新的 Sentry 体验。

要升级,您需要做的就是下载或检查您想要的自托管存储库的版本,用该版本替换现有文件夹的内容,然后运行 ./install.sh。

配置更新

我们可能有一些更新的配置,特别是对于新功能,因此请始终检查 sentry 目录下的示例配置文件,看看是否需要更新现有配置。我们尽最大努力自动化关键配置更新,但您应该始终在升级期间检查您的配置。

在开始升级之前,我们关闭了所有服务,然后运行了一些数据迁移,因此预计会有一些停机时间。有一个实验性的 –minimize-downtime 选项可以减少升级期间的停机时间。使用它的风险由您自己承担,并查看它在其中实施的PR以获取更多信息。

从早期版本升级时,您需要经历一些困难。请阅读下面的 难点 部分以获取列表。

难点

我们有三个难点,您需要通过这些步骤才能获取重大的数据库更改:

如果您来自 9.1.2 之前的版本,则首先需要升级到 9.1.2 并按照以下步骤操作:

如果您来自 9.1.2,首先需要升级到 21.5.0 并按照以下步骤操作:

如果您来自 21.6.3 之前的版本,则首先需要升级到 21.6.3:

任何其他情况(21.6.3+),你应该可以直接升级到最新版本。

每晚构建

我们为 Sentry 的每个新提交以及所有支持项目提供自托管存储库的 master 分支的每晚构建:

注意:这些构建通常是稳定的,但您可能偶尔会遇到损坏的版本,因为这些版本不能保证首先部署到 sentry.io。也不能保证您能够干净地升级到更高版本而不会丢失任何数据。使用每晚构建的风险自负。

自托管备份和恢复

快速备份

如果您需要一种快速备份和恢复 Sentry 实例的方法,并且不需要历史事件数据, 则可以使用内置的 export 和 import 命令。这些命令将保存和加载所有项目和用户数据,但不包含任何事件数据。

备份

注意:如果您省略了 -T 或 -e SENTRY_LOG_LEVEL=CRITICAL 部分,您的备份文件将混入日志行,您必须以某种方式将其删除。

恢复

使用 export 命令备份后,恢复它的最简单方法是将其放在主 self-hosted 存储库中的 sentry 目录下,在配置文件旁边。这个目录会自动挂载到 /etc/sentry,所以你可以运行以下命令来恢复你的备份:

如果您没有看到任何错误并且进程以代码 0 退出,那么恭喜您,您刚刚恢复了备份。

注意:我们强烈建议您在全新安装(空数据库但运行迁移)时在 相同版本的 Sentry 上恢复备份。否则,您很可能会遇到错误并可能损坏您的数据库。

完整备份

Sentry

备份和恢复 Sentry 的理想方法是备份和恢复它使用的所有 Docker 卷。所有保存关键长期数据的卷在安装时都已定义为全局卷,并以 sentry- 为前缀:

注意:只有备份和恢复这些卷才能恢复所有持久化数据。如果您还需要备份运行中的数据,我们建议备份 docker-compose 自动创建的任何特定于项目的卷,通常使用 sentry_self_hosted_sentry- 前缀。

Docker 在他们的文档中记录了如何备份和恢复卷。只要可以毫无问题地读回卷,您就可以使用不同的方法。

自托管的自定义 CA 根

从 Sentry 21.8.0 开始,如果您需要没有来自公共信任 CA 根的 TLS 证书的 Sentry 访问服务,现在可以轻松地将它们添加到容器中。只需将证书添加到 Sentry 安装根目录内的 certificates 文件夹中,然后重新启动容器。除了公共信任的 CA 根之外,还将使用您的自定义 CA 根。

注意:虽然您可以在每个容器中运行 update-ca-certificates,但这将更新磁盘上系统的根包,但不会对内存中的任何副本执行任何操作。重新启动容器将更新包并确保它被使用。

如果给定的证书有问题,容器的日志将在开始时具有 update-ca-certificates 的输出。

具有捆绑根的依赖项

一些依赖项选择捆绑自己的 CA 根并忽略系统 CA 根。在已知的情况下,它们已被配置为使用系统根。如果某些东西似乎忽略了系统根,请创建一个 issue, 以便对其进行跟踪和修复。

覆盖的捆绑根

自托管 Email

注意:请记住,一旦更改设置,您就需要重新启动所有 Sentry 服务。有关更多信息,请参阅配置部分。

出站 Email

自托管 Sentry 附带一个由 exim4 提供支持的内置外发 SMTP server。默认配置设置为使用此服务器。您需要做的就是为 config.yml 中的 mail.from 设置设置一个有效地址, 并为 .env 中的 SENTRY_MAIL_HOST 设置 Sentry 实例的 FQDN。请记住,如果您开始向公共地址发送过多电子邮件,您的新服务器可能会被标记为垃圾邮件发送者并被禁止。

如果您想使用外部 SMTP server,您可以在 config.yml 文件中设置相关的 mail.* 设置并忽略内置的 SMTP server。有关每个设置的含义和作用的所有详细信息,请参阅我们的电子邮件服务文档。

由于配置的分层方式,如果您通过 Web 界面更新 mail 设置,您还需要注释掉 config.yml 中的 mail.host: ‘smtp’ 默认值,以便选择所需的设置。

入站 Email

Sentry 通过 Mailgun 提供的入站 mail 支持非常有限。您可以在我们的入站 email 服务文档中找到有关如何进行设置的所有信息。

自托管地理定位

Sentry 可以使用 MaxMind 的免费 GeoLite2-City 数据库来对 IP 地址进行地理定位, 为已知最终用户 IP 地址的错误事件以及登录 Sentry 安装的用户的会话历史记录提供额外的上下文。为此,我们捆绑了 MaxMind 的 geoipupdate 工具。

为了利用服务器端 IP 地址地理定位,您必须首先将 IP 地址发送到 Sentry。 默认情况下,较新的 SDK 不会执行此操作。

要启用服务器端 IP 地址地理定位,请注册一个免费的 MaxMind 帐户, 然后通过将您的 MaxMind 配置文件放在 geoip/GeoIP.conf 来告诉 Sentry 您的凭据。

有了这个配置文件,Sentry 的 install.sh 的后续运行将刷新 IP 地址地理定位数据库。下次您重新启动自托管的 Sentry 实例(特别是 relay 和 web 服务)时,您应该会看到最新的数据。以下是确认它是否正常工作的方法:

启动后不久看到 sentry_self_hosted_geoipupdate_1 容器退出是正常的,因为更新地理定位数据库是一次性的批处理过程,而不是长时间运行的 job。

升级

使用 GeoLite2-City.mmdb 文件的服务需要知道在哪里可以找到它。新安装将自动设置此设置,但如果您要升级,则需要在重新启动 Sentry 之前手动设置以下内容。

在 relay/config.yml 中(示例):

在 sentry/sentry.conf.py 中(示例):

自托管单点登录 (SSO)

Sentry 中的 SSO 以两种方式之一处理:

使用中间件代理 (SAML2)

从 Sentry 20.6.0 开始,自托管 Sentry 内置了对 SAML2 和某些身份验证提供程序的支持。对于旧版本,您需要在运行 ./install.sh 之前将以下行添加到 sentry/requirements.txt:

您可以设置它的方式与 sentry.io 相同,除了您需要为文档中提到的 URL 使用自己实例的 url-prefix。

有关所有详细信息,请参阅我们的主要 SAML 文档。

使用 OAuth 的单点登录

注意:启用 SSO 后,这将是登录到自托管实例的唯一方法。如果您需要与 SSO 一起免费注册,您可以在 GitHub PR 上对此发表评论。

Google Auth

从 Sentry 9.1 开始,自托管的 Sentry 带有内置的 Google Auth 支持。要启用,您需要为您的 Google App 创建一个 client ID 和 secret, 然后将这些值分别输入到您的 sentry/config.yaml 文件中:

注意:请记住,一旦更改设置,您就需要重新启动所有 Sentry 服务。有关更多信息,请参阅配置部分。

GitHub Auth

从 Sentry 10 开始, 自托管 Sentry 带有内置的 GitHub Auth 支持。要启用,您需要在您的组织下创建一个新的 GitHub App 并安装它。

为 SSO & integration 创建 GitHub App

GitHub App 名称不得包含任何空格。

如果上面的表单对您不起作用,您需要为您的 GitHub 应用程序进行以下设置:

不要忘记将所有出现的 {‘${urlPrefix}’} 替换为您自己的 url 前缀。

当提示输入权限时,请选择以下选项:

使用您的 GitHub App 信息更新您的配置

然后,您需要设置以下配置值:

在 sentry/sentry.conf.py 中

在 sentry/config.yaml 中

这还将为您的实例启用 GitHub Integration。

注意:请记住,一旦更改设置,您就需要重新启动所有 Sentry 服务。有关更多信息,请参阅配置部分。

自定义 Provider

目前,API 被认为是不稳定的,可能会发生变化。事情可能不会有太大变化,但有一些地方需要清理。

考虑到这一点,如果您想构建自己的,请查看上面的参考实现之一。

自托管故障排除

请记住,自托管存储库面向中低负载,并考虑到了简单性。需要更大设置或有事件高峰的人们可以根据他们的特定需求和环境从这里扩展。

常见

您可以通过运行 docker-compose logs 来查看每个服务的日志。您可以使用 -f 标志来 “follow” 进入的日志,并使用 -t 标志作为时间戳。如果您不传递任何服务名称,您将获得所有正在运行的服务的日志。有关详细信息,请参阅 logs 命令的参考。

最有可能导致问题的事情之一是 Kafka。最常报告的错误是

这发生在 Kafka 和 consumer 不同步的地方。可能的原因有:

恢复

正确的解决方案

正确 的解决方案如下 (reported by @rmisyurev):

接收消费者列表:

获取群组信息:

使用试运行(可选)观察 offset 会发生什么:

将 offset 设置为最新并执行:

您可以在需要时将 snuba-consumers 替换为其他 consumer groups 或其他 topics 的 events。

硬核选项

硬核选项 是删除所有与 Kafka 相关的卷并重新创建它们,这将导致数据丢失。删除这些卷后,任何挂起的数据都_将_消失。

停止实例:

删除 Kafka & Zookeeper 相关卷:

再次运行安装脚本:

启动实例:

减少磁盘使用

如果你想减少 Kafka 使用的磁盘空间,你需要仔细计算你摄取的数据量,你可以容忍的数据丢失量, 然后按照这个很棒的 StackOverflow 帖子或 我们社区论坛上的帖子中的建议进行操作。

在自托管设置中,Redis 既用作事务数据存储又用作 Celery 的工作队列。出于这个原因,它可能会在事件高峰期间不堪重负。从版本 20.10.1 开始,我们对此进行了一些重大改进。如果您仍然遇到问题,您可以考虑扩展 Redis 本身或切换到不同的 Celery broker,例如 RabbitMQ。

如果您看到错误,例如

您可能会从使用额外的专职工作人员中受益。这是通过在 docker-compose.override.yml 中创建新的 worker 服务并使用 -Q queue_name 参数将它们绑定到特定队列来实现的。一个例子是:

要查看更完整的示例,请参阅我们社区论坛上的示例解决方案。

Postgres 用于主数据存储,以及用于存储 key/value 数据的 nodestore。 node_nodestore 表可以快速增长,尤其是在大量使用性能监控功能时,因为跟踪数据存储在该表中。

node_nodestore 表作为 cleanup 任务的一部分被清理, 但是 Postgres 可能没有机会清理表(尤其是在重载情况下),所以即使行可能被删除,它们仍然会占用磁盘空间。

您可以使用 pg-repack,它通过创建一个新表并在删除旧表之前复制数据来重新打包一个表。您需要在清理脚本之后运行它,并注意它在创建表时,磁盘使用量会在回落之前激增。

下面是一个脚本示例:

其他

如果您仍然遇到问题,您可以随时访问我们的社区论坛以搜索现有主题或创建新主题并寻求帮助。请记住,我们希望社区能够帮助自己,并且 Sentry 员工也会在有时间时尝试监控和回答论坛问题。

在报告问题或在论坛上提问时共享您的安装日志、服务日志和 Sentry 版本将为您和试图帮助您的人节省时间和精力。


如何设置远程闭路监控?

远程基本设置是这样的远程监控访问第一步:把录像机用网线连接到路由器的LAN口,在录像机上设置一个ip地址,把录像机的HTTP端改成大于1024的端口号。 第二步:在路由器上映射录像机的ip地址和端口号(http/web端口,手机端口,传输设备端口等相应的网络访问端口)第三步:申请域名地址,在录像机或路由器看下支持那些运营商域名解析,在该网站申请一个域名地址,然后把相应的域名注册信息输入到录像机或路由器的解析设置窗口。 这样设置好就可以用申请的域名地址远程访问监控了。

玩网络游戏鼠标输入帐号会中木马吗

木马的记忆键盘是按照顺序来的.你可以打乱顺序输入.比如你的密码是.你可以先输入456.然后把光标移动到前面.然后输入123这样可以防止大部分的木马.网络游戏中的用鼠标输入密码也是一个很好的办法.或者写一办,然后复制一半密码不行.灰鸽子.微金专门对付上面的. 最好复制单介绍一些木马程序的功能:1、远程监控可以控制对方的鼠标、键盘和监视对方屏幕。 2、记录密码至于如何记录,下面再具体解释。 3、取得电脑主机的信息资料如果你在电脑用户账户填上真名的话,对方就可能知道你的姓名了。 4、远程控制也就是你能做到的,对方也能做到。 5、发送信息要是对方哪天想和你聊聊的话。 5、木马是如何盗号的当用户登陆到九城的服务器时,会有一个专门的程序负责用户登陆并向服务器发送确认ID的请求(具体在哪个文件我不知道),显然,在这个程序中包含了用户账号密码的资料,那么,针对为盗取MU用户ID而设计的木马程序先会截取这个文件,再由木马程序来显示那个登陆界面,等你输入了帐号密码后,HOHO~~,木马就偷到了,然后按照入侵者的指定存放在某个目录下(可见,仅仅阻止非法邮件发送还是防不胜防的),或者直接寄回给入侵者(目前此法较多,大家可以通过禁用stmp端口??负责发送邮件的port来防范)。 6、木马如何进入我们的电脑小偷要到你家偷东西,一般不会走正门,而是选择通过阳台、窗户进入。 这里的“正门”指你电脑的IP地址,“阳台、窗户”就是电脑上网开启网络服务的端口(port)。 如果把网络形容为道路的话,端口就相当于路上的各条行车道,有的走汽车,有的走自行车,有的只能行人,这样网路上运行的有秩序,不会乱。 那么除了我们常用的http、stmp、pop3、ftp等服务端口,电脑“黑客”会通过木马直接在你的电脑上放置一个后门程序(Backdoor),只要你运行了这个程序,你的电脑已经是为“黑客”开启了一道大门。 于是,他就可以通过这个大门大摇大摆地进来。 7、如何检查和清除木马?并不是所有的木马程序都能被杀毒软件检测到,即使是扫除木马的工具也只能扫除一些常见的木马而已,最主要的防止方法就是预防。 对于MU玩家来说,就是要格外小心外挂程序,因为许多外挂程序都藏匿了木马。 避开木马的最好方法就是不用外挂。 另外,还要注意以下几点:1.小心exe文件小心一些扩展名为的文件(最好解除隐藏扩展名的设置,方法为:在资源管理器中选择“查看”选项,解除隐藏扩展名的设置),因为木马程序的扩展名一定是“”。 2.用netstat -a来查看端口端口是木马的生命之源,没有端口它就无法和外界通信,更不要说远程控制了。 先切换到MS-DOS方式,在C:提示符后键入netstat -a就可以将当前电脑中所有连接端口的情况列出,如果发现有异常的端口开启,就很有可能是一个“后门”。 3.检查注册表和系统文件由于木马有开机后自动运行的特性,而自动运行就必须在系统中作一些更改,这些更改一般在注册表和系统文件中可以发现。 检查Registry-Run,“开始”→“运行”,键入regedit,进入注册表编辑器,到HKEY_LOCAL_MACHINESoftwareMicrosoftCurrentVersionRun中查看是否有不应该自动运行的程序,有的话就要删除那些字符串,木马程序就不能自动运行了。 检查,用记事本打开这个文件。 其中“load= run=”后都应为空,如果有run=,就尽快删除它们。 检查,用记事本打开。 检查shell=后有没有,有的话就很可能是木马,删!4.通过一些防木马软件比较有名的防护程序有:TauScan,Lockdown2000,Pview,NetSentry等等,大家看着用吧

瑞星监控是干什么的

瑞星杀毒软件监控程序(任务栏中图标是“绿色雨伞”)包括如下几个监控模块:实时监控包括:文件监控、内存监控、邮件发送监控、邮件接收监控、网页监控、注册表监控、引导区监控、漏洞攻击监控。 监控模块没有成功加载或者计算机监控图标呈现黄色或者红色,如果任务栏中有监控图标,请您首先手动启动监控程序:鼠标右键单击瑞星实时监控图标(任务栏中右下角的小雨伞),在弹出的菜单中选择【开启所有监控】.若仍有问题,主要有几个可能,请根据情况,参考如下情况进行操作:一.计算机病毒:请您手动启动实时监控,使用最新版本杀毒软件全盘杀毒;二.软件冲突:如果安装桌面主题修改软件(StyXp,变脸王等),请您卸载,并恢复Windows默认登陆设置.如果安装超级解霸V8,请您及时安装该软件的sp2补丁;三.实时监控程序文件丢失:请修复瑞星杀毒软件:1.在显示器屏幕左下方点击开始-程序-瑞星杀毒软件-添加删除组件;2.选择修复;3.点击“下一步”...完成.四.服务没谐晒釉?重新加载服务方法:1.右键点击我的电脑选择管理;2.选择服务与应用程序-服务;3.查找服务Rising Process Communication Center和RsRavMon Service;4.右键点击服务,选择启动或者重新启动.五.实时监控安装异常:请卸载后重新安装,方法如下:1.在显示器屏幕左下方点击开始-程序-瑞星杀毒软件-添加删除组件;2.默认选择添加/删除;3.去掉勾选瑞星监控中心,按照提示点击下一步...完成.4.重复1.2步;5.选中所有程序,按照提示点击下一步...完成.六.启动项冲突:参考解决方法:1 打开瑞星杀毒软件主界面2 选择主界面左下方的标签『瑞星工具』-『注册表修复工具』-『注册表启动项』;3 去掉启动程序的勾选,仅保留“Ravtask”的程序;4 重新启动计算机(建议此方法在安全模式下操作);在安全模式下,您只能访问基本文件和驱动程序(鼠标、监视器、键盘、大容量存储器、基本视频、默认系统服务,并且不连接网络)。 安全模式登陆方法:1.依次单击“开始”、“关机”,然后在下拉列表中,单击“关机”。 2.在“关闭 Windows”对话框中,单击“重新启动”,然后单击“确定”。 3.在看到消息“选择启动操作系统”后,请按 F8。 4.使用箭头键高亮显示适当的安全模式选项,然后按 ENTER。 5.如果有双启动或多启动系统,请利用箭头键选择需要访问的安装,然后按 Enter。 注:此操作不会影响系统的正常使用,如果您需要重新加载启动项,可以按照以上步骤对启动程序进行勾选。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐