SuperAPI AI 工具集

sentry-install-auth

部署与运维

查看项目

更新于 10-16 14:11

技能介绍

用途 本技能用于安装 Sentry SDK、配置基于 DSN 的认证,并验证错误追踪是否已可运行。涵盖 Node.js(@sentry/node)、浏览器(@sentry/browser)与 Python(sentry-sdk),并包含基于环境的配置,以及面向 CLI/CI 工作流的 auth token 设置。

前置条件

  • Node.js 18.19+ 或 20.6+(Sentry SDK v8 的 ESM 支持所需)
  • 包管理器:npm、pnpm 或 pip
  • 在 https://sentry.io 创建项目的 Sentry 账号
  • 从 Project Settings > Client Keys (DSN) 获取 DSN
  • CLI/CI 需要从 https://sentry.io/settings/auth-tokens/ 获取 auth token

主要能力与使用方式 第一步,安装 SDK:Node.js/TypeScript 使用 npm install @sentry/node(可选 profiling:npm install @sentry/profiling-node);浏览器/框架使用 npm install @sentry/browser,或按框架选择 @sentry/react、@sentry/nextjs、@sentry/vue;Python 使用 pip install sentry-sdk。

第二步,安全存储 DSN:DSN 形如 https://<key>@<org>.ingest.sentry.io/<project-id>,告知 SDK 把事件发送到哪里。不要硬编码,应使用环境变量(如 .env 中的 SENTRY_DSN、SENTRY_ENVIRONMENT、SENTRY_RELEASE),并把 .env 加入 .gitignore。生产环境应把 DSN 存入密钥管理服务(AWS Secrets Manager、GCP Secret Manager、Vault 等),在部署时注入。

第三步,初始化 SDK。Node.js(ESM)需在项目根目录创建 instrument.mjs,并且该文件必须在任何其他模块之前被导入;使用 --import 标志可确保 Sentry 在加载时通过 monkey-patching 对 HTTP、数据库和框架集成进行埋点。初始化项包括 dsn、environment、release、tracesSampleRate(开发 100%,生产 10-20%)、debug(生产禁用)、sendDefaultPii: false,以及可选的 integrations。启动方式:node --import ./instrument.mjs app.mjs,或在 package.json 的 scripts.start 中配置。浏览器端初始化包含 tracesSampleRate、replaysSessionSampleRate、replaysOnErrorSampleRate 以及 browserTracingIntegration、replayIntegration。Python 使用 sentry_sdk.init,设置 dsn、environment、release、traces_sample_rate、send_default_pii。

第四步,验证安装:发送测试事件并确认其出现在 Sentry 仪表盘中。Node.js 使用 Sentry.captureMessage,并在进程退出前 await Sentry.flush(2000);Python 使用 sentry_sdk.capture_message 并 sentry_sdk.flush(timeout=2)。30 秒内在项目的 Issues 标签页查看,若消息出现则认证正常。

第五步,为 CLI 和 CI 设置 auth token:DSN 用于 SDK 发送事件认证;Sentry CLI(source maps、releases、deploys)需要单独的 auth token。在 https://sentry.io/settings/auth-tokens/ 生成,作用域为 project:releases(创建发布、上传 source maps)与 org:read(读取组织数据)。安装 Sentry CLI:npm install -g @sentry/cli,设置 export SENTRY_AUTH_TOKEN=sntrys_YOUR_TOKEN_HERE,并用 sentry-cli info 验证。CI 中应把 SENTRY_AUTH_TOKEN 存为密钥环境变量。

输出结果包括:安装 SDK 包;DSN 存入环境变量(不提交到 git);创建 instrument.mjs 并在应用入口前加载(Node.js);Sentry 完成 environment、release、采样率配置;测试事件在 Sentry 仪表盘可见,确认 DSN 认证有效;可选配置 CLI/CI 的 auth token。

适用场景 适用于搭建 Sentry 错误追踪与 DSN 认证、初始化 Node.js/浏览器/Python 的 Sentry、以及在 CLI/CI 中上传 source maps 与创建发布等流程。文档提供了 Express.js 与 Python Flask 的完整示例、优雅关闭时的 flush 处理,以及错误处理对照表(如 Invalid Sentry Dsn、事件未出现、HTTP 401/429/403、Express 未埋点、网络错误、ESM 兼容性错误等)与解决方案。

限制 需要 Node.js 18.19+ 或 20.6+ 才能支持 SDK v8 的 ESM --import;初始化必须在框架导入之前,否则集成不会生效;生产环境应控制 tracesSampleRate 以避免限流,事件被丢弃而非排队;sendDefaultPii 默认关闭。具体收费、价格与配额信息暂未提供。