You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式在Grafana中创建服务账号?

解决方案:通过Grafana API创建服务账号及后续操作

你参考的文档里其实包含了编程创建服务账号的API细节,这里整理具体操作步骤:

1. 创建服务账号

使用POST请求调用服务账号创建接口,需要管理员权限的令牌(可从Grafana UI的「API Keys」页面创建一个Admin角色的密钥)。

请求示例(curl):

curl -X POST \
  http://<你的Grafana地址>/api/serviceaccounts \
  -H "Authorization: Bearer <管理员API密钥>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-programmatic-sa",
    "role": "Editor", # 根据需求选择Admin/Editor/Viewer
    "isDisabled": false
  }'

成功响应会返回服务账号的id,这个ID后续生成令牌时需要用到。

2. 为服务账号生成访问令牌

用上一步拿到的服务账号ID,调用令牌创建接口:

请求示例(curl):

curl -X POST \
  http://<你的Grafana地址>/api/serviceaccounts/<服务账号ID>/tokens \
  -H "Authorization: Bearer <管理员API密钥>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "sa-dashboard-token",
    "expiration": "30d" # 可选,不填则令牌永久有效
  }'

响应里的key字段就是服务账号的访问令牌,后续调用Grafana API时用它做身份验证。

3. 使用服务账号令牌操作仪表盘

拿到令牌后,就可以用它调用仪表盘相关API,比如创建自定义仪表盘:

请求示例(curl):

curl -X POST \
  http://<你的Grafana地址>/api/dashboards/db \
  -H "Authorization: Bearer <服务账号令牌>" \
  -H "Content-Type: application/json" \
  -d '{
    "dashboard": {
      "title": "Programmatic Dashboard",
      "panels": [
        {
          "type": "text",
          "title": "Test Panel",
          "content": "Created via API"
        }
      ]
    },
    "folderId": 0, # 0代表根目录
    "overwrite": false
  }'

注意事项

  • 管理员令牌必须是Admin角色,否则无法创建服务账号
  • 服务账号的role要匹配后续操作的权限(比如创建仪表盘需要Editor或Admin角色)
  • 如果遇到权限报错,优先检查服务账号的角色配置和令牌有效性

内容的提问来源于stack exchange,提问作者HelmBurger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 11:56:00