该技能用于通过 Grafana 的 HTTP API 以编程方式管理 Grafana 资源,提供 TypeScript 工具与 API 参考工作流。
用途与主要能力:覆盖仪表板的创建、更新、删除、列表、导出、克隆、版本查看与恢复;以及文件夹、数据源、告警规则、注释、用户和团队的 API 操作。工作流分为 DashboardCrud(仪表板增删改查)、GrafanaClient(TypeScript 客户端库)与 ApiReference(API 端点参考)。
使用方式:设置环境变量 GRAFANA_URL 与 GRAFANA_TOKEN(推荐使用服务账号令牌,如 glsa_ 前缀;新版本中 API key 已弃用)。命令行示例:bun run Tools/DashboardCrud.ts list、list --query production --tag monitoring、get abc123、export abc123 --output dashboard.json、create --file dashboard.json --folder my-folder、update abc123 --file updated.json --message "Updated panels"、clone abc123 --title "Production Copy" --folder prod-folder、versions abc123、restore abc123 --version 5、delete abc123。也可在 TypeScript 中使用 GrafanaClient,通过 createGrafanaClient() 或构造函数传入 baseUrl、token、orgId,调用 searchDashboards、getDashboardByUid、saveDashboard、deleteDashboard、getDashboardVersions、restoreDashboardVersion 等。多组织场景可加请求头 X-Grafana-Org-Id。
适用场景:批量导出或创建仪表板、跨文件夹克隆、版本回滚、批量更新标签等自动化管理任务。
限制与提示:需要有效的令牌与足够权限;更新时建议携带版本号以防并发覆盖,overwrite: true 需谨慎使用;UID 比数字 ID 更便于跨实例移植。资料未提供收费、许可、支持版本等信息。