mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge branch 'master' into alerting
This commit is contained in:
@@ -24,4 +24,17 @@ brew update
|
|||||||
brew reinstall grafana
|
brew reinstall grafana
|
||||||
```
|
```
|
||||||
|
|
||||||
|
-------------
|
||||||
|
|
||||||
|
You can also install the latest unstable grafana from git:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
brew install --HEAD grafana/grafana/grafana
|
||||||
|
```
|
||||||
|
|
||||||
|
To upgrade grafana if you've installed from HEAD:
|
||||||
|
|
||||||
|
```
|
||||||
|
brew reinstall --HEAD grafana/grafana/grafana
|
||||||
|
```
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ page_keywords: grafana, plugins, documentation
|
|||||||
The easiest way to install plugins is by using the CLI tool grafana-cli which is bundled with grafana. Before any modification take place after modifying plugins, grafana-server needs to be restarted.
|
The easiest way to install plugins is by using the CLI tool grafana-cli which is bundled with grafana. Before any modification take place after modifying plugins, grafana-server needs to be restarted.
|
||||||
|
|
||||||
### Grafana plugin directory
|
### Grafana plugin directory
|
||||||
On Linux systems the grafana-cli will assume that the grafana plugin directory is `/var/lib/grafana/plugins`. It's possible to override the directory which grafana-cli will operate on by specifying the --path flag. On Windows systems this parameter have to be specified for every call.
|
On Linux systems the grafana-cli will assume that the grafana plugin directory is `/var/lib/grafana/plugins`. It's possible to override the directory which grafana-cli will operate on by specifying the --pluginsDir flag. On Windows systems this parameter have to be specified for every call.
|
||||||
|
|
||||||
### Grafana-cli commands
|
### Grafana-cli commands
|
||||||
|
|
||||||
|
|||||||
26
packaging/mac/bin/grafana
Executable file
26
packaging/mac/bin/grafana
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
DAEMON=grafana-server
|
||||||
|
EXECUTABLE=/usr/local/bin/grafana-server
|
||||||
|
CONFIG=/usr/local/etc/grafana/grafana.ini
|
||||||
|
HOMEPATH=/usr/local/share/grafana
|
||||||
|
LOGPATH=/usr/local/var/log/grafana
|
||||||
|
DATAPATH=/usr/local/var/lib/grafana
|
||||||
|
PLUGINPATH=/usr/local/var/lib/grafana/plugins
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
$EXECUTABLE --config=$CONFIG --homepath=$HOMEPATH cfg:default.paths.logs=$LOGPATH cfg:default.paths.data=$DATAPATH cfg:default.paths.plugins=$PLUGINPATH 2> /dev/null &
|
||||||
|
[ $? -eq 0 ] && echo "$DAEMON started"
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
killall $DAEMON
|
||||||
|
[ $? -eq 0 ] && echo "$DAEMON stopped"
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 (start|stop|restart)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -27,10 +27,21 @@ export class AlertSrv {
|
|||||||
this.set(alert[0], alert[1], 'success', 3000);
|
this.set(alert[0], alert[1], 'success', 3000);
|
||||||
}, this.$rootScope);
|
}, this.$rootScope);
|
||||||
|
|
||||||
|
appEvents.on('alert-error', options => {
|
||||||
|
this.set(options[0], options[1], 'error', 7000);
|
||||||
|
});
|
||||||
|
|
||||||
appEvents.on('confirm-modal', this.showConfirmModal.bind(this));
|
appEvents.on('confirm-modal', this.showConfirmModal.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
set(title, text, severity, timeout) {
|
set(title, text, severity, timeout) {
|
||||||
|
if (_.isObject(text)) {
|
||||||
|
console.log('alert error', text);
|
||||||
|
if (text.statusText) {
|
||||||
|
text = `HTTP Error (${text.status}) ${text.statusText}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var newAlert = {
|
var newAlert = {
|
||||||
title: title || '',
|
title: title || '',
|
||||||
text: text || '',
|
text: text || '',
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ export class DashNavCtrl {
|
|||||||
$scope.viewJson = function() {
|
$scope.viewJson = function() {
|
||||||
var clone = $scope.dashboard.getSaveModelClone();
|
var clone = $scope.dashboard.getSaveModelClone();
|
||||||
var html = angular.toJson(clone, true);
|
var html = angular.toJson(clone, true);
|
||||||
var uri = "data:application/json," + encodeURIComponent(html);
|
var uri = "data:application/json;charset=utf-8," + encodeURIComponent(html);
|
||||||
var newWindow = window.open(uri);
|
var newWindow = window.open(uri);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import moment from 'moment';
|
|||||||
import gfunc from './gfunc';
|
import gfunc from './gfunc';
|
||||||
import {Parser} from './parser';
|
import {Parser} from './parser';
|
||||||
import {QueryCtrl} from 'app/plugins/sdk';
|
import {QueryCtrl} from 'app/plugins/sdk';
|
||||||
|
import appEvents from 'app/core/app_events';
|
||||||
|
|
||||||
export class GraphiteQueryCtrl extends QueryCtrl {
|
export class GraphiteQueryCtrl extends QueryCtrl {
|
||||||
static templateUrl = 'partials/query.editor.html';
|
static templateUrl = 'partials/query.editor.html';
|
||||||
@@ -141,7 +142,7 @@ export class GraphiteQueryCtrl extends QueryCtrl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
this.error = err.message || 'Failed to issue metric query';
|
appEvents.emit('alert-error', ['Error', err]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,7 +179,7 @@ export class GraphiteQueryCtrl extends QueryCtrl {
|
|||||||
altSegments.unshift(this.uiSegmentSrv.newSegment('*'));
|
altSegments.unshift(this.uiSegmentSrv.newSegment('*'));
|
||||||
return altSegments;
|
return altSegments;
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
this.error = err.message || 'Failed to issue metric query';
|
appEvents.emit('alert-error', ['Error', err]);
|
||||||
return [];
|
return [];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user