
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
将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']
https://grafana.com/grafana/dashboards/***
(展示项目问题和事件的概览仪表板)
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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务