
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://raw.githubusercontent.com/phsmith/rundeck_exporter/refs/heads/main/examples/grafana/rundeck-grafana-dashboard.png
示例仪表盘可在https://github.com/phsmith/rundeck_exporter/tree/main/examples/grafana%E4%B8%AD%E6%89%BE%E5%88%B0
该导出器使用prometheus_client和requests Python模块,暴露Rundeck的以下指标:
其中version代表Rundeck API版本,如:31、32、33、34等。此代码已在Rundeck API 31+版本上测试通过。
[!Warning]
自4.x.x版本起,
/api/<version>/metrics端点默认禁用,需在rundeck-config.properties中启用,或为Rundeck设置环境变量RUNDECK_METRICS_ENABLED=true以使导出器正常工作。详见config-file-reference.html#metrics-capturing若启用审计日志,建议将默认日志级别从
INFO调整,以防止日志过度增长。
所有指标均以rundeck_ 为前缀导出。有关指标的详细信息可在文档中查看。
尽管仍提供
requirements.txt文件,项目已使用UV进行Python包管理,推荐使用UV。
Python 3.10+
具有API请求权限的Rundeck令牌
安装依赖步骤:
shuv sync
或:
shpython -m venv .venv source .venv/bin/activate pip install -r requirements.txt
需提供Rundeck令牌或用户名密码。令牌(RUNDECK_TOKEN)或密码(RUNDECK_USERPASSWORD)必须通过环境变量传递。与令牌/用户关联的ACL需至少包含以下策略规则:
system:read(系统上下文)project:read(系统上下文)events:read(项目上下文)允许用户exporter获取系统指标及所有项目执行指标的ACL策略示例:
yamlby: username: exporter description: system:read for: resource: - allow: - read equals: kind: system context: application: rundeck --- by: username: exporter description: project:read for: project: - allow: - read match: name: .* context: application: rundeck --- by: username: exporter description: events:read for: resource: - allow: - read equals: kind: event job: - allow: - read - view context: project: .* --- by: username: exporter description: 允许节点的[read]权限 for: node: - allow: - read match: nodename: .* context: project: .* --- by: username: exporter description: 允许所有节点的[read]权限 for: resource: - allow: - read equals: kind: node context: project: .*
rundeck_exporter支持以下参数:
text$ rundeck_exporter --help usage: rundeck_exporter [-h] [--debug] [-v] [--host RUNDECK_EXPORTER_HOST] [--port RUNDECK_EXPORTER_PORT] [--no_checks_in_passive_mode] [--threadpool_max_workers RUNDECK_EXPORTER_THREADPOOL_MAX_WORKERS] [--rundeck.requests.timeout RUNDECK_EXPORTER_REQUESTS_TIMEOUT] [--rundeck.url RUNDECK_URL] [--rundeck.skip_ssl] [--rundeck.api.version RUNDECK_API_VERSION] [--rundeck.username RUNDECK_USERNAME] [--rundeck.projects.executions] [--rundeck.projects.executions.filter RUNDECK_PROJECT_EXECUTIONS_FILTER] [--rundeck.projects.executions.limit RUNDECK_PROJECTS_EXECUTIONS_LIMIT] [--rundeck.projects.executions.cache] [--rundeck.projects.filter RUNDECK_PROJECTS_FILTER [RUNDECK_PROJECTS_FILTER ...]] [--rundeck.projects.nodes.info] [--rundeck.cached.requests.ttl RUNDECK_CACHED_REQUESTS_TTL] [--rundeck.cpu.stats] [--rundeck.memory.stats] Rundeck指标导出器 required environment vars: RUNDECK_TOKEN Rundeck API令牌 RUNDECK_USERPASSWORD Rundeck用户密码(同时需要RUNDECK_USERNAME或--rundeck.username) options: -h, --help 显示帮助信息并退出 --debug 启用调试模式 -v, --version 显示rundeck_exporter当前版本 --host RUNDECK_EXPORTER_HOST 绑定地址,默认:127.0.0.1 --port RUNDECK_EXPORTER_PORT 绑定端口,默认:9620 --no_checks_in_passive_mode 当Rundeck主机处于被动执行模式时,不执行任何检查 --threadpool_max_workers RUNDECK_EXPORTER_THREADPOOL_MAX_WORKERS 异步检查的线程池最大工作线程数,默认:(CPU数量) + 4 --rundeck.requests.timeout RUNDECK_EXPORTER_REQUESTS_TIMEOUT Rundeck API请求超时时间(秒) --rundeck.url RUNDECK_URL Rundeck基础URL [必填] --rundeck.skip_ssl 跳过SSL证书验证 --rundeck.api.version RUNDECK_API_VERSION Rundeck API版本,默认:34 --rundeck.username RUNDECK_USERNAME 具有系统信息访问权限的Rundeck用户 --rundeck.projects.executions 获取项目执行指标 --rundeck.projects.executions.filter RUNDECK_PROJECT_EXECUTIONS_FILTER 按时间段筛选最新项目执行,格式:[s]秒、[n]分钟、[h]小时、[d]天、[w]周、[m]月、[y]年,默认:5n --rundeck.projects.executions.limit RUNDECK_PROJECTS_EXECUTIONS_LIMIT 每个查询的项目执行结果最大数量,默认:20 --rundeck.projects.executions.cache 缓存项目执行指标查询请求 --rundeck.projects.filter RUNDECK_PROJECTS_FILTER [RUNDECK_PROJECTS_FILTER ...] 仅获取指定项目的执行指标(空格分隔) --rundeck.projects.nodes.info 显示项目节点信息指标(当前仅支持`rundeck_project_nodes_total`),项目数量较多时可能导致高CPU负载 --rundeck.cached.requests.ttl RUNDECK_CACHED_REQUESTS_TTL 缓存请求过期时间(秒),默认:120 --rundeck.cpu.stats 显示Rundeck CPU使用统计 --rundeck.memory.stats 显示Rundeck内存使用统计
可选地,可通过以下环境变量配置rundeck_exporter:
| 变量 | 选项 | 描述 |
|---|---|---|
| RUNDECK_EXPORTER_DEBUG |
| 启用调试模式 |
| RUNDECK_EXPORTER_HOST | 默认:127.0.0.1 | 绑定地址 |
| RUNDECK_EXPORTER_PORT | 默认:9620 | 绑定端口 |
| RUNDECK_URL(必填) | Rundeck基础URL | |
| RUNDECK_TOKEN(必填) | Rundeck API令牌 | |
| RUNDECK_USERNAME | 具有系统信息访问权限的Rundeck用户 | |
| RUNDECK_USERPASSWORD | Rundeck用户密码(需同时提供RUNDECK_USERNAME或--rundeck.username) | |
| RUNDECK_API_VERSION | 默认:41 | Rundeck API版本 |
| RUNDECK_SKIP_SSL |
| 跳过SSL证书检查 |
| RUNDECK_PROJECTS_EXECUTIONS |
| 获取项目执行指标 |
| RUNDECK_PROJECTS_FILTER | 仅获取指定项目的执行指标,如:"project-1 project-2 ..." | |
| RUNDECK_PROJECT_EXECUTIONS_FILTER | 默认:5n | 按时间段筛选项目执行,格式:**[s]秒、[n]分钟、[h]小时、[d]天、[w]周、[m]月、[y]**年 |
| RUNDECK_PROJECTS_EXECUTIONS_LIMIT | 默认:20 | 每个查询的项目执行结果最大数量 |
| RUNDECK_PROJECTS_EXECUTIONS_CACHE |
| 缓存项目执行指标查询请求 |
| RUNDECK_PROJECTS_NODES_INFO |
| 显示项目节点信息指标(当前仅支持rundeck_project_nodes_total),项目数量较多时可能导致高CPU负载 |
| RUNDECK_CACHED_REQUESTS_TTL | 默认:120 | 缓存请求过期时间(秒) |
| RUNDECK_CPU_STATS |
| 显示Rundeck CPU使用统计 |
| RUNDECK_MEMORY_STATS |
| 显示Rundeck内存使用统计 |
| RUNDECK_EXPORTER_NO_CHECKS_IN_PASSIVE_MODE |
| 当Rundeck主机处于被动执行模式时,不执行任何检查 |
| RUNDECK_EXPORTER_THREADPOOL_MAX_WORKERS | 默认:(CPU数量) + 4 | 异步检查的线程池最大工作线程数 |
| RUNDECK_EXPORTER_REQUESTS_TIMEOUT | 默认:30 | Rundeck API请求超时时间(秒) |
sh$ RUNDECK_TOKEN=xxxxxxxx uv run rundeck_exporter \ --host=0.0.0.0 \ --rundeck.url=http://localhost:4440 \ --rundeck.skip_ssl \ --rundeck.cpu.stats \ --rundeck.memory.stats \ --rundeck.projects.filter="project-1 project-2 project-n" \ --rundeck.projects.executions \ --rundeck.projects.executions.filter=5n \ --rundeck.requests.timeout=10
从PyPI运行
shpip install rundeck-exporter rundeck_exporter -v
使用Docker运行
shdocker build -t rundeck-exporter . docker run --rm -d -p 9620:9620 -e RUNDECK_TOKEN=$RUNDECK_TOKEN rundeck-exporter \ --host 0.0.0.0 \ --rundeck.url https://rundeck.test.com \ --rundeck.skip_ssl
使用Docker Compose运行
shcd examples/docker-compose docker compose up -d
Docker Compose服务包含:
Docker Compose服务启动后,访问Rundeck的http://localhost:4440/user/profile生成新API令牌,将令牌填入docker-compose.yml的RUNDECK_TOKEN环境变量,然后再次运行docker compose up -d。===SHORT_DESC===
Rundeck指标导出器,用于通过Prometheus监控Rundeck,通过API获取系统信息、指标、执行情况等数据,支持Rundeck API 31+版本,可导出系统状态、项目执行及资源使用等Prometheus格式指标。
===FULL_DESC===
!https://raw.githubusercontent.com/phsmith/rundeck_exporter/refs/heads/main/examples/grafana/rundeck-grafana-dashboard.png
示例仪表盘可在https://github.com/phsmith/rundeck_exporter/tree/main/examples/grafana%E4%B8%AD%E6%89%BE%E5%88%B0
该导出器使用prometheus_client和requests Python模块,暴露通过以下Rundeck API端点获取的指标:
其中api_version代表Rundeck API版本,如:31、32、33、34等。此代码已在Rundeck API 31+版本上测试通过。
[!Warning]
自4.x.x版本起,
/api/<version>/metrics端点默认禁用,需在rundeck-config.properties中启用,或为Rundeck设置环境变量RUNDECK_METRICS_ENABLED=true以使导出器正常工作。详见config-file-reference.html#metrics-capturing若启用审计日志,建议将默认日志级别从
INFO调整,以防止日志过度增长。
所有指标均以rundeck_ 为前缀导出。有关指标的详细信息可在文档中查看。
尽管仍提供
requirements.txt文件,项目已使用UV进行Python包管理,推荐使用UV。
Python 3.10+
具有API请求权限的Rundeck令牌
安装依赖步骤:
shuv sync
或:
shpython -m venv .venv source .venv/bin/activate pip install -r requirements.txt
需提供Rundeck令牌或用户名密码。令牌(RUNDECK_TOKEN)或密码(RUNDECK_USERPASSWORD)必须通过环境变量传递。与令牌/用户关联的ACL需至少包含以下策略规则:
system:read(系统上下文)project:read(系统上下文)events:read(项目上下文)允许用户exporter获取系统指标及所有项目
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



来自真实用户的反馈,见证轩辕镜像的优质服务