diff --git a/public/app/features/org/partials/datasourceHttpConfig.html b/public/app/features/org/partials/datasourceHttpConfig.html
index 88923e77b3d..94c208d8370 100644
--- a/public/app/features/org/partials/datasourceHttpConfig.html
+++ b/public/app/features/org/partials/datasourceHttpConfig.html
@@ -6,7 +6,7 @@
Url
-
+
Access Direct = url is used directly from browser, Proxy = Grafana backend will proxy the request
diff --git a/public/app/plugins/datasource/influxdb/datasource.js b/public/app/plugins/datasource/influxdb/datasource.js
index 2ff0f8beb0e..c483e28b288 100644
--- a/public/app/plugins/datasource/influxdb/datasource.js
+++ b/public/app/plugins/datasource/influxdb/datasource.js
@@ -126,6 +126,22 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) {
return this._influxRequest('GET', '/query', {q: query});
};
+ InfluxDatasource.prototype.testDatasource = function() {
+ return this.metricFindQuery('SHOW MEASUREMENTS LIMIT 1').then(function () {
+ return { status: "success", message: "Data source is working", title: "Success" };
+ }, function(err) {
+ var message, title;
+ if (err.statusText) {
+ message = err.statusText;
+ title = "HTTP Error";
+ } else {
+ message = err;
+ title = "Unknown error";
+ }
+ return { status: "error", message: message, title: title };
+ });
+ };
+
InfluxDatasource.prototype._influxRequest = function(method, url, data) {
var self = this;
var deferred = $q.defer();