当浏览器运行Grafana时,会向后端请求数据。默认使用grafana 的后端作为代理服务器,而不是直接访问后端服务器。在数据源的配置页面,可以设置access 选项为Browser 来禁止使用grafana 后端服务器作为代理服务器。 当数据源的URL设置

在插件的源代码中,$scope.datasource.url变量是数据源插件里设置的后端服务器的URL。 比如,如果我们在数据源配置页面中设置的URL为http://localhost:53138/api/,Access设置为Browser,那么该变量的值就是http://localhost:53138/api/,即真正的后端数据服务器地址。如果我们把Access 设置为Server,即使用Grafana 后端服务器作为代理服务器来访问真正的后端数据服务器,那么该变量的值就会变成像http://localhost:3000/api/datasources/proxy/6这样的地址。其中http://localhost:3000/api/datasources/proxy是Grafana后端服务器提供的代理服务的地址,数字6是动态变化的,会变成其他数字。

由此我们插件中拼接URL是,需要注意在需要请求的资源路径前面加上反斜杠/。比如,如果我们需要先后端请求会员的信息,会员信息的访问接口URL是:http://localhost:53138/api/members, 那么应该使用$scope.datasource.url+“/members”而不是$scope.datasource.url+“members”。前者无论是否使用Grafana 后端作为代理都可以使用,而后者不能使用Grafana 后端作为代理。

3 对 “Grafana 插件开发笔记-代理服务器设置”的想法;

  1. Grafana 的本地化支持一直没有很好的方案,官方团队也不打算提供本地化支持。博主有什么好的建议没有?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据