Prometheus 如何导出具有基本身份验证详细信息的Grafana数据源并再次导入?

Prometheus 如何导出具有基本身份验证详细信息的Grafana数据源并再次导入?,prometheus,grafana,Prometheus,Grafana,我无法在Grafana中导出具有基本身份验证详细信息的数据源 当我在互联网上搜索时,人们正在通过URL/api/datasources下载数据源JSON,并以同样的方式用另一个api上传 我试过了。一切正常,但对于基本身份验证信息,只有basicAuth:true作为JSON而不是密码信息从上述rest调用下载。因此,导入JSON不会在Grafana中创建正确的数据源 是否有一种方法可以顺利地将JSON导出然后导入到数据源的Grafana中?(特别是普罗米修斯数据源) 提前谢谢 在此处更新我的场

我无法在Grafana中导出具有基本身份验证详细信息的数据源

当我在互联网上搜索时,人们正在通过URL
/api/datasources
下载数据源JSON,并以同样的方式用另一个api上传

我试过了。一切正常,但对于基本身份验证信息,只有
basicAuth:true
作为JSON而不是密码信息从上述rest调用下载。因此,导入JSON不会在Grafana中创建正确的数据源

是否有一种方法可以顺利地将JSON导出然后导入到数据源的Grafana中?(特别是普罗米修斯数据源)

提前谢谢

在此处更新我的场景:

要求是什么: 我希望已启用基本身份验证的Grafana数据源能够导出并导入到客户端站点:

为什么需要它: 这是必需的,因为在我的一个用例中,我使用基本auth配置了Prometheus数据源,并尝试将其导出为json并推送到GIT。在Jenkins(CI/CD)的帮助下,我需要在UAT部署中创建/更新它们,然后使用相同的方法将它们发送给客户

在我没有在普罗米修斯中启用基本auth之前,一切都很顺利。一旦我启用,这种持续集成就会中断,因为UAT中的Grafana和客户端由于身份验证问题(因为基本身份验证配置未以JSON导出)而无法与Prometheus一起工作:


有人能帮我解决这个问题吗?

没有。凭据存储在
SecureJSonfiels
中,这些字段不能通过API使用。这是一个功能而不是bug-。

为了满足我的场景, 在Grafana中导入数据源JSON时,我发现了如何传递基本身份验证的密码

注意:通过在secureJsonData下定义密码和基本密码 Grafana将它们作为数据库中的加密blob进行安全加密。 然后,响应将列出secureJsonFields下的加密字段

因此,我手动将密码放入从Grafana导出的JSON中,如下所示,然后推入GIT

{
  "name": "ds_prometheus",
  "type": "prometheus",
  "url": "http://my-prometheus:8080",
  "access": "proxy",
  "basicAuth": true,
  "basicAuthUser": "user",
  "secureJsonData": {
    "basicAuthPassword": "password"
  },
  "isDefault": true,
  "jsonData":{"httpMethod":"POST","keepCookies":[],"timeInterval":"30s","queryTimeout":"120s","tlsSkipVerify":true}
}

因此,每当CI/CD运行时,都会使用正确的凭据在Grafana中正确填充数据源。

我打开此增强功能时描述了我的场景:@Moksh您是否阅读:
,但是,由于安全原因,我们不希望通过API公开此敏感信息。
?是的。但这并不符合用例。我在增强请求中也提到了它。或者你是说我的用例无效。?