
将Sentry项目的指标导出为符合Prometheus暴露格式的格式
重要提示:该项目当前未积极维护,问题或拉取请求的响应可能会延迟数月。使用时请考虑此情况,欢迎通过拉取请求贡献代码,我们会在时间允许时进行审核。感谢您的理解!
Sentry Prometheus Exporter 是一个可将 Sentry 项目指标导出为 Prometheus 兼容格式的工具,支持监控未解决问题数量、事件计数、速率限制等关键指标,并可通过配置指定监控项目和启用基础认证。
认证令牌权限要求:
project:readorg:readproject:releasesevent:read
shpip install -r requirements.txt
shexport SENTRY_BASE_URL="https://sentry.io/api/0/" export SENTRY_AUTH_TOKEN="[替换为你的令牌]" export SENTRY_EXPORTER_ORG="[组织标识符]"
shpython exporter.py
直接运行容器
shdocker run --name sentry-exporter -e SENTRY_AUTH_TOKEN=[替换为你的令牌] -e SENTRY_EXPORTER_ORG=[组织标识符] italux/sentry-prometheus-exporter
构建本地镜像
shdocker-compose build
创建.env文件
shecho SENTRY_BASE_URL="https://sentry.io/api/0/" echo SENTRY_AUTH_TOKEN="[替换为你的令牌]" echo SENTRY_EXPORTER_ORG="[组织标识符]"
启动容器
shdocker-compose up -d
sentry_open_issue_events: 过去1小时内每个项目的未解决问题(即is:unresolved)数量sentry_issues: 未解决问题的 gauge 直方图,分为3个时间桶:1小时、24小时和14天sentry_events: 每个项目的事件总数sentry_rate_limit_events_sec: 项目每秒接受的错误速率限制默认情况下,会轮询 Sentry API 以获取所有项目。若需指定特定项目进行抓取,可设置:
shexport SENTRY_EXPORTER_PROJECTS="project1,project2,project3"
除速率限制指标外,默认抓取所有指标。可通过以下变量禁用问题或事件相关指标:
shexport SENTRY_SCRAPE_ISSUE_METRICS=False # 禁用问题指标 export SENTRY_SCRAPE_EVENT_METRICS=False # 禁用事件指标
启用速率限制指标:
shexport SENTRY_SCRAPE_RATE_LIMIT_METRICS=True
默认情况下,若启用问题指标(SENTRY_SCRAPE_ISSUE_METRICS=True 或未设置),会抓取1小时、24小时和14天的问题数据。可通过以下变量禁用特定时间桶:
shexport SENTRY_ISSUES_1H=False # 禁用1小时问题指标 export SENTRY_ISSUES_24H=False # 禁用24小时问题指标 export SENTRY_ISSUES_14D=False # 禁用14天问题指标
为保护指标端点,可启用 HTTP 基础认证。需配置以下环境变量:
| 环境变量 | 类型 | 默认值 | 说明 |
|---|---|---|---|
SENTRY_EXPORTER_BASIC_AUTH | Boolean | False | 是否启用基础认证 |
SENTRY_EXPORTER_BASIC_AUTH_USER | String | prometheus | 基础认证用户名 |
SENTRY_EXPORTER_BASIC_AUTH_PASS | String | prometheus | 基础认证密码 |
启用后,访问 /metrics/ 端点时需输入用户名和密码。
Prometheus 配置示例: 若启用基础认证,需在 Prometheus 抓取配置中添加认证信息:
yamlscrape_configs: - job_name: 'sentry_exporter' basic_auth: username: 'prometheus' # 替换为实际用户名 password: 'prometheus' # 替换为实际密码 static_configs: - targets: ['sentry-exporter:9790']
Sentry Issues & Events Overview
(展示项目问题和事件的概览仪表板)
yamlscrape_configs: - job_name: 'sentry_exporter' static_configs: - targets: ['sentry-exporter:9790'] # 导出器地址 scrape_interval: 5m # 抓取间隔,建议至少5分钟 scrape_timeout: 4m # 抓取超时,建议设为抓取间隔减1分钟
导出器采用串行方式抓取数据,若组织内项目数量多或事件量大,Prometheus 抓取时可能出现 Context Deadline Exceeded(上下文超时)错误。
Sentry API 限制请求速率为每秒3次,导出器会在遇到 HTTP 异常时重试。可通过以下环境变量调整重试参数(默认值通常适用):
| 环境变量 | 类型 | 默认值 | 说明 |
|---|---|---|---|
SENTRY_RETRY_TRIES | Integer | 3 | 异常时的重试次数 |
SENTRY_RETRY_DELAY | Float | 1 | 重试间隔(秒) |
SENTRY_RETRY_MAX_DELAY | Float | 10 | 最大重试间隔(秒) |
SENTRY_RETRY_BACKOFF | Float | 2 | 重试间隔的乘数因子 |
SENTRY_RETRY_JITTER | Float | 0.5 | 重试间隔的随机额外时间(秒) |
抓取间隔:建议设置 scrape_interval: 5m(5分钟)作为最小值,具体取决于新增问题和事件的数量,事件越多需越长间隔。
抓取超时:建议设置为 scrape_interval - 1(如间隔5分钟则超时设为4分钟),避免抓取未完成就被终止。
禁用非必要指标:若禁用特定指标(如事件或问题指标),可根据实际情况缩短抓取间隔。
https://italux.github.io/sentry-prometheus-exporter/
欢迎提交问题、功能请求和代码贡献!详情请查看 https://github.com/italux/sentry-prometheus-exporter/issues%E3%80%82
本项目基于 https://github.com/italux/sentry-prometheus-exporter/blob/master/LICENSE 许可。
Italo Santos
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务