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