grafana-tool 是 @blogic-cz/agent-tools 提供的 Grafana API 封装,用于从命令行查询 Grafana 的仪表盘、数据源、告警,以及 Prometheus 指标和 Loki 日志。仅当涉及查询 Grafana 仪表盘、数据源、告警、Prometheus 指标或 Loki 日志时加载此技能,内含全部命令及用法模式。
主要能力:health 健康检查;dashboards list/get 列出与获取仪表盘;datasources list 列出数据源;alerts list 与 alerts status 查询告警;metrics query 执行即时 PromQL;metrics range 查询时间序列窗口;logs query 通过配置的 Loki 数据源执行 LogQL。
使用方式:通过 bun grafana-tool 运行,需要 @blogic-cz/agent-tools 作为开发依赖。认证方面,Grafana URL 从 agent-tools.json5 读取;令牌可选,存在时从配置的 tokenEnvVar 读取。示例命令:
bun grafana-tool health --env local bun grafana-tool dashboards list --env local bun grafana-tool dashboards get abcd1234 --env local bun grafana-tool datasources list --env local bun grafana-tool alerts list --env prod --profile default bun grafana-tool alerts status --env prod --all bun grafana-tool metrics query 'up' --env local bun grafana-tool metrics range 'rate(http_server_request_duration_seconds_count[5m])' --env local --start now-1h --end now --step 60 bun grafana-tool logs query '{service_name="web-app"}' --env local --limit 100
环境为所选 Grafana 配置档 environments 映射中的任意字符串,例如 local、test、prod、staging。配置示例包含 grafana.default.environments,每个环境可设 url、tokenEnvVar、prometheusUid、lokiUid。
使用建议:当项目定义多个 Grafana 配置档时使用 --profile <name>;即时 PromQL 用 metrics query,时间序列窗口用 metrics range;LogQL 用 logs query 走已配置的 Loki 数据源。错误响应在可用时会包含 hint 字段,部分命令还会包含 nextCommand 和 retryable,以提示具体的恢复路径。
限制:资料未说明具体的 Grafana 版本兼容范围、性能指标、收费与价格信息;令牌权限与 Grafana 侧访问控制未详细说明,需以实际配置为准。