
githubexporter/github-exporter从GitHub API提取仓库基本指标,并暴露到Prometheus兼容的端点。
导出器通过环境变量进行配置,所有变量均为可选:
| 环境变量 | 描述 |
|---|---|
ORGS | 如果提供,导出器将枚举该组织的所有仓库。格式应为"org1, org2"。 |
REPOS | 如果提供,指定要监控的仓库,格式为"user/repo1, user/repo2",可跨不同GitHub用户/组织。 |
USERS | 如果提供,导出器将枚举该用户的所有仓库。格式应为"user1, user2"。 |
GITHUB_TOKEN | GitHub认证令牌,允许更高频率的API查询。可选但推荐提供。 |
GITHUB_TOKEN_FILE | 替代GITHUB_TOKEN,指定包含GitHub认证令牌的文件路径。可选但推荐提供。 |
API_URL | GitHub API URL,默认值为[***],通常无需修改。 |
LISTEN_PORT | 容器运行端口,Dockerfile默认值为9171。 |
METRICS_PATH | 指标URL路径,默认值为/metrics。 |
LOG_LEVEL | 日志级别,默认值为debug。 |
适用于需要将GitHub仓库数据(如提交、分支、PR等指标)集成到Prometheus监控系统的场景,支持:
bashdocker run -d --restart=always -p 9171:9171 -e REPOS="infinityworks/ranch-eye, infinityworks/prom-conf" githubexporter/github-exporter
bashdocker build -t <镜像名称> . docker run -d --restart=always -p 9171:9171 -e REPOS="infinityworks/ranch-eye, infinityworks/prom-conf" <镜像名称>
yamlgithub-exporter: tty: true stdin_open: true expose: - 9171 ports: - 9171:9171 image: githubexporter/github-exporter:latest environment: - REPOS=<要监控的仓库,格式为"user/repo1, user/repo2"> - GITHUB_TOKEN=<你的GitHub API令牌>
指标默认在9171端口可用。指标示例可在仓库根目录的METRICS.md文件中查看。
test目录中包含一组黑盒行为测试,用于验证指标端点。运行方式如下:
bashmake test
当新的拉取请求合并到master分支后,需在本地执行以下脚本。该脚本将触发Docker Hub上的新镜像构建,新镜像标签为release-<version>。版本号取自VERSION文件,且必须遵循语义化版本规范(详见semver.org)。
在执行以下命令前,确保已将VERSION文件中的版本号更新至所需版本:
bash./release-version.sh
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务