Compare commits

...

1384 Commits

Author SHA1 Message Date
Torkel Ödegaard
ed4d170bcc build: updated version to v4.3.2 2017-05-31 10:48:16 +02:00
Torkel Ödegaard
812958162a revert: removed lazy loading feature, closes #8500 2017-05-31 10:47:04 +02:00
Dan Cech
e4cb103966 remove X-Forwarded-* headers added by nginx when proxying data source & plugin requests (#8418)
* remove X-Forwarded-* headers added by nginx when proxying data source & plugin requests

* properly handle X-Forwarded-For
2017-05-29 13:09:15 +02:00
Daniel Lee
d318c9093f graph: Handle data with zeroes for log scale
fixes #8446. Data with all values equal to zero, creates a max with the
value of Infinite. The for loop for creating ticks then gets stuck in an
infinite loop. This fix resets min and max and creates some fake ticks
for the y-axis if the min and max are not finite numbers.
2017-05-29 12:18:54 +02:00
Dan Cech
c95162e067 tweak column lengths for utf8mb4 support on older mysql (#8483) 2017-05-29 12:18:27 +02:00
Torkel Ödegaard
0d865a83bc fix: fixed test data fake metric query, fixes #8474 2017-05-29 12:17:51 +02:00
Victor Azevedo
980b9b5ca0 use fielddata_fields in elasticsearch 2.x queries
Resolves issue #8467
2017-05-29 12:15:51 +02:00
Torkel Ödegaard
896f849b84 fix: influxdb query editor did no show alias by input field when in text editor mode, fixes #8459 2017-05-24 16:47:38 +02:00
Torkel Ödegaard
b17a1ed557 playlist: fixed dashboard play ordering, fixes #7688 2017-05-24 13:21:43 +02:00
Torkel Ödegaard
634ee0f9fa fix: graphg panel logarithmic scale goes blow x-axis, fixes #8244 2017-05-24 11:20:07 +02:00
Torkel Ödegaard
befc15c5a1 fix: s3 image uploads to us-east-1 (us standard) did not return correct image urls so images shared to slack and other services was not correct, fixes #8444 2017-05-23 15:50:22 +02:00
Torkel Ödegaard
423ad4d36e docs: updated docs 2017-05-23 12:45:15 +02:00
Torkel Ödegaard
d9c6f7a141 release: bumped version to 4.3.0 2017-05-23 11:14:53 +02:00
Torkel Ödegaard
044668a395 login: minor fix to login page 2017-05-23 11:10:16 +02:00
Torkel Ödegaard
90dbd4978b Merge branch 'master' of github.com:grafana/grafana 2017-05-23 10:56:37 +02:00
Torkel Ödegaard
359421b5e8 refactor: sqlstore inTransaction consolidated to one version, fixes #8376 2017-05-23 10:56:23 +02:00
Daniel Lee
73cb035231 mysql: annotation support. Fixes #8382
Simple query editor - a text area with a Show Help section.
Validation for empty query and if the time_sec column is missing.
2017-05-23 09:53:20 +02:00
Matt Toback
d47078e27f 2017! 2017-05-22 17:29:24 -04:00
Torkel Ödegaard
5e33b5fcfa docs: updated changelog 2017-05-22 15:39:46 +02:00
Torkel Ödegaard
c34db77f04 grafana_com: changed name of oauth grafana_net integration (old settings names still work), and updated login button look, closes #8415 2017-05-22 14:56:50 +02:00
Torkel Ödegaard
7c50563f0f fix: fixed crash when gzip was enabled 2017-05-22 14:09:54 +02:00
Torkel Ödegaard
a64c06d02c mysql: add user permission notice mysql config view, closes #8359 2017-05-22 13:53:43 +02:00
Torkel Ödegaard
966cefc8d0 docs: updated changelog 2017-05-22 13:04:59 +02:00
Torkel Ödegaard
a0b9dcad4d alert: alerting annotation improvements, fixes #8421 2017-05-22 13:02:49 +02:00
Torkel Ödegaard
370db82238 docs: updated changelog 2017-05-22 10:55:22 +02:00
Torkel Ödegaard
20e631a22d fix: All alert annotations showed up in unsaved/new dashboards graph panels with alert, fixes #8361 2017-05-22 10:49:26 +02:00
Junliang Huang
6d3246e39e docs(readme): remove dev.ini reference (#8419)
remove dev.ini reference as it seems not working anymore.
2017-05-21 10:07:21 +02:00
Joe Handzik
d4264cbfc2 Make location for plugins consistent (#8429)
Please let me know if this changed in a more recent version of Grafana, but when using 4.2.0 the manual install directions were off a little (there was no `data/plugins` directory, only a `plugins` directory).

Signed-Off-By: Joe Handzik <joseph.t.handzik@hpe.com>
2017-05-21 10:03:57 +02:00
Dave Scott
f7215608e9 Update VictorOps notifier w/ auto resolve and image URL (#8431)
* Fixed newline JSON buy in VictorOps integration

* Fixed payload sent to VictorOps so that link displays correctly

* Fixed formatted to resolve go error

* Add auto resolve incidents and image URL to VictorOps notifier
2017-05-21 10:02:48 +02:00
Torkel Ödegaard
878121bb46 fix: templating variable name validation detecting global variable naming wrongly, fixes #8423 2017-05-19 11:14:11 +02:00
Torkel Ödegaard
9045be5689 fix: Prometheus & hidden queries caused no metric query to be issued, fixes #8413 2017-05-19 10:24:47 +02:00
Torkel Ödegaard
59f3cca135 docs: updated changelog 2017-05-18 14:13:05 +02:00
Torkel Ödegaard
8918922179 alerting: fixed issue with included alerting error & no data reasons, fixes #8412 2017-05-18 14:10:12 +02:00
Torkel Ödegaard
43d5525aaa Merge branch 'master' into alert_state 2017-05-18 13:38:34 +02:00
Daniel Lee
4182acda58 Merge pull request #8332 from sliceratwork/master
upgrade to Font Awesome 4.7.0
2017-05-17 14:58:14 +02:00
Daniel Lee
16fb7a2e4a Merge pull request #8394 from berghauz/master
Proxy support added to webdav uploader, fixes #7922
2017-05-17 14:49:22 +02:00
Daniel Lee
f5118ced4d Merge pull request #8400 from haidaraM/docs-admin
docs: Added requests body for 'Password for User' and 'Permissions'
2017-05-17 14:42:14 +02:00
A78677
ab874cd037 docs: Added requests body for 'Password for User' and 'Permissions' in the admin api documentation 2017-05-17 14:26:27 +02:00
Daniel Lee
540ee35393 timerange: new quick ranges, month and year so far
The new time ranges can also be used for time range overrides in the
override relative time field. E.g. now/M or now/y.
2017-05-17 13:52:39 +02:00
Daniel Lee
e61b392916 core: fix linting errors in specs files 2017-05-17 13:47:44 +02:00
Torkel Ödegaard
87f5222907 typescript: fixed issue with tslint in testsW 2017-05-17 13:43:17 +02:00
Torkel Ödegaard
d261f33c3d influxdb: influxdb query editor changes 2017-05-17 13:27:56 +02:00
Torkel Ödegaard
972be88569 fix: singlestat gauge sizing issue when panel is very wide, fixes #7773 2017-05-17 11:56:40 +02:00
Torkel Ödegaard
fc146fe54e Merge branch 'master' of github.com:grafana/grafana 2017-05-17 11:33:24 +02:00
Torkel Ödegaard
8e03f321eb fix: Elasticsearch table aggregation and support for many aggregations of same type, now uses field name if more than 1 aggregation of same type, fixes #4709 2017-05-17 11:33:08 +02:00
Dan Cech
9dc220b8e2 include error message in email notification (#8392) 2017-05-17 09:51:51 +02:00
berghauz
48cf58e739 Indenting fix 2017-05-17 03:58:18 +03:00
berghauz
c713bd9a9a Proxy support added, fixes #7922
Well, i'm really want to see it working in 4.3.0
2017-05-17 02:50:56 +03:00
Torkel Ödegaard
820671d6cc Merge branch 'master' of github.com:grafana/grafana 2017-05-16 16:29:27 +02:00
Torkel Ödegaard
02c79a6389 influxdb: improvements to influxdb query editor, SLIMIT, LIMIT and ORDER BY now added on demand by plus button 2017-05-16 16:28:58 +02:00
Daniel Lee
e8b798914d mysql: adds mapping for int/long 2017-05-16 16:07:42 +02:00
Torkel Ödegaard
8b11712f5e fix: Graphite issue with toggle edit mode in query editor, fixes #8377 2017-05-16 14:29:30 +02:00
Torkel Ödegaard
f84dc24fcb alerting: improving and fixing alert history, #7257 2017-05-15 16:17:05 +02:00
Torkel Ödegaard
f697f81950 sqlite: fixed database table looked handling, now retries up to 5 times, fixes #7992 2017-05-15 12:19:19 +02:00
Torkel Ödegaard
fd969bf659 Merge branch 'master' of github.com:grafana/grafana 2017-05-15 10:33:43 +02:00
Konstantin Koniev
9566197620 Internationalise keybindings. (#8311) 2017-05-12 14:59:56 +02:00
Daniel Lee
fd5fc0b7ab docs: metadata change for guide post 2017-05-12 14:19:46 +02:00
Daniel Lee
fcbe306628 release: version bump for package cloud script 2017-05-12 13:36:42 +02:00
Daniel Lee
88d4fde815 docs: v4.3.0-beta1 updates 2017-05-12 13:36:42 +02:00
Daniel Lee
a73f664d54 Update CHANGELOG.md 2017-05-12 13:26:34 +02:00
Daniel Lee
3a892727b3 release version bump 4.3.0-beta1 2017-05-12 11:45:26 +02:00
Daniel Lee
a9c535e551 mysql: add some more type mapping
Decimals mapped to floats for now. No mapping for bit or
any of the blob types. Tinyint not mapped to bool.
2017-05-12 11:37:51 +02:00
Torkel Ödegaard
375e60750e docs: updated heatmap docs 2017-05-12 11:14:11 +02:00
Torkel Ödegaard
17198807c9 docs: updated mysql docs 2017-05-12 11:04:54 +02:00
Torkel Ödegaard
910e54d75e Merge branch 'master' of github.com:grafana/grafana 2017-05-11 16:31:31 +02:00
Torkel Ödegaard
5076460254 docs: updated heatmap docs 2017-05-11 16:30:50 +02:00
Torkel Ödegaard
2e7ac8f2da heatmap: fix for unit options width 2017-05-11 15:20:13 +02:00
Mitsuhiro Tanda
5e85558e9e (prometheus) fix graph link (#8349) 2017-05-11 14:24:13 +02:00
Torkel Ödegaard
88672389f3 docs: minor docs fix 2017-05-11 14:16:05 +02:00
Torkel Ödegaard
2c3f3dffa3 docs: updated heatmap panel docs menu name 2017-05-11 13:02:10 +02:00
Torkel Ödegaard
2c5563442f docs: added initial mysql docs 2017-05-11 12:59:49 +02:00
Torkel Ödegaard
f976e465c4 mysql: minor improvement for table panel 2017-05-11 11:06:13 +02:00
Torkel Ödegaard
4ce0bf4d16 mysql: improved mysql data source, added test feature when adding data source, fixed cache issue 2017-05-11 10:50:24 +02:00
Torkel Ödegaard
ab6740c685 heatmap: Docs and heatmap fixes 2017-05-11 10:19:47 +02:00
Torkel Ödegaard
30b6c3b54a build: fixed heatmap test 2017-05-11 08:56:32 +02:00
Tiantian Gao
b2c14b858e Fix http logging time_ms unit is wrong (#8342)
In fact, the unit of `time_ms` int http logging is not "ms", this patch fix it.
2017-05-11 08:53:40 +02:00
Suzana Pescador
8c9cc4fae1 [Bug] Coloring Background on siglestat panel #7242 (#8334)
The bug was happening because the background color was being based on
the rounded value (accounting the user defined decimals). Changed it to
use the pure value (not the rounded) to follow whats being done in the
value color, and also in the table thresholds (they don't consider the
decimals when comparing to thresholds).
2017-05-10 20:02:35 +02:00
Torkel Ödegaard
1d4338ba54 Merge branch 'master' of github.com:grafana/grafana 2017-05-10 17:19:03 +02:00
Torkel Ödegaard
0a68dabb89 heatmap: Fixes & progress on heatmap docs 2017-05-10 17:17:51 +02:00
Suzana Pescador
d6eefcb5ce Can't remove default avg column in table #4515 (#8335)
Avg column was being added at every rendering, if the table was empty.
Now the column will be added once as an initialization when selecting a
'timeseries_aggregations' transform.
2017-05-10 15:51:34 +02:00
Pranay Kanwar
ee8799de88 Fix dropcounter option, is called dropResets (#8336) 2017-05-10 15:46:19 +02:00
Daniel Lee
4a35126bf6 api: health check returns 503 if db is failing
ref #3302
2017-05-10 15:23:59 +02:00
Daniel Lee
f350ae242b Update CHANGELOG.md
ref #7934 
ref #7968
ref #3164
2017-05-10 14:32:18 +02:00
Daniel Lee
c21f86f6b4 Update CHANGELOG.md
ref #8277, ref #8250, ref #8262, ref #8165, ref #8093, ref #8056, ref #8043, ref #7970, ref #7914, ref #7864, ref #7750, ref #7740, ref #7697, ref #7619, ref #5619, ref #4030, ref #5278, ref #3302, ref #2524
2017-05-10 13:29:36 +02:00
Torkel Ödegaard
d791f902e9 heatmap: more refactoring 2017-05-10 13:05:26 +02:00
Andrei Stefan
b054b1faac upgrade to Font Awesome 4.7.0 2017-05-10 09:28:00 +03:00
Torkel Ödegaard
acff78d421 Merge branch 'master' into heatmap-refactoring2 2017-05-09 12:41:11 +02:00
Torkel Ödegaard
8bbff2c44e table: refactoring table options, now column styles are in a seperate tab 2017-05-09 12:35:44 +02:00
Torkel Ödegaard
e218052a90 fix: fixed slow down issue in table panel by removing the fillter null values feature (#7602), not sure the filter null values is a good table option, should be done in metric query, fixes #8234 2017-05-09 12:07:06 +02:00
Torkel Ödegaard
84141eb14a docs: updated changelog 2017-05-09 08:45:47 +02:00
Torkel Ödegaard
79120a0b1f Merge branch 'master' of github.com:grafana/grafana 2017-05-09 08:33:43 +02:00
Torkel Ödegaard
8d072de556 elasticsearch: changed default terms min_doc_count to 1 and order by to desc, closes #8231 2017-05-09 08:33:37 +02:00
Anton Yackushev
fdc97010b4 Rename fielddata_fields to docvalue_fields (#8317)
The parameter fielddata_fields is deprecated and removed in 5.0 https://github.com/elastic/elasticsearch/issues/19027
2017-05-09 07:16:48 +02:00
Torkel Ödegaard
25a267a7ab fix: segment used influxdb naming for variable in options callback, should be more generic 2017-05-08 16:08:53 +02:00
Torkel Ödegaard
f168c9e53d table: minor ux options update 2017-05-08 15:57:15 +02:00
Torkel Ödegaard
076a94560b Merge branch 'table-options' 2017-05-08 15:31:29 +02:00
Torkel Ödegaard
be284adacc table: more table options refactoring 2017-05-08 15:26:05 +02:00
Torkel Ödegaard
556829eda9 table: began table options redesign 2017-05-08 11:17:29 +02:00
Torkel Ödegaard
823b40a360 docs: added bash and http syntax highlighting 2017-05-08 08:02:08 +02:00
Torkel Ödegaard
e2f0b42d90 docs: updated cloudwatch docs, closes #8315 2017-05-08 06:49:55 +02:00
lpavlovi
c323d2fc4c Removed panelElemName - appears to not be used anywhere (#8313) 2017-05-07 08:19:08 +02:00
Dan Cech
e8fbfce59a remove unneeded import, update docs text 2017-05-05 13:11:44 -04:00
Dan Cech
0f24b45c1a Merge branch 'master' into table-col-alias 2017-05-05 12:41:35 -04:00
Dan Cech
29653d2bec refactor and add column alias tests 2017-05-05 12:40:49 -04:00
Torkel Ödegaard
fbf39598b8 heatmp: removed series stats option, lacked tests 2017-05-05 17:33:54 +02:00
Torkel Ödegaard
ece21b2d95 heatmap: more refactoring 2017-05-05 17:28:33 +02:00
Torkel Ödegaard
dd5a426911 heatmap: refactoring heatmap 2017-05-05 16:15:08 +02:00
Torkel Ödegaard
43c6f74904 heatmap: removed fill background, and highlight card options 2017-05-05 12:33:04 +02:00
Torkel Ödegaard
4412e41738 ux: updated heatmap and alertlist icons 2017-05-05 11:43:42 +02:00
Torkel Ödegaard
5c9810fba4 docs: added in app docs & links to annotation docs 2017-05-05 11:30:44 +02:00
Torkel Ödegaard
2479ad262e ux: updated look of info box 2017-05-05 09:16:28 +02:00
Torkel Ödegaard
e75bc5d39a docs: added templating docs link to app 2017-05-05 08:56:19 +02:00
Torkel Ödegaard
6ee11f1172 heatmap: minor update 2017-05-05 07:05:11 +02:00
Torkel Ödegaard
f167d459fe Merge branch 'heatmap-refactor' 2017-05-04 19:56:29 +02:00
Torkel Ödegaard
5acabc6ccb heatmap: refactoring 2017-05-04 19:56:20 +02:00
Trent White
b4a8678cae remove duplicate paragraph, couple word tweaks 2017-05-04 10:34:19 -04:00
Torkel Ödegaard
61b51c0cbf heatmap: refactoring 2017-05-04 16:03:47 +02:00
Torkel Ödegaard
0390a7c17b docs: fixed docs intro 2017-05-04 12:36:34 +02:00
Torkel Ödegaard
11959f0c4c Merge branch 'master' of github.com:grafana/grafana 2017-05-04 12:13:43 +02:00
Torkel Ödegaard
dbcd19bbce docs: minor update to OpenTSDB docs 2017-05-04 12:12:55 +02:00
柯豪
b7a1ff753a update name for AWS credentials (#8287) 2017-05-04 11:44:36 +02:00
Torkel Ödegaard
0bab1fd088 Merge branch 'templating-docs', closes #8243 2017-05-04 11:17:39 +02:00
Torkel Ödegaard
cbba692962 docs: influxdb docs update 2017-05-04 11:15:48 +02:00
Torkel Ödegaard
e80e0c044b docs: updated elasticsearch docs 2017-05-04 10:19:00 +02:00
Daniel Lee
e08188929d docs: update to alert notifications 2017-05-03 22:27:10 +02:00
Daniel Lee
b61de0cddc docs: fix API alerting docs 2017-05-03 17:24:27 +02:00
Torkel Ödegaard
287cd83e76 docs: grammarly fixes 2017-05-03 16:34:51 +02:00
Torkel Ödegaard
59fdda6559 docs: minor update to prometheus docs 2017-05-03 15:53:31 +02:00
Torkel Ödegaard
ed8d284715 docs: updated prometheus docs 2017-05-03 15:50:38 +02:00
Torkel Ödegaard
e6c29391c6 docs: improved Graphite templating docs 2017-05-03 14:20:59 +02:00
Torkel Ödegaard
2304a710bf docs: templating doc wip 2017-05-03 14:09:04 +02:00
Daniel Lee
186a5e9d6f Merge pull request #8274 from sliceratwork/master
Update style guide
2017-05-03 11:04:52 +02:00
Andrei Stefan
c57ec23a66 fix broken layout for styleguide icons tab 2017-05-03 11:46:08 +03:00
Torkel Ödegaard
b042c53980 ux: updated heatmap icon 2017-05-03 08:56:51 +02:00
Vladimir Gordiychuk
deab4a378a bug: MetricSegment lost information about type (#8278)
Fixed #8277
2017-05-03 08:22:30 +02:00
Daniel Lee
44f76fdabc Merge pull request #8275 from jonfreedman/patch-1
chore: add comment to clarify that org_id usage
2017-05-02 17:07:36 +02:00
Jon Freedman
6ebb31bed4 chore: add comment to clarify that org_id usage
As described here: https://community.grafana.com/t/many-to-many-group-dn-org-role-mapping-in-ldap-config/729/2 org_id can be used to allow multiple group_dn's to map to the same org_role provided the org_id differs.
2017-05-02 15:45:48 +01:00
Torkel Ödegaard
c1de972eb5 docs: wip templating docs 2017-05-02 16:22:31 +02:00
Andrei Stefan
53ccc6f48f fix theme switching in style guide 2017-05-02 16:45:34 +03:00
Andrei Stefan
f43c749422 add plugin authoring tab in style guide 2017-05-02 16:15:28 +03:00
Andrei Stefan
ad3da0f47c add icon guide 2017-05-02 15:57:02 +03:00
Dan Cech
665cf55e6e make generic oauth provider flexible enough to handle bitbucket's oauth implementation (#8248) 2017-05-02 14:37:56 +02:00
Daniel Lee
b4cfb225cf tech: updates log15 vendor packages
Fixes #8262
2017-05-02 12:47:32 +02:00
Daniel Lee
ac6c93b3da docs: add publish bash script 2017-05-02 10:20:09 +02:00
Torkel Ödegaard
0fd96b951a wip: heatmap refactor 2017-05-02 09:55:18 +02:00
Daniel Lee
83c138f575 docs: fix mistake in api docs 2017-05-02 09:39:50 +02:00
rogerswingle
02455753b5 Specify region for s3 (#8251) 2017-05-01 19:22:20 +02:00
Torkel Ödegaard
88dd8af4ce docs: Updates to screencasts & sharing docs 2017-04-28 13:43:00 +02:00
Torkel Ödegaard
4f9f186575 docs: overhauled annotation docs and moved some of the data source specific annotation docs to the respective data source doc pages, closes #1111 2017-04-28 12:51:21 +02:00
Torkel Ödegaard
c46b73538c docs: minor update to troubleshooting guide, closes #8242 2017-04-28 11:16:05 +02:00
Torkel Ödegaard
0ac9ec8f7e docs: added restore instructions to backup section in upgrading doc article, closes #5680 2017-04-28 11:05:14 +02:00
Daniel Lee
c6d5259c6d changelog: add note for #6564 2017-04-28 11:01:54 +02:00
Torkel Ödegaard
26f4a8e5a4 docs: added links to upgrading article 2017-04-28 10:58:26 +02:00
Torkel Ödegaard
a93fa0acde docs: Added general upgrading docs / guide, closes #5905 2017-04-28 10:52:50 +02:00
Torkel Ödegaard
b14c3d63e4 docs: added missing white space to config docs, #7073 2017-04-28 09:21:47 +02:00
Dan Cech
2361e2ddd9 fix moment.js deprecation warning when running tests 2017-04-27 15:29:32 -04:00
Dan Cech
b1691f1cd1 add support for column aliases in table panel 2017-04-27 15:23:49 -04:00
Torkel Ödegaard
24e3777894 docs: updated make file for docs to support specifying env and version 2017-04-27 12:17:22 +02:00
Torkel Ödegaard
f5a6c306a6 docs: worked on supporting doc versions 2017-04-27 09:58:45 +02:00
Mitja Z
c92d719a72 added support for listening on unix socket #4030 (#8221) 2017-04-27 08:54:21 +02:00
Yaron de Leeuw
d4f7a2bc99 minor code style: use strings.Replace fourth argument in influxdb (#8225)
Remove 5 lines from the codebase and an unecessary function,
by calling `strings.Replace` with -1 for the fourth argument.

A better alternative to what was merged in #8037
2017-04-27 08:51:43 +02:00
Matt Toback
b909cfbde4 Refactored Alert Pulse (#8227)
* Moved the animation to the pseudo element which seemed to reduce the CPU usage in an observable way.

* Removed unnecessary style
2017-04-27 08:49:03 +02:00
Torkel Ödegaard
a0d8afd435 ux: minor change to styles & heatmap option names 2017-04-26 14:18:58 +02:00
Daniel Lee
f23239650e changelog: adds note for #514 2017-04-26 13:25:38 +02:00
Daniel Lee
8f4c797399 docs: update graph docs images + some text changes 2017-04-26 13:19:24 +02:00
Daniel Lee
6707d77af5 graph: dashes option only used in series overrides
Removes dashes option from Display tab so that it is only available
for series overrides. Also removes options for dash space and length
in series overrides and just uses the default values of 10 for both of
them.
2017-04-26 13:19:24 +02:00
smalik
1a3bc60e69 feat(dashed lines): Implementing dashed lines
Adding support for dashed lines using jquery.flot.dashes.js
2017-04-26 13:19:24 +02:00
Torkel Ödegaard
9e13c93379 docs: fixed redirects to panel docs for old location, caused by move in bd414c1793 2017-04-26 13:01:12 +02:00
Daniel Lee
dc1178acc8 Merge pull request #8211 from necrolyte2/patch-1
duplicate keys for auth.github for allow_sign_up
2017-04-25 20:26:46 +02:00
Tyghe Vallard
1edeaa5e7e duplicate keys for auth.github for allow_sign_up 2017-04-25 11:11:32 -05:00
Torkel Ödegaard
d2a22e7b23 influxdb: fixed template variable interpolation of multi valued variables when using raw query editor mode, fixes #8165 2017-04-25 17:27:57 +02:00
Torkel Ödegaard
19a04b7e4a change: minor change to health check api endpoint 2017-04-25 17:24:36 +02:00
Torkel Ödegaard
f6f2d85aa7 change: minor change to health check api endpoint 2017-04-25 17:24:06 +02:00
Daniel Lee
6538e86793 webdav: add tests + path.join for public url param
Fixes #7914. Fixes #7921
2017-04-25 17:22:18 +02:00
fir4
6d9e8bd147 webdav: allow specification of a different public_url than upload url 2017-04-25 17:22:18 +02:00
Torkel Ödegaard
368e847d12 feat: added api health endpoint that does not require auth and never creates sessions, returns db status as well. #3302 2017-04-25 17:17:45 +02:00
Torkel Ödegaard
fe64ed424e docs: removed deprecated api #8210 2017-04-25 16:17:05 +02:00
Torkel Ödegaard
b780415f25 fix: change to remember me cookie encoding 2017-04-25 15:33:15 +02:00
Daniel Lee
aee4af2148 api: omit unused fields for /api/datasources
Fixes #7822
2017-04-25 15:23:36 +02:00
Torkel Ödegaard
4720216e5e tech: upgraded macaron & macaron inject, binding, session 2017-04-25 15:16:32 +02:00
Torkel Ödegaard
9f462c0519 emails: fixed position of logo in emails, fixes #8094 2017-04-25 14:50:53 +02:00
Torkel Ödegaard
b08b22192b docs: updated docs with fix info for #7659 2017-04-25 14:29:05 +02:00
Torkel Ödegaard
c3bad4701a fix: annotations fix for snapshots, fixes #7659 2017-04-25 14:27:41 +02:00
Torkel Ödegaard
87c978ebc9 fix: better error handling / messsage when testing email notification when stmp is not configured, fixes #8093 2017-04-25 13:16:41 +02:00
Torkel Ödegaard
8beb873db4 docs: updated changelog with #6140 2017-04-25 13:04:22 +02:00
Torkel Ödegaard
8c448d95a1 Merge branch 'master' into mtanda-prometheus_table 2017-04-25 12:59:25 +02:00
Torkel Ödegaard
6ff1144abf refactoring: prometheus PR #6140 2017-04-25 12:57:23 +02:00
Dan Cech
b489e93d94 Config Array Syntax (#8204)
* refactor util encryption library so it doesn't have to import log

* add util.SplitString to handle space and/or comma-separated config lines

* go fmt
2017-04-25 09:14:29 +02:00
Torkel Ödegaard
d085aaad41 fix: variable srv addVariable function, only used in tests 2017-04-24 17:06:58 +02:00
Torkel Ödegaard
787fea90b9 heatmap: changed name of heatmap data format option, #8054 2017-04-24 15:17:57 +02:00
Torkel Ödegaard
ae5e004b69 mysql: time filter macro updated 2017-04-24 14:55:43 +02:00
sbhenderson
c485fed744 Fix to issue 2524 by limiting number of returned measurements for display. (#8092) 2017-04-24 11:44:29 +02:00
Daniel Lee
92d723d6f5 docker: remove downloaded temp files from opendata image 2017-04-24 11:40:38 +02:00
Torkel Ödegaard
9e0acdda23 Update ROADMAP.md 2017-04-24 11:28:09 +02:00
Torkel Ödegaard
ef36ffb5d0 Update ROADMAP.md 2017-04-24 11:27:59 +02:00
Torkel Ödegaard
48acffe095 Update ROADMAP.md 2017-04-24 11:27:28 +02:00
Torkel Ödegaard
09b7516d47 Update ROADMAP.md 2017-04-24 11:27:05 +02:00
Torkel Ödegaard
16d27a4a8d Update ROADMAP.md 2017-04-24 11:25:44 +02:00
Torkel Ödegaard
663f7ee239 Update ROADMAP.md 2017-04-24 11:24:19 +02:00
Torkel Ödegaard
b8259d7583 Create ROADMAP.md 2017-04-24 11:18:34 +02:00
Torkel Ödegaard
2b029912aa mysql: query editor fix 2017-04-24 10:58:53 +02:00
Daniel Lee
7784e4e24b mysql: add datetime type to table data 2017-04-23 21:56:58 +02:00
Daniel Lee
413ee33d5d mysql: fix go vet error 2017-04-23 20:07:20 +02:00
Daniel Lee
d1e6f90f92 Merge pull request #8194 from Alexander-N/fix-orgfilter
fix: make organisation filter case insensitive
2017-04-23 19:55:35 +02:00
Torkel Ödegaard
8f17a84f31 mysql: added basic templating support 2017-04-23 14:22:47 +02:00
Torkel Ödegaard
253b8be449 mysql: updated test data 2017-04-23 13:50:49 +02:00
Alexander-N
01fc6da3b2 fix: make organisation filter case insensitive 2017-04-23 12:30:19 +02:00
Daniel Lee
fdc68a8baa docker: adds mysqldb with test data
Downloads a large open dataset from NYC Open Data.
Then converts date columns into the mysql format.
2017-04-22 02:01:29 +02:00
Torkel Ödegaard
6ea99540ec Merge branch 'master' of github.com:grafana/grafana 2017-04-21 17:30:37 +02:00
Daniel Lee
6160978019 singlestat: with table data, support string values
If the selected table column is string then show that in the singlestat
2017-04-21 16:54:56 +02:00
Daniel Lee
a49ef90a1d singlestat: value mapping for table data
Adds support for value mapping for table data in the single stat panel.
2017-04-21 16:43:14 +02:00
Torkel Ödegaard
b22b3e5bb9 mysql: added default query template 2017-04-21 16:28:01 +02:00
Daniel Lee
8874be4c66 singlestat: add support for table data
If data is of type Table, then will return the first row of data. The
user can select which column should be shown in the SingleStat.
2017-04-21 16:17:31 +02:00
Daniel Lee
2c51f11440 singlestat: fix variable spelling 2017-04-21 16:17:31 +02:00
Torkel Ödegaard
ea53e7221e mysql: added query help 2017-04-21 15:52:42 +02:00
Torkel Ödegaard
97e2d75f51 mysql: added support for tables in mysql queries 2017-04-21 15:07:43 +02:00
Torkel Ödegaard
c78c460f79 mysql: worked on mysql data soruce 2017-04-20 17:10:23 +02:00
Daniel Lee
1bbc149089 docs: document API calls for /auth/keys 2017-04-20 13:59:36 +02:00
Daniel Lee
459d195291 docs: fix link 2017-04-20 13:35:51 +02:00
Daniel Lee
6ec1d16327 fix: cli admin reset-password fixes cmd args
Fixes the homepath and config command line args. This allows the
command to be used even when the homepath is different from the
default.

Fixes #7730
2017-04-20 13:30:17 +02:00
Torkel Ödegaard
50e70cf3db build: fixed unit test 2017-04-20 13:04:42 +02:00
Torkel Ödegaard
fc878bc8ad build: fixed order 2017-04-20 11:59:11 +02:00
Torkel Ödegaard
2cb2c4073e build: moved copy node modules ahead of tslint 2017-04-20 11:27:12 +02:00
Torkel Ödegaard
4368c5a896 build: moved copy node modules ahead of tslint 2017-04-20 11:26:30 +02:00
Torkel Ödegaard
f1276774a0 typescript: updated tslint and fixed new warnings 2017-04-20 11:16:37 +02:00
raj dutt
98266bd95a Update alerting.md
typo in API URL
2017-04-19 13:19:01 -04:00
Torkel Ödegaard
11806dfa78 mysql: progress 2017-04-19 17:26:37 +02:00
Daniel Lee
1e29d4fcfa docs: adds note in changelog for #8110 2017-04-19 15:07:47 +02:00
Daniel Lee
ee3a553800 Merge pull request #8163 from bashgeek/telegram_metrics
Add metrics/matches to Telegram notifications (proposed fix for #8110)
2017-04-19 15:03:03 +02:00
Daniel Schmitz
d123b951e9 Fixed parsing error 2017-04-19 17:02:52 +08:00
Torkel Ödegaard
e164eba677 mysql: began work on backend macro engine 2017-04-19 10:10:08 +02:00
Daniel Schmitz
7078d5d524 Added metrics/matches to telegram notifications; Added some HTML to beautify 2017-04-19 15:53:23 +08:00
Mitsuhiro Tanda
62d11c147b (cloudwatch) fix dimension value find query (#8159) 2017-04-19 07:12:59 +02:00
Torkel Ödegaard
456b07b766 annotations: removing wip stuff so I can merge to master 2017-04-18 17:28:39 +02:00
Torkel Ödegaard
0bae7212f6 annotations: removed category stuff, my mistake, we need tags 2017-04-18 17:15:22 +02:00
Torkel Ödegaard
73718afb79 annotations: mini fix to event manager 2017-04-18 17:09:06 +02:00
Torkel Ödegaard
809467955a Merge branch 'master' into create-annotations 2017-04-18 17:07:44 +02:00
Torkel Ödegaard
db36639ffc fix: #8111 2017-04-18 16:58:34 +02:00
Torkel Ödegaard
3ee886d0fb Merge branch 'query-references' 2017-04-18 16:30:28 +02:00
Torkel Ödegaard
85baa50194 recfactor: added unit test for the new scenario, #8143 2017-04-18 16:30:20 +02:00
Torkel Ödegaard
473006e8cf build: updated grunt watch to explain best usage 2017-04-18 15:36:38 +02:00
Kevin Conaway
5dad324ab7 #8144 Only require root to start/stop grafana (#8145) 2017-04-18 13:49:04 +02:00
Alexander Zobnin
7aa992bde4 initial category types 2017-04-17 18:56:39 +03:00
Alexander Zobnin
f0816b37bd rename annotation_category to category 2017-04-17 18:53:10 +03:00
Dan Cech
a64e000f1a process this.target separately to fix issues with tests 2017-04-17 11:10:55 -04:00
Dan Cech
715453204e make sure graphite queries containing references are properly updated 2017-04-17 10:47:25 -04:00
Alexander Zobnin
5df82be290 create-annotations: fix missing lodash import 2017-04-17 11:37:23 +03:00
Thomas Szymanski
f2dffeb543 Influxdb datasource: fix language in stacking helpful info section (#8134) 2017-04-16 11:56:29 +02:00
Torkel Ödegaard
fa2a7db657 ux: create annotations 2017-04-14 23:10:56 +02:00
Torkel Ödegaard
03ef1fd758 refactoring: event / annotation handling in graph panel broken out 2017-04-14 22:56:01 +02:00
Torkel Ödegaard
60ef7d8768 Merge branch 'master' into create-annotations 2017-04-14 22:36:34 +02:00
Torkel Ödegaard
aa47b9bf5c refactoring: simplified backend_srv and subUrl handling, #8122 2017-04-14 19:01:08 +02:00
Torkel Ödegaard
b77991f69b refactoring: minor changes to #8122 2017-04-14 16:00:52 +02:00
Dan Cech
f490c5f12c use X-Grafana-Org-Id header to ensure backend uses correct org (#8122) 2017-04-14 15:47:39 +02:00
Ivan Babrou
fb163450a5 Change prometheus semantics from step to min step (#8073)
Previously `Step` parameter would set a hard value for any zoom level.

Now it's renamed to `Min step` and sets the minimal value of `step` parameter
to Prometheus query. User would usually want to set it to the scraping interval
of the target metric to avoid having shap cliffs on graphs and extra load
on Prometheus. Actual `step` value is calculated as the minimum of automatically
selected step (based on zoom level) and user provided minimal step. If user
did not provide the step, then automatic value is used as is.

Example bahavior for `60s` scrape intervals:

* `5s` automatic interval, no user specified min step:
  * Before: `step=5`
  * After: `step=5`
* `5s` automatic interval, `1m` user specified min step:
  * Before: `step=5`
  * After: `step=60`
* `5m` automatic interval, `1m` user specified min step:
  * Before: `step=60` (not really visible, too dense)
  * After: `step=300` (automatic value is picked)

See:

* https://github.com/grafana/grafana/issues/8065
* https://github.com/prometheus/prometheus/issues/2564
2017-04-14 14:51:22 +02:00
Torkel Ödegaard
a151de1d37 progess on adding annotations 2017-04-14 14:43:06 +02:00
Torkel Ödegaard
0335c1f368 ux: updated styles a bit 2017-04-14 13:08:03 +02:00
Torkel Ödegaard
ea92ddccb3 create annotations progress 2017-04-14 12:46:02 +02:00
Torkel Ödegaard
ff426ae9a3 more work on annotations 2017-04-14 12:23:32 +02:00
Torkel Ödegaard
dbe5480edc create annotations work 2017-04-14 11:41:02 +02:00
Torkel Ödegaard
2fce88ee62 ux: popover forms 2017-04-14 10:18:49 +02:00
Dan Cech
3a607f96a3 fix bug in log sprintf calls (#8124) 2017-04-14 07:45:36 +02:00
Torkel Ödegaard
c68fffcd6d ux: popover forms 2017-04-13 20:28:13 +02:00
Torkel Ödegaard
2f61fc6afe ux: made progress on popover forms 2017-04-13 18:39:49 +02:00
Torkel Ödegaard
dbeeb32ab6 Merge branch 'master' into popover-forms 2017-04-13 16:22:08 +02:00
Alexander Zobnin
ab99a7c1c7 graph(create annotation): add initial annotation_category table 2017-04-13 16:57:22 +03:00
Torkel Ödegaard
dd3e594dd7 fix: scroll issue and positioning of info-popover 2017-04-12 21:20:47 +02:00
Torkel Ödegaard
9c246ba301 docs: fixed http docs for alert notifications, fixes #8105 2017-04-12 20:57:22 +02:00
Alexander Zobnin
2142323da9 graph(create annotation): refactor, AddAnnotationModalCtrl 2017-04-12 21:07:39 +03:00
Alexander Zobnin
17d3970673 graph(create annotation): push one annotation with time from and time to 2017-04-12 21:04:18 +03:00
Alexander Zobnin
ef99ff0ad7 graph(create annotation): use single description for range 2017-04-12 20:37:33 +03:00
Alexander Zobnin
8a1c35e1c2 graph(create annotation): refactor, fix two modal after range selection
bind create annotation handler directly to plotclick event, not to global graph-click
2017-04-12 20:27:32 +03:00
Torkel Ödegaard
de21be30d2 ux: working on how to show form in popover 2017-04-12 17:28:32 +02:00
Alexander Zobnin
eeb998d712 Merge remote-tracking branch 'upstream/create-annotations' into create-annotations 2017-04-12 17:36:40 +03:00
Torkel Ödegaard
593b2ef866 annotation: added region support to annoations 2017-04-12 16:26:34 +02:00
Torkel Ödegaard
b867921b3b annotation: cleanup 2017-04-12 15:49:59 +02:00
Torkel Ödegaard
0156a94a49 annotations: you can now read annoations via manually created annoation query 2017-04-12 15:46:41 +02:00
Alexander Zobnin
aff6aa081c Merge remote-tracking branch 'upstream/create-annotations' into create-annotations 2017-04-12 16:20:36 +03:00
Alexander Zobnin
d2f3d7d138 graph(add annotation): get alerts for all panels 2017-04-12 16:06:48 +03:00
Torkel Ödegaard
78f4bd2de9 Merge branch 'create-annotations' of github.com:grafana/grafana into create-annotations 2017-04-12 15:01:31 +02:00
Torkel Ödegaard
752b42798a annotations: added new options hide toggle, and show option 2017-04-12 15:01:17 +02:00
Alexander Zobnin
232513bb4e graph(add annotation): refactor
pass ctrlKey and metaKey through flot events
2017-04-12 15:26:34 +03:00
Tyndie
20ac8bf83e Set .go tab size to 4 in .editorconfig (#8099)
Tab size was added as 2 in .editorconfig but a tab size of 4 is used
throughout go code base.

This can cause editors such as vscode to automatically reformat open .go
files to tab size 2 from 4.
2017-04-12 10:59:50 +02:00
Torkel Ödegaard
8eb112d119 plugins: refactoring builtIn data source concept, now means data source plugins that you do not need to add via data sources page, that is automatically added as selectable data source, #8095 2017-04-12 08:23:44 +02:00
Torkel Ödegaard
e80494390a Merge branch 'always_displayed_datasources' of https://github.com/ctide/grafana into ctide-always_displayed_datasources 2017-04-12 07:44:59 +02:00
Torkel Ödegaard
b3df1aa9bd org: fixed issue with orgId query param redirect handling when grafana is under subpath and reverse proxy, fixes #8089 2017-04-12 07:11:08 +02:00
Mitsuhiro Tanda
d2bf2e86ed upgrade to aws-sdk-go v1.8.11 (#8091)
* upgrade to aws-sdk-go v1.8.11

* fix test
2017-04-12 06:40:44 +02:00
Torkel Ödegaard
09cec3118f docs: updated go and node version requirements for building, fixes #8097 2017-04-12 06:39:26 +02:00
Chris Burkhart
d12dc2bfa7 Add alwaysDisplayed option to datasource plugins, this will allow it to show up as an option to select when adding queries to a panel without actually adding it as a datasource. 2017-04-11 13:47:53 -07:00
Torkel Ödegaard
07466b6725 security: fixed returning info on weither user exists or not in password reset call, fixes #7619 2017-04-11 16:50:16 +02:00
Torkel Ödegaard
a109049de4 smpt: Added smtp docker block 2017-04-11 16:41:07 +02:00
Torkel Ödegaard
89a7c2c686 influxdb: validate database exist when saving data source, fixes #7864 2017-04-11 15:05:30 +02:00
Torkel Ödegaard
83e0f69cde Merge branch 'master' of github.com:grafana/grafana 2017-04-11 14:43:40 +02:00
Torkel Ödegaard
9099119f62 grunt: minor watch fix 2017-04-11 14:42:35 +02:00
Torkel Ödegaard
9bdcc4ec5f influxdb: holt winters edits 2017-04-11 14:40:08 +02:00
Torkel Ödegaard
e0640487df Update CHANGELOG.md 2017-04-11 13:38:13 +02:00
Daniel Lee
3ca3c96226 profiling: adds profiling and tracing
If grafana-server binary is started with the -profile flag then
tracing will create a trace.out file and pprof data can be accessed
on the 6060 port.

A custom port for pprof profiling can be set with the -profile-port
flag.
2017-04-11 10:32:18 +02:00
Alexander Zobnin
f42202e665 Merge branch 'master' into graph-annotations 2017-04-11 10:27:37 +03:00
Alexander Zobnin
70bca219e3 graph(add annotation): Add keybinding for CTRL key 2017-04-11 10:24:21 +03:00
Alexander Zobnin
d553498a33 graph(add annotation): initial backend implementation #1286 2017-04-10 20:22:58 +03:00
Torkel Ödegaard
0384eecf5c fix: minor fix for bug when saving alert with empty message, fixes #7927 2017-04-10 15:26:05 +02:00
Daniel Lee
2877ad1a7d docs: manual installation of plugins 2017-04-10 15:01:40 +02:00
Alexander Zobnin
362860f687 graph(add annotation): able to select region (start and stop time) #1286 2017-04-10 12:45:08 +03:00
Davide Setti
997da1b266 fix a typo in the shortcut help modal (#8078)
Collapse all ros -> Collapse all rows
2017-04-10 10:10:32 +02:00
Torkel Ödegaard
337b3295bd docs: updated changelog 2017-04-10 09:45:44 +02:00
Simen Bekkhus
21ae987bcd If earlier dashboard refresh was supressed, force a new one on page becoming visible (#8076) 2017-04-10 09:43:35 +02:00
Alfred Krohmer
41171f8a5c Add a link to a graph image in Pushover notifications (#8075) 2017-04-10 09:17:37 +02:00
Alexander Zobnin
32d34aed7a graph: initial Add Annotation flow #1286 2017-04-08 19:44:40 +03:00
Torkel Ödegaard
efca9e904d Merge branch 'mixed_typeahead' of https://github.com/mtanda/grafana into mtanda-mixed_typeahead 2017-04-07 12:17:19 +02:00
Torkel Ödegaard
1cd632cc43 plugins: added state property to plugins 2017-04-07 12:00:03 +02:00
Torkel Ödegaard
26804d630f Merge branch 'master' into sql-proxy 2017-04-07 10:34:51 +02:00
Torkel Ödegaard
3b47efe70e graph: minor change to histogram buckets input field 2017-04-07 10:16:57 +02:00
Torkel Ödegaard
7ec6e84fe8 adhocfilters: minor escape change 2017-04-07 10:08:16 +02:00
Alexander Zobnin
7e14797b10 graph: initial histogram support #600 (#8053)
* graph: initial histogram support #600

* graph histogram mode: add Bars number option

* graph histogram mode: fix X axis ticks calculation

* graph histogram mode: change bar style (align and width)

* refactor(graph): move histogram functions into separate module

* graph histogram mode: rename series to "count"

* graph histogram mode: fix errors if no data

* refactor(graph and heatmap): move shared code into app/core

* graph: add tests for histogram mode
2017-04-07 10:07:30 +02:00
tamayika
e6cc5df9d9 Fix restoration of ad-hoc variable value issue (#8057)
* Fix restoration of ad-hoc variable value issue

* Escape delimiters in ad-hoc variable URL

* Remove unnecessary newline
2017-04-07 09:31:36 +02:00
wrp
c219498aab Fix typo: "your" -> "your're" (#8064) 2017-04-07 09:29:46 +02:00
Torkel Ödegaard
f5f0d94ad4 fix: temp/testing fix for hanging issue, #8033 2017-04-06 13:18:50 +02:00
Calle Pettersson
a79102b42d Fix ldap ca_cert example/docs for proper syntax (#8044) 2017-04-06 09:53:11 +02:00
Alexander Zobnin
2b81bfe9bf alerting: fix $timeFilter cannot be used twice (#7969) (#8037) 2017-04-05 17:17:55 +02:00
Alexander Zobnin
308d46e4ef Fix 8013 (#8027)
* Add @ngInject to HeatmapCtrl constructor, issue #8013

* Remove unused loadPluginCss
2017-04-04 11:02:25 +02:00
Torkel Ödegaard
48c4e549f5 Revert "support panel repeat for datasource template variable (#7711)"
This reverts commit 554f972a25.
2017-04-04 09:28:33 +02:00
Torkel Ödegaard
dd800fd14d fix: table panel could not show annotations due to bug introduced in 4.2, fixes #8023 2017-04-03 22:07:09 +02:00
Torkel Ödegaard
95e0010a5b fix: sqlite3 and concurrent write requests caused database locked error some times, depending on how many concurrent requests and speed of disk drive. Fixed by reducign the number of concurrent db connections to 1 for sqlite3, fixes #7992 2017-04-03 09:42:11 +02:00
Torkel Ödegaard
4a2efb1007 alerting: removed width restriction on message, fixes #8000 2017-03-31 23:07:57 +02:00
Alexander Zobnin
ecd404335e heatmap: fix error with null values in ES converter (#7999) 2017-03-31 17:13:26 +02:00
Torkel Ödegaard
f77f8ebfc6 heatmap: changes to color spectrum, inverted some on dark theme 2017-03-31 17:12:50 +02:00
Torkel Ödegaard
3ed1600b90 Merge branch 'master' of github.com:grafana/grafana 2017-03-31 16:09:16 +02:00
Torkel Ödegaard
39e45004cd heatmap: inverted the color schemes 2017-03-31 16:09:00 +02:00
Torkel Ödegaard
4445c9ce60 Merge branch 'heatmap-panel' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-heatmap-panel 2017-03-31 14:26:52 +02:00
Torkel Ödegaard
5af81b974e mysql: graph showing 2017-03-31 13:57:10 +02:00
Torkel Ödegaard
a7babfb7cf tech: updated xorm libs 2017-03-31 12:54:39 +02:00
Torkel Ödegaard
bd3f825a6e updated go-sql-driver 2017-03-31 12:50:07 +02:00
Torkel Ödegaard
e5a5bef200 mysql: minor update 2017-03-31 12:49:05 +02:00
Alexander Zobnin
b18ed0b98f heatmap: calculate bucket size automatically for ES histogram 2017-03-31 12:51:43 +03:00
Torkel Ödegaard
d6d2080f11 mysql: minor progress on response processing 2017-03-31 11:45:25 +02:00
Alexander Zobnin
cb136c07b8 heatmap: add function for bucket size calculation 2017-03-31 11:44:44 +03:00
Torkel Ödegaard
af0ecd440f Update CHANGELOG.md 2017-03-31 07:32:44 +02:00
Mitsuhiro Tanda
554f972a25 support panel repeat for datasource template variable (#7711)
* support panel repeat for datasource template variable

* support All option
2017-03-31 07:31:15 +02:00
Alexander Zobnin
9ddfeaa9c2 heatmap: initial ES histogram support 2017-03-30 21:36:36 +03:00
Torkel Ödegaard
bd4f073425 mysql: minor update 2017-03-30 20:23:40 +02:00
Torkel Ödegaard
998f04e1e8 mysql: testdata 2017-03-30 20:01:04 +02:00
Alexander Zobnin
3170f0d84a heatmap: add ES histogram converter 2017-03-30 20:55:10 +03:00
Torkel Ödegaard
34d92b0e79 mysql: starting work on test data 2017-03-30 18:03:50 +02:00
Alexander Zobnin
114431beed heatmap: add tests for heatmap_data_converter 2017-03-30 18:21:22 +03:00
timolehto
6e304e6e42 comments: Typos in defaults.ini (#7988) 2017-03-30 17:12:00 +02:00
Torkel Ödegaard
080d2a2054 mysql: reading arbitrary SQL data in go is really strange, data is only in strings? 2017-03-30 13:46:46 +02:00
Kazumasa Kohtaka
aada5181fa docs: fix typo in a section describing search API (#7984) 2017-03-30 08:54:32 +02:00
Torkel Ödegaard
00fcaaf171 mysql: commented out old code from old PR 2017-03-29 22:55:37 +02:00
Torkel Ödegaard
8f90c6115d mysql: progress on mysql data source 2017-03-29 22:54:18 +02:00
Torkel Ödegaard
1ecdf34938 sql: wip mysql stuff 2017-03-29 20:43:20 +02:00
Torkel Ödegaard
c33fa27ed8 Update latest.json 2017-03-29 17:28:52 +02:00
Torkel Ödegaard
6965064ea9 Merge branch 'master' into sql-proxy 2017-03-29 16:40:14 +02:00
Torkel Ödegaard
91c184d3e0 elasticseach: fixed broken unit test 2017-03-29 16:33:44 +02:00
Torkel Ödegaard
3b235612fd elasticsearch: improve validation and error message when adding/testing elasticsearch ds, #7836 2017-03-29 16:03:28 +02:00
Daniel Lee
5702c57452 panel: remove unneeded options for tooltip 2017-03-29 16:01:27 +02:00
Alexander Zobnin
84b15fc74c Merge branch 'master' into heatmap-panel 2017-03-29 15:46:04 +03:00
Torkel Ödegaard
085c4c56b8 elasticearch: added support for histogram aggregations, closes #3164 2017-03-29 13:44:50 +02:00
Alexander Zobnin
65a829b64d heatmap tests: fix timezone-dependent test error 2017-03-29 13:41:19 +03:00
Alexander Zobnin
7c5b9f8c5b heatmap tooltip: change "values" label to "count" 2017-03-29 12:41:34 +03:00
Seuf
319b8d8fca Configurable signout menu activation (#7968) 2017-03-29 11:33:28 +02:00
Daniel Lee
ac39ed4218 panel: fixes #7970. Description tooltip overflow.
This seems to work for the three use cases:

- Overflow on the left
- Overflow on the right
- Elements that are out of view on page load
2017-03-29 11:16:16 +02:00
Alexander Zobnin
7770c38e30 heatmap: test for Y axis rendering 2017-03-29 11:30:30 +03:00
Alexander Zobnin
72e313a3dd heatmap: fix type error on buckets object 2017-03-29 11:29:58 +03:00
Torkel Ödegaard
98554e9fbe docs: added config entry for ldap allow_sign_up option, #7972 2017-03-29 08:42:10 +02:00
Alexander Zobnin
ac347fa06a heatmap: fix error while loading panel in editor mode 2017-03-28 18:09:15 +03:00
Alexander Zobnin
ece6fd73a1 heatmap: add initial rendering tests 2017-03-28 17:46:10 +03:00
Dan Cech
24d4e50343 utf8mb4 encoding (#7959)
* use utf8mb4 character set for connections to mysql

* use utf8mb4 character set for tables, shorten varchar fields used in unique indexes

* migration type to update table character set

* update table character sets

* set charset for temp_user.status

* gofmt
2017-03-28 14:34:53 +02:00
Jaroslav Hanslík
e91a078105 Slack notification should contain fallback text (#7961) 2017-03-28 10:05:44 +02:00
Dan Cech
dde8583db8 xorm engine.SetMaxConns is a deprecated alias for engine.SetMaxOpenConns 2017-03-27 18:04:03 -04:00
Alexander Zobnin
c9801595e5 heatmap: add heatmap_ctrl tests and fix errors 2017-03-27 19:04:29 +03:00
Daniel Lee
09ec8cdebe Merge pull request #7947 from crmac/docs-whats-new-4.0-fixes
Fix some spelling/grammar/wording problems in What's New in Grafana v4.0
2017-03-27 09:01:09 +02:00
crmacleo
54883e09d5 docs: fix some spelling/grammar/wording issues 2017-03-26 17:27:19 -07:00
Alexander Zobnin
0a56db7745 Add unit tests for heatmap_ctrl. 2017-03-26 18:22:54 +03:00
Alexander Zobnin
0023657701 Fix bucket size calculation if all values are 0; 2017-03-24 15:26:27 +03:00
Alexander Zobnin
96e91b5a0f Move css styles to public/sass/components/_panel_heatmap.scss 2017-03-24 15:15:01 +03:00
Alexander Zobnin
68f5e75eba Move heatmap panel into core grafana. 2017-03-24 14:18:26 +03:00
Daniel Lee
44c9ba2edf docs: add query parameter to api user search
ref #7469
2017-03-23 18:09:14 +01:00
Daniel Lee
08984448d0 Merge pull request #7923 from huydx/patch-1
Update README.md
2017-03-23 17:43:07 +01:00
0x6875790d0a
77ca62b1bc Update README.md 2017-03-24 01:04:18 +09:00
Daniel Lee
f45d637025 auth: fix warning in test 2017-03-23 15:52:08 +01:00
Daniel Lee
5773499dba docs: adds note for #6428 2017-03-23 15:33:59 +01:00
Daniel Lee
beb85f413a oauth: delete session key instead of set to empty
Adds the Delete function to the Session wrapper so that the Macaron
function for deleting keys from a Session can be used.

https://go-macaron.com/docs/middlewares/session#implement-provider-interface
2017-03-23 15:26:13 +01:00
Daniel Lee
79cef75fed Merge pull request #7426 from Altoros/altoros/authorization-errors
Add common type for oauth authorization errors
2017-03-23 15:25:35 +01:00
Torkel Ödegaard
83d864e7e4 fix: graph and fill below to issue, fixes #7916 2017-03-23 14:23:22 +01:00
Torkel Ödegaard
6828d35480 packaging: build fix 2017-03-23 12:38:42 +01:00
Torkel Ödegaard
887867165c packaging: testing fix 2017-03-23 11:31:47 +01:00
Torkel Ödegaard
7864828e75 packaging: publish nightly builds 2017-03-23 11:10:01 +01:00
Tobias Wolf
68e6700663 Add an After= DB ordering relation to systemd .service (#7903)
In systemd `After=` merely codes an ordering relation and does not start
other units.

Grafana needs to specify that it wants to start up _after_ either of the
supported DB services have started, _if they start_.

Enabling the database services, however, is out of scope for Grafana.
2017-03-22 16:49:35 +01:00
Torkel Ödegaard
8aa00f9227 build: updated publish script 2017-03-22 15:07:24 +01:00
Torkel Ödegaard
b404f32a09 docs: updated download links 2017-03-22 14:26:57 +01:00
Daniel Lee
01f646c191 docs: adds 4.2.0 release date 2017-03-22 14:06:53 +01:00
Torkel Ödegaard
7dd09d4185 Update CHANGELOG.md 2017-03-22 10:51:06 +01:00
Matt
578ba9bbd5 Added scientific notation as a unit for #7763 (#7781) 2017-03-22 10:49:31 +01:00
Torkel Ödegaard
362a349d9f cloudwatch: added #7892 to changelog 2017-03-22 07:20:46 +01:00
gomlgs
e99137598e Cloudwatch: Correctly obtain IAM roles within ECS container tasks. (#7892)
We now obtain credentials based on the container task's role
rather than just relying on the credentials of the enclosing
container instance.

Fixes #6700.
2017-03-22 07:15:19 +01:00
Trent White
5ed7d65b0e orange grafana.com seemed too much. making it gray 2017-03-21 13:13:35 -04:00
Torkel Ödegaard
b21ad3c376 Merge branch 'master' of github.com:grafana/grafana 2017-03-21 17:10:54 +01:00
Trent White
a510d85480 format css 2017-03-21 11:17:28 -04:00
Trent White
182a30e22c style tweak 2017-03-21 11:16:42 -04:00
Trent White
d4f2f41088 add dashboard and plugin icons to plugin list and dash search 2017-03-21 11:12:58 -04:00
Daniel Lee
69bec98962 chore: update all grafana.org urls to .com 2017-03-21 15:37:55 +01:00
Daniel Lee
b9940e618c profile: locks login fields if disable_login_form
If the auth config variable, disable_login_form, is set to true then
the username and email fields are set to read-only on the profile page.

The reason for this is so that the user does not lock themselves out by
changing their email address or username. Or create a new user by
changing both.

ref #7810
2017-03-21 14:42:32 +01:00
Torkel Ödegaard
0c372f0b85 Merge branch 'v4.2.x' 2017-03-21 10:36:40 +01:00
Torkel Ödegaard
99064603a4 packaging: added rpm posttrans script to fix config file change, fixes #7686 2017-03-21 10:36:15 +01:00
Daniel Lee
5ecc8a171f template: fix validation for required selects
Since upgrading to Angular 1.6.1, selects with a default empty option
no longer show a popup with an error on submit. This fix adds an
empty option that is then removed with ng-if. Having the default
option set to null or undefined seems to be the cause of the bug.

The list of changes in 1.6 is here but could not find any obvious
cause for this bug:

https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6
2017-03-21 10:31:42 +01:00
Daniel Lee
3d3357ee41 docs: add note for #7614 2017-03-20 23:14:33 +01:00
Daniel Lee
94498d533b template: fix validation for required selects
Since upgrading to Angular 1.6.1, selects with a default empty option
no longer show a popup with an error on submit. This fix adds an
empty option that is then removed with ng-if. Having the default
option set to null or undefined seems to be the cause of the bug.

The list of changes in 1.6 is here but could not find any obvious
cause for this bug:

https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6
2017-03-20 22:51:55 +01:00
Daniel Lee
65910db991 template: tweak to warning message 2017-03-20 17:14:24 +01:00
Torkel Ödegaard
c1c241698a Merge branch 'master' of github.com:grafana/grafana 2017-03-20 16:05:13 +01:00
Torkel Ödegaard
adf7645bf5 docs: added alias 2017-03-20 16:04:57 +01:00
Daniel Lee
e527aebbf1 Merge pull request #7758 from thuck/template_self_reference_7614
Validate query to avoid self-reference of variable #7614
2017-03-20 15:33:48 +01:00
Torkel Ödegaard
f78a28395d s3: support for alternative s3 bucket url syntax, closes #7871 2017-03-20 14:11:37 +01:00
Torkel Ödegaard
be5c4f47a6 s3: support for alternative s3 bucket url syntax, closes #7871 2017-03-20 14:10:44 +01:00
Torkel Ödegaard
3f76d76be6 Merge branch 'v4.2.x' 2017-03-20 13:39:53 +01:00
Torkel Ödegaard
122b4695e7 Update CHANGELOG.md 2017-03-20 13:37:55 +01:00
Andrii Skomorokhov
f2e4269242 Fixed position of tooltip with description at graph. (#7854) 2017-03-20 13:36:00 +01:00
Torkel Ödegaard
711081950e lib: updated dependency, fixes #7579 2017-03-20 13:30:22 +01:00
Torkel Ödegaard
dce63ec1d8 docs: updated changelog 2017-03-20 11:40:06 +01:00
Torkel Ödegaard
54c6699c2b usermanagement: disable invite features when login form is disabled, cherry picked from master, #7875 2017-03-20 11:37:33 +01:00
Torkel Ödegaard
970619ed52 Merge branch 'disable-login' 2017-03-20 11:18:41 +01:00
Torkel Ödegaard
6f324cd794 refactor: minor refactorings of #7876 2017-03-20 11:18:29 +01:00
Torkel Ödegaard
4d4e165be7 links: updated links from grafana.net to grafana.com 2017-03-20 10:20:32 +01:00
Mitsuhiro Tanda
a67497e679 add new s3 metrics (#7846) 2017-03-20 09:09:08 +01:00
Jens L
5785bfe0cc Add more information for generic oauth2 (#7880)
Add reference to OpenID's userinfo_endpoint (as in #6351)
2017-03-20 08:36:43 +01:00
Denis Doria
87027b0f77 Do not collapse if there is only 1-3 queries #7836 (#7878)
Also has the side effect of new panels having not collapsed queries when
being created
2017-03-18 15:23:40 +01:00
Torkel Ödegaard
50718b592c docs: added aliases 2017-03-18 08:25:26 +01:00
Dan Cech
51bdb60296 fix docs.grafana.org/plugins 2017-03-17 18:41:02 -04:00
Dan Cech
737c29ec8c disable inviting new users to orgs if login form is disabled 2017-03-17 16:35:05 -04:00
Torkel Ödegaard
aaf013b360 Merge branch 'master' of github.com:grafana/grafana 2017-03-17 19:33:38 +01:00
Torkel Ödegaard
19516ebcce docs: minor fix 2017-03-17 19:33:31 +01:00
Andrii Skomorokhov
5cb51631db Fixed position of tooltip with description at graph. (#7854) 2017-03-17 11:48:28 +01:00
Daniel Lee
76fa363613 Merge pull request #7867 from pandurang90/opsgenie_typo_fix
Typo fix for OpsGenie
2017-03-17 10:31:47 +01:00
Pandurang Waghulde
f3cce7efc9 typo fix for OpsGenie 2017-03-17 12:57:52 +05:30
Daniel Lee
38cab50a0c Merge pull request #7843 from gkman/patch-1
Update alerting.md
2017-03-16 12:41:03 +01:00
Torkel Ödegaard
7856e2f16b fix: metrics_panel and time range issue introduced earlier today, fixes #7849 2017-03-16 12:20:23 +01:00
Torkel Ödegaard
32f89f65da fix: Data source group by time interval did not take effect on initial query after dashboard load, fixes #7839 2017-03-16 09:54:33 +01:00
Gregory Kman
e9ad71abed Update alerting.md
Add missing `"`
2017-03-15 12:00:03 -05:00
Torkel Ödegaard
0b73369c4b docs: fixed docs title issue 2017-03-14 12:21:22 +01:00
Torkel Ödegaard
b05fca4fd7 Merge branch 'master' of github.com:grafana/grafana 2017-03-14 11:07:37 +01:00
Torkel Ödegaard
23954f775b Update ISSUE_TEMPLATE.md 2017-03-14 09:46:32 +01:00
Torkel Ödegaard
f42ef5fe17 Update ISSUE_TEMPLATE.md 2017-03-14 09:44:19 +01:00
Torkel Ödegaard
69ff97305f Update ISSUE_TEMPLATE.md 2017-03-14 09:44:09 +01:00
Torkel Ödegaard
967cdd73e1 Update ISSUE_TEMPLATE.md 2017-03-14 09:43:50 +01:00
Torkel Ödegaard
9e27b8ee47 Update README.md 2017-03-13 23:05:47 +01:00
Torkel Ödegaard
98b65641c3 Update README.md 2017-03-13 23:05:04 +01:00
Torkel Ödegaard
0bb8a920ca Update README.md 2017-03-13 21:32:28 +01:00
Torkel Ödegaard
b471e7e448 updated 2017-03-13 20:17:46 +01:00
Torkel Ödegaard
e189400f7c Merge branch 'master' into rebrand-docs 2017-03-13 20:14:02 +01:00
Daniel Lee
b93a2887a8 docs: add note for #3090 2017-03-13 11:44:02 +01:00
Daniel Lee
84ef6b9d48 Merge branch 'bigbenhur-autologscale'
Closes #5278 and closes #3090
2017-03-13 11:17:45 +01:00
Denis Doria
891df21969 Small fix for the Y-Max/Y-Min inputs on Axes (#7811) 2017-03-13 09:32:36 +01:00
Daniel Lee
77921c4dcd renderpng: fixes invalid image link (#7797)
Closes #7770
2017-03-13 09:31:59 +01:00
Jan Rückert
8637207b55 Change 60-day date range back to 90 days (#7803) 2017-03-11 16:17:35 +01:00
Daniel Lee
2580b61088 docs: adds note for #7663 2017-03-11 14:05:25 +01:00
Daniel Lee
6799b766a4 Merge pull request #7775 from hagen1778/prometheus-textarea-query
Make Prometheus query field a textarea #7663
2017-03-11 14:00:37 +01:00
Torkel Ödegaard
25318f5848 Merge branch 'master' into rebrand-docs 2017-03-11 12:36:58 +01:00
Daniel Lee
e19b48840f graph: merge fixes for #5278
This is an old PR so had some problems after merging in master.

- Fix for min and max that were not getting passed into the
applyLogScale function
- Fix for when min/max were undefined rather than null
- Fix for decimal ticks, as this PR populates the ticks itself then
it also needs to calculate the number of decimal places too. Flot
was showing the wrong number of decimal places sometimes otherwise
on the y-axis.
2017-03-10 18:46:36 +01:00
Daniel Lee
28cf229707 Merge branch 'autologscale' of git://github.com/bigbenhur/grafana into bigbenhur-autologscale 2017-03-10 11:57:00 +01:00
Daniel Lee
22553b154a docs: add note for #7799 2017-03-10 10:41:30 +01:00
Daniel Lee
9b806bc209 Merge pull request #7799 from thuck/influxdb_limit_fix_glow
Small fix for the "glow" when focus the field for LIMIT and SLIMIT
2017-03-10 09:12:53 +01:00
thuck
58afb1c7d6 Small fix for the "glow" when focus the field for LIMIT and SLIMIT 2017-03-09 21:22:40 +01:00
Daniel Lee
74c795b294 panel: use meta.soloMode instead of url check
when checking if rendering a png for lazy loading of panels.
2017-03-09 16:55:16 +01:00
Daniel Lee
c176de89c9 docs: add notes for #6065 #7232 and #5216 2017-03-09 14:31:27 +01:00
Daniel Lee
a30cf204d7 influx: small ux changes to query editor 2017-03-09 14:18:36 +01:00
Torkel Ödegaard
835d420294 alerting: fixed width of query component in alert tab 2017-03-09 12:57:58 +01:00
Torkel Ödegaard
952cc1d883 alerting: fixed width of query component in alert tab 2017-03-09 12:56:49 +01:00
Daniel Lee
2f5814d51c Merge pull request #7735 from thuck/influxdb_limit
Included LIMIT, SLIMIT and ORDER BY time for influxdb. closes #6065 and closes #7232
2017-03-09 09:23:04 +01:00
Torkel Ödegaard
7f8a3a0a2d dashboard: lazy loading panels as they become visible,fix, removed debunce #5216 2017-03-09 09:08:34 +01:00
Torkel Ödegaard
aee8f0b75e opentsdb: fix for OpenTSDB and multi value template variable in metric field, fixes #7754 2017-03-09 08:28:31 +01:00
Torkel Ödegaard
b272f5144a fix: graphite query ctrl, removed unnesserary check for empty paths, fixes #7740 2017-03-09 07:31:00 +01:00
Torkel Ödegaard
073dec8ba8 Merge branch 'master' of github.com:grafana/grafana 2017-03-09 07:06:04 +01:00
Torkel Ödegaard
bb2eb00b0e minor data source edit form improvement 2017-03-09 07:05:49 +01:00
Mitsuhiro Tanda
be123a07c5 (prometheus) adjust annotation step (#7768)
* (prometheus) adjust annotation step

* (prometheus) add step option
2017-03-09 06:53:50 +01:00
hagen1778
04d90d7139 Make Prometheus query field a textarea #7663 2017-03-08 21:30:20 +02:00
thuck
b8a82827b9 Fix ORDER BY to look like GROUP BY 2017-03-08 20:22:01 +01:00
Daniel Lee
588955c752 Merge branch 'jifwin-load_on_Scroll' 2017-03-08 19:06:59 +01:00
Daniel Lee
bd348a47c7 panel: update to #7452 panel loading on scroll
Moves the logic up a level to the panel_ctrl. This cleans up the code
and makes the lazy loading available for all panels.

Removes the config option and making this default behavior. We can
add back the config option if we get feedback that it is needed during
the beta phase of the v4.3.0 release.

Unbind the scroll handler on panel destroy to avoid memory leaks.

Fix for png rendering, it did not match all forms of dashboard-solo.
e.g. /render/dashboard-solo/db...

Fix for when taking a snapshot. All the panels get refreshed then
even the panels that are not visible.

Closes #5216.
2017-03-08 19:02:45 +01:00
Daniel Lee
4f06202e9a build: bumped version to 4.3.0 2017-03-08 17:10:51 +01:00
Daniel Lee
61844cb0da Merge branch 'master' into v4.2.x 2017-03-08 17:09:33 +01:00
Daniel Lee
5037dae959 docs: move #7469 to v4.2.0 2017-03-08 17:09:08 +01:00
Daniel Lee
dc6d55a59f docs: changelog for 4.2.0
Adds notes for:
- ref #7694
- ref  #7681
- ref #7736
- ref #7743
- ref #7696
- ref #3536
- ref #6365
- ref #7591
- ref #7276
- ref #7723
- ref #7739
- ref #7680
2017-03-08 11:16:14 +01:00
thuck
1cf569ac8e Fix tabs vs space 2017-03-08 08:25:32 +01:00
thuck
555acacd6d Validate query to avoid self-reference of variable #7614 2017-03-07 23:29:16 +01:00
Daniel Lee
9efb6e76e9 users: adds search and pagination (#7753)
ref #7469. Follow up change that adds proper paging with 50 results
per page as well as a search box to search by name, login or email.
2017-03-07 16:03:54 +01:00
Daniel Lee
08b2edf98c Merge branch 'load_on_Scroll' of git://github.com/jifwin/grafana into jifwin-load_on_Scroll 2017-03-07 15:58:14 +01:00
Torkel Ödegaard
140a0982e8 Merge branch 'master' into v4.2.x 2017-03-07 13:12:59 +01:00
Daniel Lee
8e3f22d307 docs: adds note about closing #7695 2017-03-07 11:23:57 +01:00
Daniel Lee
4ee262fe65 Merge pull request #7720 from mitjaziv/cubic_decimetre
added cubic decimetre - dm3 #7695
2017-03-07 10:41:27 +01:00
Ross Lodge
70c2586c80 Use other variable dependencies in regex filter for datasource variable (#7547) 2017-03-07 08:39:19 +01:00
Joseph Pintozzi
a37a2259b3 Allowing "Unique Count"s of any data type (#7704) 2017-03-07 08:36:33 +01:00
Mitsuhiro Tanda
a24ac012c4 support full resolution for $interval variable (#7696) 2017-03-07 08:35:29 +01:00
Patric Kanngießer
3735a1ace7 remember scroll position (https://github.com/grafana/grafana/issues/7680) (#7728) 2017-03-07 08:19:34 +01:00
Wouter Smit
125ee865b6 Spelling mistake (#7739) 2017-03-06 21:08:45 +01:00
Mitsuhiro Tanda
b387a8759e use session.NewSession() (#7745) 2017-03-06 21:08:16 +01:00
Pranay Kanwar
6ab90425c4 Pass dropcounter rate option if no max counter and no reset value or reset value as 0 is specified (#7743) 2017-03-06 16:19:37 +01:00
Torkel Ödegaard
c3202d3f99 sessions: start session gc at startup but only after between 10 - 180 seconds 2017-03-06 12:23:28 +01:00
Torkel Ödegaard
ebdd35d799 Merge branch 'master' of github.com:grafana/grafana 2017-03-06 11:52:07 +01:00
Torkel Ödegaard
9f1c6a73f0 tech: added sql logger to log all sql statements sent to sql server 2017-03-06 11:51:35 +01:00
Denis Doria
31866b5e57 Allow commas on template variable #7681 (#7732)
This improvement allows to wrap an "expression" when using single or
double quotes. So now you can have time interval with offset for
influxdb.
2017-03-06 08:37:49 +01:00
Torkel Ödegaard
6af62abd41 docs(): added router_logging to configuration options, closes #7723 2017-03-06 08:26:36 +01:00
Denis Doria
0264fcc66c Remove unsaved dialog when removing a dashboard #7591 (#7733) 2017-03-06 07:49:28 +01:00
Denis Doria
e71b13d9fa Improve regex detection for influxdb measurement #7276 (#7734) 2017-03-06 07:47:50 +01:00
thuck
c3eb9da160 Finish query builder for LIMIT, SLIMIT and ORDER BY time #6065 2017-03-05 23:41:16 +01:00
thuck
f577dd0f38 Including LIMIT, SLIMIT and ORDER BY time on influxdb #6065
Initial work for the query builder interface
2017-03-05 23:13:46 +01:00
Mitja Zivkovic
7ace2463a4 added cubic decimetre - dm3 #7695 2017-03-03 14:27:15 +01:00
bergquist
fe970f6629 docs: adds note about closing #7676 2017-03-03 11:09:05 +01:00
bergquist
26bb9ad399 build: use initial checkout within container
speedup and simplify the build within the container
2017-03-03 11:07:05 +01:00
Carl Bergquist
f185c2c953 Merge pull request #7676 from dbrgn/threema-emoji
feat(alerting): Add emoji to Threema alert notifications
2017-03-03 11:04:49 +01:00
bergquist
55e0df7896 docs: adds note about closing #7710 2017-03-02 14:01:06 +01:00
bergquist
ee190d57eb webhooks: get proxy settings from ini file
closes #7710
2017-03-02 13:58:50 +01:00
bergquist
412b8998a8 webhooks: get proxy settings from ini file
closes #7710
2017-03-02 13:57:28 +01:00
bergquist
473513aa2f docs: how to configure alert notification links 2017-03-01 17:19:34 +01:00
jifwin
c09cd4ba29 make load on scroll configurable and use debouce 2017-03-01 15:02:59 +00:00
Carl Bergquist
824357ed3b Merge pull request #7694 from rickard-von-essen/patch-1
Added some details about Sessions in Postgres
2017-03-01 12:17:25 +01:00
bergquist
06146b801c build: replace sha1 files with sha256
due to security reasons.
https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html
2017-03-01 11:44:53 +01:00
Rickard von Essen
573bcdde12 Added some details about Sessions in Postgres 2017-03-01 11:35:12 +01:00
bergquist
62eb19a186 template: dont allow template variables to begin with '__'
closes #7678
2017-02-28 17:08:38 +01:00
bergquist
6b1dd1c7fc changelog: adds note about closing #7678 2017-02-28 17:08:17 +01:00
bergquist
9b6571fab1 template: dont allow template variables to begin with '__'
closes #7678
2017-02-28 17:04:47 +01:00
bergquist
1631c8de95 build: use correct version for tar.gz files 2017-02-28 09:15:06 +01:00
bergquist
3ef077c180 build: use correct version for tar.gz files 2017-02-28 09:09:49 +01:00
Danilo Bargen
1422655e97 feat(alerting): Add emoji to Threema alert notifications
This commit prepends emoji to Threema alert notifications to make it
easier to discern various notification types (e.g. alert, no data, ok).
2017-02-27 17:10:52 +01:00
bergquist
7d897c0980 build: add docker trigger for release builds 2017-02-27 13:26:53 +01:00
bergquist
86789c0b69 docs: update docs for 4.2.0 beta release 2017-02-27 12:44:55 +01:00
bergquist
a763285daa updates script for packagecloud 2017-02-27 11:05:05 +01:00
Torkel Ödegaard
d2dac02a28 Revert "ES Nested type bucket aggregation (#4694) (#4694)"
This reverts commit 8087af9c89.
2017-02-27 10:57:44 +01:00
Archit Sharma
8087af9c89 ES Nested type bucket aggregation (#4694) (#4694)
* (elasticsearch): add nested agg (use bucket aggs). fixes #4693

* (elasticsearch): rebased after merge of #6043 refactored from #4527
2017-02-27 10:57:00 +01:00
bergquist
ffe0ecfaaa release 4.2.0 beta1 2017-02-27 10:33:26 +01:00
bergquist
05952688c5 tech: avoid using http.DefaultClient 2017-02-24 17:22:12 +01:00
bergquist
03354bc49a tech: replace context.TODO with background ctx 2017-02-24 09:20:28 +01:00
Torkel Ödegaard
e73b306e0c fix(templating): fixed duplicate dashboard refresh when changing template variable, #7654 2017-02-24 08:16:37 +01:00
bergquist
46ac8c098f changelog: adds note about closing #7482 2017-02-24 07:42:30 +01:00
Carl Bergquist
5d3da99806 Merge pull request #7482 from dbrgn/master
Alerting: Add Threema Gateway integration
2017-02-24 07:40:36 +01:00
bergquist
785cecac26 changelog: adds note about closing #7526 2017-02-24 07:35:45 +01:00
Carl Bergquist
bef216b6f4 Merge pull request #7526 from Mic92/master
Add Pushover alert notifications
2017-02-24 07:32:59 +01:00
bergquist
67b8b9743b changelog: note about closing #7602 2017-02-24 07:30:47 +01:00
Carl Bergquist
3ef1a60647 Merge pull request #7602 from Altoros/suppress-empty-results-in-table-plugin
Added suppressing of empty results to table plugin
2017-02-24 07:28:59 +01:00
Torkel Ödegaard
d6eaaf3add refactor: minor refactoring 2017-02-23 15:57:36 +01:00
Mitsuhiro Tanda
68bb417db9 support [[var]] in cloudwatch datasource (#7649)
* support [[var]] form in cloudwatch datasource

* support multi variable in single dimension

* fix test
2017-02-23 15:02:35 +01:00
bergquist
d88286ab81 orgs: set orgId as query param on load
ref #1613
2017-02-23 11:03:39 +01:00
Mitsuhiro Tanda
988ed06970 typeahead support in mixed datasource selection 2017-02-23 00:48:16 +09:00
bergquist
73830a44fe sharemodal: fixes broken unittests 2017-02-22 14:29:49 +01:00
bergquist
fe223cbc96 changelog: adds note about closing #1613 2017-02-22 14:04:01 +01:00
bergquist
fdb06c7c10 sharing: set orgId as query parameter when sharing a dashboard
to make sure an user opens the dashboard in the correct org, orgId will
always be added when sharing a dashboard. if the users current orgId
doesnt match the query parameter grafana will change it and redirect the
user.

closes #1613
2017-02-22 13:56:06 +01:00
bergquist
dea2e5d743 changelog: adds note about closing #6948 2017-02-22 11:24:06 +01:00
bergquist
607ee635d1 alerting: adds deduping of alert notifications 2017-02-22 10:52:01 +01:00
Carl Bergquist
b4fd6f2d45 Merge pull request #7632 from grafana/alerting_notification_dedupe
alerting: dedupe alert notifications when running multiple servers
2017-02-22 10:48:41 +01:00
bergquist
c1d69358ba changelog: adds note about closing #552 2017-02-22 10:39:52 +01:00
bergquist
9ed1d12cc0 style: use for loops over _.each in typescript 2017-02-22 10:36:30 +01:00
bergquist
c5a76fba87 shortcuts: add expand/collapse to shortcut help 2017-02-22 10:33:24 +01:00
bergquist
e828f3a97b shortcuts: change init bind key to d 2017-02-22 10:32:30 +01:00
Mitsuhiro Tanda
5a30b08b14 add keyboard shotcuts for collapse/expand rows 2017-02-22 09:30:56 +01:00
Torkel Ödegaard
e3b71ed95e docs(): updated CLA 2017-02-22 09:10:08 +01:00
Torkel Ödegaard
9c84b9f944 docs(): CLA fixes 2017-02-22 08:55:24 +01:00
Daniel Lee
e5f5c1724a templating: check for default data source (#7636)
For data source template variables, check if the
selected value is default and if so load the
default data source.

Fixes #7586
2017-02-21 17:27:21 +01:00
bergquist
00dddca26a alerting: dedupe alert notifications when running multiple servers
alert notifications will only be sent if the database value
is updated.

ref #6957
2017-02-21 16:54:49 +01:00
Daniel Lee
96a3ed0ac3 docs: new /api/users/search route
ref #7469. Description of new route that
adds paging for the users list.
2017-02-21 16:09:15 +01:00
Torkel Ödegaard
d5245fd19a docs(): updated changelog with #7612 2017-02-21 10:49:50 +01:00
Aaron Roydhouse
4039e5edbc Improve 'external_image_storage.s3' documentation (#7623)
Add documentation for 'external_image_storage.s3' to explain how to specify the AWS region for the S3 bucket, and the requires S3/IAM permissions.
2017-02-21 10:09:50 +01:00
bergquist
70b36a02af Revert "tech: use context package over xperimental version"
This reverts commit 99f1c30071.
2017-02-20 22:04:51 +01:00
bergquist
99f1c30071 tech: use context package over xperimental version 2017-02-20 21:44:15 +01:00
tamayika
b01fd3d0b5 Support for all ad-hoc filter operators on Elasticsearch (#7612) 2017-02-20 21:01:52 +01:00
Torkel Ödegaard
1d9b3871fa Merge branch 'rebrand-docs' of github.com:grafana/grafana into rebrand-docs 2017-02-20 12:12:47 +01:00
Torkel Ödegaard
bc9165bdfc Merge branch 'master' into rebrand-docs 2017-02-20 12:11:22 +01:00
bergquist
072c1559ba middlware: prevent orgredirect to open body stream
the org redirecter opened the body stream by misstake. Causing
downstream code to start reading from an empty stream and raise errors.
2017-02-20 11:38:29 +01:00
Torkel Ödegaard
b176f36889 docs(): updated CLA 2017-02-20 10:41:13 +01:00
Torkel Ödegaard
38126bc595 fix(templating): fixed issue detecting template variable dependency, fixes #7354 2017-02-20 09:31:50 +01:00
bergquist
492b2bd42f build: fixes golang 1.8 build on windows 2017-02-19 11:32:26 +01:00
Simon Effenberg
a4318e41f8 fixing little spelling issue (#7603) 2017-02-18 17:21:29 +01:00
Tim De Pauw
48649951e4 Github → GitHub (#7607) 2017-02-18 17:20:44 +01:00
bergquist
d2444cbed0 Merge branch 'paging-users' 2017-02-17 16:25:03 +01:00
bergquist
400bd8d2d3 build: reduce logs from npm install 2017-02-17 16:16:17 +01:00
Carl Bergquist
24474ba41a Merge pull request #7601 from grafana/redirect_on_new_orgid
middlware: change org when url contains orgid
2017-02-17 15:31:17 +01:00
bergquist
6115941df0 middleware: rename org-id -> orgId 2017-02-17 15:18:40 +01:00
bergquist
5174d050f2 middlware: change org when url contains orgid
closes #6948
ref #1613
2017-02-17 15:02:14 +01:00
Torkel Ödegaard
ac0d09c419 fix(): fixed issue with syncing refresh interval to url 2017-02-17 14:07:15 +01:00
bergquist
12f1ea71fd chore: delete empty test 2017-02-17 12:07:46 +01:00
bergquist
76f617b862 build: disable setup for windows build 2017-02-17 12:06:24 +01:00
bergquist
774c1de892 changelog: adds note about closing #7319 2017-02-17 10:42:52 +01:00
bergquist
5fb4540358 changelog: adds note about closing #7382 2017-02-17 10:41:15 +01:00
bergquist
79daa71350 docs: update golang requirement to 1.8 2017-02-17 10:37:59 +01:00
bergquist
defa81e4c1 Merge branch 'http_graceful' 2017-02-17 10:34:02 +01:00
bergquist
cf871b1284 http: close http server gracefully. 2017-02-17 10:33:47 +01:00
bergquist
52566376b2 tech(server): remove unused code 2017-02-17 10:18:11 +01:00
bergquist
a32b7dfb9d build: upgrade to golang 1.8 2017-02-17 09:05:52 +01:00
bergquist
c924510deb alertlist: adds pause as filter option
closes #7400
2017-02-16 16:01:57 +01:00
bergquist
a747d33373 templating: allow whitespace values
closes #7382
2017-02-16 15:58:01 +01:00
bergquist
d72011589e templating: refactor sorting test 2017-02-16 14:22:38 +01:00
bergquist
927b39fa63 templating: adds test for sorting template values 2017-02-16 14:14:17 +01:00
Senkevich Alexsandr
17d02a7065 added suppressing of empty results in table plugin 2017-02-16 14:35:42 +03:00
bergquist
3c0f61511d build: deps-go is not required for building grafana
setup compiles the backend and caches it which is nice
when developing grafana since incremental compiles are
much faster. But its not required for building grafana.
2017-02-16 09:10:55 +01:00
bergquist
9b4d95ff25 changelog: note about closing #7347 2017-02-15 14:35:40 +01:00
Roman Vynar
4fcd5eab29 Add advanced TLS settings to harden setup. (#7347)
* Hardcoded the most secured TLS options.
2017-02-15 14:29:20 +01:00
Torkel Ödegaard
902cf5f889 fix(): google analytics fix 2017-02-15 14:26:57 +01:00
bergquist
bd010289b2 alerting: images in alert notifications is now optional
its now possible to turn of image uploading in alert notifications
for those who operate on very sensitive data.

closes #7419
2017-02-15 14:17:36 +01:00
bergquist
f14e25612e annotations: go vet fixes 2017-02-15 14:15:42 +01:00
bergquist
c8c3021987 docs: tutorial for setting up grafana as HA
ref #7541
2017-02-15 12:38:50 +01:00
Daniel Lee
6dfdcd7ca5 email: change default from name to Grafana
Changes default from name in smtp settings
from Grafana Admin to Grafana.

Fix for integration test (which is skipped but that
did not work)
2017-02-15 11:02:46 +01:00
Daniel Lee
8144b73544 changelog: adds note about closing #2131 2017-02-15 10:44:43 +01:00
Daniel Lee
5fca4c7304 Merge pull request #7569 from jacobbednarz/add-sender-name-to-email
Updates mailer to include `from_name` value
2017-02-15 10:32:06 +01:00
Dennis Wiemer
8b25ba6a7c Added click events in graph to core eventbus (#7511) 2017-02-15 08:47:20 +01:00
Torkel Ödegaard
e573006283 docs(): added cla 2017-02-15 08:40:34 +01:00
Jan Garaj
79cd48f64c Cloudwatch AWS/SES metrics (#7568) 2017-02-15 08:12:24 +01:00
Jacob Bednarz
6a9247500a Update documentation to include information about from_name values 2017-02-15 08:07:29 +11:00
Jacob Bednarz
7520b4f404 Update default configuration to include from_name values 2017-02-15 08:06:58 +11:00
Jacob Bednarz
796957c8c6 Update mailer tests to include FromName 2017-02-15 08:04:21 +11:00
Jacob Bednarz
66445faeb5 Format mailer From field to include name
Updates the messafe `From` field to include the name and email of the
sender.
2017-02-15 07:51:41 +11:00
Jacob Bednarz
90cbfacacf Add FromName to SmtpSettings struct
Updates the `SmtpSettings` struct to include a value for setting the
name of the email sender.
2017-02-15 07:45:28 +11:00
Jacob Bednarz
7dc6b69c8b s/smpt/SMTP 2017-02-15 07:43:59 +11:00
Jacob Bednarz
c9d4654592 s/from_adress/from_address 2017-02-15 07:43:16 +11:00
bergquist
423e8686ef docs: fixes markdown formating 2017-02-14 12:56:49 +01:00
bergquist
e97cab9964 docs: removes version selector from influxdb 2017-02-14 12:02:31 +01:00
Daniel Lee
5304e7b220 changelog: adds #7554 - minor enhancement to 4.2.0 2017-02-14 11:22:47 +01:00
Daniel Lee
76f82b00d7 Merge pull request #7554 from ryantxu/kbn_physics
Add more physics units
2017-02-14 11:16:20 +01:00
bergquist
73bec813fc docs: adds delete datasource by name 2017-02-14 10:41:08 +01:00
Daniel Lee
6861c6033c Changelog: add 7449 - minor enhancement to 4.2.0
Closes #7449
2017-02-14 10:21:07 +01:00
Ryuichi Sakai
0c9f664ea0 Make timeout for snapshot creation configurable 2017-02-14 10:10:51 +01:00
bergquist
9f80e8c03d changelog: rearrange closed issues 2017-02-14 10:06:31 +01:00
bergquist
6761661e10 changelog: adds note about closing #7542 2017-02-14 10:03:23 +01:00
bergquist
0523830716 changelog: add note about closing #7542 2017-02-14 08:56:00 +01:00
xginn8
1c8509ea58 wrap text in annotations modal (#7549)
annotation: wrap text in drop_element, fixes #7542
2017-02-14 08:49:43 +01:00
ryan
7867a24d87 Adding more physics units 2017-02-13 23:30:15 -08:00
Carl Bergquist
05a6cb3f76 Merge pull request #7548 from ryantxu/influxdb_logo
update datasource logos
2017-02-14 08:23:03 +01:00
ryan
a1e071d3c5 missing space 2017-02-13 18:47:59 -08:00
ryan
2749dd8711 elasticsearch svg 2017-02-13 18:47:01 -08:00
ryan
b46fac34d9 replace elastic logo 2017-02-13 18:38:13 -08:00
ryan
fc0de84701 update influx logo 2017-02-13 18:19:14 -08:00
bergquist
2ad2b96133 build: avoid progress bar update on yarn install
this will save us ~100TB of unneeded data in the long term.
2017-02-13 15:26:10 +01:00
bergquist
2c68c071c0 changelog: update release of 2017-02-13 2017-02-13 15:11:45 +01:00
bergquist
c7560edba5 docs: release 4.1.2 for windows 2017-02-13 14:17:26 +01:00
bergquist
89fdcc84de docs: release 4.1.2 2017-02-13 13:52:42 +01:00
Daniel Lee
193d468ed3 admin: adds paging to global user list
Currently there is a limit of 1000 users in the global
user list. This change introduces paging so that an
admin can see all users and not just the first 1000.

Adds a new route to the api - /api/users/search that
returns a list of users and a total count. It takes
two parameters perpage and page that enable paging.

Fixes #7469
2017-02-13 12:59:36 +01:00
Jörg Thalheim
f069aae576 Add Pushover alert notifications
Pushover is a service for getting real-time
notifications on your mobile devices and desktop
computers: https://pushover.net
2017-02-10 22:44:33 +01:00
bergquist
e80f673264 changelog: adds note about closing issues 2017-02-10 15:56:28 +01:00
Carl Bergquist
7f4f38e773 Merge pull request #7519 from huydx/master
(feat) support datasource delete by name api
2017-02-10 15:53:34 +01:00
huydx
143cbe921f (feat) support datasource delete by name api 2017-02-10 23:30:14 +09:00
bergquist
f147ac053d Merge branch 'huydx-feat/sqlmax' 2017-02-10 15:30:12 +01:00
bergquist
5b7b3fef64 conf: adds sample values for db conn settings 2017-02-10 15:30:01 +01:00
huydx
28d93b574d (feat) support max connection setting for database configuration 2017-02-10 15:30:01 +01:00
bergquist
3c7cf3f728 docs: kairosdb is no longer supported by default 2017-02-10 14:42:19 +01:00
Daniel Lee
1294b203e6 admin: adds paging to global user list
Currently there is a limit of 1000 users in the global
user list. This change introduces paging so that an
admin can see all users and not just the first 1000.

Adds a new route to the api - /api/users/search that
returns a list of users and a total count. It takes
two parameters perpage and page that enable paging.

Fixes #7469
2017-02-10 11:00:04 +01:00
bergquist
900230890f changelog: adds note about closing #2385 2017-02-10 10:15:03 +01:00
Vladimir Kolobaev
8083079eea graph: set max width for legend tables.
ref #2385
2017-02-10 10:11:39 +01:00
Torkel Ödegaard
1e26a8e68a docs(): rebrand updates 2017-02-10 08:58:53 +01:00
Torkel Ödegaard
0d8cdf0ebe docs(): rebrand updates 2017-02-10 08:58:45 +01:00
bergquist
dcf097a8b9 changelog: adds note about closing #6109 2017-02-10 08:57:46 +01:00
xginn8
3d4c3ff00d return an empty message if table contains no data #6109 (#7487) 2017-02-10 08:54:00 +01:00
bergquist
7bf570532f docs: adds note about closing #7493 2017-02-10 08:34:56 +01:00
Vladimir Kolobaev
6eda5604d2 Full metric description (#7493)
graph: add full metric description for graph-legend-alias title
2017-02-10 08:31:51 +01:00
bergquist
38c29d2209 changelog: adds note about closing #7513 2017-02-10 08:29:44 +01:00
Carl Bergquist
73d441450b Merge pull request #7516 from grafana/oauth-login-redirect
redirect user to requested url after login via oauth
2017-02-10 08:27:41 +01:00
bergquist
5dd961c0f5 settings: remove commented code 2017-02-10 07:39:26 +01:00
Dan Cech
b22881c717 redirect user to requested url after login via oauth 2017-02-09 14:01:53 -05:00
bergquist
c7febca447 mqe: fixes broken test for indexalias 2017-02-09 16:43:57 +01:00
bergquist
aa7292fac6 mqe: adds support for wildcard and index aliases 2017-02-09 16:25:03 +01:00
Torkel Ödegaard
c05c6ee7a4 docs(): minor fix 2017-02-08 20:00:39 +01:00
Daniel Lee
bccb650010 Adds Sorting for lists of data sources to 4.2.0 2017-02-08 12:06:00 +01:00
Daniel Lee
2b2368b189 Merge pull request #7491 from grafana/sorting-datasources
Sorting datasources with case insensitive order
2017-02-08 12:01:31 +01:00
Daniel Lee
fbc3c3dd32 api: removes import alias + some unused fields 2017-02-08 11:57:05 +01:00
bergquist
10508d0238 docs(changelog): adds note about closing #6451 2017-02-08 11:28:26 +01:00
bergquist
e8f191ef32 Merge branch 'jregovic-master' 2017-02-08 11:25:41 +01:00
bergquist
00549f393c style(hipchat): improves code style 2017-02-08 11:24:49 +01:00
Torkel Ödegaard
0a17217d59 docs(): updating links 2017-02-08 08:23:23 +01:00
Daniel Lee
8aa5b62d6d fix(panel): case insensitive sort metric sources
Sorts the list of metric sources that is used in dropdown for Panel
Data Source on the Metrics tab so that it is case insensitive and
so that the built data sources are last in the list.
2017-02-08 00:01:42 +01:00
Daniel Lee
cbd1455c42 fix(api): case insensitive sort for datasources
The data source list is case sensitive when sorted. This changes the
sort to be case insensitive. The test only tests the handler, not the
routing or database query.
2017-02-07 22:15:52 +01:00
James Regovich
53942f7987 Adding HipChat Notifier 2017-02-07 10:50:49 -06:00
bergquist
5bba0c2a94 tech(build): upgrade dist builder to golang1.8rc3 2017-02-07 12:45:06 +01:00
Torkel Ödegaard
10e100b080 docs(): updates 2017-02-07 12:27:16 +01:00
bergquist
b3db5aae4b docs(changelog): adds note about closing #6799 2017-02-07 11:21:20 +01:00
Carl Bergquist
7d205ae2b8 Merge pull request #7466 from hagen1778/prometheus-basicauth-query
allow setting basic auth headers for prometheus datasource
2017-02-07 11:18:17 +01:00
bergquist
8ca4afaf22 docs(changelog): adds note about closing #7459 2017-02-07 11:17:20 +01:00
Danilo Bargen
689f5cb686 feat(alerting): Text formatting for Threema alert messages 2017-02-07 11:14:57 +01:00
Danilo Bargen
d1a5d9c15c feat(alerting): Add Threema Gateway integration
This commit adds alerting support for Threema Gateway. It supports all
Simple IDs (managed by the Gateway server).

More information can be found on https://gateway.threema.ch/
2017-02-07 11:14:57 +01:00
bergquist
9ece10ef24 style(dataproxy): simplify expression 2017-02-07 11:03:57 +01:00
bergquist
b386920abb Merge branch 'prometheus_secure' of https://github.com/mtanda/grafana into mtanda-prometheus_secure 2017-02-07 11:01:02 +01:00
hagen1778
a1e835884b use configured Transport instead of defaultHttpTransport 2017-02-07 11:56:59 +02:00
Daniel Lee
5e9653f935 docs(): adds missing index pages + link fix 2017-02-07 10:22:14 +01:00
bergquist
285918caf6 tech(build): switch to golang 1.8rc3 2017-02-07 10:13:21 +01:00
Torkel Ödegaard
8a92861133 docs(): fixes for rebranded docs site 2017-02-07 09:09:51 +01:00
Daniel Lee
abd9233f86 Docs for developing plugins (#7475)
* docs(plugins): new developing plugins section

Creates new section called Developing Plugins in
the plugin section of the docs.

1. Some changes to the Development guide page
2. Converted defaults/editor mode blog post
to new page
3. Converted snapshots blog post to new page
4. Adds new code styleguide page
5. Updates to apps and datasources pages
6. Adds plugin.json schema

* docs(links): fixes broken links

Fixes broken links to other pages as
well as broken image links.
2017-02-07 07:48:01 +01:00
Torkel Ödegaard
3398c28ab2 docs(): fixing redirects for moved doc pages, updating links to point to new urls 2017-02-06 18:04:53 +01:00
r.khavronenko
25be602dce go fmt 2017-02-06 17:17:16 +02:00
bergquist
5a7abe365c tech(build): echo before running go fmt/vet 2017-02-06 15:55:22 +01:00
bergquist
57d36b3d42 feat(alerting): transform labels into tags for prometheus tsdb 2017-02-06 15:25:15 +01:00
r.khavronenko
80b92335bb allow setting basic auth headers for prometheus datasource 2017-02-06 16:22:09 +02:00
Mitsuhiro Tanda
69566a23fc improve security of Prometheus datasource 2017-02-06 23:10:10 +09:00
bergquist
3827c0a69c tech(alerting): adds tags to alerting data model 2017-02-06 14:59:29 +01:00
Torkel Ödegaard
982dc276d3 Update building docs readme 2017-02-06 10:19:47 +01:00
jifwin
9e7df648b5 Fix requests cancelling (#7457)
* fix backendSrv request cancelling

* revert imports

* formatting
2017-02-06 06:42:26 +01:00
bergquist
a36b1d9dce tech(build): require go vet to pass 2017-02-05 21:21:05 +01:00
bergquist
c05bc0cb17 chore(vet): fixes invalid fmt.Sprintf format 2017-02-05 21:19:39 +01:00
Grzegorz Pietrusza
a3019a9789 cleanup 2017-02-04 14:30:24 +00:00
Grzegorz Pietrusza
220b65afd2 implement panels loading on scroll 2017-02-04 14:10:40 +00:00
bergquist
d9b5628126 docs: update nodejs version requirement in readme 2017-02-03 16:15:37 +01:00
Carl Bergquist
282b1bc73a Merge pull request #7442 from lucapette/patch-1
Fix typo
2017-02-03 14:06:54 +01:00
lucapette
032ecad3b7 Fix typo 2017-02-03 12:10:22 +01:00
bergquist
457d6c8f81 tech(build): fixes broken build 2017-02-02 17:25:33 +01:00
Torkel Ödegaard
65cf0d0e5c fix(graph legend): fixed legend table mode scrollbar visible when it needs to to, fixes #6828 2017-02-02 16:29:11 +01:00
bergquist
3e62b1b2d7 tech(build): use build number as iteration number 2017-02-02 15:55:37 +01:00
bergquist
a580113de4 feat(alerting): changes default timerange to 15min 2017-02-02 12:05:44 +01:00
bergquist
63aa436997 tech(build): slimdown the size of the build container 2017-02-02 11:33:34 +01:00
bergquist
3cbca80d3c tech(build): starts docker build for latest build 2017-02-02 10:41:11 +01:00
Alexander Menzhinsky
30c334a2b8 Add common type for oauth authorization errors 2017-02-01 16:42:59 +03:00
bergquist
aef4195493 tech(build): fixes invalid script file usage 2017-02-01 07:09:36 +01:00
bergquist
ea6d996abc tech(build): enable windows build trigger 2017-01-31 21:43:18 +01:00
bergquist
74c5c5368c tech(build): update windows trigger 2017-01-31 21:36:52 +01:00
bergquist
afd135944a tech(build): upgrade golang to 1.7.4 2017-01-31 21:11:34 +01:00
bergquist
18f20a3357 tech(build): deploy to new s3 buckets 2017-01-31 20:26:19 +01:00
Torkel Ödegaard
01f1c1b8dc feat(): began refactoring PR #5364 2017-01-31 17:10:27 +01:00
bergquist
b600e1c50b docs(changelog): adds note about closing #7417 2017-01-31 15:24:00 +01:00
Mitsuhiro Tanda
91999851cb support regex expansion in templating "Regex" field (#6565) 2017-01-31 15:21:53 +01:00
Carl Bergquist
4f5dc6104f Merge pull request #7417 from Erliz/patch-1
Add image url to telegram alert notifier
2017-01-31 15:13:21 +01:00
Kevin Bowling
0c46def1a0 Add an idiomatic plugin path for FreeBSD (#7410) 2017-01-31 14:54:53 +01:00
Stanislav Vetlovskiy
0e892e9f86 Add image url to telegram alert notifier
If public image url of alert is exist add it to the telegram message
2017-01-31 16:47:14 +03:00
bergquist
513fcdeeb8 tech(build): prepare for tag builds 2017-01-31 11:00:23 +01:00
Torkel Ödegaard
f602752bdc fix(packaging): fixed issue in deb package post install script that made it think upgrade was happening, fixes #7403 2017-01-31 10:56:04 +01:00
bergquist
d72f257f27 tech(build): disable package iteration for release builds 2017-01-31 09:40:26 +01:00
Torkel Ödegaard
fce2e341d2 mergefix(): fixed issue with master merge 2017-01-31 09:00:36 +01:00
Torkel Ödegaard
8a95c563bb Merge branch 'master' into websocket 2017-01-31 08:56:49 +01:00
Torkel Ödegaard
2594041eed hiding grafana live ds 2017-01-31 08:56:46 +01:00
Torkel Ödegaard
9ba1ea0179 fix(): another unit test fix attempt 2017-01-31 08:52:48 +01:00
Torkel Ödegaard
0c5abc1615 Merge branch 'xginn8-master' 2017-01-31 08:27:53 +01:00
Torkel Ödegaard
5fc5971145 refactor(): refactoring PR #7124 2017-01-31 08:27:48 +01:00
Torkel Ödegaard
436e35c845 fix(): fixed unit test broken in last PR merge 2017-01-31 07:59:14 +01:00
Torkel Ödegaard
9a61d43dc6 refactor(): refactoring PR #7141 2017-01-31 07:57:39 +01:00
Torkel Ödegaard
c400b5cf63 Merge branch 'master' of github.com:grafana/grafana 2017-01-31 07:48:44 +01:00
Torkel Ödegaard
1a9aaa4138 feat(server side png rendering): added timezone parameter for server side rendering, refactoring PR #7264 2017-01-31 07:48:10 +01:00
Torkel Ödegaard
830491fa66 Merge branch 'time-offset-to-image' of https://github.com/ryu1-sakai/grafana into ryu1-sakai-time-offset-to-image 2017-01-31 06:28:54 +01:00
Pavlos Daoglou
3e741315b4 [3743] Adds support for user search based on login or email (#7334)
* [3743] Adds support for user search based on login or email

* Use query parameter instead

* Use macaron Query() instead
2017-01-31 06:25:55 +01:00
Stanislav Vetlovskiy
bd4eadf69c #7383 Fix factory typo in telegram notifier (#7406) 2017-01-31 06:23:19 +01:00
bergquist
3c304b9b88 tech(build): disable builds for master 2017-01-30 16:24:50 +01:00
bergquist
cefb4103a7 tech(build): disable build based on tag 2017-01-30 16:03:55 +01:00
bergquist
dd982ac9a2 tech(build): dont include buildnumber when building tags 2017-01-30 15:23:38 +01:00
bergquist
ac6b5ea796 tech(build): option to not include buildIteration in package name 2017-01-30 15:21:39 +01:00
bergquist
163036591d tech(build): fixes broken build 2017-01-30 15:04:55 +01:00
bergquist
2de8cdb85c tech(build): remove unused deps 2017-01-30 14:28:39 +01:00
bergquist
7307e6345b tech(build): remove sha calc from build step 2017-01-30 13:58:39 +01:00
bergquist
6de13e081b tech(build): deploy builds for each commit to master 2017-01-30 10:37:14 +01:00
Jay Linski
91513f0bc0 Remove deprecated dataproxy logging setting (#7398)
This should have been removed in 06440ef57b, but was probably forgotten.

Solves #6718.
2017-01-30 08:14:44 +01:00
Torkel Ödegaard
b191638f41 feat(packaging): Make config file not part of package to simplify upgrade, made commit always a short sha, changed RESTART_ON_UPGRADE to true by default, #7399, #7227 2017-01-30 08:08:37 +01:00
Torkel Ödegaard
2a09d4a5a6 fix(): conf file had left over of old config key, #7395 2017-01-30 07:11:12 +01:00
Oleksandr Kushchenko
edba465a75 add DeliveryStreamName dimension to AWS/Firehose Cloudwatch namespace (#7388) 2017-01-28 08:30:57 +01:00
lpic
5b699dbf0d Set time when testing ES datasource, fixes #7044 (#7390) 2017-01-28 08:30:33 +01:00
Kit Westneat
cddc9ac0a7 file_export.ts: #5325 missed exportTableDataToCsv when adding sep (#7391) 2017-01-28 08:29:57 +01:00
bergquist
1fee26925f Merge branch 'new_deploy' 2017-01-27 15:55:42 +01:00
bergquist
4b6aaec880 tech(build): create sha files after signing packages 2017-01-27 15:54:19 +01:00
bergquist
a634bd0ce8 tech(build): sign and deploy packages to s3 2017-01-27 15:21:16 +01:00
bergquist
feed804a0e tech(build): updates path to signing file 2017-01-27 15:21:16 +01:00
bergquist
0cc21669f4 tech(build): adds package signing step 2017-01-27 15:21:16 +01:00
bergquist
46e4a54a6e style: go fmt with simplify 2017-01-27 15:21:02 +01:00
bergquist
1df9c2cab3 docs(changelog): adds note about closing #7377 2017-01-27 08:54:23 +01:00
Carl Bergquist
b3847a3738 Merge pull request #7377 from solugebefola/patch-3
Disable sign out for AuthProxyEnabled
2017-01-27 08:51:32 +01:00
Solar Olugebefola
de7edb40f5 Disable sign out for AuthProxyEnabled
Sign out was disabled for AuthProxyEnabled in #3122.  This is to catch the one other instance of a sign out link in the side menu.
2017-01-26 13:10:33 -05:00
Torkel Ödegaard
2f4da15264 fix(http api): throw validation error if missing property in call to /api/admin/users/123/permissions, #7365 2017-01-26 08:54:51 +01:00
Ryan McKinley
a656d01bf5 append windows phantomjs with .exe (#7065) 2017-01-25 14:49:09 +01:00
Torkel Ödegaard
9b8760bad7 packaging(): fix rpm & SUSE compatability issue, #7293 2017-01-25 14:42:19 +01:00
Torkel Ödegaard
7c5ef2c75a Merge branch 'connection-reset-shared_tooltip' 2017-01-25 14:35:02 +01:00
Torkel Ödegaard
28f890e42f refactor(): removed commented out code 2017-01-25 14:34:55 +01:00
Torkel Ödegaard
23eab81cbe fix(): fixed minor issue with single stat tooltip, #7357 2017-01-25 14:11:30 +01:00
Torkel Ödegaard
e073d20731 updated sample config 2017-01-25 13:34:02 +01:00
Torkel Ödegaard
f196ffa07d updated docs 2017-01-25 13:33:27 +01:00
Torkel Ödegaard
40d39f8a3e refactor(): renaming alerting hide ui option, #7318 2017-01-25 13:32:26 +01:00
Torkel Ödegaard
fee4846429 Merge branch 'alerting_ui' of https://github.com/smalik03/grafana into smalik03-alerting_ui 2017-01-25 13:16:48 +01:00
Torkel Ödegaard
4e30aa9da2 docs(): changelog updated with #7112 2017-01-25 12:32:59 +01:00
Naoufel JAMALI
4e1d8c9ced Elasticsearch - Term aggregation limit fix (should fix #7112) (#7338)
* Elasticsearch - Term aggregation limit fix  (should fix #7112)

* Elasticsearch - Term aggregation limit fix
2017-01-25 12:29:41 +01:00
bergquist
b6305a6577 tech(build): dont upload packages from master 2017-01-24 15:24:43 +01:00
bergquist
d5e753adbc tech(build): fixes circle.yml format issue 2017-01-24 14:01:50 +01:00
bergquist
3d6698389b tech(build): adds s3 bucket for nightly 2017-01-24 13:58:37 +01:00
bergquist
f7993db73c tech(build): installs yarn in build image 2017-01-24 11:26:03 +01:00
bergquist
66fa12835a tech(build): replace grafana_branch with circle_branch; 2017-01-24 11:26:03 +01:00
bergquist
6b70fb2729 tech(build): fixes broken yum installer 2017-01-24 11:26:03 +01:00
bergquist
5f0033f3eb tech(build): path to build relative 2017-01-24 11:26:03 +01:00
bergquist
ac111bc238 tech(build): cache golang downloads. DUH! 2017-01-24 11:26:03 +01:00
bergquist
5be00191ec tech(build): Dockerfile for building grafana 2017-01-24 11:26:03 +01:00
bergquist
e504e5aaf6 tech(build): avoids setup since all deps should be in /vendor 2017-01-24 11:26:03 +01:00
bergquist
1339ce80f5 tech(build): moves builds script into main repo 2017-01-24 11:26:03 +01:00
Chris Burkhart
b1888fb8eb Update building_from_source.md (#7340)
Add a note about the `go get` warning that the user sees when following the setup instructions.
2017-01-24 08:31:10 +01:00
bergquist
9b57005540 tech(build): makes npm paths absolute 2017-01-23 15:53:47 +01:00
bergquist
3d5efd3350 tech(build): removes coveralls 2017-01-23 15:53:16 +01:00
Carl Bergquist
3d3958e694 Merge pull request #7328 from jubicoy/master
Added commonly used kilo-prefixed energy units
2017-01-23 13:56:35 +01:00
Torkel Ödegaard
697d0867fa fix(Elasticsearch): fix for alias patterns that refers to term that is numeric zero, fixes #7323 2017-01-23 10:15:02 +01:00
Teemu Huhtala
03eb98e94d Added commonly used kilo-prefixed energy units
Kilovolt-ampere reactive (kvar)
Kilovolt (kV)
Kiloampere (kA)
2017-01-23 10:20:11 +02:00
Torkel Ödegaard
8eae09e5e6 docs(): updated changelog with info on #7324 2017-01-23 07:29:16 +01:00
lpic
cf9790fc4c ES - Support for min_doc_count on group by terms (#7324) 2017-01-23 07:26:42 +01:00
lpic
a0c8380baf ES: Change bool queries to use 'filter' clause (#7313)
Change all bool queries to use 'filter' clause instead of 'must' for
better performance
2017-01-21 08:31:29 +01:00
Chris Bentivenga
9151b4034a annotationsQuery -> annotationQuery (#7321)
Documentation calls for `annotationQuery` but the [example](205cf4cfbc/src/datasource.js (L41)) uses the method name `annotationQuery`
2017-01-21 08:29:21 +01:00
smalik
9862c9ff40 feat(alerting): Show/hide alerting UI using configuration variable
Use configuration variable "show_alerting_ui" to show/hide alerting UI
2017-01-20 10:43:29 -05:00
Axel Pirek
4b8f2aeb36 Fix tooltips sometimes rendering outside of graph panel
I noticed tooltips on other panels rendering outside of their panel or
even the browser window when hovering on the very edge of graphs with
relative time overrides.
2017-01-19 13:33:49 +01:00
Axel Pirek
138a79c2fb Clear highlight when clearing tooltip and crosshair 2017-01-19 11:08:32 +01:00
Axel Pirek
ee58a6ee2b Speed up tooltip value retrieval 2017-01-19 10:16:28 +01:00
Axel Pirek
a2e6408be1 Only render tooltip if position is in viewport 2017-01-19 10:16:20 +01:00
bergquist
57099f0273 docs(changelog): adds note about closing #7301 2017-01-19 09:33:53 +01:00
bergquist
09b61caa65 Merge branch 'huydx-notify-line' 2017-01-19 09:30:13 +01:00
bergquist
f5d8a75381 tech(webhook): remove redundant if statement 2017-01-19 09:29:40 +01:00
huydx
376d2d56bf (feature) add LINE notify to notifier 2017-01-19 17:26:53 +09:00
Adrián López
e1b82e72eb Fix empty value tags and comma separated values (#7289)
When a tag doesn't have a value it was showing a empty 'bubble'.
If value has several values separated by commas, make a 'bubble' for
each one.
2017-01-18 16:02:40 +01:00
bergquist
94e901793a docs(guides): rearranges menu order 2017-01-17 14:56:11 +01:00
bergquist
96fbe404f8 docs(changelog): adds note about closing #7268 2017-01-17 12:19:46 +01:00
bergquist
55af92eba1 fix(table): fixes broken annotation rendering
closes #7268
2017-01-17 12:17:18 +01:00
bergquist
2dd1eb81cd docs(changelog): adds note about closing #7223 2017-01-17 10:49:31 +01:00
bergquist
4ea4e0436a feat(mailer): set localname to hostname
Some email providers does not accept localhost
in the HELO message. So we set it to hostname
instead. Our hope is that should be enough for
those providers who does not accept localhost.

closes #7223
2017-01-17 10:36:04 +01:00
bergquist
276916cd5d docs(changelog): note about closing #7035 2017-01-17 10:05:56 +01:00
bergquist
ed9595a20d Merge branch 'show_no_data_in_list' 2017-01-17 09:53:38 +01:00
bergquist
e78da57e4d feat(alerting): shows when no_data triggered alerts
closes #7035
ref #7257
2017-01-17 09:49:25 +01:00
Torkel Ödegaard
0683742e83 tech(library upgrade): fixed unit test broken by angularjs upgrade, #7274 2017-01-16 22:27:35 +01:00
Torkel Ödegaard
6f87f88690 tech(lib upgrade): upgraded angularjs from 1.5.8 to 1.6.1, closes #7274 2017-01-16 21:31:55 +01:00
Torkel Ödegaard
710d07d7a5 Merge branch 'mtanda-clipboard_js' 2017-01-16 21:08:47 +01:00
Torkel Ödegaard
c5955bacd2 refactor(): minor refactor 2017-01-16 21:08:39 +01:00
Torkel Ödegaard
09cec8535e Merge branch 'clipboard_js' of https://github.com/mtanda/grafana into mtanda-clipboard_js 2017-01-16 20:57:16 +01:00
Mitsuhiro Tanda
d683b0379b fix monkey patch for clipboard.js 2017-01-17 01:12:37 +09:00
bergquist
f29f83ca75 chore: adds comment out why the code was added 2017-01-16 15:04:53 +01:00
bergquist
3c9357a2e9 fix(alerting): supports lowercase metrics
this fix is due to EvalMatch now serailize as lower case.

ref #7257
2017-01-16 15:01:57 +01:00
bergquist
01c6658a7a docs(changelog): adds note about closing #7269 2017-01-16 14:42:31 +01:00
bergquist
bfa3c590e7 fix(alertlist): changes scroll to auto
close #7269
2017-01-16 14:38:01 +01:00
bergquist
22601fa736 docs(changelog): adds note about closing #7209 2017-01-16 12:48:29 +01:00
bergquist
76c9f62265 Merge branch 'Ricky-N-feature/dataProxyAuditLog' 2017-01-16 12:44:40 +01:00
bergquist
06440ef57b tech(dataproxy): moves cfg to [dataproxy] 2017-01-16 12:43:59 +01:00
bergquist
d4a96b9741 tech(dataproxy): make the code a little bit more defensive 2017-01-16 12:24:08 +01:00
bergquist
dd84fb563a style(dataproxy): renames log functions 2017-01-16 12:23:49 +01:00
bergquist
51bca7d84b tech(dataproxy): moves all parameters to Info call 2017-01-16 12:16:41 +01:00
bergquist
839eb97061 Merge branch 'feature/dataProxyAuditLog' of https://github.com/Ricky-N/grafana into Ricky-N-feature/dataProxyAuditLog 2017-01-16 12:02:43 +01:00
xginn8
873a8bc520 wrap the title of a panel and dashboard search results. fixes #7203 (#7213) 2017-01-16 12:02:07 +01:00
bergquist
ee1c15b9cc docs(changelog): adds note about closing #7234 2017-01-16 11:54:38 +01:00
bergquist
99f18f9d69 merge branch 'oliverpool-diff-aggregate' 2017-01-16 11:52:34 +01:00
bergquist
480a58d377 Merge branch 'diff-aggregate' of https://github.com/oliverpool/grafana into oliverpool-diff-aggregate 2017-01-16 11:52:22 +01:00
bergquist
8a8de91a8b Merge branch 'andrewhowdencom-master' 2017-01-16 11:50:23 +01:00
bergquist
2fdb47ae97 docs(prometheus): rewrote and shorten the note about templates 2017-01-16 11:50:12 +01:00
bergquist
2696d6cd3f Merge branch 'master' of https://github.com/andrewhowdencom/grafana into andrewhowdencom-master 2017-01-16 11:47:13 +01:00
bergquist
c73e86e557 docs(testdata): some minor changes 2017-01-16 11:21:23 +01:00
bergquist
ae08386ce3 docs(testdata): adds docs page about test datasource 2017-01-16 11:13:52 +01:00
bergquist
92f0a22fd7 docs: moves datsources pages to feature folder 2017-01-16 11:13:27 +01:00
bergquist
bd414c1793 docs: moves panels to panel folder 2017-01-16 08:17:37 +01:00
bergquist
20bdc48f13 docs(guides): remove (Latest) from menu name 2017-01-16 08:15:47 +01:00
bergquist
f4713956f0 tech: updates latest.json to 4.1.1 2017-01-16 07:07:32 +01:00
bergquist
eb8d1dfa34 docs(smtp): adds info about how to use passwords with #
closes #7265
2017-01-16 07:03:35 +01:00
bergquist
62eaa683c0 docs(changelog): note about closing #7256 2017-01-16 07:00:51 +01:00
And^Cw Howden
6edbc4604c Add additional documentation about Prometheus + Templated queries 2017-01-15 20:56:53 +01:00
Ryuichi Sakai
1bc55a2d38 Enable image rendering to use browser time offset 2017-01-15 22:01:28 +09:00
Torkel Ödegaard
e5a6c523d7 Merge branch 'master' of github.com:grafana/grafana 2017-01-13 17:39:41 +01:00
Torkel Ödegaard
49fe74228b fix(browser history): fixes and enhancements to browser history, it now works properly again AND it can restore previous time ranges in dashboards, closes #7259 2017-01-13 17:37:53 +01:00
Carl Bergquist
c43bb7fb99 Extractor should not modify dashboard json (#7256)
* test(dashboard): tests that he extractor does not modify original json

* feat(extractor): validate a cloned version of the dashboard json
2017-01-13 15:46:23 +01:00
bergquist
2d441bfb37 docs(changelog): note about closing #7149 2017-01-13 15:20:15 +01:00
Carl Bergquist
1efeaafdbf Merge pull request #7249 from grafana/alerting_test_alertrule
Enable error and no_data overrides when testing alerting.
2017-01-13 15:18:02 +01:00
Torkel Ödegaard
deff24d2c1 Merge branch 'clipboard_js' of https://github.com/mtanda/grafana into mtanda-clipboard_js 2017-01-13 14:57:23 +01:00
Torkel Ödegaard
d354f3a8af fix(alerting): fixed evaluation for no_value condition, fixes #7244 (#7247)
* fix(alerting): fixed evaluation for no_value condition, fixes #7244

* feat(alerting): moving null library into grafana, fixing handling on no value / no series
2017-01-13 12:32:30 +01:00
bergquist
0873d493c2 feat(alerting): moves getNewState to evalHandler
closes #7149
2017-01-13 11:02:24 +01:00
rrickardt
bccdd7cad1 Update postinst (#7233)
With present postinst script on Centos 7, restart after upgrade is not working with Warning: grafana-server.service changed on disk. Run 'systemctl daemon-reload' to reload units.

So i added systemctl daemon-reload.
2017-01-13 06:27:36 +01:00
Tomas Varneckas
54c456ec5b Make API key usage example meaningfully runable (#7243) 2017-01-13 06:25:49 +01:00
Mitsuhiro Tanda
1672ca4edb call clipboard destroy() 2017-01-13 02:58:44 +09:00
Mitsuhiro Tanda
3df119002d patch for clipboard.js work 2017-01-13 02:19:02 +09:00
Carl Bergquist
13178d99d4 Merge pull request #7240 from tomasv/fix-tags-api-doc
Fix typo in tags API documentation example request
2017-01-12 17:08:14 +01:00
Tomas Varneckas
9449e93e1e Fix typo in tags API documentation example request 2017-01-12 17:55:43 +02:00
oliverpool
80c67267e8 Add the diff option on the singlestat panel 2017-01-12 16:23:57 +01:00
oliverpool
92a0b402c5 Add diff documentation 2017-01-12 16:22:41 +01:00
oliverpool
2b932492c2 Add a diff aggregate
`diff = current - first` (when available)
2017-01-12 16:19:18 +01:00
bergquist
60a2041065 tech(build): yarn install should use --pure-lockfile 2017-01-12 15:36:44 +01:00
bergquist
915b1efab9 tech(build): updates deps in yarn 2017-01-12 15:33:07 +01:00
bergquist
9a35d82e51 docs(singlestat): its called avg in grafana
ref #7234
2017-01-12 13:36:10 +01:00
bergquist
35db025b0a docs(installation): updates docs for 4.1.1 2017-01-12 10:38:23 +01:00
Torkel Ödegaard
821876a85b Merge branch 'master' of github.com:grafana/grafana 2017-01-11 19:48:17 +01:00
Torkel Ödegaard
b8b517cd3f docs(): updated changelog 2017-01-11 19:48:06 +01:00
Mitsuhiro Tanda
4b567e35d5 suppress refresh when user is inactive (#7219) 2017-01-11 19:46:34 +01:00
Torkel Ödegaard
f045fbf267 Merge branch 'master' of github.com:grafana/grafana 2017-01-11 19:40:59 +01:00
Torkel Ödegaard
9c0f7f547b fix(alerts): added alert listener for appEvents 2017-01-11 19:40:05 +01:00
Mitsuhiro Tanda
db2718a699 remove zero_clipboard.js 2017-01-12 02:37:32 +09:00
Mitsuhiro Tanda
1571072c18 use clipboard.js 2017-01-12 02:37:29 +09:00
Mitsuhiro Tanda
5ccbe6d40b add clipboard.js 2017-01-12 02:22:56 +09:00
Ricky Niemi
0b48e48e3d Small whitespace fix on setting file 2017-01-11 07:51:46 -08:00
Ricky Niemi
269d16301a Rename to audit logging to data proxy logging 2017-01-11 07:40:06 -08:00
Ricky Niemi
0fee7c863a Gate data proxy audit logging behind audit_logging server setting 2017-01-11 07:22:57 -08:00
Torkel Ödegaard
61214899bd docs(): updated changelog 2017-01-11 15:26:08 +01:00
Torkel Ödegaard
bd8899b37d fix(graph): fixed table legend min-height, fixes #7221 2017-01-11 15:24:43 +01:00
Torkel Ödegaard
edae622d8f docs(): updated changelog 2017-01-11 14:04:34 +01:00
Mitsuhiro Tanda
7e4c101d02 S3 IAM support (#7058)
* add s3 dependencly

* rewrite image uploader by aws-sdk-go

* improve backward compatibility of s3 image uploading

* set default for expires option

* remove acl and expires
2017-01-11 14:00:49 +01:00
Lee Briggs
2e796da441 Add support for sensu notifications (#7207) 2017-01-11 13:57:07 +01:00
Torkel Ödegaard
64f5146a62 change(text panel): removed rarely used (and not properly working), text mode option, closes #6389, closes #7214 2017-01-11 12:33:12 +01:00
Torkel Ödegaard
cdc7da3ae1 docs(): updated changelog 2017-01-11 12:16:34 +01:00
Torkel Ödegaard
b48273d1cf Merge branch 'master' of github.com:grafana/grafana 2017-01-11 12:11:38 +01:00
Torkel Ödegaard
149dd78298 Merge branch 'built_in_template_variables' 2017-01-11 12:10:33 +01:00
Torkel Ödegaard
b475f91387 feat(templating): completed work on built in template variables and , closes #7190, refactors #7170 2017-01-11 12:10:26 +01:00
bergquist
5e14f4a16e tech(build): changes build for 4.1 release 2017-01-11 11:07:01 +01:00
bergquist
8574f100aa docs(guides): removes beta info for 4.1 2017-01-11 10:50:41 +01:00
Torkel Ödegaard
44b7a26119 fix(graph): fix for table legend and scroll, fixes #7204, fixes #6628 2017-01-11 10:35:52 +01:00
Torkel Ödegaard
8c39cd35f0 progress on interval built in variable 2017-01-11 10:18:21 +01:00
bergquist
f4e9bd507b tech(build): updates packagecloud script 2017-01-11 08:59:44 +01:00
Utkarsh Bhatnagar
7e3ccdf983 Fixed opentsdb templating bug (#7208) 2017-01-10 21:35:05 +01:00
Ricky Niemi
d9cbb994b8 Clean up audit log formatting and code 2017-01-10 11:42:03 -08:00
bergquist
6518a0f765 Merge branch 'docs-4.1' 2017-01-10 15:37:07 +01:00
bergquist
50b937dcb1 tech(build): updates docs to 4.1.0 2017-01-10 15:36:54 +01:00
bergquist
4d0b5ca14a tech(build): upgrades appveyour nodejs version 2017-01-10 15:01:53 +01:00
bergquist
381f8d4475 docs(changelog): adds note about closing #7195 2017-01-10 10:30:28 +01:00
Ricky Niemi
d03977ac0e Add initial audit logging to data proxy 2017-01-09 22:59:43 -08:00
Carl Bergquist
edf868d46b Merge pull request #7195 from theisenmark/webhook-username
Fix webhook username mismatch
2017-01-09 18:03:34 +01:00
Mark Theisen
afda9cbb2d Fix webhook username mismatch
Fixing variable name mismatch so that the Authorization HTTP header is added to webhook notifications.
2017-01-09 17:18:53 +01:00
bergquist
4f216f22e9 docs(http): fixes typos 2017-01-09 16:49:06 +01:00
Torkel Ödegaard
e218837380 began work on built in template variables, #7190 2017-01-09 15:31:19 +01:00
Carl Bergquist
bcfe048aae Merge pull request #7184 from simnv/git-via-https
Use HTTPS instead of git to download tether-drop package
2017-01-09 07:15:01 +01:00
Valeriy Simonov
1aa1f7b12c Use https instead of git for tether-drop
git protocol (tcp/udp/9418) is forbidden when using some corporate
proxies. HTTPS is used more widely.
2017-01-09 10:00:07 +05:00
Valeriy Simonov
5bfe0ab237 Merge remote-tracking branch 'grafana/master' 2017-01-09 09:37:19 +05:00
Vitaliy Fuks
7c376f2bda Fixed typo. (#7181) 2017-01-08 09:43:17 +01:00
Mekal Zheng
e57c764410 check validation of interval string before converting to seconds 2017-01-07 18:17:44 +08:00
Mekal Zheng
333aeb43c4 use methods of kbn to convert interval string to both second and millisecond 2017-01-07 16:33:40 +08:00
Mekal Zheng
af798092b7 add variable $intervalSecond 2017-01-07 00:28:32 +08:00
Torkel Ödegaard
53fbb8b074 docs(changelog): added entry for telegram notifier, #7098 2017-01-06 12:19:39 +01:00
Torkel Ödegaard
31bd725559 Merge branch 'notifier-refactor' 2017-01-06 12:17:34 +01:00
Torkel Ödegaard
eca918c0e7 Merge branch 'master' of github.com:grafana/grafana 2017-01-06 12:15:12 +01:00
Torkel Ödegaard
69d31c560d bumped master to 4.2 2017-01-06 12:14:58 +01:00
Mitsuhiro Tanda
dfaefe34a4 add cloudwatch region (#7161) 2017-01-06 12:05:27 +01:00
Torkel Ödegaard
b8f559aecb feat(plugins): made notifiers more pluggable and easier to support many of them, new ones can now be added without modifying any existing file, #7162 2017-01-06 12:04:25 +01:00
Torkel Ödegaard
d6a2431767 Merge branch 'notifier-telegram-messenger' of https://github.com/leonoff/grafana into leonoff-notifier-telegram-messenger 2017-01-06 10:27:20 +01:00
Torkel Ödegaard
45d2e70ba7 feat(dashboard): sorting dashboard model kekeys, refactoring PR #7139 2017-01-06 10:09:11 +01:00
Torkel Ödegaard
c472054f21 Merge branch 'master' into dashboard-export 2017-01-06 07:50:16 +01:00
Carl Bergquist
e61d049623 tech(build): replace npm with yarn (#7108)
* tech(build): replace npm with yarn

* tech(build): change node version for CI
2017-01-06 07:28:43 +01:00
Torkel Ödegaard
7433e8c58f docs(changelog): updated changelog with ES PR #7154 2017-01-06 07:24:56 +01:00
Torkel Ödegaard
20b7c2f2e2 feat(ES): refactoring PR #7154 2017-01-06 07:22:37 +01:00
Torkel Ödegaard
293fd93e6c fix(elasticsearch): fixed predict default value, fixes #7145 2017-01-06 07:06:41 +01:00
Torkel Ödegaard
6960fb46c2 fix(build): remove triggering full package release on every commit, #6970 2017-01-06 06:51:17 +01:00
Torkel Ödegaard
813232315e fix(testdata): fixed test data source build issue 2017-01-06 06:50:02 +01:00
Torkel Ödegaard
63f6e86e46 feat(ES): better support for text type, closes #7151 2017-01-06 06:35:08 +01:00
Torkel Ödegaard
658d39944b feat(elasticsearch): add support for Elasticsearch scaled_type number type, closes #7155 2017-01-06 06:12:48 +01:00
Vaibhav Tandon
b97e784555 Moving average support for all models along with additional settings associated with each model 2017-01-05 23:17:24 +00:00
Matthew McGinn
870c5f8cef adding refresh url param to pass refresh interval #7124 2017-01-05 00:15:52 -05:00
Dan Cech
df1e90c723 export sorted dashboard json 2017-01-04 18:13:33 -05:00
Torkel Ödegaard
36929c2a92 fix(elasticsearch): add support for text type filter in templating query, fixes #7136, fixes #7135 2017-01-04 20:14:56 +01:00
Utkarsh Bhatnagar
65057212e7 Org update should throw error if not found (#7066)
* Org update should give error if not found

* Used affected rows
2017-01-03 09:21:18 +01:00
bergquist
d8ebebc612 docs(http_api): adds docs for alerting in http api 2017-01-03 08:12:18 +01:00
bergquist
9a3e51894b tech(alerting): remove unused property 2017-01-03 08:11:17 +01:00
Torkel Ödegaard
9dc42648cf fix(templating): fixed issue with experimental feature template variable value groups tags, fixes #6752 2017-01-02 13:32:20 +01:00
bergquist
2e7d222f6e Revert "tech: remove unused code"
This reverts commit d9131be0a5.
2017-01-02 13:22:37 +01:00
bergquist
d9131be0a5 tech: remove unused code 2017-01-02 13:11:09 +01:00
Torkel Ödegaard
2be5ee0bd5 fix(graph): fixed graph legend issue with always visible scrollbar, fixes #6828 2017-01-02 12:22:56 +01:00
Torkel Ödegaard
083a42942f fix(phantomsj): fixed issue with y axis label rotation in phantomjs rendered graphs, fixes #6924 2017-01-02 12:01:48 +01:00
Torkel Ödegaard
8030b56bba fix(panel): fixed panel help text for panels that set background color, fixes #7085 2017-01-02 11:14:00 +01:00
Mitsuhiro Tanda
9855ea8c6c handle sts error (#7088) 2016-12-30 16:59:06 +01:00
bergquist
08bad530dc tech(build): fail when go fmt fails 2016-12-30 15:08:31 +01:00
Mikhail Leonov
e32a653cb6 Added Telegram Messenger notification destination 2016-12-30 15:57:12 +03:00
Julie Lee
8ed8922525 Update _tabbed_view.scss (#7078)
repeated style statement
2016-12-28 12:28:05 +01:00
Carl Bergquist
c97131d1a0 Merge pull request #7074 from ksatirli/master
Adds London and Canada AWS Regions
2016-12-27 16:32:56 +01:00
Kerim Satirli
48b57afe84 Adds London and Canada AWS Regions 2016-12-27 14:25:12 +01:00
Kerim Satirli
797e2ea25d Adds London and Canada AWS Regions 2016-12-27 14:10:36 +01:00
Vitaliy Fuks
716d6473b7 Fixed typo. (#7064) 2016-12-27 11:35:00 +01:00
Darrian
d662961ebe Added 'linear' to fill types for InfluxDB (#7042) 2016-12-23 09:43:47 +01:00
Ryan McKinley
27d83f414e Add influx 'mode' and 'cumulative_sum' (#7045) 2016-12-23 09:43:15 +01:00
James Blackburn
f98e07e012 Fix auto_assign_org_role = Read Only Editor docs (#7057)
`auto_assign_org_role` should be `Read Only Editor` rather than `Read-Only Editor`
2016-12-23 09:41:28 +01:00
Darrian
cdfb24ab85 Added offset interval to specs 2016-12-21 22:58:40 +00:00
Darrian
96f3ee9e4c Added missing category for Predictions 2016-12-21 22:55:18 +00:00
Darrian
27ead53382 Set indentation to tabs 2016-12-21 22:54:56 +00:00
bergquist
fef511d403 docs(conf): adds docs about supporting database_url
closes #1878
2016-12-21 23:39:08 +01:00
Darrian
b8572b69f0 Register new queries available in InfluxDB - Holt Winters fixes #5619
For correct data fill on holt winters predictions, the time function
needed modification to allow a 2nd param for offset, as per
https://docs.influxdata.com/influxdb/v1.0/query_language/data_exploratio
n/#advanced-group-by-time-syntax
2016-12-21 22:30:32 +00:00
bergquist
c18741c605 docs(ldap): adds note about special chars in password
closes #5337
2016-12-21 22:02:34 +01:00
bergquist
02bf83b37e docs: fixes broken code formating 2016-12-21 15:35:55 +01:00
Torkel Ödegaard
fad07f0d15 refactor(http): refactoring http server 2016-12-21 14:36:32 +01:00
bergquist
8859eeb151 docs(readme): adds link to 4.1 beta release 2016-12-21 12:35:54 +01:00
bergquist
a7b3ef06a8 docs: update image in github repo 2016-12-21 12:31:25 +01:00
Carl Bergquist
70f37651be Merge pull request #7034 from Timosha/add-ruble-sign
add Russian ruble sign
2016-12-21 11:10:01 +01:00
Timon
1ab66ac5d7 add Russian ruble sign 2016-12-21 12:59:09 +03:00
bergquist
cb21b20905 docs(changelog): adds note about closing #6997 2016-12-21 10:05:56 +01:00
bergquist
4e306590f8 Merge branch 'v4.0.x' 2016-12-21 10:02:28 +01:00
bergquist
8cef4cc74e fix(influxdb): handles time(auto) like time($interval)
closes #6997
2016-12-21 10:01:20 +01:00
Torkel Ödegaard
8bccbdafd2 feat(live): minor progress on stream manager 2016-12-21 09:16:29 +01:00
bergquist
c3005397f5 docs: adds guide for whats new in 4.1 beta 2016-12-21 08:33:35 +01:00
bergquist
c18b410104 docs: updates release date for 4.1.0 2016-12-20 20:11:38 +01:00
Trent White
5440804109 add new grabber icon and tweak styles to better fit space (#7019) 2016-12-20 17:49:04 +01:00
Torkel Ödegaard
b7827962dc feat(live): just wanted to checkout how far I got on the websocket data source 2016-12-20 16:09:04 +01:00
bergquist
1c8865e702 docs: updates links to windows beta build 2016-12-20 16:08:05 +01:00
Torkel Ödegaard
1507d6c872 Merge branch 'master' of github.com:grafana/grafana 2016-12-20 15:30:10 +01:00
Torkel Ödegaard
4c5bdd9da4 fix(panel): need to check if panel has links 2016-12-20 15:24:53 +01:00
bergquist
48fbd7e134 docs: add note about closing #4079 2016-12-20 14:46:05 +01:00
bergquist
afa5e9507a docs: updates install links for 4.1.0 beta 2016-12-20 13:15:59 +01:00
Utkarsh Bhatnagar
13c4ce68ee Added name and id in response of create/update (#7016) 2016-12-20 13:02:26 +01:00
Torkel Ödegaard
fa01022494 fix(ux): fixed css issue with add row button, fixes #7017 2016-12-20 13:00:46 +01:00
Torkel Ödegaard
e81e4ad06f updated websocket lib 2016-12-20 11:36:11 +01:00
bergquist
034db646ab release v4.1.0-beta1 2016-12-20 11:25:58 +01:00
bergquist
2660609c40 tech(build): adds scripts for only uploading to testing 2016-12-20 11:12:19 +01:00
bergquist
ba96b88b66 feat(alerting): adds 24h and 48h duration as pre defined values
ref #7007
2016-12-20 09:23:05 +01:00
bergquist
80d438ca49 chore(alerting): removes double logging 2016-12-20 08:34:44 +01:00
bergquist
0c857e0ed8 docs(http): adds info about mass pausing alerts 2016-12-19 16:45:46 +01:00
bergquist
a230ff65a9 fix(alerting): typo 2016-12-19 16:44:59 +01:00
bergquist
8d6c94b9f9 docs(changelog): adds note about closing #6589 2016-12-19 16:42:11 +01:00
Carl Bergquist
9135abf3ae Merge pull request #6996 from bergquist/pause_all_alerts
Pause all alerts
2016-12-19 16:38:44 +01:00
Torkel Ödegaard
164de5e3ce Merge branch 'master' of github.com:grafana/grafana 2016-12-19 16:36:26 +01:00
Torkel Ödegaard
a2baec8592 fix(panel): fixed panel help tooltip issue, #4079 2016-12-19 16:36:09 +01:00
bergquist
6c2c3c7e24 Revert "fix(alerting): pause dto can only pause one"
This reverts commit b2c5a6a037.
2016-12-19 16:07:55 +01:00
bergquist
b2c5a6a037 fix(alerting): pause dto can only pause one 2016-12-19 16:05:24 +01:00
bergquist
71f406558e tech(alerting): remove comments 2016-12-19 15:40:09 +01:00
bergquist
a2257ec3d0 tech(alerting): renames pause all method 2016-12-19 15:17:49 +01:00
bergquist
ecf44d4d9c tech(): go fmt code 2016-12-19 13:26:42 +01:00
bergquist
ecdf1888c4 feat(alerting): removes pause per datasource 2016-12-19 13:24:45 +01:00
Torkel Ödegaard
090db9401c fix(graph): fix for when data min/max delta is zero and negative and grid y min/max is auto, fixes #6980 2016-12-19 09:30:52 +01:00
Torkel Ödegaard
3be77ad293 fix(docs): fixed spelling in docs article 2016-12-19 08:42:37 +01:00
bergquist
6b9db0c0c5 style(alerting): simplify support for pausing multiple alerts 2016-12-19 08:18:42 +01:00
Torkel Ödegaard
0a0b4f5533 Merge branch 'info-corner-refinements' 2016-12-16 21:17:47 +01:00
Torkel Ödegaard
2fc2cc721e change(panel): changed hover delay for #6998 2016-12-16 21:16:35 +01:00
Matt
594207b6d3 Polish on icon placement, incorporated torkel's better idea for going slightly lighter, make sure error icon color was white now 2016-12-16 12:51:22 -05:00
Matt
0c85e845df Softened the color a bit by mixing in the panel-bg, so it's not introducing any new variables. Was too start as pure body-bg 2016-12-16 12:11:29 -05:00
bergquist
86f148be48 docs(paths): updates relative path on /installation/ page 2016-12-16 17:42:40 +01:00
bergquist
30022b0d0b docs(paths): adds aliase for rpm and debian install
got reports on twitter about broken links.
2016-12-16 17:36:01 +01:00
bergquist
686f598d44 docs(changelog): adds note about closing #6473 2016-12-16 17:11:33 +01:00
bergquist
4244551a87 fix(influxdb): removes quotes for field key queries
fixes #6473
2016-12-16 17:09:17 +01:00
Torkel Ödegaard
3a9680939e Merge branch 'master' of github.com:grafana/grafana 2016-12-16 16:09:59 +01:00
Torkel Ödegaard
a361d1f488 feat(panel): refinements for panel help text, made the inspector the home for the model version 2016-12-16 16:09:02 +01:00
bergquist
4ef95cfd31 style(api): reduce code complexity 2016-12-16 16:07:23 +01:00
bergquist
c45ad965d1 chore(github): typo 2016-12-16 15:50:29 +01:00
bergquist
1f8f3ed038 style(api): extracts filter logic for mass pause 2016-12-16 15:19:13 +01:00
bergquist
fb6aa0e026 feat(api): adds endpoint for mass pausing alerts
ref #6589
2016-12-16 15:00:58 +01:00
Torkel Ödegaard
2c05237d90 Merge branch 'master' of github.com:grafana/grafana 2016-12-16 13:47:22 +01:00
Torkel Ödegaard
c04590784b Merge branch 'utkarshcmu-help-text' 2016-12-16 13:43:51 +01:00
Torkel Ödegaard
af363ab478 fix(panel): build fixes 2016-12-16 13:43:43 +01:00
Torkel Ödegaard
62f3b16671 feat(panel): working on panel help text and unifying panel links, panel errors, and panel help into a single panel feature, #4079 , #6847 2016-12-16 13:06:04 +01:00
Torkel Ödegaard
ac9ae52cea feat(panel): working on panel help text and unifying panel links, panel errors, and panel help into a single panel feature, #4079 , #6847 2016-12-16 12:46:29 +01:00
Torkel Ödegaard
b9043c915e feat(panel): working on panel help text, #4079 , #6847 2016-12-16 11:48:32 +01:00
Mitsuhiro Tanda
bc8d27737f fix cloudwatch docs (#6992) 2016-12-16 11:31:02 +01:00
Mitsuhiro Tanda
81394fcaa4 add cloudwatch internal metrics (#6990) 2016-12-16 10:48:05 +01:00
Mitsuhiro Tanda
f8d6902428 fix cloudwatch percentile (#6989) 2016-12-16 10:47:41 +01:00
Torkel Ödegaard
ca7bc25c83 feat(panel): working on panel help text, #4079 , #6847 2016-12-16 10:34:00 +01:00
bergquist
df3adbc0f8 refactor(mqe): reduce duplication 2016-12-16 08:01:58 +01:00
bergquist
830bf5a91c docs(changelog): adds note about closing #6676 2016-12-15 16:31:30 +01:00
bergquist
faa3b5f4e8 feat(alertlist): adds sorting on state
closes #6676
2016-12-15 16:29:40 +01:00
bergquist
2264addd9d docs(changelog): adds notes about closing #6905 2016-12-15 14:29:06 +01:00
bergquist
c467e48940 feat(notifications): removes html escaping subject
closes #6905
2016-12-15 14:27:33 +01:00
Torkel Ödegaard
597ebb1161 fix(config): fixed issue setting generic oauth name via ENV variable, fixes #6974 2016-12-15 14:08:39 +01:00
Torkel Ödegaard
0c94194a5b Merge branch 'master' of github.com:grafana/grafana 2016-12-15 13:57:05 +01:00
Torkel Ödegaard
b50490f080 docs(): changelog updated 2016-12-15 13:56:49 +01:00
Torkel Ödegaard
35b970347a Merge branch 'v4.0.x' 2016-12-15 13:55:26 +01:00
Torkel Ödegaard
497a1fcefc Merge branch 'v4.0.x' of github.com:grafana/grafana into v4.0.x 2016-12-15 13:54:58 +01:00
Torkel Ödegaard
94962b4193 fix(logging): fixed default log level filter option not taking effect, fixex #6978 2016-12-15 13:54:47 +01:00
bergquist
0c8193a6af docs(changelog): adds note about closing #6866 2016-12-15 11:15:06 +01:00
bergquist
ca7baca21d feat(alerting): adds ok as no data option
closes #6866
2016-12-15 11:13:19 +01:00
bergquist
6a161216de fix(influxdb): fixes bug with empty tagColumn for annotations 2016-12-15 10:54:22 +01:00
bergquist
51c4385c92 fix(mqe): only parse none empty functions 2016-12-15 08:52:43 +01:00
bergquist
f907330c9e tech(mailer): improves error when grafana cannot read open cert/key file
ref #6949
2016-12-15 08:27:21 +01:00
bergquist
e3b53fe599 test(mqe): adds test for double function usage 2016-12-15 07:36:06 +01:00
bergquist
7dece3ff0c test(mqe): solves brittle unit test 2016-12-15 07:36:06 +01:00
Torkel Ödegaard
19552450fa Merge branch 'master' of github.com:grafana/grafana 2016-12-14 22:31:11 +01:00
Torkel Ödegaard
435f474e8a docs(): minor fix for docker docs 2016-12-14 22:30:20 +01:00
bergquist
dde6e73fed feat(mqe): add basic support for functions list 2016-12-14 22:29:17 +01:00
Solar Olugebefola
1e6210dd41 update broken links (#6961) 2016-12-14 22:20:22 +01:00
Torkel Ödegaard
8fc6e4cfb0 fix(auth proxy, ldap): fixed so users cannot change password when ldap or auth proxy is enabled, fixes #2495, do not allow user to change email or username depending on what property auth proxy is using, fixes #6903 2016-12-14 22:19:25 +01:00
Torkel Ödegaard
df562e23cf feat(ldap): better ldap logging, closes #6918 2016-12-14 22:01:02 +01:00
Torkel Ödegaard
6e27db148c Merge branch 'authproxy_ldap' of https://github.com/seuf/grafana into seuf-authproxy_ldap 2016-12-14 21:45:15 +01:00
Torkel Ödegaard
9f69a4d34d clean(): removed old docs file 2016-12-14 21:22:01 +01:00
Torkel Ödegaard
c59fd2e8f6 fix(docs): fixed support for old docs url, fixes #6960 2016-12-14 21:21:21 +01:00
Torkel Ödegaard
330c1b945e refactor(datasource): refactoring datasource secure json fields handling, #6697, #6692 2016-12-14 21:06:10 +01:00
Torkel Ödegaard
b38e9b0cac fix(cloudwatch): removed debugger statement 2016-12-14 20:40:02 +01:00
Torkel Ödegaard
c3920bfba1 fix(cloudwatch): fixed broken cloudwatch edit page, #6697 2016-12-14 20:38:35 +01:00
Torkel Ödegaard
467ddc19c3 feat(panel): worked on panel description tooltip, #6847 2016-12-14 17:22:19 +01:00
bergquist
ca6a667555 feat(mqe): renames app tag into cluster 2016-12-14 16:49:16 +01:00
Torkel Ödegaard
5f7ad9ddb6 Merge branch 'help-text' of https://github.com/utkarshcmu/grafana into utkarshcmu-help-text 2016-12-14 16:20:36 +01:00
bergquist
f8871f9e4a chore(mqe): remove comments 2016-12-14 16:16:42 +01:00
bergquist
6d57e42246 feat(mqe): restricts the executor to max 4 concurrent outgoing requests 2016-12-14 15:40:15 +01:00
Torkel Ödegaard
7425c63528 fix(dashboard): fixed unit test 2016-12-14 14:42:25 +01:00
Torkel Ödegaard
e72a60bbf5 feat(graph): shared graph tooltip is not a select option with 3 options, normal, shared crosshair & shared tooltip, CTRL+O or CMD+O cycles option, closes #6894 2016-12-14 14:33:33 +01:00
Torkel Ödegaard
baec2bbe8a fix(firefox): fixed table options tab UX issues, fixes #6900 2016-12-14 13:16:54 +01:00
Torkel Ödegaard
488fe62f15 fix(singletat): fixed/polished layout in singlestat ui options tab 2016-12-14 12:58:20 +01:00
Torkel Ödegaard
faf6a5fd36 fixed issue in metric segment and option lookup, #6912 2016-12-14 10:50:48 +01:00
Carl Bergquist
38d8ba8faa Merge pull request #6952 from huydx/format-gofmt
(format) run go fmt in pkg
2016-12-14 09:26:38 +01:00
Carl Bergquist
9cd04768f7 Merge pull request #6953 from huydx/typo-execution
(typo) Exeuction -> Execution
2016-12-14 09:24:54 +01:00
bergquist
9510f21304 docs(changelog): fixes invalid ticket ref 2016-12-14 09:12:22 +01:00
huydx
b97f4fd8b9 (typo) Exeuction -> Execution 2016-12-14 12:21:41 +09:00
huydx
adb441e5c8 (format) run go fmt in pkg 2016-12-14 12:17:38 +09:00
bergquist
63bf332023 Merge branch 'alerting_mqe' 2016-12-13 16:15:22 +01:00
bergquist
e6c557bb91 Merge branch 'master' into alerting_mqe 2016-12-13 16:15:04 +01:00
bergquist
362162d6fa feat(mqe): add token cache 2016-12-13 14:01:48 +01:00
bergquist
69d6316512 style(mqe): instance dependencies in ctor func 2016-12-13 12:47:57 +01:00
bergquist
549c3ab78b tech(mqe): update todo 2016-12-13 11:42:06 +01:00
bergquist
b620c7457d test(query_editor): adds test for nesting queries in targetFull 2016-12-13 10:46:09 +01:00
Utkarsh Bhatnagar
bd20dc6c4c Fixed failing tests (#6941) 2016-12-13 10:00:33 +01:00
bergquist
76f78c0f72 test(alert_tab): basic test skeleton
I created this test by misstake. But instead of deleting it I thought it
might be good to keep it to make it easier to add tests for the alert
tab
2016-12-13 09:50:38 +01:00
Torkel Ödegaard
62d18cd493 docs(): updated changelog with PR #6940 2016-12-13 09:18:10 +01:00
Utkarsh Bhatnagar
5777f65d05 Basic Auth now supports LDAP username and password (#6940) 2016-12-13 09:15:52 +01:00
Torkel Ödegaard
0841e841f5 cleanup(): removed docker/production folder as it was old and unused (ie grafana-docker repo is the place for the offical production docker container 2016-12-12 22:12:27 +01:00
bergquist
e1703166f0 docs(changelog): add thank you note to contributor 2016-12-12 19:06:21 +01:00
bergquist
99e3db8208 Merge branch 'master' into alerting_mqe 2016-12-12 19:01:50 +01:00
Torkel Ödegaard
46c161b104 Merge branch 'master' of github.com:grafana/grafana 2016-12-12 16:35:59 +01:00
Torkel Ödegaard
80d88d302c fix(config): changed default for oauth and allow_sign_up setting, #6928 2016-12-12 16:35:42 +01:00
Hans Kristian Flaatten
1060b99810 docs(configuration): set allow_sign_up to true for gerneric OAuth (#6928)
This enables Grafana to accept new users authenticated through OAuth, without this set to true only previously authenticated users may log in with OAuth - and thus defeating the purpose.
2016-12-12 16:27:51 +01:00
Torkel Ödegaard
9da44141f1 fix(git): removed external submodule, accedentially included in PR, fixes #6929 2016-12-12 15:43:04 +01:00
bergquist
0e03c43174 docs(changelog): adds note about merging #4550 2016-12-12 14:59:02 +01:00
bergquist
f33aeb6591 Merge branch 'adrianlzt-bug/show_multiple_tags_with_influxdb' 2016-12-12 14:56:51 +01:00
bergquist
530e1b358a Merge branch 'master' into adrianlzt-bug/show_multiple_tags_with_influxdb 2016-12-12 14:55:56 +01:00
bergquist
ce4e71364c test(influxdb): adds tests for supporting multiple tags 2016-12-12 14:55:39 +01:00
Torkel Ödegaard
5ec7dea81a Merge branch 'v4.0.x' 2016-12-12 14:39:53 +01:00
Torkel Ödegaard
8feaef20e0 fix(graph): fixed graph issue with axes mode set to series and picking Max value, fixes #6926 2016-12-12 14:37:40 +01:00
Torkel Ödegaard
40b359334b fix(typescript): fixed sourcemap issue, #6904 2016-12-12 14:24:36 +01:00
bergquist
d599f45707 Merge branch 'bug/show_multiple_tags_with_influxdb' of https://github.com/adrianlzt/grafana into adrianlzt-bug/show_multiple_tags_with_influxdb 2016-12-12 13:30:27 +01:00
bergquist
ba848cffb4 docs(cli): add page for the cli 2016-12-12 13:15:35 +01:00
Torkel Ödegaard
ee6cd727ea Merge branch 'master' of github.com:grafana/grafana 2016-12-12 11:38:31 +01:00
Torkel Ödegaard
3bb9d47a45 minor change to #6904 2016-12-12 11:38:10 +01:00
bergquist
413a187119 docs(notification): add message property to notification 2016-12-12 11:28:16 +01:00
Carl Bergquist
a5c41fe7cb Merge pull request #6921 from huydx/master
fix(alert): alert test should return error when it failed to dispatch
2016-12-12 11:02:14 +01:00
Torkel Ödegaard
815722c3cc Merge branch 'upgrade_typescript' of https://github.com/Nepomuceno/grafana into Nepomuceno-upgrade_typescript 2016-12-12 10:53:19 +01:00
bergquist
3cbc325f18 tech(github): asks ppl to remove placeholder text 2016-12-12 10:39:45 +01:00
huydx
015fa82cf5 fix(alert): alert test should return error when it failed to dispatch 2016-12-12 18:22:58 +09:00
Seuf
12a82bc0d4 Auth Proxy improvements - adds the option to use ldap groups for authorization in combination with an auth proxy - adds an option to limit where auth proxy requests come from by configure a list of ip's - fixes a security issue, session could be reused 2016-12-12 09:53:02 +01:00
Seuf
ae27c17c68 Auth Proxy improvements
- adds the option to use ldap groups for authorization in combination with an auth proxy
- adds an option to limit where auth proxy requests come from by configure a list of ip's
- fixes a security issue, session could be reused
2016-12-12 09:43:17 +01:00
bergquist
06b4dacaa4 docs(changelog): add note about closing #5479 2016-12-12 08:37:29 +01:00
Carl Bergquist
73ec529688 Merge pull request #6897 from grafana/cli_db_commands
Enable the CLI to do change the grafana admin password in the database
2016-12-12 08:30:20 +01:00
Gabriel Nepomuceno
cbf0d571f5 Removing task from other build sources 2016-12-10 09:00:58 +00:00
Gabriel Nepomuceno
2f46c56672 removing type validation because copy needs to be done first 2016-12-09 23:41:07 +00:00
Gabriel Nepomuceno
7ff07aa7b1 Revoming old files 2016-12-09 22:05:11 +00:00
Gabriel Nepomuceno
a8ae0a5b79 fixing compilation of grunt 2016-12-09 21:53:00 +00:00
Gabriel Nepomuceno
f3ebd2d849 upgrading bases and correcting identation missing tslint 2016-12-09 14:57:25 +00:00
Axel
2adbe3e13e Prettify duration value format (#6875)
* Prettify duration unit format

Format duration like "2 days, 19 hours, 48 minutes" and make Decimals useful e.g.
0 decimals: 2 days
2 decimals: 2 days, 19 hours, 48 minutes
3 decimals: 2 days, 19 hours, 48 minutes, 27 seconds

Previous code did some rounding that is now gone so numbers might be
different.

* Rewrite kbn.toDuration without moment.js

Because https://github.com/moment/moment/issues/3653

* Add tests for kbn.toDuration
2016-12-09 15:55:25 +01:00
bergquist
96e8ecfa7b feat(cli): adds command to reset admin password
closes #5479
2016-12-09 15:25:02 +01:00
bergquist
cd85e1f651 Merge branch 'master' into cli_db_commands 2016-12-09 12:36:05 +01:00
bergquist
ba7a990f86 tech: bump version in server cli 2016-12-09 12:30:36 +01:00
bergquist
02392e5189 docs(changelog): adds PR contributors name to release notes 2016-12-09 12:19:41 +01:00
bergquist
64f22e7037 docs(changelog): add note about closing #6356 2016-12-09 11:49:23 +01:00
bergquist
cfb6033765 Merge branch 'elastic5_support' 2016-12-09 11:42:15 +01:00
bergquist
619c5c4f1b Merge branch 'master' into elastic5_support 2016-12-09 11:41:23 +01:00
bergquist
ebec02ffae style(elastic): minor code style changes 2016-12-09 11:40:00 +01:00
bergquist
99c5f7d571 feat(elastic): remove support for ES 1.x 2016-12-09 11:34:19 +01:00
bergquist
873024b917 tech(elastic): use bool conditions for all es queries 2016-12-09 11:13:28 +01:00
Matt Toback
e58b6989c2 Small refactor to make hover highlighting proper, added a title tag for the completed grafana step. (#6882) 2016-12-09 09:42:24 +01:00
Matt Toback
f39f77692b Adjusted the active state to fix the faint line showing. Probably related to the font change going into 4.0 (#6886) 2016-12-09 09:41:54 +01:00
Carl Bergquist
20e4cb9a0b Merge pull request #6885 from utkarshcmu/patch-1
Fixed Create org API in docs
2016-12-09 08:53:33 +01:00
Utkarsh Bhatnagar
db3ac79015 Fixed Create org API in docs 2016-12-08 12:08:04 -08:00
bergquist
6265afd8b6 docs: updat latest to 4.0.2 2016-12-08 15:17:13 +01:00
bergquist
7c3c8bc4c9 docs(changelog): add date for 4.0.2 release 2016-12-08 15:14:44 +01:00
bergquist
49827de278 docs: release 4.0.2 2016-12-08 15:05:37 +01:00
bergquist
a90f650109 update package.json version to 4.0.2 2016-12-08 14:04:08 +01:00
bergquist
f68350acbf docs(alerting): link fix to issue rather then commit 2016-12-08 14:01:59 +01:00
Torkel Ödegaard
22bf6420f1 Merge branch 'master' of github.com:grafana/grafana 2016-12-08 10:25:26 +01:00
Torkel Ödegaard
05772b30d7 feat(ux): completed work on getting started panel, #6466 2016-12-08 10:25:05 +01:00
Carl Bergquist
249b82d28b Merge pull request #6873 from dec5e/reference_typos
Fix some typos in Reference docs
2016-12-08 09:49:10 +01:00
Andrey Artemov
c97e95227a Fix some typos in "Export & Import" reference 2016-12-08 10:34:53 +02:00
Andrey Artemov
c94805d4c2 Fix typo in Singlestat page title 2016-12-08 10:34:31 +02:00
Torkel Ödegaard
dee6b7d150 Merge branch 'master' into getting-started-panel 2016-12-08 08:51:40 +01:00
Matt Toback
6ae6a5d312 Polished some styles, updated issue 6466 2016-12-07 14:51:00 -05:00
bergquist
8ee85626f2 fix(api): return correct json info after updating datasource
closes #6869
2016-12-07 18:09:17 +01:00
bergquist
c871212d6c docs(changelog): adds note about fixing avg() reducer bug 2016-12-07 15:58:03 +01:00
bergquist
dd3060fdc3 feat(alerting): calculate avg of valid points 2016-12-07 15:55:37 +01:00
Torkel Ödegaard
924535c6d0 change(graph): changed null value graph option to default to null, closes #6868 2016-12-07 15:27:20 +01:00
bergquist
2bdd2a59cb test(alerting): improve naming for test scenario 2016-12-07 15:19:58 +01:00
Adrian Lopez
395b834a23 Better match for culumn inside tagsColumn 2016-12-07 12:23:57 +01:00
Torkel Ödegaard
e082d78697 fix(elasticsearch): removed unused code 2016-12-07 12:07:56 +01:00
Torkel Ödegaard
7b68e6ea3b feat(elasticsearch): Added support for Missing option (bucket) for terms aggregation, refactoring PR #4244, thx @shanielh 2016-12-07 12:06:47 +01:00
bergquist
dd432e671e docs(changelog): note about closing #6687 2016-12-07 11:28:18 +01:00
Carl Bergquist
0294446af9 Merge pull request #6856 from kylemcc/opsgenie-alerting
alerting: add support for OpsGenie
2016-12-07 11:23:54 +01:00
Carl Bergquist
2c7adccf12 Use cache for http.client in tsdb package. (#6833)
* datasource: move caching closer to datasource struct

* tsdb: use cached version of datasource http transport

closes #6825
2016-12-07 11:10:42 +01:00
vaibhavinbayarea
24172fca01 Added feature request "predict value" in moving averages pipeline agg (#5689)
issue-id: #5688
2016-12-07 10:47:46 +01:00
Matt Toback
d28726be06 Moved ADD ROW to left to consolidate row actions along the same vertical area. (#6852) 2016-12-07 10:45:23 +01:00
Carl Bergquist
b0679b610f Merge pull request #6857 from SaaldjorMike/typo
Fix docs typo
2016-12-06 23:36:55 +01:00
Mike Rostermund
c5b29228ee Add missing char/typo 2016-12-06 22:26:43 +01:00
Kyle McCullough
4ef940482c alerting: add support for OpsGenie 2016-12-06 14:48:13 -06:00
utkarshcmu
6b26a0f91d Fixed hover position 2016-12-06 05:53:33 -08:00
utkarshcmu
13f0b32a8f Added sanitizer to help text 2016-12-06 05:24:03 -08:00
bergquist
6440d884db elastic: make sure old tests are for es2 2016-12-06 14:17:03 +01:00
utkarshcmu
034d84354e Fixed HelpText input box 2016-12-06 03:58:38 -08:00
utkarshcmu
42de27a2cb Added help text for users 2016-12-06 03:54:44 -08:00
Torkel Ödegaard
83afbd4262 Merge branch 'master' of github.com:grafana/grafana 2016-12-06 11:58:51 +01:00
Torkel Ödegaard
e1b25b3999 changelog(): updated changelog with info on shared tooltip feature merged via PR #6274, closes #1578 2016-12-06 11:58:39 +01:00
Torkel Ödegaard
fa393c282a feat(graph): refactoring shared tooltip PR #6274 2016-12-06 11:55:20 +01:00
bergquist
005a17d52f Merge branch 'master' of https://github.com/lpic10/grafana into lpic10-master 2016-12-06 10:15:36 +01:00
bergquist
464553a453 docs: explains how to use comment chars in passwords 2016-12-06 09:48:56 +01:00
Torkel Ödegaard
51165e76ba Merge branch 'shared_tooltip' of https://github.com/connection-reset/grafana into connection-reset-shared_tooltip 2016-12-06 09:32:22 +01:00
bergquist
8f1ed07275 metrics: 64bit fields should come first in structs
https://golang.org/pkg/sync/atomic/#pkg-note-BUG
2016-12-06 09:08:51 +01:00
bergquist
21353f4ba5 docs: adds note about closing #6779 2016-12-06 09:08:50 +01:00
Torkel Ödegaard
9bb440bc82 Merge branch 'master' of github.com:grafana/grafana 2016-12-06 09:02:51 +01:00
bergquist
c17064fb44 fix(webdav): adds missing auth headers
closes #6779
2016-12-06 09:02:14 +01:00
Torkel Ödegaard
62269bb894 change(influxdb): always specify absolute time range in milliseconds, refactoring #6571 2016-12-06 08:56:01 +01:00
Torkel Ödegaard
c6bb86d833 Merge branch 'master' of https://github.com/ryantxu/grafana into ryantxu-master 2016-12-06 08:38:29 +01:00
jifwin
e73b82d54f Disable web-security for phantomjs rendering (#6469) 2016-12-06 08:37:36 +01:00
Ben RUBSON
e51525dbde Only take bar series to calculate barWidth (#6756)
* Only take bar series to calculate barWidth

solves #6751

* Typo

* Typo

* Typo

* Typo

* Refactor

* Simplify
2016-12-06 08:36:23 +01:00
Mitsuhiro Tanda
5f6a3ecd56 (cloudwatch) don't expand variable when panel or row repeat is used (#6618)
* (cloudwatch) don't expand variable when panel or row repeat is used

* fix test
2016-12-06 08:16:41 +01:00
Mitsuhiro Tanda
be26c017f6 (cloudwatch) percentile support (#6634)
* support extended statistics

* handle different response format for extended statistics
2016-12-06 08:12:30 +01:00
Torkel Ödegaard
d56b9a720a feat(alerting): added confirm text when removing panel with alert rule 2016-12-06 08:11:21 +01:00
Adrian Muraru
f91fcaf5cf Dashboard PNG export (#6644) 2016-12-06 08:05:13 +01:00
Torkel Ödegaard
167936f9b9 updated changelog 2016-12-06 07:43:39 +01:00
Torkel Ödegaard
ee36234196 Merge branch 'v4.0.x' 2016-12-06 07:42:35 +01:00
Torkel Ödegaard
f9fba0e935 fix(timerange): fixed time range zoom out shortcut, fixes #6837 2016-12-06 07:42:22 +01:00
Torkel Ödegaard
88e1d56bc2 fix(logging): added extra logging when default config file is not found (ie homepath is not correct), fixes #6829 2016-12-06 07:36:10 +01:00
Torkel Ödegaard
4c406dec2f cleanup(): removed unused (old) migrate stuff 2016-12-05 12:52:34 +01:00
Torkel Ödegaard
aea3093d85 change(Timepicker): removed last 90 days to make room for Last 2 days, #6758 2016-12-05 11:52:00 +01:00
Jaime Soriano Pastor
f2d5829944 Add 'Last 2 days' option to quick ranges (#6758) 2016-12-05 11:51:02 +01:00
Torkel Ödegaard
37c1a49dc9 updated changelog 2016-12-05 11:44:50 +01:00
Torkel Ödegaard
50022253bd Merge branch 'v4.0.x' 2016-12-05 11:44:02 +01:00
Torkel Ödegaard
890e5ce8ca feat(playlist): added support for kiosk mode & minor polish/fix, closes #6727 2016-12-05 11:43:51 +01:00
Torkel Ödegaard
80f7a6a896 updated changelog 2016-12-05 11:20:54 +01:00
Torkel Ödegaard
1f50c6d76f Merge branch 'v4.0.x' 2016-12-05 11:20:14 +01:00
Torkel Ödegaard
cc46b81961 fix(rendering): fixed server side rendering issue when sertting enforce_domain to true, fixes #6769 2016-12-05 11:20:01 +01:00
Torkel Ödegaard
c5ff1e4584 Merge branch 'v4.0.x' 2016-12-05 11:04:24 +01:00
Torkel Ödegaard
a9c0f66cda fix(influxdb): Fix for Ad-Hoc Filters variable & changing dashboards, fixes #6821 2016-12-05 11:04:05 +01:00
Torkel Ödegaard
e1d52902c1 Merge branch 'master' of github.com:grafana/grafana 2016-12-05 10:54:40 +01:00
Torkel Ödegaard
d1feaaf4f3 Merge branch 'v4.0.x' 2016-12-05 10:54:01 +01:00
Torkel Ödegaard
ab07667b69 fix(rendering): minor fix for server side rendering when using non default http addr setting and non default domain setting, #6813 2016-12-05 10:51:46 +01:00
silvestre-abruzzo
48a14cb4c6 Use correct domain in render.js (#6813)
Phantomjs is always rendering login page because domain is not considered. According to http://phantomjs.org/api/webpage/method/add-cookie.html a correct domain must be passed. Probably this change is now necessary due to https://github.com/grafana/grafana/issues/6660
2016-12-05 10:50:23 +01:00
bergquist
b81e97c99c webhook: adds json content-type
closes #6822
2016-12-05 10:46:04 +01:00
bergquist
4a2a935c8f changelog: adds note about closing #6822 2016-12-05 10:45:22 +01:00
bergquist
87dbdb8300 webhook: adds json content-type
closes #6822
2016-12-05 10:44:31 +01:00
bergquist
1b68116922 changelog: add bugfix header 2016-12-05 09:42:31 +01:00
bergquist
ea829988da changelog: add note about closing #6807 2016-12-05 09:39:20 +01:00
bergquist
0403f53b6f feat(webhook): adds alert rule message to webhook
close #6807
2016-12-05 09:34:35 +01:00
bergquist
b88478a7e5 docs(readme): remove link to old CLA page 2016-12-03 03:46:51 +01:00
Carl Bergquist
fbf2113904 Merge pull request #6795 from hvnsweeting/patch-1
Use space to separate multiple modes
2016-12-03 03:15:31 +01:00
bergquist
6c9cf87080 feat(alerting): calculate avg of valid points 2016-12-02 23:44:14 +01:00
bergquist
c9b7f8603e tech(): replace spaces to handle input more graceful 2016-12-02 23:43:02 +01:00
bergquist
9dd6cf45ac feat(webhook): adds alert rule message to webhook
close #6807
2016-12-02 22:24:36 +01:00
bergquist
96cd13044b change to golang 1.7.4 2016-12-02 21:27:12 +01:00
bergquist
f70d7ff3a3 fix(influxdb): align tsdb.influxdb with dataproxy
ref #6784
2016-12-02 21:10:29 +01:00
bergquist
368889828d update latest.json to 4.0.1 2016-12-02 21:10:11 +01:00
Torkel Ödegaard
a5f7edbe40 Update CHANGELOG.md 2016-12-02 11:29:12 -05:00
Torkel Ödegaard
bc0fdc1f8e Update CHANGELOG.md 2016-12-02 11:28:06 -05:00
bergquist
8134724b8a docs: update links to 4.0.1 2016-12-02 17:17:33 +01:00
bergquist
f7dced3067 update to version 4.0.1 2016-12-02 16:33:00 +01:00
bergquist
b4b7156f42 fix(webdav): adds missing auth headers
closes #6779
2016-12-02 16:20:15 +01:00
Carl Bergquist
c206c04399 Merge pull request #6796 from hvnsweeting/patch-2
Update sample.ini
2016-12-02 16:10:39 +01:00
bergquist
04fa86fdde docs(changelog): note about closing #6759 2016-12-02 15:43:39 +01:00
stuart nelson
bc69c8ef40 Add transport cache for reverse proxy (#6776)
* Add transport cache for reverse proxy
* Use updated at in cache
2016-12-02 15:39:57 +01:00
stuart nelson
9ed21c6a16 Add transport cache for reverse proxy (#6776)
* Add transport cache for reverse proxy
* Use updated at in cache
2016-12-02 15:39:28 +01:00
Viet Hung Nguyen
c6e66ec15e Update sample.ini
Use space to separate multiple modes
2016-12-02 13:48:08 +07:00
Viet Hung Nguyen
b00fc73242 Use space to separate multiple modes 2016-12-02 13:46:41 +07:00
fg2it
d3e47e50c1 swap member declaration in StandardGauge to avoid problem with atomic on arm and x86-32 2016-12-01 21:26:54 +01:00
bergquist
158656f570 docs(changelog): add note about closing #6749 2016-12-01 21:23:55 +01:00
Carl Bergquist
6c03c64c79 Merge pull request #6768 from fg2it/fix6749
fix 6749 by swapping member in StandardGauge to avoid problem with atomic
2016-12-01 21:16:16 +01:00
Carl Bergquist
ae171357fc Merge pull request #6783 from solugebefola/patch-1
typo?
2016-12-01 18:16:10 +01:00
Solar Olugebefola
1c234c6089 typo? 2016-12-01 11:54:07 -05:00
Axel Pirek
e6c8e75d62 Make tooltip shareable like crosshair 2016-12-01 10:10:23 +01:00
fg2it
834e3f1c29 swap member declaration in StandardGauge to avoid problem with atomic on arm and x86-32 2016-11-30 21:57:18 +00:00
bergquist
09e49f0a17 docs: adds note about closing #5677 2016-11-30 00:10:29 +01:00
Carl Bergquist
d11b17b8fe Merge pull request #5677 from bmundt/remove_columns
Added Hidden Column Style for Table Panel
2016-11-30 00:08:17 +01:00
bergquist
4543bfe5aa docs: add note about closing cloudwatch 2016-11-29 23:38:44 +01:00
Carl Bergquist
3c662ade8c Merge pull request #6698 from grafana/cloudwatch_configurable_keys
Cloudwatch configurable keys from config page.
2016-11-29 23:37:13 +01:00
bergquist
180940a378 fix(singlestat): align width for gauge settings 2016-11-29 23:25:45 +01:00
bergquist
0d41b1294a fix(singlestat): align width for gauge settings 2016-11-29 23:24:46 +01:00
bergquist
16f6339327 docs: add note about closing #6740 2016-11-29 23:20:48 +01:00
Carl Bergquist
c2ed24b788 Merge pull request #6740 from dirk-leroux/new_aggregation_on_singlestat_panel
New aggregation on singlestat panel
2016-11-29 23:18:01 +01:00
bergquist
aa14d9d893 docs: add note about closing #6411 2016-11-29 22:30:05 +01:00
bergquist
87824d2be7 Merge branch 'ichekrygin-victorops' 2016-11-29 22:28:39 +01:00
bergquist
83e90325c9 chore(victorops): remove unused code 2016-11-29 22:26:42 +01:00
bergquist
a6ea2f4fdb Merge branch 'victorops' of https://github.com/ichekrygin/grafana into ichekrygin-victorops 2016-11-29 22:22:25 +01:00
bergquist
bb6248a51a docs: remove link to CLA since we use CLA assistance 2016-11-29 21:51:51 +01:00
bergquist
a3a07b7191 docs(changelog): add note about closing #6655 2016-11-29 21:43:31 +01:00
Carl Bergquist
b47410af6a Merge pull request #6670 from tomkozlowski/feature/postgres-certs
generalized database connection cert support and added to postgres
2016-11-29 21:40:27 +01:00
bergquist
9f4d06e8e2 docs(changelog): add note about closing #5443 2016-11-29 21:24:45 +01:00
bergquist
253324fc32 style(sqlstore): remove comment 2016-11-29 21:24:45 +01:00
Carl Bergquist
f6557f14b7 Merge pull request #6741 from dpavlos/fix_5443
[5443] Check if title is empty before save a new dashboard
2016-11-29 21:22:07 +01:00
bergquist
3b4e55216c docs(changelog): add note about fixing #6679 2016-11-29 21:14:37 +01:00
Carl Bergquist
5a0fc434f3 Merge pull request #6722 from dpavlos/fix_6679
[6679] Check if org exists before delete it
2016-11-29 21:12:02 +01:00
bergquist
b00e9390d3 docs(v4): update docs for v4 2016-11-29 19:03:33 +01:00
bergquist
a73bebbf3d tech(build): update publish script for 4.0.x release 2016-11-29 18:18:44 +01:00
bergquist
aed695ebe0 tech(build): set master to 4.1.0 pre 2016-11-29 18:03:20 +01:00
bergquist
9143165580 tech(build): change windows build branch 2016-11-29 17:41:18 +01:00
Torkel Ödegaard
25a5fc465c fix(row): fixed dropping new panels onto panels, should split target panel 2016-11-29 11:38:02 -05:00
Torkel Ödegaard
7276b00fc7 fix(row): fixed dropping new panels onto panels, should split target panel 2016-11-29 11:37:06 -05:00
bergquist
567c2a1799 tech(build): update branch to package 2016-11-29 17:31:15 +01:00
bergquist
231492d443 tech(build): change windows build branch 2016-11-29 17:03:49 +01:00
bergquist
64f371a32d tech: upgrade package json to v4.0.0 2016-11-29 16:51:38 +01:00
bergquist
360516ed41 feat(metrics): change active alerts to guage 2016-11-29 16:46:25 +01:00
Torkel Ödegaard
7e831e10a2 updated version in grafana-server main.go 2016-11-29 10:41:31 -05:00
Pavlos Daoglou
7f7f080ad8 [5443] Check if title is empty before save a new dashboard 2016-11-29 12:25:20 +02:00
Dirk le Roux
e0073d7e54 Fixed spelling error 2016-11-29 08:32:51 +02:00
Dirk le Roux
6412bd2f57 oAdded value type documentation to singlestat panel
Signed-off-by: Dirk le Roux <dirk.leroux@gmail.com>
2016-11-29 08:26:32 +02:00
Dirk le Roux
49dda7e5c1 first, delta, range passing unit tests
Signed-off-by: Dirk le Roux <dirk.leroux@gmail.com>
2016-11-29 08:26:31 +02:00
Ryan McKinley
0534d43a6e use ms when query less then 5 mins 2016-11-28 14:57:36 -08:00
Ryan McKinley
1ce0d81736 Merge remote-tracking branch 'grafana/master' 2016-11-28 13:38:18 -08:00
bergquist
f7e8e9c9af docs(readme): bump golang version 2016-11-28 20:47:04 +01:00
Carl Bergquist
2bdb2f79ec fix(table): renderes empty date column as '-' (#6736)
* fix(table): renderes empty date column as '-'

closes #6728

* docs(changelog): add note about closing 6728
2016-11-28 14:42:43 -05:00
bergquist
2bdeb78885 style(docker): remove comments 2016-11-28 18:48:34 +01:00
bergquist
20df0aafc2 tech(docker): adds docker fig for elastic 5 2016-11-28 18:43:26 +01:00
bergquist
ab2f109443 fix(config): error message for broken config file
closes #6731
2016-11-28 17:55:18 +01:00
Torkel Ödegaard
a2d1cc1a46 fix(css): minor style fix 2016-11-28 09:39:07 -05:00
Pavlos Daoglou
0064331bbf [6679] Check if org exists before delete it 2016-11-28 00:09:01 +02:00
bergquist
b2edcd8cfd tech(docs): use relref for links 2016-11-27 20:22:29 +01:00
bergquist
ce64a0173c docs(datasource): add root datasource page 2016-11-27 20:05:35 +01:00
bergquist
3475ff2d81 docs(http): moves overview content to /http_api/
ref #6719
2016-11-27 17:09:56 +01:00
bergquist
e3ad740b49 docs(changelog): add note about closing #6701 2016-11-27 16:56:31 +01:00
bergquist
bdfb773a98 fix(alerting): fixes broken no_value evaluator
closes #6701
2016-11-27 16:53:29 +01:00
bergquist
583de8e0e0 docs(graph): remove unused headers 2016-11-27 16:10:16 +01:00
bergquist
adc1bd3dea docs(graph): moves thresholds to display tab
closes #6703
2016-11-27 16:07:41 +01:00
bergquist
7bc1c3cc1c feat(cloudwatch): make it possible to reset keys
closes #6697
2016-11-24 16:37:33 +01:00
bergquist
3d21f06d5b tech(cloudwatch): store keys in secure json blob 2016-11-24 14:16:52 +01:00
bergquist
0ea6537916 tech(cloudwatch): refactoring 2016-11-24 14:00:05 +01:00
bergquist
f7e12e5f93 test(cloudwatch): fixes failing tests 2016-11-24 14:00:05 +01:00
bergquist
1695aece0c feat(cloudwatch): add authtype dropdown to config page 2016-11-24 14:00:05 +01:00
bergquist
64784db870 feat(cloudwatch): adds access and secret key to edit config page 2016-11-24 14:00:05 +01:00
bergquist
c3075a9bd1 docs(changelog): add note about solving sync problem for alerts 2016-11-24 13:59:52 +01:00
Torkel Ödegaard
2f354ed926 fix(getting started panel): some more work on this, #6466 2016-11-24 13:58:51 +01:00
Carl Bergquist
42f522fe97 Merge pull request #6692 from grafana/feature/tls-client-auth
Feature/tls client auth
2016-11-24 13:58:08 +01:00
Daniel Lee
ad8f06f87f feat(changelog): adds TLS Client auth 2016-11-24 13:57:19 +01:00
bergquist
2bbe3d56bc docs(alerting): add info about alerting metrics 2016-11-24 13:45:24 +01:00
Daniel Lee
0618122bcd feat(httpsettings): add tls auth option
- Three text areas where the user can paste
in the CA Cert (optional), Client Cert
and Client Key.

- Tooltips for Auth checkboxes with brief
descriptions of what With Credentials and
With CA Cert are.

- Adds popover for TLS Auth header too.

- Aligns gf-form elements as labels and
checkboxes were not aligned before.

- Makes CA Cert optional as it is only
needed for self-signed certs.
2016-11-24 13:33:28 +01:00
Daniel Lee
b6b53c0f4b fix(dataproxy): test with CA Cert 2016-11-24 13:22:25 +01:00
Daniel Lee
2893b25a05 feat(datasources): allow updating of tls certs
The tls files are stored as a json blob in the
SecureJsonData field. To update one file, the
json has to be fetched from the db first and
then updated with the cert file that has been
changed.

Also, a change to the dto with flags that are
used in the frontend to show if a file has
been uploaded. For example, if tlsClientKeySet
is set to true then means a file for the
client key is saved in the db. This is to
avoid sending any private data to the frontend.
2016-11-24 13:22:25 +01:00
Daniel Lee
387f8cc0c6 feat(dataproxy): TLS CA Cert for self-signed certs
For self-signed TLS Certificates, authentication
with InsecureSkipVerify set to false then this
error will occur:

x509: certificate signed by unknown authority

The solution is to allow the user to upload the
CA cert as well.
2016-11-24 13:22:25 +01:00
Daniel Lee
c9b2c694f1 refactor(dataproxy): TLS Client Auth
Use a SecureJsonData field for TLS
Client Auth instead of 3 new db
fields. Same model as used for
PluginSettings.

Saves and encrypts the pem file
content rather than just saving
the paths to the cert and key.
This allows for uploading from
the Edit Datasource page in
Grafana.
2016-11-24 13:22:25 +01:00
Daniel Lee
af07adb146 refactor(securejsondata): extract to class
Extract from pluginsettings class so that the
securejsondata type can be used in the other
classes. Encrypt and decrypt functions
extracted too.
2016-11-24 13:22:25 +01:00
Joe Lanford
56b7e2dfaf Added support for TLS client auth for datasource proxies (#5801) 2016-11-24 13:22:25 +01:00
Torkel Ödegaard
2233938ba7 Merge branch 'master' into getting-started-panel 2016-11-24 13:17:22 +01:00
Torkel Ödegaard
ad7ae1b912 fix(graph): Fixed tooltip date header visible when x-mode was set to series, fixes #6364 2016-11-24 13:16:46 +01:00
bergquist
421c1eed82 fix(dashboard): fixes bug when saving dashboards 2016-11-24 11:22:13 +01:00
Torkel Ödegaard
d9cf6a958b fix(unsaved changes): You now navigate to the intended page after saving in the unsaved changes dialog fixes #6675 2016-11-24 11:06:09 +01:00
Ben RUBSON
614bd7f1e8 Sort series by yaxis by default (#6683)
* Sort series by yxis by default

* Sort series by yxis by default

* Sort series by yxis by default
2016-11-24 10:24:49 +01:00
bergquist
6081c6cb61 docs(http_api): convert to new docs format 2016-11-24 10:16:24 +01:00
Carl Bergquist
df2b2e3058 feat(alerting): validate alerts before saving dashboard (#6691)
ref #6576
2016-11-24 09:50:35 +01:00
Torkel Ödegaard
223f2320eb fix(streaming): clear data stream on subject completion 2016-11-23 17:12:30 +01:00
Torkel Ödegaard
cf751c256b fix(graph): fixed order of graph tooltip when sort order was none, fixes #6648 2016-11-23 17:08:14 +01:00
Torkel Ödegaard
ea5cb0d076 fix(server side rendering): Fixed address used when rendering panel via phantomjs and using non default http_addr config, fixes #6660 2016-11-23 15:35:43 +01:00
Torkel Ödegaard
773fb5d1ae fix(alerting): check if dashboard is saved before testing alert rule, fixes #6549 2016-11-23 14:55:10 +01:00
Pavlos Daoglou
c365d52a80 [6486] Fix status code when adding an existing user to org (#6678) 2016-11-23 14:38:44 +01:00
Mitsuhiro Tanda
d018d2a23f (prometheus) table support 2016-11-23 17:18:37 +09:00
bergquist
02dc51b1b6 docs(influxdb): typo 2016-11-23 07:15:34 +01:00
Carl Bergquist
78ce29b8f1 Merge pull request #6671 from peregrinogris/patch-2
Fix typo in Basic Concepts
2016-11-23 06:30:44 +01:00
Hernán Rodríguez Colmeiro
e7e83a71a6 Fix typo in Basic Concepts 2016-11-22 21:47:59 -03:00
Tom Kozlowski
c21ffcc6c9 generalized database connection cert support and added to postgres 2016-11-22 15:29:22 -08:00
bergquist
56156fcd7f feat(alerting): add median reducer to frontend 2016-11-22 14:35:26 +01:00
Torkel Ödegaard
2a33594c02 fix(templating): fixed duplicate button bug, fixes #6652 2016-11-22 14:20:24 +01:00
Torkel Ödegaard
34790e1fab fix(dashboard): minor fix to schema upgrade when schemaVersion is not correct, fixes #6650 2016-11-22 14:20:24 +01:00
bergquist
6882dcfb99 feat(alerting): add backend support for median reducer 2016-11-22 14:09:35 +01:00
Mitsuhiro Tanda
51f80affe3 (cloudwatch) update aws-sdk-go to v1.5.8 (#6658)
* (cloudwatch) upgrade aws-sdk-go v1.5.8

* (cloudwatch) remove non-required aws-sdk-go part

* add go-ini
2016-11-22 13:38:11 +01:00
bergquist
50811c80ea fix(alerting): fixes bug that prevents noData from triggering
closes #6631
2016-11-22 11:47:52 +01:00
bergquist
d73620f304 docs(issue_template): add note about alerting 2016-11-22 08:31:45 +01:00
bergquist
41a1ec29e7 docs(readme): add link to whats new in grafana 4 2016-11-21 14:01:41 +01:00
Torkel Ödegaard
a3d5b4bf25 Update CHANGELOG.md 2016-11-21 11:51:20 +01:00
Torkel Ödegaard
092f0c4b62 docs(): fixed windows link 2016-11-21 10:58:45 +01:00
Torkel Ödegaard
a5c0295a0e docs(): updated doc download links 2016-11-21 10:18:43 +01:00
Torkel Ödegaard
c1a15648c7 Merge branch 'master' of github.com:grafana/grafana into getting-started-panel 2016-11-21 09:00:40 +01:00
Torkel Ödegaard
1dc581bdfa ux(gettingstarted): progress on getting started panel, #6466 2016-11-18 17:42:14 +01:00
Torkel Ödegaard
fd512457d8 Merge remote-tracking branch 'origin/master' into getting-started-panel-css2 2016-11-18 16:31:54 +01:00
Torkel Ödegaard
0c9001c7ae ux(gettingstarted): progress on getting started panel, #6466 2016-11-18 16:31:19 +01:00
bergquist
1b0005a9e5 feat(mqe): add support for app and host alias 2016-11-18 11:40:38 +01:00
Ryan McKinley
7958615097 Use ms rather than second precision 2016-11-17 09:21:25 -08:00
bergquist
5c153f0383 Merge branch 'master' into alerting_mqe 2016-11-17 09:57:56 +01:00
bergquist
0a0f558c48 style(mqe): improve code 2016-11-17 08:52:27 +01:00
bergquist
23387bd39b feat(mqe): simplify timestamp parsing 2016-11-17 08:42:09 +01:00
ichekrygin
f6b70c7d82 Fix formatting 2016-11-16 17:30:42 -08:00
ichekrygin
acc729131a Add VictorOps Test. 2016-11-16 16:14:02 -08:00
ichekrygin
8f0d51171d Resolve rebase w/ upstream conflicts.
Remove: `Alert on Exec Error` (no longer needed)
Add: `ruleUrl` to VictorOps message body.
2016-11-16 16:13:33 -08:00
ichekrygin
bbca9861fb Fix return on nil and cleanup debug messages 2016-11-16 14:02:34 -08:00
ichekrygin
b46cbc5fbe Add option to alert on ExecutionError 2016-11-16 14:02:34 -08:00
ichekrygin
4ca304b756 Change VictorOps fa from fa-exclamation-triangle -> fa-pagelines 2016-11-16 14:02:34 -08:00
ichekrygin
1e558e3936 Fix user-facing text 2016-11-16 14:02:34 -08:00
ichekrygin
b0620a9d4b Add VictorOps alert notification capability 2016-11-16 14:02:34 -08:00
bergquist
9572f086ae feat(mqe): add timerange to query 2016-11-16 17:09:34 +01:00
bergquist
fa8213d8d5 feat(mqe): send http requests 2016-11-16 15:28:31 +01:00
bergquist
f1897b7e96 feat(mqe): add response parser 2016-11-16 14:42:43 +01:00
bergquist
c6ad0cc5ec test(mqe): basic test for response parser 2016-11-16 13:00:25 +01:00
bergquist
113020aabe feat(mqe): support basic aliases 2016-11-16 11:04:15 +01:00
bergquist
430104aaac feat(mqe): add support for wildcard series 2016-11-16 10:03:22 +01:00
bergquist
fa92dfb7b2 feat(mqe): add support for apps in where clause 2016-11-16 09:54:45 +01:00
bergquist
ab7263579f Merge branch 'master' into alerting_mqe 2016-11-16 09:28:26 +01:00
bergquist
4739608ffb tests(mqe): add query builder 2016-11-15 18:37:34 +01:00
Ryan McKinley
04356f31d2 missing space 2016-11-14 14:56:11 -08:00
Ryan McKinley
3588b9732f round the seconds 2016-11-14 13:40:33 -08:00
bergquist
1bdda76ba9 tests(mqe): parse mqe query model 2016-11-14 15:03:49 +01:00
bergquist
c973241435 feat(mqe): add token request 2016-11-14 14:00:35 +01:00
bergquist
118e2a6364 WIP: more boilerplate 2016-11-13 13:51:54 +01:00
Torkel Ödegaard
18a37a9eef ux(getting started): struggleing witch cleaning up the css, #6466 2016-11-10 14:21:37 +01:00
Torkel Ödegaard
575828f1e9 Merge branch 'getting-started-panel' of github.com:grafana/grafana into getting-started-panel 2016-11-10 13:25:18 +01:00
Torkel Ödegaard
de74bf0c33 Merge branch 'master' into getting-started-panel 2016-11-10 13:24:10 +01:00
bergquist
bd3259d07a feat(mqe): init commit 2016-11-09 15:55:47 +01:00
Torkel Ödegaard
fb57bf77da ux(getting started): progress on getting started panel and persited help flag states, #6466 2016-11-09 10:41:39 +01:00
Leandro Piccilli
717a96ab8d Fix raw document query on ES 5.x 2016-11-08 22:18:59 +01:00
Leandro Piccilli
a5ee705b89 Merge branch 'master' of https://github.com/grafana/grafana 2016-11-08 22:18:30 +01:00
Torkel Ödegaard
5f2cb8e193 Merge branch 'master' into getting-started-panel 2016-11-08 16:23:01 +01:00
Torkel Ödegaard
d92bb677df docs(): fix title 2016-11-08 16:15:34 +01:00
Torkel Ödegaard
4c891e3758 docs(): minor spelling fix 2016-11-08 15:06:07 +01:00
Matt Toback
15e369ec02 First pass of getting started panel for home dashboard 2016-11-02 17:21:11 -04:00
Leandro Piccilli
c9a69c3ed9 Merge branch 'master' of https://github.com/grafana/grafana 2016-10-27 19:00:23 +02:00
Leandro Piccilli
538e1fbc64 Fix templating using query 2016-10-27 18:59:24 +02:00
Leandro Piccilli
0000065053 Merge branch 'master' of https://github.com/grafana/grafana 2016-10-02 16:59:25 +02:00
Leandro Piccilli
128de86d49 Merge branch 'master' of github.com:grafana/grafana 2016-09-19 20:12:02 +02:00
bergquist
5d821d3492 style(cli): minor fix 2016-08-24 20:27:41 +02:00
bergquist
c087445d51 feat(cli): add db command to cli. 2016-08-24 15:46:26 +02:00
Nozomi Anzai
157435a61c Fix to check white list when the frontend tries to connect DB 2016-08-17 14:33:59 +09:00
Leandro Piccilli
f844cd844b Fix for annotations query on ES 5.x 2016-08-11 22:24:58 +02:00
slqgsm
e17b1548e8 Release there were some issues with the way removing columns was being implemented.
So I decided to scrap that, and go for just having a hidden column style. This is what
@madshall did in his enhanced table pull request, so this is basically the hidden
column style feature form his pull request.
2016-07-29 20:21:59 +00:00
slqgsm
93cb08d9d0 fixed typo and issue of not being able to add fields in table transformation 2016-07-29 16:30:38 +00:00
slqgsm
afb55fb3bd fixed to allow adding columns back in 2016-07-29 12:25:36 +00:00
slqgsm
e420bee2ab First commit for this branch, to allow removing of columns in table transformation 2016-07-28 21:44:07 +00:00
Leandro Piccilli
3057c9747c Change size on terms aggregation for ES 5.x 2016-07-26 22:05:49 +02:00
Leandro Piccilli
df9ace8ac2 Change annotations query for ES 5.x 2016-07-21 00:42:36 +02:00
Leandro Piccilli
2a501d6cdb Merge branch 'master' of https://github.com/grafana/grafana 2016-07-18 10:34:11 +02:00
Leandro Piccilli
0ebf469f5f Merge branch 'master' of https://github.com/grafana/grafana 2016-07-07 00:58:26 +02:00
Nozomi Anzai
bdf68b2183 Fix wrong overwrite of commit:711992c8e2e811abd450cb665008bb0a1b3e29a9 2016-06-30 10:48:39 +09:00
Leandro Piccilli
2205ce5354 Add some tests for ES 5.x 2016-06-20 00:40:16 +02:00
Nozomi Anzai
6586cc4029 Add the datasource of RDBMS (PostgreSQL and MySQL) 2016-06-13 18:24:18 +09:00
bigbenhur
ef623846c1 further tests for log-autoscale and log-fixedscale; only generate visible ticks; minor changes to prevent crashes due to bad user input 2016-06-06 10:33:35 +02:00
bigbenhur
29b9d17faa fix crash due to zero or negative data values in graph with log scale 2016-06-03 22:30:38 +02:00
bigbenhur
1e4eb01059 Support auto grid min/max when using log scale, Issue #3090 2016-06-03 15:54:14 +02:00
Leandro Piccilli
0d34740a62 Add support to ElasticSearch 5.0 2016-05-10 19:38:22 +02:00
Adrian Lopez
9fbb1214ae Allow to show multiple tags with annotations with InfluxDB datasource 2016-04-04 16:57:34 +02:00
Valeriy Simonov
8bf4d3fb7f Merge remote-tracking branch 'refs/remotes/grafana/master' 2016-03-31 15:54:00 +05:00
Shani Elharrar
f121e8309d ElasticSearch Terms & Date Histogram: Support 'missing' setting 2016-03-03 22:34:28 +02:00
2059 changed files with 115505 additions and 786206 deletions

View File

@@ -3,7 +3,7 @@ root = true
[*.go]
indent_style = tab
indent_size = 2
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

View File

@@ -1,7 +1,10 @@
* **I'm submitting a ...**
- [ ] Bug report
- [ ] Feature request
- [ ] Question / Support request: **Please do not** open a github issue. [Support Options](http://grafana.org/support/)
Read before posting:
- Questions should be posted to https://community.grafana.com. Please search there and here on GitHub for similar issues before creating a new issue.
- Checkout FAQ: https://community.grafana.com/c/howto/faq
- Checkout How to troubleshoot metric query issues: https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50
Please prefix your title with [Bug] or [Feature request].
Please include this information:
- What Grafana version are you using?
@@ -10,8 +13,6 @@ Please include this information:
- What did you do?
- What was the expected result?
- What happened instead?
**IMPORTANT** If it relates to metric data viz:
- An image or text representation of your metric query
- The raw query and response for the network request (check this in chrome dev tools network tab, here you can see metric requests and other request, please include the request body and request response)
- If related to metric query / data viz:
- Include raw network request & response: get by opening Chrome Dev Tools (F12, Ctrl+Shift+I on windows, Cmd+Opt+I on Mac), go the network tab.

View File

@@ -1,2 +1,4 @@
* Link the PR to an issue for new features
* Rebase your PR if it gets out of sync with master
* Rebase your PR if it gets out of sync with master
**REMOVE THE TEXT ABOVE BEFORE CREATING THE PULL REQUEST**

1
.gitignore vendored
View File

@@ -25,6 +25,7 @@ public/css/*.min.css
*.swp
.idea/
*.iml
*.tmp
.vscode/
/data/*

View File

@@ -1,4 +1,255 @@
# 4.0-beta2 (unrelased)
# 4.3.0-stable (unreleased)
## Bug fixes
* **Gzip**: Fixed crash when gzip was enabled [#8380](https://github.com/grafana/grafana/issues/8380)
* **Graphite**: Fixed issue with Toggle edit mode did in query editor [#8377](https://github.com/grafana/grafana/issues/8377)
* **Alerting**: Fixed issue with state history not showing query execution errors [#8412](https://github.com/grafana/grafana/issues/8412)
* **Alerting**: Fixed issue with missing state history events/annotations when using sqlite3 database [#7992](https://github.com/grafana/grafana/issues/7992)
* **Sqlite**: Fixed with database table locked and using sqlite3 database [#7992](https://github.com/grafana/grafana/issues/7992)
* **Alerting**: Fixed issue with annotations showing up in unsaved dashboards, new graph & alert panel. [#8361](https://github.com/grafana/grafana/issues/8361)
* **webdav**: Fixed http proxy env variable support for webdav image upload [#7922](https://github.com/grafana/grafana/issues/79222), thx [@berghauz](https://github.com/berghauz)
* **Prometheus**: Fixed issue with hiding query [#8413](https://github.com/grafana/grafana/issues/8413)
## Enhancements
* **VictorOps**: Now supports panel image & auto resolve [#8431](https://github.com/grafana/grafana/pull/8431), thx [@davidmscott](https://github.com/davidmscott)
* **Alerting**: Alert annotations now provide more info [#8421](https://github.com/grafana/grafana/pull/8421)
# 4.3.0-beta1 (2017-05-12)
## Enhancements
* **InfluxDB**: influxdb query builder support for ORDER BY and LIMIT (allows TOPN queries) [#6065](https://github.com/grafana/grafana/issues/6065) Support influxdb's SLIMIT Feature [#7232](https://github.com/grafana/grafana/issues/7232) thx [@thuck](https://github.com/thuck)
* **Panels**: Delay loading & Lazy load panels as they become visible (scrolled into view) [#5216](https://github.com/grafana/grafana/issues/5216) thx [@jifwin](https://github.com/jifwin)
* **Graph**: Support auto grid min/max when using log scale [#3090](https://github.com/grafana/grafana/issues/3090), thx [@bigbenhur](https://github.com/bigbenhur)
* **Graph**: Support for histograms [#600](https://github.com/grafana/grafana/issues/600)
* **Prometheus**: Support table response formats (column per label) [#6140](https://github.com/grafana/grafana/issues/6140), thx [@mtanda](https://github.com/mtanda)
* **Single Stat Panel**: support for non time series data [#6564](https://github.com/grafana/grafana/issues/6564)
* **Server**: Monitoring Grafana (health check endpoint) [#3302](https://github.com/grafana/grafana/issues/3302)
* **Heatmap**: Heatmap Panel [#7934](https://github.com/grafana/grafana/pull/7934)
* **Elasticsearch**: histogram aggregation [#3164](https://github.com/grafana/grafana/issues/3164)
## Minor Enchancements
* **InfluxDB**: Small fix for the "glow" when focus the field for LIMIT and SLIMIT [#7799](https://github.com/grafana/grafana/pull/7799) thx [@thuck](https://github.com/thuck)
* **Prometheus**: Make Prometheus query field a textarea [#7663](https://github.com/grafana/grafana/issues/7663), thx [@hagen1778](https://github.com/hagen1778)
* **Prometheus**: Step parameter changed semantics to min step to reduce the load on Prometheus and rendering in browser [#8073](https://github.com/grafana/grafana/pull/8073), thx [@bobrik](https://github.com/bobrik)
* **Templating**: Should not be possible to create self-referencing (recursive) template variable definitions [#7614](https://github.com/grafana/grafana/issues/7614) thx [@thuck](https://github.com/thuck)
* **Cloudwatch**: Correctly obtain IAM roles within ECS container tasks [#7892](https://github.com/grafana/grafana/issues/7892) thx [@gomlgs](https://github.com/gomlgs)
* **Units**: New number format: Scientific notation [#7781](https://github.com/grafana/grafana/issues/7781) thx [@cadnce](https://github.com/cadnce)
* **Oauth**: Add common type for oauth authorization errors [#6428](https://github.com/grafana/grafana/issues/6428) thx [@amenzhinsky](https://github.com/amenzhinsky)
* **Templating**: Data source variable now supports multi value and panel repeats [#7030](https://github.com/grafana/grafana/issues/7030) thx [@mtanda](https://github.com/mtanda)
* **Telegram**: Telegram alert is not sending metric and legend. [#8110](https://github.com/grafana/grafana/issues/8110), thx [@bashgeek](https://github.com/bashgeek)
* **Graph**: Support dashed lines [#514](https://github.com/grafana/grafana/issues/514), thx [@smalik03](https://github.com/smalik03)
* **Table**: Support to change column header text [#3551](https://github.com/grafana/grafana/issues/3551)
* **Alerting**: Better error when SMTP is not configured [#8093](https://github.com/grafana/grafana/issues/8093)
* **Pushover**: Add an option to attach graph image link in Pushover notification [#8043](https://github.com/grafana/grafana/issues/8043) thx [@devkid](https://github.com/devkid)
* **WebDAV**: Allow to set different ImageBaseUrl for WebDAV upload and image link [#7914](https://github.com/grafana/grafana/issues/7914)
* **Panels**: type-ahead mixed datasource selection [#7697](https://github.com/grafana/grafana/issues/7697) thx [@mtanda](https://github.com/mtanda)
* **Security**:User enumeration problem [#7619](https://github.com/grafana/grafana/issues/7619)
* **InfluxDB**: Register new queries available in InfluxDB - Holt Winters [#5619](https://github.com/grafana/grafana/issues/5619) thx [@rikkuness](https://github.com/rikkuness)
* **Server**: Support listening on a UNIX socket [#4030](https://github.com/grafana/grafana/issues/4030), thx [@mitjaziv](https://github.com/mitjaziv)
* **Graph**: Support log scaling for values smaller 1 [#5278](https://github.com/grafana/grafana/issues/5278)
* **InfluxDB**: Slow 'select measurement' rendering for InfluxDB [#2524](https://github.com/grafana/grafana/issues/2524), thx [@sbhenderson](https://github.com/sbhenderson)
* **Config**: Configurable signout menu activation [#7968](https://github.com/grafana/grafana/pull/7968), thx [@seuf](https://github.com/seuf)
## Fixes
* **Table Panel**: Fixed annotation display in table panel, [#8023](https://github.com/grafana/grafana/issues/8023)
* **Dashboard**: If refresh is blocked due to tab not visible, then refresh when it becomes visible [#8076](https://github.com/grafana/grafana/issues/8076) thanks [@SimenB](https://github.com/SimenB)
* **Snapshots**: Fixed problem with annotations & snapshots [#7659](https://github.com/grafana/grafana/issues/7659)
* **Graph**: MetricSegment loses type when value is an asterisk [#8277](https://github.com/grafana/grafana/issues/8277), thx [@Gordiychuk](https://github.com/Gordiychuk)
* **Alerting**: Alert notifications do not show charts when using a non public S3 bucket [#8250](https://github.com/grafana/grafana/issues/8250) thx [@rogerswingle](https://github.com/rogerswingle)
* **Graph**: 100% client CPU usage on red alert glow animation [#8222](https://github.com/grafana/grafana/issues/8222)
* **InfluxDB**: Templating: "All" query does match too much [#8165](https://github.com/grafana/grafana/issues/8165)
* **Dashboard**: Description tooltip is not fully displayed [#7970](https://github.com/grafana/grafana/issues/7970)
* **Proxy**: Redirect after switching Org does not obey sub path in root_url (using reverse proxy) [#8089](https://github.com/grafana/grafana/issues/8089)
* **Templating**: Restoration of ad-hoc variable from URL does not work correctly [#8056](https://github.com/grafana/grafana/issues/8056) thx [@tamayika](https://github.com/tamayika)
* **InfluxDB**: timeFilter cannot be used twice in alerts [#7969](https://github.com/grafana/grafana/issues/7969)
* **MySQL**: 4-byte UTF8 not supported when using MySQL database (allows Emojis) [#7958](https://github.com/grafana/grafana/issues/7958)
* **Alerting**: api/alerts and api/alert/:id hold previous data for "message" and "Message" field when field value is changed from "some string" to empty string. [#7927](https://github.com/grafana/grafana/issues/7927)
* **Graph**: Cannot add fill below to series override [#7916](https://github.com/grafana/grafana/issues/7916)
* **InfluxDB**: Influxb Datasource test passes even if the Database doesn't exist [#7864](https://github.com/grafana/grafana/issues/7864)
* **Prometheus**: Displaying Prometheus annotations is incredibly slow [#7750](https://github.com/grafana/grafana/issues/7750), thx [@mtanda](https://github.com/mtanda)
* **Graphite**: grafana generates empty find query to graphite -> 422 Unprocessable Entity [#7740](https://github.com/grafana/grafana/issues/7740)
* **Admin**: make organisation filter case insensitive [#8194](https://github.com/grafana/grafana/issues/8194), thx [@Alexander-N](https://github.com/Alexander-N)
## Changes
* **Elasticsearch**: Changed elasticsearch Terms aggregation to default to Min Doc Count to 1, and sort order to Top [#8321](https://github.com/grafana/grafana/issues/8321)
## Tech
* **Library Upgrade**: inconshreveable/log15 outdated - no support for solaris [#8262](https://github.com/grafana/grafana/issues/8262)
* **Library Upgrade**: Upgrade Macaron [#7600](https://github.com/grafana/grafana/issues/7600)
# 4.2.0 (2017-03-22)
## Minor Enhancements
* **Templates**: Prevent use of the prefix `__` for templates in web UI [#7678](https://github.com/grafana/grafana/issues/7678)
* **Threema**: Add emoji to Threema alert notifications [#7676](https://github.com/grafana/grafana/pull/7676) thx [@dbrgn](https://github.com/dbrgn)
* **Panels**: Support dm3 unit [#7695](https://github.com/grafana/grafana/issues/7695) thx [@mitjaziv](https://github.com/mitjaziv)
* **Docs**: Added some details about Sessions in Postgres [#7694](https://github.com/grafana/grafana/pull/7694) thx [@rickard-von-essen](https://github.com/rickard-von-essen)
* **Influxdb**: Allow commas in template variables [#7681](https://github.com/grafana/grafana/issues/7681) thx [@thuck](https://github.com/thuck)
* **Cloudwatch**: stop using deprecated session.New() [#7736](https://github.com/grafana/grafana/issues/7736) thx [@mtanda](https://github.com/mtanda)
* **OpenTSDB**: Pass dropcounter rate option if no max counter and no reset value or reset value as 0 is specified [#7743](https://github.com/grafana/grafana/pull/7743) thx [@r4um](https://github.com/r4um)
* **Templating**: support full resolution for $interval variable [#7696](https://github.com/grafana/grafana/pull/7696) thx [@mtanda](https://github.com/mtanda)
* **Elasticsearch**: Unique Count on string fields in ElasticSearch [#3536](https://github.com/grafana/grafana/issues/3536), thx [@pyro2927](https://github.com/pyro2927)
* **Templating**: Data source template variable that refers to other variable in regex filter [#6365](https://github.com/grafana/grafana/issues/6365) thx [@rlodge](https://github.com/rlodge)
* **Admin**: Global User List: add search and pagination [#7469](https://github.com/grafana/grafana/issues/7469)
* **User Management**: Invite UI is now disabled when login form is disabled [#7875](https://github.com/grafana/grafana/issues/7875)
## Bugfixes
* **Webhook**: Use proxy settings from environment variables [#7710](https://github.com/grafana/grafana/issues/7710)
* **Panels**: Deleting a dashboard with unsaved changes raises an error message [#7591](https://github.com/grafana/grafana/issues/7591) thx [@thuck](https://github.com/thuck)
* **Influxdb**: Query builder detects regex to easily for measurement [#7276](https://github.com/grafana/grafana/issues/7276) thx [@thuck](https://github.com/thuck)
* **Docs**: router_logging not documented [#7723](https://github.com/grafana/grafana/issues/7723)
* **Alerting**: Spelling mistake [#7739](https://github.com/grafana/grafana/pull/7739) thx [@woutersmit](https://github.com/woutersmit)
* **Alerting**: Graph legend scrolls to top when an alias is toggled/clicked [#7680](https://github.com/grafana/grafana/issues/7680) thx [@p4ddy1](https://github.com/p4ddy1)
* **Panels**: Fixed panel tooltip description after scrolling down [#7708](https://github.com/grafana/grafana/issues/7708) thx [@askomorokhov](https://github.com/askomorokhov)
# 4.2.0-beta1 (2017-02-27)
## Enhancements
* **Telegram**: Added Telegram alert notifier [#7098](https://github.com/grafana/grafana/pull/7098), thx [@leonoff](https://github.com/leonoff)
* **Templating**: Make $__interval and $__interval_ms global built in variables that can be used in by any datasource (in panel queries), closes [#7190](https://github.com/grafana/grafana/issues/7190), closes [#6582](https://github.com/grafana/grafana/issues/6582)
* **S3 Image Store**: External s3 image store (used in alert notifications) now support AWS IAM Roles, closes [#6985](https://github.com/grafana/grafana/issues/6985), [#7058](https://github.com/grafana/grafana/issues/7058) thx [@mtanda](https://github.com/mtanda)
* **SingleStat**: Implements diff aggregation method for singlestat [#7234](https://github.com/grafana/grafana/issues/7234), thx [@oliverpool](https://github.com/oliverpool)
* **Dataproxy**: Added setting to enable more verbose logging in dataproxy [#7209](https://github.com/grafana/grafana/pull/7209), thx [@Ricky-N](https://github.com/Ricky-N)
* **Alerting**: Better information about why an alert triggered [#7035](https://github.com/grafana/grafana/issues/7035)
* **LINE**: Add LINE as alerting notification channel [#7301](https://github.com/grafana/grafana/pull/7301), thx [@huydx](https://github.com/huydx)
* **LINE**: Adds image to notification message [#7417](https://github.com/grafana/grafana/pull/7417), thx [@Erliz](https://github.com/Erliz)
* **Hipchat**: Adds support for sending alert notifications to hipchat [#6451](https://github.com/grafana/grafana/issues/6451), thx [@jregovic](https://github.com/jregovic)
* **Alerting**: Uploading images for alert notifications is now optional [#7419](https://github.com/grafana/grafana/issues/7419)
* **Dashboard**: Adds shortcut for collapsing/expanding all rows [#552](https://github.com/grafana/grafana/issues/552), thx [@mtanda](https://github.com/mtanda)
* **Alerting**: Adds de duping of alert notifications [#7632](https://github.com/grafana/grafana/pull/7632)
* **Orgs**: Sharing dashboards using Grafana share feature will now redirect to correct org. [#1613](https://github.com/grafana/grafana/issues/1613)
* **Pushover**: Add Pushover alert notifications [#7526](https://github.com/grafana/grafana/pull/7526) thx [@devkid](https://github.com/devkid)
* **Threema**: Add Threema Gateway alert notification integration [#7482](https://github.com/grafana/grafana/pull/7482) thx [@dbrgn](https://github.com/dbrgn)
## Minor Enhancements
* **Optimzation**: Never issue refresh event when Grafana tab is not visible [#7218](https://github.com/grafana/grafana/issues/7218), thx [@mtanda](https://github.com/mtanda)
* **Browser History**: Browser back/forward now works time ranges / zoom, [#7259](https://github.com/grafana/grafana/issues/7259)
* **Elasticsearch**: Support for Min Doc Count options in Terms aggregation [#7324](https://github.com/grafana/grafana/pull/7324), thx [@lpic10](https://github.com/lpic10)
* **Elasticsearch**: Term aggregation limit can now be changed in template queries [#7112](https://github.com/grafana/grafana/issues/7112), thx [@FFalcon](https://github.com/FFalcon)
* **Elasticsearch**: Ad-hoc filters now support all operators [#7612](https://github.com/grafana/grafana/issues/7612), thx [@tamayika](https://github.com/tamayika)
* **Graph**: Add full series name as title for legends. [#7493](https://github.com/grafana/grafana/pull/7493), thx [@kolobaev](https://github.com/kolobaev)
* **Table**: Add a message when queries returns no data. [#6109](https://github.com/grafana/grafana/issues/6109), thx [@xginn8](https://github.com/xginn8)
* **Graph**: Set max width for series names in legend tables. [#2385](https://github.com/grafana/grafana/issues/2385), thx [@kolobaev](https://github.com/kolobaev)
* **Database**: Allow max db connection pool configuration [#7427](https://github.com/grafana/grafana/issues/7427), thx [@huydx](https://github.com/huydx)
* **Datasources** Delete datsource by name [#7476](https://github.com/grafana/grafana/issues/7476), thx [@huydx](https://github.com/huydx)
* **Dataproxy**: Only allow get that begins with api/ to access Prometheus [#7459](https://github.com/grafana/grafana/pull/7459), thx [@mtanda](https://github.com/mtanda)
* **Snapshot**: Make timeout for snapshot creation configurable [#7449](https://github.com/grafana/grafana/pull/7449) thx [@ryu1-sakai](https://github.com/ryu1-sakai)
* **Panels**: Add more physics units [#7554](https://github.com/grafana/grafana/pull/7554) thx [@ryantxu](https://github.com/ryantxu)
* **Email**: Add sender's name on email [#2131](https://github.com/grafana/grafana/issues/2131) thx [@jacobbednarz](https://github.com/jacobbednarz)
* **HTTPS**: Set tls 1.2 as lowest tls version. [#7347](https://github.com/grafana/grafana/pull/7347) thx [@roman-vynar](https://github.com/roman-vynar)
* **Table**: Added suppressing of empty results to table plugin. [#7602](https://github.com/grafana/grafana/pull/7602) thx [@LLIyRiK](https://github.com/LLIyRiK)
## Tech
* **Library Upgrade**: Upgraded angularjs from 1.5.8 to 1.6.1 [#7274](https://github.com/grafana/grafana/issues/7274)
* **Backend**: Grafana is now built using golang 1.8
## Bugfixes
* **Alerting**: Fixes missing support for no_data and execution error when testing alerts [#7149](https://github.com/grafana/grafana/issues/7149)
* **Dashboard**: Avoid duplicate data in dashboard json for panels with alerts [#7256](https://github.com/grafana/grafana/pull/7256)
* **Alertlist**: Only show scrollbar when required [#7269](https://github.com/grafana/grafana/issues/7269)
* **SMTP**: Set LocalName to hostname [#7223](https://github.com/grafana/grafana/issues/7223)
* **Sidemenu**: Disable sign out in sidemenu for AuthProxyEnabled [#7377](https://github.com/grafana/grafana/pull/7377), thx [@solugebefola](https://github.com/solugebefola)
* **Prometheus**: Add support for basic auth in Prometheus tsdb package [#6799](https://github.com/grafana/grafana/issues/6799), thx [@hagen1778](https://github.com/hagen1778)
* **OAuth**: Redirect to original page when logging in with OAuth [#7513](https://github.com/grafana/grafana/issues/7513)
* **Annotations**: Wrap text in annotations tooltip [#7542](https://github.com/grafana/grafana/pull/7542), thx [@xginn8](https://github.com/xginn8)
* **Templating**: Fixes error when using numeric sort on empty strings [#7382](https://github.com/grafana/grafana/issues/7382)
* **Templating**: Fixed issue detecting template variable dependency [#7354](https://github.com/grafana/grafana/issues/7354)
# 4.1.2 (2017-02-13)
### Bugfixes
* **Table**: Fixes broken annotation rendering mode in the table panel [#7268](https://github.com/grafana/grafana/issues/7268)
* **Data Sources**: Sorting for lists of data sources in UI is now case insensitive [#7491](https://github.com/grafana/grafana/issues/7491)
* **Admin**: Support more then 1000 users in global users list [#7469](https://github.com/grafana/grafana/issues/7469)
# 4.1.1 (2017-01-11)
### Bugfixes
* **Graph Panel**: Fixed issue with legend height in table mode [#7221](https://github.com/grafana/grafana/issues/7221)
# 4.1.0 (2017-01-11)
### Bugfixes
* **Server side PNG rendering**: Fixed issue with y-axis label rotation in phantomjs rendered images [#6924](https://github.com/grafana/grafana/issues/6924)
* **Graph**: Fixed centering of y-axis label [#7099](https://github.com/grafana/grafana/issues/7099)
* **Graph**: Fixed graph legend table mode and always visible scrollbar [#6828](https://github.com/grafana/grafana/issues/6828)
* **Templating**: Fixed template variable value groups/tags feature [#6752](https://github.com/grafana/grafana/issues/6752)
* **Webhook**: Fixed webhook username mismatch [#7195](https://github.com/grafana/grafana/pull/7195), thx [@theisenmark](https://github.com/theisenmark)
* **Influxdb**: Handles time(auto) the same way as time($interval) [#6997](https://github.com/grafana/grafana/issues/6997)
## Enhancements
* **Elasticsearch**: Added support for all moving average options [#7154](https://github.com/grafana/grafana/pull/7154), thx [@vaibhavinbayarea](https://github.com/vaibhavinbayarea)
# 4.1-beta1 (2016-12-21)
### Enhancements
* **Postgres**: Add support for Certs for Postgres database [#6655](https://github.com/grafana/grafana/issues/6655)
* **Victorops**: Add VictorOps notification integration [#6411](https://github.com/grafana/grafana/issues/6411), thx [@ichekrygin](https://github.com/ichekrygin)
* **Opsgenie**: Add OpsGenie notification integratiion [#6687](https://github.com/grafana/grafana/issues/6687), thx [@kylemcc](https://github.com/kylemcc)
* **Singlestat**: New aggregation on singlestat panel [#6740](https://github.com/grafana/grafana/pull/6740), thx [@dirk-leroux](https://github.com/dirk-leroux)
* **Cloudwatch**: Make it possible to specify access and secret key on the data source config page [#6697](https://github.com/grafana/grafana/issues/6697)
* **Table**: Added Hidden Column Style for Table Panel [#5677](https://github.com/grafana/grafana/pull/5677), thx [@bmundt](https://github.com/bmundt)
* **Graph**: Shared crosshair option renamed to shared tooltip, shows tooltip on all graphs as you hover over one graph. [#1578](https://github.com/grafana/grafana/pull/1578), [#6274](https://github.com/grafana/grafana/pull/6274)
* **Elasticsearch**: Added support for Missing option (bucket) for terms aggregation [#4244](https://github.com/grafana/grafana/pull/4244), thx [@shanielh](https://github.com/shanielh)
* **Elasticsearch**: Added support for Elasticsearch 5.x [#5740](https://github.com/grafana/grafana/issues/5740), thx [@lpic10](https://github.com/lpic10)
* **CLI**: Make it possible to reset the admin password using the grafana-cli. [#5479](https://github.com/grafana/grafana/issues/5479)
* **Influxdb**: Support multiple tags in InfluxDB annotations. [#4550](https://github.com/grafana/grafana/pull/4550), thx [@adrianlzt](https://github.com/adrianlzt)
* **LDAP**: Basic Auth now supports LDAP username and password, [#6940](https://github.com/grafana/grafana/pull/6940), thx [@utkarshcmu](https://github.com/utkarshcmu)
* **LDAP**: Now works with Auth Proxy, role and organisation mapping & sync will regularly be performed. [#6895](https://github.com/grafana/grafana/pull/6895), thx [@Seuf](https://github.com/seuf)
* **Alerting**: Adds OK as no data option. [#6866](https://github.com/grafana/grafana/issues/6866)
* **Alert list**: Order alerts based on state. [#6676](https://github.com/grafana/grafana/issues/6676)
* **Alerting**: Add api endpoint for pausing all alerts. [#6589](https://github.com/grafana/grafana/issues/6589)
* **Panel**: Added help text for panels. [#4079](https://github.com/grafana/grafana/issues/4079), thx [@utkarshcmu](https://github.com/utkarshcmu)
### Bugfixes
* **API**: HTTP API for deleting org returning incorrect message for a non-existing org [#6679](https://github.com/grafana/grafana/issues/6679)
* **Dashboard**: Posting empty dashboard result in corrupted dashboard [#5443](https://github.com/grafana/grafana/issues/5443)
* **Logging**: Fixed logging level confing issue [#6978](https://github.com/grafana/grafana/issues/6978)
* **Notifications**: Remove html escaping the email subject. [#6905](https://github.com/grafana/grafana/issues/6905)
* **Influxdb**: Fixes broken field dropdown when using template vars as measurement. [#6473](https://github.com/grafana/grafana/issues/6473)
# 4.0.2 (2016-12-08)
### Enhancements
* **Playlist**: Add support for kiosk mode [#6727](https://github.com/grafana/grafana/issues/6727)
### Bugfixes
* **Alerting**: Add alert message to webhook notifications [#6807](https://github.com/grafana/grafana/issues/6807)
* **Alerting**: Fixes a bug where avg() reducer treated null as zero. [#6879](https://github.com/grafana/grafana/issues/6879)
* **PNG Rendering**: Fix for server side rendering when using non default http addr bind and domain setting [#6813](https://github.com/grafana/grafana/issues/6813)
* **PNG Rendering**: Fix for server side rendering when setting enforce_domain to true [#6769](https://github.com/grafana/grafana/issues/6769)
* **Webhooks**: Add content type json to outgoing webhooks [#6822](https://github.com/grafana/grafana/issues/6822)
* **Keyboard shortcut**: Fixed zoom out shortcut [#6837](https://github.com/grafana/grafana/issues/6837)
* **Webdav**: Adds basic auth headers to webdav uploader [#6779](https://github.com/grafana/grafana/issues/6779)
# 4.0.1 (2016-12-02)
> **Notice**
4.0.0 had serious connection pooling issue when using a data source in proxy access. This bug caused lots of resource issues
due to too many connections/file handles on the data source backend. This problem is fixed in this release.
### Bugfixes
* **Metrics**: Fixes nil pointer dereference on my arm build [#6749](https://github.com/grafana/grafana/issues/6749)
* **Data proxy**: Fixes a tcp pooling issue in the datasource reverse proxy [#6759](https://github.com/grafana/grafana/issues/6759)
# 4.0-stable (2016-11-29)
### Bugfixes
* **Server-side rendering**: Fixed address used when rendering panel via phantomjs and using non default http_addr config [#6660](https://github.com/grafana/grafana/issues/6660)
* **Graph panel**: Fixed graph panel tooltip sort order issue [#6648](https://github.com/grafana/grafana/issues/6648)
* **Unsaved changes**: You now navigate to the intended page after saving in the unsaved changes dialog [#6675](https://github.com/grafana/grafana/issues/6675)
* **TLS Client Auth**: Support for TLS client authentication for datasource proxies [#2316](https://github.com/grafana/grafana/issues/2316)
* **Alerts out of sync**: Saving dashboards with broken alerts causes sync problem[#6576](https://github.com/grafana/grafana/issues/6576)
* **Alerting**: Saving an alert with condition "HAS NO DATA" throws an error[#6701](https://github.com/grafana/grafana/issues/6701)
* **Config**: Improve error message when parsing broken config file [#6731](https://github.com/grafana/grafana/issues/6731)
* **Table**: Render empty dates as - instead of current date [#6728](https://github.com/grafana/grafana/issues/6728)
# 4.0-beta2 (2016-11-21)
### Bugfixes
* **Graph Panel**: Log base scale on right Y-axis had no effect, max value calc was not applied, [#6534](https://github.com/grafana/grafana/issues/6534)
@@ -12,6 +263,7 @@
* **Singlestat**: Support repeated template variables in prefix/postfix [#6595](https://github.com/grafana/grafana/issues/6595)
* **Templating**: Don't persist variable options with refresh option [#6586](https://github.com/grafana/grafana/issues/6586)
* **Alerting**: Add ability to have OR conditions (and mixing AND & OR) [#6579](https://github.com/grafana/grafana/issues/6579)
* **InfluxDB**: Fix for Ad-Hoc Filters variable & changing dashboards [#6821](https://github.com/grafana/grafana/issues/6821)
# 4.0-beta1 (2016-11-09)
@@ -616,7 +868,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
# 1.8.0 (2014-09-22)
Read this [blog post](http://grafana.org/blog/2014/09/11/grafana-1-8-0-rc1-released.html) for an overview of all improvements.
Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-released) for an overview of all improvements.
**Fixes**
- [Issue #802](https://github.com/grafana/grafana/issues/802). Annotations: Fix when using InfluxDB datasource

View File

@@ -1,4 +1,4 @@
Copyright 2014-2016 Torkel Ödegaard, Raintank Inc.
Copyright 2014-2017 Torkel Ödegaard, Raintank Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this file except in compliance with the License. You may

View File

@@ -4,9 +4,9 @@ deps-go:
go run build.go setup
deps-js:
npm install
yarn install --pure-lockfile --no-progress
deps: deps-go deps-js
deps: deps-js
build-go:
go run build.go build

View File

@@ -1,30 +1,25 @@
[Grafana](http://grafana.org) [![Circle CI](https://circleci.com/gh/grafana/grafana.svg?style=svg)](https://circleci.com/gh/grafana/grafana) [![Coverage Status](https://coveralls.io/repos/grafana/grafana/badge.png)](https://coveralls.io/r/grafana/grafana)
[Grafana](https://grafana.com) [![Circle CI](https://circleci.com/gh/grafana/grafana.svg?style=svg)](https://circleci.com/gh/grafana/grafana)
================
[Website](http://grafana.org) |
[Website](https://grafana.com) |
[Twitter](https://twitter.com/grafana) |
[IRC](https://webchat.freenode.net/?channels=grafana) |
[![Slack](https://brandfolder.com/api/favicon/icon?size=16&domain=www.slack.com)](http://slack.raintank.io)
[Slack](http://slack.raintank.io) |
[Email](mailto:contact@grafana.org)
[Community & Forum](https://community.grafana.com)
Grafana is an open source, feature rich metrics dashboard and graph editor for
Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
![](http://grafana.org/assets/img/start_page_bg.png)
![](http://docs.grafana.org/assets/img/features/dashboard_ex1.png)
- [Install instructions](http://docs.grafana.org/installation/)
- [What's New in Grafana 2.0](http://docs.grafana.org/guides/whats-new-in-v2/)
- [What's New in Grafana 2.1](http://docs.grafana.org/guides/whats-new-in-v2-1/)
- [What's New in Grafana 2.5](http://docs.grafana.org/guides/whats-new-in-v2-5/)
- [What's New in Grafana 3.0](http://docs.grafana.org/guides/whats-new-in-v3/)
- [What's New in Grafana 4.0](http://docs.grafana.org/guides/whats-new-in-v4/)
- [What's New in Grafana 4.1](http://docs.grafana.org/guides/whats-new-in-v4-1/)
- [What's New in Grafana 4.2](http://docs.grafana.org/guides/whats-new-in-v4-2/)
- [What's New in Grafana 4.3](http://docs.grafana.org/guides/whats-new-in-v4-3/)
## Features
### Graphite Target Editor
- Graphite target expression parser
- Feature rich query composer
- Quickly add and edit functions & parameters
- Templated queries
- [See it in action](http://docs.grafana.org/datasources/graphite/)
### Graphing
- Fast rendering, even over large timespans
@@ -48,23 +43,30 @@ Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
- [Time range controls](http://docs.grafana.org/reference/timerange/)
- [Share snapshots publicly](http://docs.grafana.org/v2.0/reference/sharing/)
### Elasticsearch
- Feature rich query editor UI
### InfluxDB
- Use InfluxDB as a metric data source, annotation source
- Query editor with series and column typeahead, easy group by and function selection
- Query editor with field and tag typeahead, easy group by and function selection
### OpenTSDB
- Use as metric data source
- Query editor with metric name typeahead and tag filtering
### Graphite
- Graphite target expression parser
- Feature rich query composer
- Quickly add and edit functions & parameters
- Templated queries
- [See it in action](http://docs.grafana.org/datasources/graphite/)
### Elasticsearch, Prometheus & OpenTSDB
- Feature rich query editor UI
### Alerting
- Define alert rules using graphs & query conditions
- Schedule & evalute alert rules, send notifications to Slack, Hipchat, Email, PagerDuty, etc.
## Requirements
There are no dependencies except an external time series data store. For dashboards and user accounts Grafana can use an embedded
database (sqlite3) or you can use an external SQL data base like MySQL or Postgres.
## Installation
Head to [grafana.org](http://docs.grafana.org/installation/) and [download](http://grafana.org/download/)
Head to [grafana.org](http://docs.grafana.org/installation/) and [download](https://grafana.com/get)
the latest release.
If you have any problems please read the [troubleshooting guide](http://docs.grafana.org/installation/troubleshooting/).
@@ -74,12 +76,12 @@ Be sure to read the [getting started guide](http://docs.grafana.org/guides/getti
## Run from master
If you want to build a package yourself, or contribute. Here is a guide for how to do that. You can always find
the latest master builds [here](http://grafana.org/builds)
the latest master builds [here](https://grafana.com/grafana/download)
### Dependencies
- Go 1.7
- NodeJS v4+
- Go 1.8.1
- NodeJS LTS
### Get Code
@@ -108,11 +110,12 @@ go run build.go build
### Building frontend assets
To build less to css for the frontend you will need a recent version of **node (v4+)**,
To build less to css for the frontend you will need a recent version of **node (v6+)**,
npm (v2.5.0) and grunt (v0.4.5). Run the following:
```bash
npm install
npm install -g yarn
yarn install --pure-lockfile
npm run build
```
@@ -143,8 +146,7 @@ Create a custom.ini in the conf directory to override default configuration opti
You only need to add the options you want to override. Config files are applied in the order of:
1. grafana.ini
2. dev.ini (if found)
3. custom.ini
1. custom.ini
## Create a pull request
Before or after you create a pull request, sign the [contributor license agreement](http://docs.grafana.org/project/cla/).
@@ -154,10 +156,6 @@ If you have any idea for an improvement or found a bug do not hesitate to open a
And if you have time clone this repo and submit a pull request and help me make Grafana
the kickass metrics & devops dashboard we all dream about!
Before creating a pull request be sure that "grunt test" runs without any style or unit test errors, also
please [sign the CLA](http://docs.grafana.org/project/cla/)
## License
Grafana is distributed under Apache 2.0 License.
Work in progress Grafana 2.0 (with included Grafana backend)

31
ROADMAP.md Normal file
View File

@@ -0,0 +1,31 @@
# Roadmap (2017-04-23)
This roadmap is a tentative plan for the core development team. Things change constantly as PRs come in and priorities change.
But it will give you an idea of our current vision and plan.
### Short term (1-4 months)
- New Heatmap Panel (Implemented and available in master)
- Support for MySQL & Postgres as data sources (Work started and a alpha version for MySQL is available in master)
- User Groups & Dashboard folders with ACLs (work started, not yet completed, https://github.com/grafana/grafana/issues/1611#issuecomment-287742633)
- Improve new user UX
- Improve docs
- Support for alerting for Elasticsearch (can be tested in [branch](https://github.com/grafana/grafana/tree/alerting-elasticsearch) but needs more work)
- Graph annotations (create from grafana, region annotations, better annotation viz)
- Improve alerting (clustering, silence rules)
### Long term
- Improved dashboard panel layout engine (to make it easier and enable more flexible layouts)
- Backend plugins to support more Auth options, Alerting data sources & notifications
- Universial time series transformations for any data source (meta queries)
- Reporting
- Web socket & live data streams
- Migrate to Angular2
### Outside contributions
We know this is being worked on right now by contributors (and we hope to merge it when it's ready).
- Dashboard revisions (be able to revert dashboard changes)
- Clustering for alert engine (load distribution)

View File

@@ -5,14 +5,19 @@ os: Windows Server 2012 R2
clone_folder: c:\gopath\src\github.com\grafana\grafana
environment:
nodejs_version: "5"
nodejs_version: "6"
GOPATH: c:\gopath
GOVERSION: 1.8
install:
- rmdir c:\go /s /q
# install nodejs and npm
- ps: Install-Product node $env:nodejs_version
- npm install
- npm install -g yarn --silent
- yarn install --pure-lockfile --no-progress
- npm install -g grunt-cli
- appveyor DownloadFile https://storage.googleapis.com/golang/go%GOVERSION%.windows-amd64.zip
- 7z x go%GOVERSION%.windows-amd64.zip -y -oC:\ > NUL
# install gcc (needed for sqlite3)
- choco install -y --limit-output mingw
- set PATH=C:\tools\mingw64\bin;%PATH%
@@ -20,18 +25,28 @@ install:
- echo %GOPATH%
- go version
- go env
- go run build.go setup
# - go run build.go setup
build_script:
- go run build.go build
- grunt release
- go run build.go sha1-dist
- go run build.go sha-dist
- cp dist/* .
artifacts:
- path: grafana-*windows-*.*
name: binzip
type: zip
deploy:
- provider: Environment
name: GrafanaBuildsS3
name: GrafanaReleaseMaster
on:
buildType: master
- provider: Environment
name: GrafanaReleaseRelease
on:
buildType: release

View File

@@ -15,11 +15,12 @@
"dependencies": {
"jquery": "3.1.0",
"lodash": "4.15.0",
"angular": "1.5.8",
"angular-route": "1.5.8",
"angular-mocks": "1.5.8",
"angular-sanitize": "1.5.8",
"angular": "1.6.1",
"angular-route": "1.6.1",
"angular-mocks": "1.6.1",
"angular-sanitize": "1.6.1",
"angular-native-dragdrop": "1.2.2",
"angular-bindonce": "0.3.3"
"angular-bindonce": "0.3.3",
"clipboard": "^1.5.16"
}
}

115
build.go
View File

@@ -5,7 +5,7 @@ package main
import (
"bytes"
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"encoding/json"
"flag"
"fmt"
@@ -14,6 +14,7 @@ import (
"log"
"os"
"os/exec"
"path"
"path/filepath"
"regexp"
"runtime"
@@ -37,19 +38,18 @@ var (
race bool
phjsToRelease string
workingDir string
includeBuildNumber bool = true
buildNumber int = 0
binaries []string = []string{"grafana-server", "grafana-cli"}
)
const minGoVersion = 1.7
const minGoVersion = 1.8
func main() {
log.SetOutput(os.Stdout)
log.SetFlags(0)
ensureGoPath()
readVersionFromPackageJson()
log.Printf("Version: %s, Linux Version: %s, Package Iteration: %s\n", version, linuxPackageVersion, linuxPackageIteration)
flag.StringVar(&goarch, "goarch", runtime.GOARCH, "GOARCH")
flag.StringVar(&goos, "goos", runtime.GOOS, "GOOS")
@@ -59,8 +59,14 @@ func main() {
flag.StringVar(&pkgArch, "pkg-arch", "", "PKG ARCH")
flag.StringVar(&phjsToRelease, "phjs", "", "PhantomJS binary")
flag.BoolVar(&race, "race", race, "Use race detector")
flag.BoolVar(&includeBuildNumber, "includeBuildNumber", includeBuildNumber, "IncludeBuildNumber in package name")
flag.IntVar(&buildNumber, "buildNumber", 0, "Build number from CI system")
flag.Parse()
readVersionFromPackageJson()
log.Printf("Version: %s, Linux Version: %s, Package Iteration: %s\n", version, linuxPackageVersion, linuxPackageIteration)
if flag.NArg() == 0 {
log.Println("Usage: go run build.go build")
return
@@ -73,6 +79,10 @@ func main() {
case "setup":
setup()
case "build-cli":
clean()
build("grafana-cli", "./pkg/cmd/grafana-cli", []string{})
case "build":
clean()
for _, binary := range binaries {
@@ -86,24 +96,20 @@ func main() {
case "package":
grunt(gruntBuildArg("release")...)
createLinuxPackages()
sha1FilesInDist()
case "pkg-rpm":
grunt(gruntBuildArg("release")...)
createRpmPackages()
sha1FilesInDist()
case "pkg-deb":
grunt(gruntBuildArg("release")...)
createDebPackages()
sha1FilesInDist()
case "sha1-dist":
sha1FilesInDist()
case "sha-dist":
shaFilesInDist()
case "latest":
makeLatestDistCopies()
sha1FilesInDist()
case "clean":
clean()
@@ -115,14 +121,24 @@ func main() {
}
func makeLatestDistCopies() {
rpmIteration := "-1"
if linuxPackageIteration != "" {
rpmIteration = linuxPackageIteration
files, err := ioutil.ReadDir("dist")
if err != nil {
log.Fatalf("failed to create latest copies. Cannot read from /dist")
}
runError("cp", fmt.Sprintf("dist/grafana_%v-%v_amd64.deb", linuxPackageVersion, linuxPackageIteration), "dist/grafana_latest_amd64.deb")
runError("cp", fmt.Sprintf("dist/grafana-%v-%v.x86_64.rpm", linuxPackageVersion, rpmIteration), "dist/grafana-latest-1.x86_64.rpm")
runError("cp", fmt.Sprintf("dist/grafana-%v-%v.linux-x64.tar.gz", linuxPackageVersion, linuxPackageIteration), "dist/grafana-latest.linux-x64.tar.gz")
latestMapping := map[string]string{
".deb": "dist/grafana_latest_amd64.deb",
".rpm": "dist/grafana-latest-1.x86_64.rpm",
".tar.gz": "dist/grafana-latest.linux-x64.tar.gz",
}
for _, file := range files {
for extension, fullName := range latestMapping {
if strings.HasSuffix(file.Name(), extension) {
runError("cp", path.Join("dist", file.Name()), fullName)
}
}
}
}
func readVersionFromPackageJson() {
@@ -153,7 +169,13 @@ func readVersionFromPackageJson() {
}
// add timestamp to iteration
linuxPackageIteration = fmt.Sprintf("%d%s", time.Now().Unix(), linuxPackageIteration)
if includeBuildNumber {
if buildNumber != 0 {
linuxPackageIteration = fmt.Sprintf("%d%s", buildNumber, linuxPackageIteration)
} else {
linuxPackageIteration = fmt.Sprintf("%d%s", time.Now().Unix(), linuxPackageIteration)
}
}
}
type linuxPackageOptions struct {
@@ -163,7 +185,6 @@ type linuxPackageOptions struct {
serverBinPath string
cliBinPath string
configDir string
configFilePath string
ldapFilePath string
etcDefaultPath string
etcDefaultFilePath string
@@ -184,8 +205,6 @@ func createDebPackages() {
homeDir: "/usr/share/grafana",
binPath: "/usr/sbin",
configDir: "/etc/grafana",
configFilePath: "/etc/grafana/grafana.ini",
ldapFilePath: "/etc/grafana/ldap.toml",
etcDefaultPath: "/etc/default",
etcDefaultFilePath: "/etc/default/grafana-server",
initdScriptFilePath: "/etc/init.d/grafana-server",
@@ -206,8 +225,6 @@ func createRpmPackages() {
homeDir: "/usr/share/grafana",
binPath: "/usr/sbin",
configDir: "/etc/grafana",
configFilePath: "/etc/grafana/grafana.ini",
ldapFilePath: "/etc/grafana/ldap.toml",
etcDefaultPath: "/etc/sysconfig",
etcDefaultFilePath: "/etc/sysconfig/grafana-server",
initdScriptFilePath: "/etc/init.d/grafana-server",
@@ -218,7 +235,7 @@ func createRpmPackages() {
defaultFileSrc: "packaging/rpm/sysconfig/grafana-server",
systemdFileSrc: "packaging/rpm/systemd/grafana-server.service",
depends: []string{"initscripts", "fontconfig"},
depends: []string{"/sbin/service", "fontconfig"},
})
}
@@ -252,21 +269,15 @@ func createPackage(options linuxPackageOptions) {
runPrint("cp", "-a", filepath.Join(workingDir, "tmp")+"/.", filepath.Join(packageRoot, options.homeDir))
// remove bin path
runPrint("rm", "-rf", filepath.Join(packageRoot, options.homeDir, "bin"))
// copy sample ini file to /etc/grafana
runPrint("cp", "conf/sample.ini", filepath.Join(packageRoot, options.configFilePath))
// copy sample ldap toml config file to /etc/grafana/ldap.toml
runPrint("cp", "conf/ldap.toml", filepath.Join(packageRoot, options.ldapFilePath))
args := []string{
"-s", "dir",
"--description", "Grafana",
"-C", packageRoot,
"--vendor", "Grafana",
"--url", "http://grafana.org",
"--url", "https://grafana.com",
"--license", "\"Apache 2.0\"",
"--maintainer", "contact@grafana.org",
"--config-files", options.configFilePath,
"--config-files", options.ldapFilePath,
"--maintainer", "contact@grafana.com",
"--config-files", options.initdScriptFilePath,
"--config-files", options.etcDefaultFilePath,
"--config-files", options.systemdServiceFilePath,
@@ -276,6 +287,14 @@ func createPackage(options linuxPackageOptions) {
"-p", "./dist",
}
if options.packageType == "rpm" {
args = append(args, "--rpm-posttrans", "packaging/rpm/control/posttrans")
}
if options.packageType == "deb" {
args = append(args, "--deb-no-default-config-files")
}
if pkgArch != "" {
args = append(args, "-a", pkgArch)
}
@@ -330,7 +349,12 @@ func grunt(params ...string) {
}
func gruntBuildArg(task string) []string {
args := []string{task, fmt.Sprintf("--pkgVer=%v-%v", linuxPackageVersion, linuxPackageIteration)}
args := []string{task}
if includeBuildNumber {
args = append(args, fmt.Sprintf("--pkgVer=%v-%v", linuxPackageVersion, linuxPackageIteration))
} else {
args = append(args, fmt.Sprintf("--pkgVer=%v", version))
}
if pkgArch != "" {
args = append(args, fmt.Sprintf("--arch=%v", pkgArch))
}
@@ -425,14 +449,10 @@ func setBuildEnv() {
}
func getGitSha() string {
v, err := runError("git", "describe", "--always", "--dirty")
v, err := runError("git", "rev-parse", "--short", "HEAD")
if err != nil {
return "unknown-dev"
}
v = versionRe.ReplaceAllFunc(v, func(s []byte) []byte {
s[0] = '+'
return s
})
return string(v)
}
@@ -510,29 +530,36 @@ func md5File(file string) error {
return out.Close()
}
func sha1FilesInDist() {
func shaFilesInDist() {
filepath.Walk("./dist", func(path string, f os.FileInfo, err error) error {
if strings.Contains(path, ".sha1") == false {
sha1File(path)
if path == "./dist" {
return nil
}
if strings.Contains(path, ".sha256") == false {
err := shaFile(path)
if err != nil {
log.Printf("Failed to create sha file. error: %v\n", err)
}
}
return nil
})
}
func sha1File(file string) error {
func shaFile(file string) error {
fd, err := os.Open(file)
if err != nil {
return err
}
defer fd.Close()
h := sha1.New()
h := sha256.New()
_, err = io.Copy(h, fd)
if err != nil {
return err
}
out, err := os.Create(file + ".sha1")
out, err := os.Create(file + ".sha256")
if err != nil {
return err
}

View File

@@ -1,31 +1,57 @@
machine:
node:
version: 5.11.1
version: 6.9.2
python:
version: 2.7.3
services:
- docker
environment:
GOPATH: "/home/ubuntu/.go_workspace"
ORG_PATH: "github.com/grafana"
REPO_PATH: "${ORG_PATH}/grafana"
GODIST: "go1.7.3.linux-amd64.tar.gz"
GODIST: "go1.8.linux-amd64.tar.gz"
post:
- mkdir -p download
- mkdir -p ~/download
- mkdir -p ~/docker
- test -e download/$GODIST || curl -o download/$GODIST https://storage.googleapis.com/golang/$GODIST
- sudo rm -rf /usr/local/go
- sudo tar -C /usr/local -xzf download/$GODIST
dependencies:
cache_directories:
- "~/docker"
- "~/download"
override:
- rm -rf ${GOPATH}/src/${REPO_PATH}
- mkdir -p ${GOPATH}/src/${ORG_PATH}
- cp -r ~/grafana ${GOPATH}/src/${ORG_PATH}
pre:
- pip install awscli
- sudo apt-get update; sudo apt-get install rpm; sudo apt-get install expect
- ./scripts/build/build_container.sh
test:
override:
- bash scripts/circle-test.sh
- bash scripts/circle-test.sh
deployment:
master:
gh_branch:
branch: master
owner: grafana
commands:
- ./scripts/trigger_grafana_packer.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN}
- ./scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN}
- ./scripts/build/deploy.sh
- ./scripts/build/sign_packages.sh
- go run build.go sha-dist
- aws s3 sync ./dist s3://$BUCKET_NAME/master
- ./scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} master
- ./scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN}
- go run ./scripts/build/publish.go -apiKey ${GRAFANA_COM_API_KEY}
gh_tag:
tag: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
commands:
- ./scripts/build/deploy.sh
- ./scripts/build/sign_packages.sh
- go run build.go sha-dist
- aws s3 sync ./dist s3://$BUCKET_NAME/release
- ./scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} release
- ./scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN} ${CIRCLE_TAG}

View File

@@ -25,7 +25,7 @@ plugins = data/plugins
#################################### Server ##############################
[server]
# Protocol (http or https)
# Protocol (http, https, socket)
protocol = http
# The ip address to bind to, empty will bind to all interfaces
@@ -57,21 +57,29 @@ enable_gzip = false
cert_file =
cert_key =
# Unix socket path
socket = /tmp/grafana.sock
#################################### Database ############################
[database]
# You can configure the database connection by specifying type, host, name, user and password
# as seperate properties or as on string using the url propertie.
# as separate properties or as on string using the url property.
# Either "mysql", "postgres" or "sqlite3", it's your choice
type = sqlite3
host = 127.0.0.1:3306
name = grafana
user = root
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password =
# Use either URL or the previous fields to configure the database
# Example: mysql://user:secret@host:port/database
url =
# Max conn setting default is 0 (mean not set)
max_idle_conn =
max_open_conn =
# For "postgres", use either "disable", "require" or "verify-full"
# For "mysql", use either "true", "false", or "skip-verify".
ssl_mode = disable
@@ -112,6 +120,12 @@ cookie_secure = false
session_life_time = 86400
gc_interval_time = 86400
#################################### Data proxy ###########################
[dataproxy]
# This enables data proxy logging, default is false
logging = false
#################################### Analytics ###########################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -120,11 +134,11 @@ gc_interval_time = 86400
# Change this option to false to disable reporting.
reporting_enabled = true
# Set to false to disable all checks to https://grafana.net
# for new vesions (grafana itself and plugins), check is used
# Set to false to disable all checks to https://grafana.com
# for new versions (grafana itself and plugins), check is used
# in some UI views to notify that grafana or plugin update exists
# This option does not cause any auto updates, nor send any information
# only a GET request to http://grafana.net to get latest versions
# only a GET request to https://grafana.com to get latest versions
check_for_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here
@@ -194,6 +208,9 @@ default_theme = dark
# Set to true to disable (hide) the login form, useful if you use OAuth
disable_login_form = false
# Set to true to disable the signout link in the side menu. useful if you use auth.proxy
disable_signout_menu = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -208,7 +225,7 @@ org_role = Viewer
#################################### Github Auth #########################
[auth.github]
enabled = false
allow_sign_up = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
scopes = user:email
@@ -221,7 +238,7 @@ allowed_organizations =
#################################### Google Auth #########################
[auth.google]
enabled = false
allow_sign_up = false
allow_sign_up = true
client_id = some_client_id
client_secret = some_client_secret
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
@@ -231,10 +248,19 @@ api_url = https://www.googleapis.com/oauth2/v1/userinfo
allowed_domains =
hosted_domain =
#################################### Grafana.net Auth ####################
#################################### Grafana.com Auth ####################
# legacy key names (so they work in env variables)
[auth.grafananet]
enabled = false
allow_sign_up = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
scopes = user:email
allowed_organizations =
[auth.grafana_com]
enabled = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
scopes = user:email
@@ -242,8 +268,9 @@ allowed_organizations =
#################################### Generic OAuth #######################
[auth.generic_oauth]
name = OAuth
enabled = false
allow_sign_up = false
allow_sign_up = true
client_id = some_id
client_secret = some_secret
scopes = user:email
@@ -263,6 +290,8 @@ enabled = false
header_name = X-WEBAUTH-USER
header_property = username
auto_sign_up = true
ldap_sync_ttl = 60
whitelist =
#################################### Auth LDAP ###########################
[auth.ldap]
@@ -275,11 +304,13 @@ allow_sign_up = true
enabled = false
host = localhost:25
user =
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
password =
cert_file =
key_file =
skip_verify = false
from_address = admin@grafana.localhost
from_name = Grafana
[emails]
welcome_email_on_sign_up = false
@@ -289,7 +320,7 @@ templates_pattern = emails/*.html
[log]
# Either "console", "file", "syslog". Default is console and file
# Use space to separate multiple modes, e.g. "console file"
mode = console, file
mode = console file
# Either "debug", "info", "warn", "error", "critical", default is "info"
level = info
@@ -391,7 +422,9 @@ global_session = -1
#################################### Alerting ############################
[alerting]
# Makes it possible to turn off alert rule execution.
# Disable alerting engine & UI features
enabled = true
# Makes it possible to turn off alert rule execution but alerting UI is visible
execute_alerts = true
#################################### Internal Grafana Metrics ############
@@ -407,7 +440,10 @@ address =
prefix = prod.grafana.%(instance_name)s.
[grafana_net]
url = https://grafana.net
url = https://grafana.com
[grafana_com]
url = https://grafana.com
#################################### External Image Storage ##############
[external_image_storage]
@@ -423,3 +459,4 @@ secret_key =
url =
username =
password =
public_url =

View File

@@ -1,5 +1,6 @@
# Set to true to log user information returned from LDAP
verbose_logging = false
# To troubleshoot and get more log info enable ldap debug logging in grafana.ini
# [log]
# filters = ldap:debug
[[servers]]
# Ldap server host (specify multiple hosts space separated)
@@ -13,11 +14,12 @@ start_tls = false
# set to true if you want to skip ssl cert validation
ssl_skip_verify = false
# set to the path to your root CA certificate or leave unset to use system defaults
# root_ca_cert = /path/to/certificate.crt
# root_ca_cert = "/path/to/certificate.crt"
# Search user bind dn
bind_dn = "cn=admin,dc=grafana,dc=org"
# Search user bind password
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
bind_password = 'grafana'
# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"

View File

@@ -26,7 +26,7 @@
#
#################################### Server ####################################
[server]
# Protocol (http or https)
# Protocol (http, https, socket)
;protocol = http
# The ip address to bind to, empty will bind to all interfaces
@@ -59,6 +59,9 @@
;cert_file =
;cert_key =
# Unix socket path
;socket =
#################################### Database ####################################
[database]
# You can configure the database connection by specifying type, host, name, user and password
@@ -69,6 +72,7 @@
;host = 127.0.0.1:3306
;name = grafana
;user = root
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
;password =
# Use either URL or the previous fields to configure the database
@@ -81,6 +85,11 @@
# For "sqlite3" only, path relative to data_path setting
;path = grafana.db
# Max conn setting default is 0 (mean not set)
;max_idle_conn =
;max_open_conn =
#################################### Session ####################################
[session]
# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
@@ -103,6 +112,13 @@
# Session life time, default is 86400
;session_life_time = 86400
#################################### Data proxy ###########################
[dataproxy]
# This enables data proxy logging, default is false
;logging = false
#################################### Analytics ####################################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -115,7 +131,7 @@
# for new vesions (grafana itself and plugins), check is used
# in some UI views to notify that grafana or plugin update exists
# This option does not cause any auto updates, nor send any information
# only a GET request to http://grafana.net to get latest versions
# only a GET request to http://grafana.com to get latest versions
;check_for_updates = true
# Google Analytics universal tracking code, only enabled if you specify an id here
@@ -179,6 +195,9 @@
# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
;disable_login_form = false
# Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false
;disable_signout_menu = false
#################################### Anonymous Auth ##########################
[auth.anonymous]
# enable anonymous access
@@ -193,7 +212,7 @@
#################################### Github Auth ##########################
[auth.github]
;enabled = false
;allow_sign_up = false
;allow_sign_up = true
;client_id = some_id
;client_secret = some_secret
;scopes = user:email,read:org
@@ -206,7 +225,7 @@
#################################### Google Auth ##########################
[auth.google]
;enabled = false
;allow_sign_up = false
;allow_sign_up = true
;client_id = some_client_id
;client_secret = some_client_secret
;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
@@ -218,7 +237,8 @@
#################################### Generic OAuth ##########################
[auth.generic_oauth]
;enabled = false
;allow_sign_up = false
;name = OAuth
;allow_sign_up = true
;client_id = some_id
;client_secret = some_secret
;scopes = user:email,read:org
@@ -228,10 +248,10 @@
;team_ids =
;allowed_organizations =
#################################### Grafana.net Auth ####################
[auth.grafananet]
#################################### Grafana.com Auth ####################
[auth.grafana_com]
;enabled = false
;allow_sign_up = false
;allow_sign_up = true
;client_id = some_id
;client_secret = some_secret
;scopes = user:email
@@ -243,6 +263,8 @@
;header_name = X-WEBAUTH-USER
;header_property = username
;auto_sign_up = true
;ldap_sync_ttl = 60
;whitelist = 192.168.1.1, 192.168.2.1
#################################### Basic Auth ##########################
[auth.basic]
@@ -259,11 +281,13 @@
;enabled = false
;host = localhost:25
;user =
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
;password =
;cert_file =
;key_file =
;skip_verify = false
;from_address = admin@grafana.localhost
;from_name = Grafana
[emails]
;welcome_email_on_sign_up = false
@@ -272,7 +296,7 @@
[log]
# Either "console", "file", "syslog". Default is console and file
# Use space to separate multiple modes, e.g. "console file"
;mode = console, file
;mode = console file
# Either "trace", "debug", "info", "warn", "error", "critical", default is "info"
;level = info
@@ -338,9 +362,11 @@
;enabled = false
;path = /var/lib/grafana/dashboards
#################################### Alerting ######################################
#################################### Alerting ############################
[alerting]
# Makes it possible to turn off alert rule execution.
# Disable alerting engine & UI features
;enabled = true
# Makes it possible to turn off alert rule execution but alerting UI is visible
;execute_alerts = true
#################################### Internal Grafana Metrics ##########################
@@ -358,10 +384,10 @@
;address =
;prefix = prod.grafana.%(instance_name)s.
#################################### Internal Grafana Metrics ##########################
# Url used to to import dashboards directly from Grafana.net
[grafana_net]
;url = https://grafana.net
#################################### Grafana.com integration ##########################
# Url used to to import dashboards directly from Grafana.com
[grafana_com]
;url = https://grafana.com
#################################### External image storage ##########################
[external_image_storage]
@@ -376,5 +402,6 @@
[external_image_storage.webdav]
;url =
;public_url =
;username =
;password =

View File

@@ -0,0 +1,2 @@
script.inline: on
script.indexed: on

View File

@@ -0,0 +1,8 @@
elasticsearch1:
image: elasticsearch:1.7.6
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "11200:9200"
- "11300:9300"
volumes:
- ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

View File

@@ -0,0 +1,2 @@
script.inline: on
script.indexed: on

View File

@@ -0,0 +1,8 @@
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
elasticsearch5:
image: elasticsearch:5
command: elasticsearch
ports:
- "10200:9200"
- "10300:9300"

View File

@@ -7,3 +7,8 @@ mysql:
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all]

View File

@@ -0,0 +1,20 @@
## MySQL with Open Data Set from NYC Open Data (https://data.cityofnewyork.us)
FROM mysql:latest
ENV MYSQL_DATABASE="testdata" \
MYSQL_ROOT_PASSWORD="rootpass" \
MYSQL_USER="grafana" \
MYSQL_PASSWORD="password"
# Install requirement (wget)
RUN apt-get update && apt-get install -y wget && apt-get install unzip
# Fetch NYC Data Set
RUN wget https://data.cityofnewyork.us/download/57g5-etyj/application%2Fzip -O /tmp/data.zip && \
unzip -j /tmp/data.zip 311_Service_Requests_from_2015.csv -d /var/lib/mysql-files && \
rm /tmp/data.zip
ADD import_csv.sql /docker-entrypoint-initdb.d/
EXPOSE 3306

View File

@@ -0,0 +1,9 @@
mysql_opendata:
build: blocks/mysql_opendata
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: testdata
MYSQL_USER: grafana
MYSQL_PASSWORD: password
ports:
- "3307:3306"

View File

@@ -0,0 +1,80 @@
use testdata;
DROP TABLE IF EXISTS `nyc_open_data`;
CREATE TABLE IF NOT EXISTS `nyc_open_data` (
UniqueKey bigint(255),
`CreatedDate` varchar(255),
`ClosedDate` varchar(255),
Agency varchar(255),
AgencyName varchar(255),
ComplaintType varchar(255),
Descriptor varchar(255),
LocationType varchar(255),
IncidentZip varchar(255),
IncidentAddress varchar(255),
StreetName varchar(255),
CrossStreet1 varchar(255),
CrossStreet2 varchar(255),
IntersectionStreet1 varchar(255),
IntersectionStreet2 varchar(255),
AddressType varchar(255),
City varchar(255),
Landmark varchar(255),
FacilityType varchar(255),
Status varchar(255),
`DueDate` varchar(255),
ResolutionDescription varchar(2048),
`ResolutionActionUpdatedDate` varchar(255),
CommunityBoard varchar(255),
Borough varchar(255),
XCoordinateStatePlane varchar(255),
YCoordinateStatePlane varchar(255),
ParkFacilityName varchar(255),
ParkBorough varchar(255),
SchoolName varchar(255),
SchoolNumber varchar(255),
SchoolRegion varchar(255),
SchoolCode varchar(255),
SchoolPhoneNumber varchar(255),
SchoolAddress varchar(255),
SchoolCity varchar(255),
SchoolState varchar(255),
SchoolZip varchar(255),
SchoolNotFound varchar(255),
SchoolOrCitywideComplaint varchar(255),
VehicleType varchar(255),
TaxiCompanyBorough varchar(255),
TaxiPickUpLocation varchar(255),
BridgeHighwayName varchar(255),
BridgeHighwayDirection varchar(255),
RoadRamp varchar(255),
BridgeHighwaySegment varchar(255),
GarageLotName varchar(255),
FerryDirection varchar(255),
FerryTerminalName varchar(255),
Latitude varchar(255),
Longitude varchar(255),
Location varchar(255)
);
LOAD DATA INFILE '/var/lib/mysql-files/311_Service_Requests_from_2015.csv' INTO TABLE nyc_open_data FIELDS OPTIONALLY ENCLOSED BY '"' TERMINATED BY ',' IGNORE 1 LINES;
UPDATE nyc_open_data SET CreatedDate = STR_TO_DATE(CreatedDate, '%m/%d/%Y %r') WHERE CreatedDate <> '';
UPDATE nyc_open_data SET ClosedDate = STR_TO_DATE(ClosedDate, '%m/%d/%Y %r') WHERE ClosedDate <> '';
UPDATE nyc_open_data SET DueDate = STR_TO_DATE(DueDate, '%m/%d/%Y %r') WHERE DueDate <> '';
UPDATE nyc_open_data SET ResolutionActionUpdatedDate = STR_TO_DATE(ResolutionActionUpdatedDate, '%m/%d/%Y %r') WHERE ResolutionActionUpdatedDate <> '';
UPDATE nyc_open_data SET CreatedDate=null WHERE CreatedDate = '';
UPDATE nyc_open_data SET ClosedDate=null WHERE ClosedDate = '';
UPDATE nyc_open_data SET DueDate=null WHERE DueDate = '';
UPDATE nyc_open_data SET ResolutionActionUpdatedDate=null WHERE ResolutionActionUpdatedDate = '';
ALTER TABLE nyc_open_data modify CreatedDate datetime NULL;
ALTER TABLE nyc_open_data modify ClosedDate datetime NULL;
ALTER TABLE nyc_open_data modify DueDate datetime NULL;
ALTER TABLE nyc_open_data modify ResolutionActionUpdatedDate datetime NULL;
ALTER TABLE `nyc_open_data` ADD INDEX `IX_ComplaintType` (`ComplaintType`);
ALTER TABLE `nyc_open_data` ADD INDEX `IX_CreatedDate` (`CreatedDate`);
ALTER TABLE `nyc_open_data` ADD INDEX `IX_LocationType` (`LocationType`);
ALTER TABLE `nyc_open_data` ADD INDEX `IX_AgencyName` (`AgencyName`);
ALTER TABLE `nyc_open_data` ADD INDEX `IX_City` (`City`);
SYSTEM rm /var/lib/mysql-files/311_Service_Requests_from_2015.csv

View File

@@ -3,8 +3,6 @@ prometheus:
net: host
ports:
- "9090:9090"
volumes:
- /var/docker/prometheus:/prometheus-data
node_exporter:
image: prom/node-exporter

View File

@@ -1,4 +1,4 @@
snmpd:
build: blocks/snmpd
image: namshi/smtp
ports:
- "161:161"
- "25:25"

View File

@@ -1,16 +0,0 @@
FROM debian:jessie
RUN apt-get -y update
RUN apt-get -y install libfontconfig
RUN mkdir -p /opt/grafana
ADD tmp/ /opt/grafana/
EXPOSE 3000
VOLUME ["/opt/grafana/data"]
VOLUME ["/opt/grafana/conf"]
WORKDIR /opt/grafana/
ENTRYPOINT ["./grafana", "web"]

View File

@@ -1,31 +0,0 @@
# Grafana docker image
This container currently only contains the in development alpha of Grafana 2.0 (ie non production use). The
`#develop` tag is constantly updated as we make progress towards a beta release.
## Running your Grafana image
--------------------------
Start your image binding the external port `3000`.
docker run -i -p 3000:3000 grafana/grafana
Try it out, default admin user is admin/admin.
## Configuring your Grafana container
All options defined in conf/grafana.ini can be overridden using environment variables, for example:
```
docker run -i -p 3000:3000 \
-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
-e "GF_SECURITY_ADMIN_PASSWORD=secret" \
grafana/grafana:develop
```

View File

@@ -1,15 +0,0 @@
#!/bin/bash
cp Dockerfile ../../
cd ../../
go run build.go build
grunt release
docker build --tag "grafana/grafana:develop" .
rm Dockerfile
cd docker/production

View File

@@ -1,5 +0,0 @@
#!/bin/bash
docker run -i -p 3001:3000 \
-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
grafana/grafana:develop

View File

@@ -3,10 +3,11 @@ FROM grafana/docs-base:latest
# to get the git info for this repo
# COPY config.toml /site
RUN rm -rf /site/content/*
# RUN rm -rf /site/content/*
COPY ./sources /site/content/
# COPY ./sources /site/content/docs/
COPY config.toml /site
COPY awsconfig /site
VOLUME ["/site/content"]

View File

@@ -1,50 +1,34 @@
.PHONY: all default docs docs-build docs-shell shell test
# to allow `make DOCSDIR=1 docs-shell` (to create a bind mount in docs)
DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR):/docs/content/grafana/)
.PHONY: all default docs docs-build docs-shell shell checkvars
# to allow `make DOCSPORT=9000 docs`
DOCSPORT := 3004
# Get the IP ADDRESS
DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''")
HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)")
HUGO_BIND_IP=0.0.0.0
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
DOCKER_DOCS_IMAGE := grafana/grafana-docs
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE
SOURCES_HOST_DIR := "$(shell pwd)/sources"
# for some docs workarounds (see below in "docs-build" target)
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null)
DOCS_MOUNT := -v $(SOURCES_HOST_DIR):/site/content
DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e NOCACHE -p 3004:3004 -p 3005:3005
VERSION := $(shell head -n 1 VERSION)
default: docs
checkvars:
ifndef ENV
$(error ENV is undefined set via ENV=staging or ENV=prod as argument to make)
endif
docs: docs-build
$(DOCKER_RUN_DOCS) -p 3004:3004 -p 3005:3005 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "grunt && grunt connect --port=3004"
$(DOCKER_RUN_DOCS) $(DOCS_MOUNT) -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "grunt --env=dev-docs && grunt connect --port=3004"
docs-watch: docs-build
$(DOCKER_RUN_DOCS) -p 3004:3004 -p 3005:3005 -v $(SOURCES_HOST_DIR):/site/content -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "grunt --env=dev-docs && grunt connect --port=3004 & grunt watch --port=3004 --env=dev-docs"
watch: docs-build
$(DOCKER_RUN_DOCS) $(DOCS_MOUNT) -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "grunt --env=dev-docs && grunt connect --port=3004 & grunt watch --port=3004 --env=dev-docs"
docs-watch-mac: docs-build
$(DOCKER_RUN_DOCS) -p 3004:3004 -p 3005:3005 -v $(SOURCES_HOST_DIR):/site/content -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "grunt --env=dev-docs-mac && grunt connect --port=3004 & grunt watch --port=3004 --env=dev-docs-mac"
publish: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "./publish.sh staging-docs v3.1"
publish-prod: docs-build
$(DOCKER_RUN_DOCS) "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "./publish.sh prod-docs root"
docs-draft: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP)
docs-shell: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash
test: docs-build
$(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)"
publish: checkvars docs-build
$(info Publishing ENV=${ENV} and VERSION=${VERSION})
$(DOCKER_RUN_DOCS) $(DOCS_MOUNT) -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" /bin/bash -c "./publish.sh ${ENV}-docs ${VERSION}"
docs-build:
docker build -t "$(DOCKER_DOCS_IMAGE)" .
docker build -t "$(DOCKER_DOCS_IMAGE)" --no-cache .

View File

@@ -6,14 +6,13 @@ and the [mkdocs](http://www.mkdocs.org/) tool.
**Prepare the Docker Image**:
Build the `grafana/docs-base:latest` image. Run these commands in the
same directory this file is in. **Note** that you may require ``sudo``
Git clone `grafana/grafana.org` repo. Run these commands in the root of that repo. **Note** that you may require ``sudo``
when running ``make docs-build`` depending on how your system's docker
service is configured):
```
$ git clone https://github.com/grafana/docs-base
$ cd docs-base
$ git clone https://github.com/grafana/grafana.org
$ cd grafana.org
$ make docs-build
```
@@ -31,31 +30,6 @@ This command will not return control of the shell to the user. Instead
the command is now running a new docker container built from the image
we created in the previous step.
Open [localhost:8180](http://localhost:8180) to view the docs.
**Note** that after running ``make docs`` you may notice a message
like this in the console output
> Running at: http://0.0.0.0:8000/
This is misleading. That is **not** the port the documentation is
served from. You must browse to port **8180** to view the new
documentation.
Open [localhost:3004](http://localhost:3004) to view the docs.
# Adding a New Page
Adding a new page requires updating the ``mkdocs.yml`` file which is
located in this directory.
For example, if you are adding documentation for a new HTTP API called
``preferences`` you would:
1. Create the file ``docs/sources/http_api/preferences.md``
1. Add a reference to it in ``docs/sources/http_api/overview.md``
1. Update the list under the **pages** key in the ``docs/mkdocs.yml`` file with a reference to your new page:
```yaml
- ['http_api/preferences.md', 'API', 'Preferences API']
```

View File

@@ -1 +1 @@
3.1.0
v4.2

View File

@@ -1,70 +1,20 @@
baseurl = "http://localhost:3002/"
languageCode = "en-us"
title = "Grafana Docs"
canonifyurls = false
title = "Grafana Documentation"
canonifyurls = true
relativeURLs = false
verbose = true
enableRobotsTXT = true
disableSitemap = false
disableRSS = true
[[menu.top]]
name = "Docs"
url = ""
weight = 1
[[menu.top]]
name = "Community"
url = "/community"
weight = 2
[[menu.top]]
name = "Support"
url = "/support"
weight = 3
[[menu.top]]
name = "Plugins"
url = "https://grafana.net/plugins"
weight = 4
[[menu.top]]
name = "Dashboards"
url = "https://grafana.net/dashboards"
weight = 5
[[menu.top]]
name = "Hosting"
url = "/hosting"
weight = 6
[[menu.top]]
name = "Github"
url = "https://github.com/grafana/grafana"
weight = 7
## Main
[[menu.main]]
name = "Feature Gallery"
url = "/features"
weight = 1
[[menu.main]]
name = "Live Demo"
url = "http://play.grafana.org"
weight = 2
[[menu.main]]
name = "Download"
url = "/download"
weight = 3
[[menu.main]]
name = "Blog"
url = "/blog"
weight = 4
disableRSS = false
preservetaxonomynames = true
metaDataFormat = "yaml"
[taxonomies]
tag = "tags"
category = "categories"
[permalinks]
blog = ":year/:month/:day/:title/"

View File

@@ -1,102 +0,0 @@
site_name: Grafana Documentation
site_url: /
site_description: Documentation for Grafana, The Graphite and Influxdb dashboard and graph composer
site_favicon: img/fav32.png
dev_addr: '0.0.0.0:8000'
repo_url: https://github.com/grafana/grafana/
docs_dir: sources
include_search: true
use_absolute_urls: true
# theme: docker
theme_dir: ./theme/mkdocs/
theme_center_lead: false
copyright: Copyright &copy; 2014-2015, Coding Instinct AB.
google_analytics: ['UA-47280256-1', 'grafana.org']
pages:
# Introduction:
# - ['index.md', 'Project', 'About Grafana']
# - ['project/cla.md', 'Project', 'Contributor License Agreement']
- ['index.md', '**HIDDEN**']
- ['installation/index.md', 'Installation', 'Installation']
- ['installation/debian.md', 'Installation', 'Installing on Debian / Ubuntu']
- ['installation/rpm.md', 'Installation', 'Installing on RPM-based Linux']
- ['installation/mac.md', 'Installation', 'Installing on Mac OS X']
- ['installation/windows.md', 'Installation', 'Installing on Windows']
- ['installation/docker.md', 'Installation', 'Installing on Docker']
- ['project/building_from_source.md', 'Installation', 'Building from Source']
- ['installation/configuration.md', 'Installation', 'Configuration']
- ['installation/ldap.md', 'Installation', 'LDAP Integration']
- ['installation/provisioning.md', 'Installation', 'Provisioning']
- ['installation/performance.md', 'Installation', 'Performance Tips']
- ['installation/troubleshooting.md', 'Installation', 'Troubleshooting']
- ['installation/migrating_to2.md', 'Installation', 'Migrating from v1.x to v2.x']
- ['installation/behind_proxy.md', 'Installation', 'Grafana behind reverse proxy']
- ['guides/basic_concepts.md', 'User Guides', 'Basic Concepts']
- ['guides/gettingstarted.md', 'User Guides', 'Getting Started']
- ['guides/whats-new-in-v3-1.md', 'User Guides', "What's New in Grafana v3.1"]
- ['guides/whats-new-in-v3.md', 'User Guides', "What's New in Grafana v3.0"]
- ['guides/whats-new-in-v2-6.md', 'User Guides', "What's New in Grafana v2.6"]
- ['guides/whats-new-in-v2-5.md', 'User Guides', "What's New in Grafana v2.5"]
- ['guides/whats-new-in-v2-1.md', 'User Guides', "What's New in Grafana v2.1"]
- ['guides/whats-new-in-v2.md', 'User Guides', "What's New in Grafana v2.0"]
- ['guides/screencasts.md', 'User Guides', 'Screencasts']
- ['reference/graph.md', 'Reference', 'Graph Panel']
- ['reference/singlestat.md', 'Reference', 'Singlestat Panel']
- ['reference/table_panel.md', 'Reference', 'Table Panel']
- ['reference/dashlist.md', 'Reference', 'Dashboard List Panel']
- ['reference/sharing.md', 'Reference', 'Sharing']
- ['reference/annotations.md', 'Reference', 'Annotations']
- ['reference/timerange.md', 'Reference', 'Time Range']
- ['reference/search.md', 'Reference', 'Search']
- ['reference/templating.md', 'Reference', 'Templating']
- ['reference/scripting.md', 'Reference', 'Scripting']
- ['reference/playlist.md', 'Reference', 'Playlist']
- ['reference/export_import.md', 'Reference', 'Import & Export']
- ['reference/admin.md', 'Reference', 'Administration']
- ['reference/keyboard_shortcuts.md', 'Reference', 'Keyboard Shortcuts']
- ['datasources/overview.md', 'Data Sources', 'Overview']
- ['datasources/graphite.md', 'Data Sources', 'Graphite']
- ['datasources/elasticsearch.md', 'Data Sources', 'Elasticsearch']
- ['datasources/cloudwatch.md', 'Data Sources', 'CloudWatch']
- ['datasources/influxdb.md', 'Data Sources', 'InfluxDB']
- ['datasources/opentsdb.md', 'Data Sources', 'OpenTSDB']
- ['datasources/kairosdb.md', 'Data Sources', 'KairosDB']
- ['datasources/prometheus.md', 'Data Sources', 'Prometheus']
- ['http_api/overview.md', 'API', 'Overview']
- ['http_api/auth.md', 'API', 'Authentication API']
- ['http_api/dashboard.md', 'API', 'Dashboard API']
- ['http_api/data_source.md', 'API', 'Data Source API']
- ['http_api/org.md', 'API', 'Organisation API']
- ['http_api/user.md', 'API', 'User API']
- ['http_api/admin.md', 'API', 'Admin API']
- ['http_api/snapshot.md', 'API', 'Snapshot API']
- ['http_api/preferences.md', 'API', 'Preferences API']
- ['http_api/other.md', 'API', 'Other API']
- ['plugins/index.md', 'Plugins', 'Overview']
- ['plugins/installation.md', 'Plugins', 'Installation']
- ['plugins/development.md', 'Plugins', 'Development']
- ['plugins/apps.md', 'Plugins', 'Apps']
- ['plugins/datasources.md', 'Plugins', 'Datasources']
- ['plugins/panels.md', 'Plugins', 'Panels']
- ['tutorials/index.md', 'Tutorials', 'Tutorials']
- ['tutorials/hubot_howto.md', 'Tutorials', 'How To integrate Hubot and Grafana']
- ['jsearch.md', '**HIDDEN**']

3
docs/publish.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
make publish ENV=prod VERSION=root

View File

@@ -0,0 +1,50 @@
+++
title = "Grafana CLI"
description = "Guide to using grafana-cli"
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
type = "docs"
[menu.docs]
parent = "admin"
weight = 8
+++
# Grafana CLI
Grafana cli is a small executable that is bundled with grafana server and is suppose to be executed on the same machine as grafana runs.
## Plugins
The CLI helps you install, upgrade and manage your plugins on the same machine it CLI is running.
You can find more information about how to install and manage your plugins at the
[plugin page]({{< relref "plugins/installation.md" >}}).
## Admin
> This feature is only available in grafana 4.1 and above.
To show all admin commands:
`grafana-cli admin`
### Reset admin password
You can reset the password for the admin user using the CLI. The use case for this command is when you have lost the admin password.
`grafana-cli admin reset-admin-password ...`
If running the command returns this error:
> Could not find config defaults, make sure homepath command line parameter is set or working directory is homepath
then there are two flags that can be used to set homepath and the config file path.
`grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" newpass`
If you have not lost the admin password then it is better to set in the Grafana UI. If you need to set the password in a script then the [Grafana API](http://docs.grafana.org/http_api/user/#change-password) can be used. Here is an example with curl using basic auth:
```
curl -X PUT -H "Content-Type: application/json" -d '{
"oldPassword": "admin",
"newPassword": "newpass",
"confirmNew": "newpass"
}' http://admin:admin@<your_grafana_host>:3000/api/user/password
```

View File

@@ -0,0 +1,23 @@
+++
title = "Alerting Metrics"
description = "Alerting Metrics Guide"
keywords = ["Grafana", "alerting", "guide", "metrics"]
type = "docs"
[menu.docs]
name = "Metrics"
parent = "alerting"
weight = 2
+++
# Metrics from the alert engine
> Alerting is only available in Grafana v4.0 and above.
The alert engine publishes some internal metrics about itself. You can read more about how Grafana published [internal metrics](/installation/configuration/#metrics).
Description | Type | Metric name
---------- | ----------- | ----------
Total number of alerts | counter | `alerting.active_alerts`
Alert execution result | counter | `alerting.result`
Notifications sent counter | counter | `alerting.notifications_sent`
Alert execution timer | timer | `alerting.execution_time`

View File

@@ -12,18 +12,18 @@ weight = 2
# Alert Notifications
{{< imgbox max-width="40%" img="/img/docs/v4/alert_notifications_menu.png" caption="Alerting notifications" >}}
> Alerting is only available in Grafana v4.0 and above.
When an alert changes state it sends out notifications. Each alert rule can have
multiple notifications. But in order to add a notification to an alert rule you first need
to add and configure a `notification` object. This is done from the Alerting/Notifications page.
to add and configure a `notification` channel (can be email, Pagerduty or other integration). This is done from the Notification Channels page.
## Notification Setup
## Notification Channel Setup
On the notifications list page hit the `New Notification` button to go the the page where you
can configure and setup a new notification.
{{< imgbox max-width="40%" img="/img/docs/v43/alert_notifications_menu.png" caption="Alerting Notification Channels" >}}
On the Notification Channels page hit the `New Channel` button to go the the page where you
can configure and setup a new Notification Channel.
You specify name and type, and type specific options. You can also test the notification to make
sure it's working and setup correctly.
@@ -32,15 +32,15 @@ sure it's working and setup correctly.
When checked this option will make this notification used for all alert rules, existing and new.
## Supported notification types
## Supported Notification Types
Grafana ships with a set of notification types. More will be added in future releases.
Grafana ships with the following set of notification types:
### Email
To enable email notification you have to setup [SMTP settings](/installation/configuration/#smtp)
in the Grafana config. Email notification will upload an image of the alert graph to an
external image destination if available or fallback on attaching the image in the email.
external image destination if available or fallback to attaching the image in the email.
### Slack
@@ -55,20 +55,31 @@ Setting | Description
Recipient | allows you to override the slack recipient.
Mention | make it possible to include a mention in the slack notification sent by Grafana. Ex @here or @channel
### PagerDuty
To set up PagerDuty, all you have to do is to provide an api key.
Setting | Description
---------- | -----------
Integration Key | Integration key for pagerduty.
Auto resolve incidents | Resolve incidents in pagerduty once the alert goes back to ok
### Webhook
The webhook notification is a simple way to send information about an state change over HTTP to a custom endpoint.
Using this notification you could integrated Grafana into any system you choose, by yourself.
Using this notification you could integrate Grafana into any system you choose, by yourself.
Example json body:
```json
{
"title": "My alert",
"ruleId": 1,
"ruleName": "Load peaking!",
"ruleUrl": "http://url.to.grafana/db/dashboard/my_dashboard?panelId=2",
"state": "Alerting",
"state": "alerting",
"imageUrl": "http://s3.image.url",
"message": "Load is peaking. Make sure the traffic is real and spin up more webfronts",
"evalMatches": [
{
"metric": "requests",
@@ -79,25 +90,38 @@ Example json body:
}
```
### PagerDuty
- **state** - The possible values for alert state are: `ok`, `paused`, `alerting`, `pending`, `no_data`.
To set up PagerDuty, all you have to do is to provide an api key.
### Other Supported Notification Channels
Setting | Description
---------- | -----------
Integration Key | Integration key for pagerduty.
Auto resolve incidents | Resolve incidents in pagerduty once the alert goes back to ok
Grafana also supports the following Notification Channels:
- HipChat
- VictorOps
- Sensu
- OpsGenie
- Threema
- Pushover
- Telegram
- LINE
# Enable images in notifications {#external-image-store}
Grafan can render the panel associated with the alert rule and include that in the notification. Some types
of notifications require that this image be publicly accessable (Slack for example). In order to support
images in notifications like Slack Grafana can upload the image to an image store. It currently supports
Amazon S3 for this and Webdav. So to set that up you need to configure the
[external image uploader](/installation/configuration/#external-image-storage) in your grafana-server ini
config file.
Grafana can render the panel associated with the alert rule and include that in the notification. Most Notification Channels require that this image be publicly accessable (Slack and PagerDuty for example). In order to include images in alert notifications, Grafana can upload the image to an image store. It currently supports
Amazon S3 and Webdav for this. So to set that up you need to configure the [external image uploader](/installation/configuration/#external-image-storage) in your grafana-server ini config file.
This is an optional requirement, you can get slack and email notifications without setting this up.
Currently only the Email Channels attaches images if no external image store is specified. To include images in alert notifications for other channels then you need to set up an external image store.
This is an optional requirement, you can get Slack and email notifications without setting this up.
# Configure the link back to Grafana from alert notifications
All alert notifications contains a link back to the triggered alert in the Grafana instance.
This url is based on the [domain](/installation/configuration/#domain) setting in Grafana.

View File

@@ -33,7 +33,7 @@ of core Grafana. Only some data soures are supported right now. They include `Gr
### Clustering
We have not implemented clustering yet. So if you run multiple instances of grafana-server
you have to make sure [execute_alerts]({{< relref "/installation/configuration.md#alerting" >}})
you have to make sure [execute_alerts]({{< relref "installation/configuration.md#alerting" >}})
is true on only one instance or otherwise you will get duplicated notifications.
<div class="clearfix"></div>

View File

@@ -12,10 +12,7 @@ weight = 200
Here you can find links to older versions of the documentation that might be better suited for your version
of Grafana.
- [Latest](/)
- [Version 3.1](/v3.1)
- [Version 3.0](/v3.0)
- [Version 2.6](/v2.6)
- [Version 2.5](/v2.5)
- [Version 2.1](/v2.1)
- [Version 2.0](/v2.0)
- [Latest](http://docs.grafana.org)
- [Version 4.2](http://docs.grafana.org/v4.2)
- [Version 3.1](http://docs.grafana.org/v3.1)
- [Version 3.0](http://docs.grafana.org/v3.0)

View File

@@ -0,0 +1,104 @@
+++
title = "Contributor Licence Agreement (CLA)"
description = "Contributer Licence Agreement (CLA)"
type = "docs"
aliases = ["/project/cla", "docs/contributing/cla.html"]
[menu.docs]
parent = "contribute"
weight = 1
+++
# Grafana Labs Contributor License Agreement
Thank you for your interest in contributing to Grafana Labs ("We" or "Us").
This contributor agreement ("Agreement") documents the rights granted by contributors to Us.
To make this document effective, please sign it following the instructions at
[cla-assistant](https://cla-assistant.io/grafana/grafana). This is a legally binding document,
so please read it carefully before agreeing to it. The Agreement may cover more than
one software project managed by Us.
## 1. Definitions
"You" (Individual) means the individual who Submits a Contribution to Us.
"You" (Entity) means any Legal Entity on behalf of whom a Contribution has been received by Us. "Legal Entity" means an entity which is not a natural person. "Affiliates" means other Legal Entities that control, are controlled by, or under common control with that Legal Entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such Legal Entity, whether by contract or otherwise, (ii) ownership of fifty percent (50%) or more of the outstanding shares or securities which vote to elect the management or other persons who direct such Legal Entity or (iii) beneficial ownership of such entity.
"Contribution" means any work of authorship that is Submitted by You to Us in which You own or assert ownership of the Copyright. If You do not own the Copyright in the entire work of authorship, you must notify us at contact@grafana.com before Submitting such a Contribution.
"Copyright" means all rights protecting works of authorship owned or controlled by You [or Your Affiliates], including copyright, moral and neighboring rights, as appropriate, for the full term of their existence including any extensions by You.
"Material" means the work of authorship which is made available by Us to third parties. When this Agreement covers more than one software project, the Material means the work of authorship to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.
"Submit" means any form of electronic, verbal, or written communication sent to Us or our representatives, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us for the purpose of discussing and improving the Material, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."
"Submission Date" means the date on which You Submit a Contribution to Us.
"Effective Date" means the date You execute this Agreement or the date You first Submit a Contribution to Us, whichever is earlier.
"Media" means any portion of a Contribution which is not software.
## 2. Grant of Rights
### 2.1 Copyright License
(a) You retain ownership of the Copyright in Your Contribution and have the same rights to use or license the Contribution which You would have had without entering into the Agreement.
(b) To the maximum extent permitted by the relevant law, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license under the Copyright covering the Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided that this license is conditioned upon compliance with Section 2.3.
### 2.2 Patent License
For patent claims including, without limitation, method, process, and apparatus claims which You [or Your Affiliates] own, control or have the right to grant, now or in the future, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable patent license, with the right to sublicense these rights to multiple tiers of sublicensees, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contribution and the Contribution in combination with the Material (and portions of such combination). This license is granted only to the extent that the exercise of the licensed rights infringes such patent claims; and provided that this license is conditioned upon compliance with Section 2.3.
### 2.3 Outbound License
As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material or any licenses which are approved by the Open Source Initiative on or after the Effective Date, including both permissive and copyleft licenses, whether or not such licenses are subsequently disapproved (including any right to adopt any future version of a license if permitted).
In addition, We may use the following licenses for Media in the Contribution: GNU Free Documentation License v1.3, Creative Commons Attribution 3.0, or Creative Commons Attribution No Derivatives 3.0 (including any right to adopt any future version of a license if permitted).
2.4 Moral Rights. If moral rights apply to the Contribution, to the maximum extent permitted by law, You waive and agree not to assert such moral rights against Us or our successors in interest, or any of our licensees, either direct or indirect.
2.5 Our Rights. You acknowledge that We are not obligated to use Your Contribution as part of the Material and may decide to include any Contribution We consider appropriate.
2.6 Reservation of Rights. Any rights not expressly [assigned or] licensed under this section are expressly reserved by You.
## 3. Agreement
You confirm that:
(a) You have the legal authority to enter into this Agreement.
(b) You [or Your Affiliates] own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.
\(c)(Individual) The grant of rights under Section 2 does not violate any grant of rights which You have made to third parties, including Your employer. If You are an employee, You have had Your employer approve this Agreement or sign the Entity version of this document. If You are less than eighteen years old, please have Your parents or guardian sign the Agreement.
\(c)(Entity) The grant of rights under Section 2 does not violate any grant of rights which You or Your Affiliates have made to third parties.
## 4. Disclaimer
EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED "AS IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US [AND BY US TO YOU]. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.
## 5. Consequential Damage Waiver
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU [OR US] BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
## 6. Miscellaneous
6.1 This Agreement will be governed by and construed in accordance with the laws of New York State, United States excluding its conflicts of law provisions. Under certain circumstances, the governing law in this section might be superseded by the United Nations Convention on Contracts for the International Sale of Goods ("UN Convention") and the parties intend to avoid the application of the UN Convention to this Agreement and, thus, exclude the application of the UN Convention in its entirety to this Agreement.
6.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.
6.3 If You or We assign the rights or obligations received through this Agreement to a third party, as a condition of the assignment, that third party must agree in writing to abide by all the rights and obligations in the Agreement.
6.4 The failure of either party to require performance by the other party of any provision of this Agreement in one situation shall not affect the right of a party to require such performance at any time in the future. A waiver of performance under a provision in one situation shall not be considered a waiver of the performance of the provision in the future or a waiver of the provision in its entirety.
6.5 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and which is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.
### Sign using CLA-Assistant
[https://cla-assistant.io/grafana/grafana](https://cla-assistant.io/grafana/grafana)
<br>
<br>
<br>
This CLA aggreement is based on the [Harmony Contributor Aggrement Template (combined)](http://www.harmonyagreements.org/agreements.html), [Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/)

View File

@@ -0,0 +1,12 @@
+++
title = "Contribute"
description = "Contribute"
type = "docs"
[menu.docs]
name = "Contribute"
identifier = "contribute"
weight = 20
+++
### Contribute info

View File

@@ -1,113 +0,0 @@
+++
title = "AWS CloudWatch"
description = "Guide for using CloudWatch in Grafana"
keywords = ["grafana", "cloudwatch", "guide"]
type = "docs"
[menu.docs]
name = "AWS Cloudwatch"
identifier = "cloudwatch"
parent = "datasources"
weight = 10
+++
# Using AWS CloudWatch in Grafana
Grafana ships with built in support for CloudWatch. You just have to add it as a data source and you will
be ready to build dashboards for you CloudWatch metrics.
## Adding the data source
![](/img/docs/cloudwatch/cloudwatch_add.png)
1. Open the side menu by clicking the the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `CloudWatch` from the dropdown.
> NOTE: If at any moment you have issues with getting this datasource to work and grafana is giving you undescriptive errors then dont forget to check your log file (try looking in /var/log/grafana/).
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Credentials profile name | Specify the name of the profile to use (if you use `~/aws/credentials` file), leave blank for default. This option was introduced in Grafana 2.5.1
Default Region | Used in query editor to set region (can be changed on per query basis)
Custom Metrics namespace | Specify the CloudWatch namespace of Custom metrics
Assume Role Arn | Specify the ARN of the role to assume
## Authentication
### IAM Roles
Currently all access to CloudWatch is done server side by the Grafana backend using the official AWS SDK. If you grafana
server is running on AWS you can use IAM Roles and authentication will be handled automatically.
Checkout AWS docs on [IAM Roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
### AWS credentials file
Create a file at `~/.aws/credentials`. That is the `HOME` path for user running grafana-server.
> NOTE: If you think you have the credentials file in the right place but it is still not working then you might try moving your .aws file to '/usr/share/grafana/' and make sure your credentials file has at most 0644 permissions.
Example content:
[default]
aws_access_key_id = asdsadasdasdasd
aws_secret_access_key = dasdasdsadasdasdasdsa
region = us-west-2
## Metric Query Editor
![](/img/docs/cloudwatch/query_editor.png)
You need to specify a namespace, metric, at least one stat, and at least one dimension.
## Templated queries
CloudWatch Datasource Plugin provides the following functions in `Variables values query` field in Templating Editor to query `region`, `namespaces`, `metric names` and `dimension keys/values` on the CloudWatch.
Name | Description
------- | --------
`regions()` | Returns a list of regions AWS provides their service.
`namespaces()` | Returns a list of namespaces CloudWatch support.
`metrics(namespace)` | Returns a list of metrics in the namespace.
`dimension_keys(namespace)` | Returns a list of dimension keys in the namespace.
`dimension_values(region, namespace, metric, dimension_key)` | Returns a list of dimension values matching the specified `region`, `namespace`, `metric` and `dimension_key`.
`ebs_volume_ids(region, instance_id)` | Returns a list of volume id matching the specified `region`, `instance_id`.
`ec2_instance_attribute(region, attribute_name, filters)` | Returns a list of attribute matching the specified `region`, `attribute_name`, `filters`.
For details about the metrics CloudWatch provides, please refer to the [CloudWatch documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
## Example templated Queries
Example dimension queries which will return list of resources for individual AWS Services:
Service | Query
------- | -----
ELB | `dimension_values(us-east-1,AWS/ELB,RequestCount,LoadBalancerName)`
ElastiCache | `dimension_values(us-east-1,AWS/ElastiCache,CPUUtilization,CacheClusterId)`
RedShift | `dimension_values(us-east-1,AWS/Redshift,CPUUtilization,ClusterIdentifier)`
RDS | `dimension_values(us-east-1,AWS/RDS,CPUUtilization,DBInstanceIdentifier)`
S3 | `dimension_values(us-east-1,AWS/S3,BucketSizeBytes,BucketName)`
## ec2_instance_attribute JSON filters
The `ec2_instance_attribute` query take `filters` in JSON format.
You can specify [pre-defined filters of ec2:DescribeInstances](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).
Specify like `{ filter_name1: [ filter_value1 ], filter_name2: [ filter_value2 ] }`
Example `ec2_instance_attribute()` query
ec2_instance_attribute(us-east-1, InstanceId, { "tag:Environment": [ "production" ] })
![](/img/docs/v2/cloudwatch_templating.png)
## Cost
Amazon provides 1 million CloudWatch API requests each month at no additional charge. Past this,
it costs $0.01 per 1,000 GetMetricStatistics or ListMetrics requests. For each query Grafana will
issue a GetMetricStatistics request and every time you pick a dimension in the query editor
Grafana will issue a ListMetrics request.

View File

@@ -1,94 +0,0 @@
+++
title = "Using Elasticsearch in Grafana"
description = "Guide for using Elasticsearch in Grafana"
keywords = ["grafana", "elasticsearch", "guide"]
type = "docs"
[menu.docs]
name = "Elasticsearch"
parent = "datasources"
weight = 3
+++
# Using Elasticsearch in Grafana
Grafana ships with advanced support for Elasticsearch. You can do many types of
simple or complex elasticsearch queries to visualize logs or metrics stored in elasticsearch. You can
also annotate your graphs with log events stored in elasticsearch.
## Adding the data source
![](/img/docs/v2/add_Graphite.jpg)
1. Open the side menu by clicking the the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `Elasticsearch` from the dropdown.
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Url | The http protocol, ip and port of you elasticsearch server.
Access | Proxy = access via Grafana backend, Direct = access directly from browser.
Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the Data Source to the browser.
Direct access is still supported because in some cases it may be useful to access a Data Source directly depending on the use case and topology of Grafana, the user, and the Data Source.
### Direct access
If you select direct access you must update your Elasticsearch configuration to allow other domains to access
Elasticsearch from the browser. You do this by specifying these to options in your **elasticsearch.yml** config file.
http.cors.enabled: true
http.cors.allow-origin: "*"
### Index settings
![](/img/docs/elasticsearch/elasticsearch_ds_details.png)
Here you can specify a default for the `time field` and specify the name of your elasticsearch index. You can use
a time pattern for the index name or a wildcard.
## Metric Query editor
![](/img/docs/elasticsearch/query_editor.png)
The Elasticsearch query editor allows you to select multiple metrics and group by multiple terms or filters. Use the plus and minus icons to the right to add / remove
metrics or group bys. Some metrics and group by have options, click the option text to expand the the row to view and edit metric or group by options.
## Pipeline metrics
If you have Elasticsearch 2.x and Grafana 2.6 or above then you can use pipeline metric aggregations like
**Moving Average** and **Derivative**. Elasticsearch pipeline metrics require another metric to be based on. Use the eye icon next to the metric
to hide metrics from appearing in the graph. This is useful for metrics you only have in the query to be used
in a pipeline metric.
![](/img/docs/elasticsearch/pipeline_metrics_editor.png)
## Templating
The Elasticsearch datasource supports two types of queries you can use to fill template variables with values.
### Possible values for a field
```json
{"find": "terms", "field": "@hostname"}
```
### Fields filtered by type
```json
{"find": "fields", "type": "string"}
```
### Fields filtered by type, with filter
```json
{"find": "fields", "type": "string", "query": <lucene query>}
```
### Multi format / All format
Use lucene format.

View File

@@ -1,11 +0,0 @@
+++
title = "Data Sources"
type = "docs"
[menu.docs]
name = "Data Sources"
identifier = "datasources"
parent = "features"
weight = 5
+++

View File

@@ -1,132 +0,0 @@
+++
title = "Using InfluxDB in Grafana"
description = "Guide for using InfluxDB in Grafana"
keywords = ["grafana", "influxdb", "guide"]
type = "docs"
[menu.docs]
name = "InfluxDB"
parent = "datasources"
weight = 3
+++
# Using InfluxDB in Grafana
Grafana ships with very a feature data source plugin for InfluxDB. Supporting a feature rich query editor, annotation and templating queries.
## Adding the data source
![](/img/docs/v2/add_Influx.jpg)
1. Open the side menu by clicking the the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `InfluxDB 0.9.x` or `InfluxDB 0.8.x` from the dropdown.
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Url | The http protocol, ip and port of you influxdb api (influxdb api port is by default 8086)
Access | Proxy = access via Grafana backend, Direct = access directly from browser.
Database | Name of your influxdb database
User | Name of your database user
Password | Database user's password
> Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the Data Source to the browser.
> Direct access is still supported because in some cases it may be useful to access a Data Source directly depending on the use case and topology of Grafana, the user, and the Data Source.
## Query Editor
![](/assets/img/blog/v2.6/influxdb_editor_v3.gif)
You find the InfluxDB editor in the metrics tab in Graph or Singlestat panel's edit mode. You enter edit mode by clicking the
panel title, then edit. The editor allows you to select metrics and tags.
### Filter data (WHERE)
To add a tag filter click the plus icon to the right of the `WHERE` condition. You can remove tag filters by clicking on
the tag key and select `--remove tag filter--`.
**Regex matching**
You can type in regex patterns for metric names or tag filter values, be sure to wrap the regex pattern in forward slashes (`/`). Grafana
will automatically adjust the filter tag condition to use the InfluxDB regex match condition operator (`=~`).
### Field & Aggregation functions
In the `SELECT` row you can specify what fields and functions you want to use. If you have a
group by time you need an aggregation function. Some functions like derivative require an aggregation function.
The editor tries simplify and unify this part of the query. For example:
![](/img/docs/influxdb/select_editor.png)
The above will generate the following InfluxDB `SELECT` clause:
```sql
SELECT derivative(mean("value"), 10s) /10 AS "REQ/s" FROM ....
```
#### Select multiple fields
Use the plus button and select Field > field to add another SELECT clause. You can also
specify an asterix `*` to select all fields.
### Group By
To group by a tag click the plus icon at the end of the GROUP BY row. Pick a tag from the dropdown that appears.
You can remove the group by by clicking on the `tag` and then click on the x icon.
### Text Editor Mode (RAW)
You can switch to raw query mode by clicking hamburger icon and then `Switch editor mode`.
> If you use Raw Query be sure your query at minimum have `WHERE $timeFilter`
> Also please always have a group by time and an aggregation function, otherwise InfluxDB can easily return hundreds of thousands
> of data points that will hang the browser.
### Alias patterns
- $m = replaced with measurement name
- $measurement = replaced with measurement name
- $col = replaced with column name
- $tag_hostname = replaced with the value of the hostname tag
- You can also use [[tag_hostname]] pattern replacement syntax
### Table query / raw data
![](/assets/img/blog/v2.6/table_influxdb_logs.png)
You can remove the group by time by clicking on the `time` part and then the `x` icon. You can
change the option `Format As` to `Table` if you want to show raw data in the `Table` panel.
## Templating
You can create a template variable in Grafana and have that variable filled with values from any InfluxDB metric exploration query.
You can then use this variable in your InfluxDB metric queries.
For example you can have a variable that contains all values for tag `hostname` if you specify a query like this
in the templating edit view.
```sql
SHOW TAG VALUES WITH KEY = "hostname"
```
You can also create nested variables. For example if you had another variable, for example `region`. Then you could have
the hosts variable only show hosts from the current selected region with a query like this:
```sql
SHOW TAG VALUES WITH KEY = "hostname" WHERE region =~ /$region/
```
> Always you `regex values` or `regex wildcard` for All format or multi select format.
![](/img/docs/influxdb/templating_simple_ex1.png)
## Annotations
Annotations allows you to overlay rich event information on top of graphs.
An example query:
```SQL
SELECT title, description from events WHERE $timeFilter order asc
```

View File

@@ -1,52 +0,0 @@
---
page_title: KairosDB Guide
page_description: KairosDB guide for Grafana
page_keywords: grafana, kairosdb, documentation
---
# KairosDB Guide
Grafana v2.1 brings initial support for KairosDB Datasources. While the process of adding the datasource is similar to adding a Graphite or OpenTSDB datasource type, Kairos DB does have a few different options for building queries.
## Adding the data source to Grafana
![](/img/v2/add_KairosDB.jpg)
1. Open the side menu by clicking the the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `KairosDB` from the dropdown.
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Url | The http protocol, ip and port of your kairosdb server (default port is usually 8080)
Access | Proxy = access via Grafana backend, Direct = access directly from browser.
## Query editor
Open a graph in edit mode by click the title.
![](/img/v2/kairos_query_editor.jpg)
For details on KairosDB metric queries checkout the official.
- [Query Metrics - KairosDB 0.9.4 documentation](http://kairosdb.github.io/kairosdocs/restapi/QueryMetrics.html).
## Templated queries
KairosDB Datasource Plugin provides following functions in `Variables values query` field in Templating Editor to query `metric names`, `tag names`, and `tag values` to kairosdb server.
Name | Description
| ------- | --------|
`metrics(query)` | Returns a list of metric names matching `query`. If nothing is given, returns a list of all metric names.
`tag_names(query)` | Returns a list of tag names matching `query`. If nothing is given, returns a list of all tag names.
`tag_values(metric,tag)` | Returns a list of values for `tag` from the given `metric`.
For details of `metric names`, `tag names`, and `tag values`, please refer to the KairosDB documentations.
- [List Metric Names - KairosDB 0.9.4 documentation](http://kairosdb.github.io/kairosdocs/restapi/ListMetricNames.html)
- [List Tag Names - KairosDB 0.9.4 documentation](http://kairosdb.github.io/kairosdocs/restapi/ListTagNames.html)
- [List Tag Values - KairosDB 0.9.4 documentation](http://kairosdb.github.io/kairosdocs/restapi/ListTagValues.html)
- [Query Metrics - KairosDB 0.9.4 documentation](http://kairosdb.github.io/kairosdocs/restapi/QueryMetrics.html).

View File

@@ -1,69 +0,0 @@
+++
title = "Using OpenTSDB in Grafana"
description = "Guide for using OpenTSDB in Grafana"
keywords = ["grafana", "opentsdb", "guide"]
type = "docs"
[menu.docs]
name = "OpenTSDB"
parent = "datasources"
weight = 5
+++
# Using OpenTSDB in Grafana
{{< docs-imagebox img="/img/docs/v2/add_OpenTSDB.png" max-width="14rem" >}}
The newest release of Grafana adds additional functionality when using an OpenTSDB Data source.
1. Open the side menu by clicking the the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `OpenTSDB` from the dropdown.
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Url | The http protocol, ip and port of you opentsdb server (default port is usually 4242)
Access | Proxy = access via Grafana backend, Direct = access directly from browser.
Version | Version = opentsdb version, either <=2.1 or 2.2
Resolution | Metrics from opentsdb may have datapoints with either second or millisecond resolution.
## Query editor
Open a graph in edit mode by click the title. Query editor will differ if the datasource has version <=2.1 or = 2.2. In the former version, only tags can be used to query opentsdb. But in the latter version, filters as well as tags can be used to query opentsdb. Fill Policy is also introduced in opentsdb 2.2.
> Note: While using Opentsdb 2.2 datasource, make sure you use either Filters or Tags as they are mutually exclusive. If used together, might give you weird results.
![](/img/docs/v2/opentsdb_query_editor.png)
### Auto complete suggestions
As soon as you start typing metric names, tag names and tag values , you should see highlighted auto complete suggestions for them.
> Note: This is required for the OpenTSDB `suggest` api to work.
## Templating queries
Grafana's OpenTSDB data source now supports template variable values queries. This means you can create template variables that fetch the values from OpenTSDB (for example metric names, tag names, or tag values). The query editor is also enhanced to limiting tags by metric.
When using OpenTSDB with a template variable of `query` type you can use following syntax for lookup.
metrics(prefix) // returns metric names with specific prefix (can be empty)
tag_names(cpu) // return tag names (i.e. keys) for a specific cpu metric
tag_values(cpu, hostname) // return tag values for metric cpu and tag key hostname
suggest_tagk(prefix) // return tag names (i.e. keys) for all metrics with specific prefix (can be empty)
suggest_tagv(prefix) // return tag values for all metrics with specific prefix (can be empty)
If you do not see template variables being populated in `Preview of values` section, you need to enable `tsd.core.meta.enable_realtime_ts` in the OpenTSDB server settings. Also, to populate metadata of the existing time series data in OpenTSDB, you need to run `tsdb uid metasync` on the OpenTSDB server.
### Nested Templating
One template variable can be used to filter tag values for another template varible. Very importantly, the order of the parameters matter in tag_values function. First parameter is the metric name, second parameter is the tag key for which you need to find tag values, and after that all other dependent template variables. Some examples are mentioned below to make nested template queries work successfully.
tag_values(cpu, hostname, env=$env) // return tag values for cpu metric, selected env tag value and tag key hostname
tag_values(cpu, hostanme, env=$env, region=$region) // return tag values for cpu metric, selected env tag value, selected region tag value and tag key hostname
> Note: This is required for the OpenTSDB `lookup` api to work.
For details on opentsdb metric queries checkout the official [OpenTSDB documentation](http://opentsdb.net/docs/build/html/index.html)

View File

@@ -1,25 +0,0 @@
----
page_title: Data Source Overview
page_description: Data Source Overview
page_keywords: grafana, graphite, influxDB, KairosDB, OpenTSDB, Prometheus, documentation
---
# Data Source Overview
Grafana supports many different storage backends for your time series data (Data Source). Each Data Source has a specific Query Editor that is customized for the features and capabilities that the particular Data Source exposes.
## Querying
The query language and capabilities of each Data Source are obviously very different. You can combine data from multiple Data Sources onto a single Dashboard, but each Panel is tied to a specific Data Source that belongs to a particular Organization.
## Supported Data Sources
The following datasources are officially supported:
* [Graphite](/datasources/graphite/)
* [Elasticsearch](/datasources/elasticsearch/)
* [CloudWatch](/datasources/cloudwatch/)
* [InfluxDB](/datasources/influxdb/)
* [OpenTSDB](/datasources/opentsdb/)
* [KairosDB](/datasources/kairosdb)
* [Prometheus](/datasources/prometheus)
Grafana can query any Elasticsearch index for annotation events, but at this time, it's not supported for metric queries. Learn more about [annotations](/reference/annotations/#elasticsearch-annotations)

View File

@@ -1,34 +0,0 @@
----
page_title: Data source Plugin API
page_description: Data Source Plugin Description
page_keywords: grafana, data source, plugin, api, docs
---
# Data source plugin API
All data sources in Grafana are implemented as plugins.
## Breaking change in 2.2
In Grafana 2.2 a breaking change was introduced for how data source query editors
are structured, defined and loaded. This was in order to support mixing multiple data sources
in the same panel.
In Grafana 2.2, the query editor is no longer defined using the partials section in
`plugin.json`, but defined via an angular directive named using convention naming
scheme like `metricQueryEditor<data source type name>`. For example
Graphite defines a directive like this:
```javascript
module.directive('metricQueryEditorGraphite', function() {
return {controller: 'GraphiteQueryCtrl', templateUrl: 'app/plugins/datasource/graphite/partials/query.editor.html'};
});
```
Even though the data source type name is with lowercase `g`, the directive uses capital `G` in `Graphite` because
that is how angular directives needs to be named in order to match an element with name `<metric-query-editor-graphite />`.
You also specify the query controller here instead of in the query.editor.html partial like before.

View File

@@ -1,75 +0,0 @@
+++
title = "Using Prometheus in Grafana"
description = "Guide for using Prometheus in Grafana"
keywords = ["grafana", "prometheus", "guide"]
type = "docs"
[menu.docs]
name = "Prometheus"
parent = "datasources"
weight = 2
+++
# Using Prometheus in Grafana
Grafana includes support for Prometheus Datasources. While the process of adding the datasource is similar to adding a Graphite or OpenTSDB datasource type, Prometheus does have a few different options for building queries.
## Adding the data source to Grafana
![](/img/v2/add_Prometheus.png)
1. Open the side menu by clicking the the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `Prometheus` from the dropdown.
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Url | The http protocol, ip and port of you Prometheus server (default port is usually 9090)
Access | Proxy = access via Grafana backend, Direct = access directly from browser.
Basic Auth | Enable basic authentication to the Prometheus datasource.
User | Name of your Prometheus user
Password | Database user's password
> Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the Data Source to the browser.
> Direct access is still supported because in some cases it may be useful to access a Data Source directly depending on the use case and topology of Grafana, the user, and the Data Source.
## Query editor
Open a graph in edit mode by click the title.
![](/img/v2/prometheus_editor.png)
For details on Prometheus metric queries check out the Prometheus documentation
- [Query Metrics - Prometheus documentation](http://prometheus.io/docs/querying/basics/).
## Templated queries
Prometheus Datasource Plugin provides the following functions in `Variables values query` field in Templating Editor to query `metric names` and `labels names` on the Prometheus server.
Name | Description
------- | --------
`label_values(label)` | Returns a list of label values for the `label` in every metric.
`label_values(metric, label)` | Returns a list of label values for the `label` in the specified metric.
`metrics(metric)` | Returns a list of metrics matching the specified `metric` regex.
`query_result(query)` | Returns a list of Prometheus query result for the `query`.
For details of `metric names` & `label names`, and `label values`, please refer to the [Prometheus documentation](http://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
> Note: The part of queries is incompatible with the version before 2.6, if you specify like `foo.*`, please change like `metrics(foo.*)`.
You can create a template variable in Grafana and have that variable filled with values from any Prometheus metric exploration query.
You can then use this variable in your Prometheus metric queries.
For example you can have a variable that contains all values for label `hostname` if you specify a query like this
in the templating edit view.
```sql
label_values(hostname)
```
You can also use raw queries & regular expressions to extract anything you might need.
![](/img/v2/prometheus_templating.png)

View File

@@ -0,0 +1,126 @@
+++
title = "AWS CloudWatch"
description = "Guide for using CloudWatch in Grafana"
keywords = ["grafana", "cloudwatch", "guide"]
type = "docs"
aliases = ["/datasources/cloudwatch"]
[menu.docs]
name = "AWS Cloudwatch"
identifier = "cloudwatch"
parent = "datasources"
weight = 10
+++
# Using AWS CloudWatch in Grafana
Grafana ships with built in support for CloudWatch. You just have to add it as a data source and you will be ready to build dashboards for you CloudWatch metrics.
## Adding the data source to Grafana
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select `Cloudwatch` from the *Type* dropdown.
> NOTE: If at any moment you have issues with getting this datasource to work and Grafana is giving you undescriptive errors then don't
forget to check your log file (try looking in /var/log/grafana/grafana.log).
Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Credentials* profile name | Specify the name of the profile to use (if you use `~/aws/credentials` file), leave blank for default.
*Default Region* | Used in query editor to set region (can be changed on per query basis)
*Custom Metrics namespace* | Specify the CloudWatch namespace of Custom metrics
*Assume Role Arn* | Specify the ARN of the role to assume
## Authentication
### IAM Roles
Currently all access to CloudWatch is done server side by the Grafana backend using the official AWS SDK. If you grafana
server is running on AWS you can use IAM Roles and authentication will be handled automatically.
Checkout AWS docs on [IAM Roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
### AWS credentials file
Create a file at `~/.aws/credentials`. That is the `HOME` path for user running grafana-server.
> NOTE: If you think you have the credentials file in the right place but it is still not working then you might try moving your .aws file to '/usr/share/grafana/' and make sure your credentials file has at most 0644 permissions.
Example content:
[default]
aws_access_key_id = asdsadasdasdasd
aws_secret_access_key = dasdasdsadasdasdasdsa
region = us-west-2
## Metric Query Editor
![](/img/docs/v43/cloudwatch_editor.png)
You need to specify a namespace, metric, at least one stat, and at least one dimension.
## Templated queries
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
CloudWatch Datasource Plugin provides the following queries you can specify in the `Query` field in the Variable
edit view. They allow you to fill a variable's options list with things like `region`, `namespaces`, `metric names`
and `dimension keys/values`.
Name | Description
------- | --------
*regions()* | Returns a list of regions AWS provides their service.
*namespaces()* | Returns a list of namespaces CloudWatch support.
*metrics(namespace, [region])* | Returns a list of metrics in the namespace. (specify region for custom metrics)
*dimension_keys(namespace)* | Returns a list of dimension keys in the namespace.
*dimension_values(region, namespace, metric, dimension_key)* | Returns a list of dimension values matching the specified `region`, `namespace`, `metric` and `dimension_key`.
*ebs_volume_ids(region, instance_id)* | Returns a list of volume id matching the specified `region`, `instance_id`.
*ec2_instance_attribute(region, attribute_name, filters)* | Returns a list of attribute matching the specified `region`, `attribute_name`, `filters`.
For details about the metrics CloudWatch provides, please refer to the [CloudWatch documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
#### Examples templated Queries
Example dimension queries which will return list of resources for individual AWS Services:
Query | Service
------- | -----
*dimension_values(us-east-1,AWS/ELB,RequestCount,LoadBalancerName)* | ELB
*dimension_values(us-east-1,AWS/ElastiCache,CPUUtilization,CacheClusterId)* | ElastiCache
*dimension_values(us-east-1,AWS/Redshift,CPUUtilization,ClusterIdentifier)* | RedShift
*dimension_values(us-east-1,AWS/RDS,CPUUtilization,DBInstanceIdentifier)* | RDS
*dimension_values(us-east-1,AWS/S3,BucketSizeBytes,BucketName)* | S3
#### ec2_instance_attribute JSON filters
The `ec2_instance_attribute` query take `filters` in JSON format.
You can specify [pre-defined filters of ec2:DescribeInstances](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).
Filters syntax:
```javascript
{ filter_name1: [ filter_value1 ], filter_name2: [ filter_value2 ] }
```
Example `ec2_instance_attribute()` query
ec2_instance_attribute(us-east-1, InstanceId, { "tag:Environment": [ "production" ] })
## Cost
Amazon provides 1 million CloudWatch API requests each month at no additional charge. Past this,
it costs $0.01 per 1,000 GetMetricStatistics or ListMetrics requests. For each query Grafana will
issue a GetMetricStatistics request and every time you pick a dimension in the query editor
Grafana will issue a ListMetrics request.

View File

@@ -0,0 +1,137 @@
+++
title = "Using Elasticsearch in Grafana"
description = "Guide for using Elasticsearch in Grafana"
keywords = ["grafana", "elasticsearch", "guide"]
type = "docs"
aliases = ["/datasources/elasticsearch"]
[menu.docs]
name = "Elasticsearch"
parent = "datasources"
weight = 3
+++
# Using Elasticsearch in Grafana
Grafana ships with advanced support for Elasticsearch. You can do many types of simple or complex Elasticsearch queries to
visualize logs or metrics stored in Elasticsearch. You can also annotate your graphs with log events stored in Elasticsearch.
## Adding the data source
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select *Elasticsearch* from the *Type* dropdown.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Url* | The HTTP protocol, IP, and port of your Elasticsearch server.
*Access* | Proxy = access via Grafana backend, Direct = access directly from browser.
Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication to the browser.
### Direct access
If you select direct access you must update your Elasticsearch configuration to allow other domains to access
Elasticsearch from the browser. You do this by specifying these to options in your **elasticsearch.yml** config file.
http.cors.enabled: true
http.cors.allow-origin: "*"
### Index settings
![](/img/docs/elasticsearch/elasticsearch_ds_details.png)
Here you can specify a default for the `time field` and specify the name of your Elasticsearch index. You can use
a time pattern for the index name or a wildcard.
### Elasticsearch version
Be sure to specify your Elasticsearch version in the version selection dropdown. This is very important as there are differences how queries are composed. Currently only 2.x and 5.x
are supported.
## Metric Query editor
![](/img/docs/elasticsearch/query_editor.png)
The Elasticsearch query editor allows you to select multiple metrics and group by multiple terms or filters. Use the plus and minus icons to the right to add/remove
metrics or group by clauses. Some metrics and group by clauses haves options, click the option text to expand the row to view and edit metric or group by options.
## Series naming & alias patterns
You can control the name for time series via the `Alias` input field.
Pattern | Description
------------ | -------------
*{{term fieldname}}* | replaced with value of a term group by
*{{metric}}* | replaced with metric name (ex. Average, Min, Max)
*{{field}}* | replaced with the metric field name
## Pipeline metrics
Some metric aggregations are called Pipeline aggregations, for example, *Moving Average* and *Derivative*. Elasticsearch pipeline metrics require another metric to be based on. Use the eye icon next to the metric to hide metrics from appearing in the graph. This is useful for metrics you only have in the query for use in a pipeline metric.
![](/img/docs/elasticsearch/pipeline_metrics_editor.png)
## Templating
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
The Elasticsearch data source supports two types of queries you can use in the *Query* field of *Query* variables. The query is written using a custom JSON string.
Query | Description
------------ | -------------
*{"find": "fields", "type": "keyword"} | Returns a list of field names with the index type `keyword`.
*{"find": "terms", "field": "@hostname"}* | Returns a list of values for a field using term aggregation. Query will user current dashboard time range as time range for query.
*{"find": "terms", "field": "@hostname", "query": '<lucene query>'}* | Returns a list of values for a field using term aggregation & and a specified lucene query filter. Query will use current dashboard time range as time range for query.
You can use other variables inside the query. Example query definition for a variable named `$host`.
```
{"find": "terms", "field": "@hostname", "query": "@source:$source"}
```
In the above example, we use another variable named `$source` inside the query definition. Whenever you change, via the dropdown, the current value of the ` $source` variable, it will trigger an update of the `$host` variable so it now only contains hostnames filtered by in this case the
`@source` document property.
### Using variables in queries
There are two syntaxes:
- `$<varname>` Example: @hostname:$hostname
- `[[varname]]` Example: @hostname:[[hostname]]
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of a word. When the *Multi-value* or *Include all value*
options are enabled, Grafana converts the labels from plain text to a lucene compatible condition.
![](/img/docs/v43/elastic_templating_query.png)
In the above example, we have a lucene query that filters documents based on the `@hostname` property using a variable named `$hostname`. It is also using
a variable in the *Terms* group by field input box. This allows you to use a variable to quickly change how the data is grouped.
Example dashboard:
[Elasticsearch Templated Dashboard](http://play.grafana.org/dashboard/db/elasticsearch-templated)
## Annotations
[Annotations]({{< relref "reference/annotations.md" >}}) allows you to overlay rich event information on top of graphs. You add annotation
queries via the Dashboard menu / Annotations view. Grafana can query any Elasticsearch index
for annotation events.
Name | Description
------------ | -------------
Query | You can leave the search query blank or specify a lucene query
Time | The name of the time field, needs to be date field.
Title | The name of the field to use for the event title.
Tags | Optional field name to use for event tags (can be an array or a CSV string).
Text | Optional field name to use event text body.

View File

@@ -3,6 +3,7 @@ title = "Using Graphite in Grafana"
description = "Guide for using graphite in Grafana"
keywords = ["grafana", "graphite", "guide"]
type = "docs"
aliases = ["/datasources/graphite"]
[menu.docs]
name = "Graphite"
identifier = "graphite"
@@ -17,28 +18,22 @@ change function parameters and much more. The editor can handle all types of gra
queries through the use of query references.
## Adding the data source
![](/img/docs/v2/add_Graphite.jpg)
1. Open the side menu by clicking the the Grafana icon in the top header.
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select `Graphite` from the *Type* dropdown.
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
3. Click the `Add new` link in the top header.
4. Select `Graphite` from the dropdown.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
Name | Description
------------ | -------------
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
Default | Default data source means that it will be pre-selected for new panels.
Url | The http protocol, ip and port of your graphite-web or graphite-api install.
Access | Proxy = access via Grafana backend, Direct = access directly from browser.
Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the Data Source to the browser.
Direct access is still supported because in some cases it may be useful to access a Data Source directly depending on the use case and topology of Grafana, the user, and the Data Source.
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Url* | The HTTP protocol, IP, and port of your graphite-web or graphite-api install.
*Access* | Proxy = access via Grafana backend, Direct = access directly from browser.
Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the browser.
## Metric editor
@@ -49,6 +44,7 @@ or keyboard arrow keys. You can select a wildcard and still continue.
![](/img/docs/animated_gifs/graphite_query1.gif)
### Functions
Click the plus icon to the right to add a function. You can search for the function or select it from the menu. Once
a function is selected it will be added and your focus will be in the text box of the first parameter. To later change
a parameter just click on it and it will turn into a text box. To delete a function click the function name followed
@@ -56,32 +52,61 @@ by the x icon.
![](/img/docs/animated_gifs/graphite_query2.gif)
### Optional parameters
Some functions like aliasByNode support an optional second argument. To add this parameter specify for example 3,-2 as the first parameter and the function editor will adapt and move the -2 to a second parameter. To remove the second optional parameter just click on it and leave it blank and the editor will remove it.
![](/img/docs/animated_gifs/func_editor_optional_params.gif)
### Nested Queries
You can reference queries by the row “letter” that theyre on (similar to Microsoft Excel). If you add a second query to a graph, you can reference the first query simply by typing in #A. This provides an easy and convenient way to build compounded queries.
## Point consolidation
All Graphite metrics are consolidated so that Graphite doesn't return more data points than there are pixels in the graph. By default
All Graphite metrics are consolidated so that Graphite doesn't return more data points than there are pixels in the graph. By default,
this consolidation is done using `avg` function. You can how Graphite consolidates metrics by adding the Graphite consolidateBy function.
> *Notice* This means that legend summary values (max, min, total) cannot be all correct at the same time. They are calculated
> client side by Grafana. And depending on your consolidation function only one or two can be correct at the same time.
## Templating
You can create a template variable in Grafana and have that variable filled with values from any Graphite metric exploration query.
You can then use this variable in your Graphite queries, either as part of a metric path or as arguments to functions.
For example a query like `prod.servers.*` will fill the variable with all possible
values that exists in the wildcard position.
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
The query you specify in the query field should be a metric find type of query. For example, a query like `prod.servers.*` will fill the
variable with all possible values that exist in the wildcard position.
You can also create nested variables that use other variables in their definition. For example
`apps.$app.servers.*` uses the variable `$app` in its query definition.
### Variable usage
You can use a variable in a metric node path or as a parameter to a function.
![](/img/docs/v2/templated_variable_parameter.png)
There are two syntaxes:
## Query Reference
You can reference queries by the row “letter” that theyre on (similar to Microsoft Excel). If you add a second query to graph, you can reference the first query simply by typing in #A. This provides an easy and convenient way to build compounded queries.
- `$<varname>` Example: apps.frontend.$server.requests.count
- `[[varname]]` Example: apps.frontend.[[server]].requests.count
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of a word. Use
the second syntax in expressions like `my.server[[serverNumber]].count`.
Example:
[Graphite Templated Dashboard](http://play.grafana.org/dashboard/db/graphite-templated-nested)
## Annotations
[Annotations]({{< relref "reference/annotations.md" >}}) allows you to overlay rich event information on top of graphs. You add annotation
queries via the Dashboard menu / Annotations view.
Graphite supports two ways to query annotations. A regular metric query, for this you use the `Graphite query` textbox. A Graphite events query, use the `Graphite event tags` textbox,
specify a tag or wildcard (leave empty should also work)

View File

@@ -0,0 +1,34 @@
+++
title = "Data Sources"
type = "docs"
[menu.docs]
name = "Data Sources"
identifier = "datasources"
parent = "features"
weight = 5
+++
# Data Source Overview
Grafana supports many different storage backends for your time series data (Data Source). Each Data Source has a specific Query Editor that is customized for the features and capabilities that the particular Data Source exposes.
## Querying
The query language and capabilities of each Data Source are obviously very different. You can combine data from multiple Data Sources onto a single Dashboard, but each Panel is tied to a specific Data Source that belongs to a particular Organization.
## Supported Data Sources
The following datasources are officially supported:
* [Graphite]({{< relref "graphite.md" >}})
* [Elasticsearch]({{< relref "elasticsearch.md" >}})
* [CloudWatch]({{< relref "cloudwatch.md" >}})
* [InfluxDB]({{< relref "influxdb.md" >}})
* [OpenTSDB]({{< relref "opentsdb.md" >}})
* [Prometheus]({{< relref "prometheus.md" >}})
## Data source plugins
Since grafana 3.0 you can install data sources as plugins. Checkout [Grafana.net](https://grafana.com/plugins) for more data sources.

View File

@@ -0,0 +1,180 @@
+++
title = "Using InfluxDB in Grafana"
description = "Guide for using InfluxDB in Grafana"
keywords = ["grafana", "influxdb", "guide"]
type = "docs"
aliases = ["/datasources/influxdb"]
[menu.docs]
name = "InfluxDB"
parent = "datasources"
weight = 3
+++
# Using InfluxDB in Grafana
Grafana ships with very feature rich data source plugin for InfluxDB. Supporting a feature rich query editor, annotation and templating queries.
## Adding the data source
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select *InfluxDB* from the *Type* dropdown.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Url* | The http protocol, ip and port of you influxdb api (influxdb api port is by default 8086)
*Access* | Proxy = access via Grafana backend, Direct = access directly from browser.
*Database* | Name of your influxdb database
*User* | Name of your database user
*Password* | Database user's password
### Proxy vs Direct access
Proxy access means that the Grafana backend will proxy all requests from the browser. So requests to InfluxDB will be channeled through
`grafana-server`. This means that the URL you specify needs to be accessable from the server you are running Grafana on. Proxy access
mode is also more secure as the username & password will never reach the browser.
## Query Editor
![](/assets/img/blog/v2.6/influxdb_editor_v3.gif)
You find the InfluxDB editor in the metrics tab in Graph or Singlestat panel's edit mode. You enter edit mode by clicking the
panel title, then edit. The editor allows you to select metrics and tags.
### Filter data (WHERE)
To add a tag filter click the plus icon to the right of the `WHERE` condition. You can remove tag filters by clicking on
the tag key and select `--remove tag filter--`.
**Regex matching**
You can type in regex patterns for metric names or tag filter values, be sure to wrap the regex pattern in forward slashes (`/`). Grafana
will automatically adjust the filter tag condition to use the InfluxDB regex match condition operator (`=~`).
### Field & Aggregation functions
In the `SELECT` row you can specify what fields and functions you want to use. If you have a
group by time you need an aggregation function. Some functions like derivative require an aggregation function.
The editor tries simplify and unify this part of the query. For example:
![](/img/docs/influxdb/select_editor.png)
The above will generate the following InfluxDB `SELECT` clause:
```sql
SELECT derivative(mean("value"), 10s) /10 AS "REQ/s" FROM ....
```
#### Select multiple fields
Use the plus button and select Field > field to add another SELECT clause. You can also
specify an asterix `*` to select all fields.
### Group By
To group by a tag click the plus icon at the end of the GROUP BY row. Pick a tag from the dropdown that appears.
You can remove the group by by clicking on the `tag` and then click on the x icon.
### Text Editor Mode (RAW)
You can switch to raw query mode by clicking hamburger icon and then `Switch editor mode`.
> If you use Raw Query be sure your query at minimum have `WHERE $timeFilter`
> Also please always have a group by time and an aggregation function, otherwise InfluxDB can easily return hundreds of thousands
> of data points that will hang the browser.
### Alias patterns
- $m = replaced with measurement name
- $measurement = replaced with measurement name
- $col = replaced with column name
- $tag_hostname = replaced with the value of the hostname tag
- You can also use [[tag_hostname]] pattern replacement syntax
### Table query / raw data
![](/assets/img/blog/v2.6/table_influxdb_logs.png)
You can remove the group by time by clicking on the `time` part and then the `x` icon. You can
change the option `Format As` to `Table` if you want to show raw data in the `Table` panel.
## Templating
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
If you add a template variable of the type `Query` you can write a InfluxDB exploration (meta data) query. These queries can
return things like measurement names, key names or key values.
For example you can have a variable that contains all values for tag `hostname` if you specify a query like this in the templating variable *Query* setting.
```sql
SHOW TAG VALUES WITH KEY = "hostname"
```
You can also create nested variables. For example if you had another variable, for example `region`. Then you could have
the hosts variable only show hosts from the current selected region with a query like this:
```sql
SHOW TAG VALUES WITH KEY = "hostname" WHERE region =~ /$region/
```
You can fetch key names for a given measurement.
```sql
SHOW TAG KEYS [FROM <measurement_name>]
```
If you have a variable with key names you can use this variable in a group by clause. This will allow you to change group by using the variable dropdown a the top
of the dashboard.
### Using variables in queries
There are two syntaxes:
`$<varname>` Example:
```sql
SELECT mean("value") FROM "logins" WHERE "hostname" =~ /^$host$/ AND $timeFilter GROUP BY time($__interval), "hostname"
```
`[[varname]]` Example:
```sql
SELECT mean("value") FROM "logins" WHERE "hostname" =~ /^[[host]]$/ AND $timeFilter GROUP BY time($__interval), "hostname"
```
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of a word. When the *Multi-value* or *Include all value*
options are enabled, Grafana converts the labels from plain text to a regex compatible string. Which means you have to use `=~` instead of `=`.
Example Dashboard:
[InfluxDB Templated Dashboard](http://play.grafana.org/dashboard/db/influxdb-templated-queries)
### Ad hoc filters variable
InfluxDB supports the special `Ad hoc filters` variable type. This variable allows you to specify any number of key/value filters on the fly. These filters will automatically
be applied to all your InfluxDB queries.
## Annotations
[Annotations]({{< relref "reference/annotations.md" >}}) allows you to overlay rich event information on top of graphs. You add annotation
queries via the Dashboard menu / Annotations view.
An example query:
```SQL
SELECT title, description from events WHERE $timeFilter order asc
```
For InfluxDB you need to enter a query like in the above example. You need to have the ```where $timeFilter```
part. If you only select one column you will not need to enter anything in the column mapping fields. The
Tags field can be a comma seperated string.

View File

@@ -0,0 +1,118 @@
+++
title = "Using MySQL in Grafana"
description = "Guide for using MySQL in Grafana"
keywords = ["grafana", "mysql", "guide"]
type = "docs"
[menu.docs]
name = "MySQL"
parent = "datasources"
weight = 7
+++
# Using MySQL in Grafana
> Only available in Grafana v4.3+. This data source is not ready for
> production use, currently in development (alpha state).
Grafana ships with a built-in MySQL data source plugin that allow you to query any visualize
data from a MySQL compatible database.
## Adding the data source
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select *MySQL* from the *Type* dropdown.
### Database User Permissions (Important!)
The database user you specify when you add the data source should only be granted SELECT permissions on
the specified database & tables you want to query. Grafana does not validate that the query is safe. The query
could include any SQL statement. For example, statements like `USE otherdb;` and `DROP TABLE user;` would be
executed. To protect against this we **Highly** recommmend you create a specific mysql user with
restricted permissions.
Example:
```sql
CREATE USER 'grafanaReader' IDENTIFIED BY 'password';
GRANT SELECT ON mydatabase.mytable TO 'grafanaReader';
```
You can use wildcards (`*`) in place of database or table if you want to grant access to more databases and tables.
## Macros
To simplify syntax and to allow for dynamic parts, like date range filters, the query can contain macros.
Macro example | Description
------------ | -------------
*$__timeFilter(dateColumn)* | Will be replaced by a time range filter using the specified column name. For example, *dateColumn > FROM_UNIXTIME(1494410783) AND dateColumn < FROM_UNIXTIME(1494497183)*
We plan to add many more macros. If you have suggestions for what macros you would like to see, please
[open an issue](https://github.com/grafana/grafana) in our GitHub repo.
The query editor has a link named `Generated SQL` that show up after a query as been executed, while in panel edit mode. Click
on it and it will expand and show the raw interpolated SQL string that was executed.
## Table queries
If the `Format as` query option is set to `Table` then you can basically do any type of SQL query. The table panel will automatically show the results of whatever columns & rows your query returns.
Query editor with example query:
![](/img/docs/v43/mysql_table_query.png)
The query:
```sql
SELECT
title as 'Title',
user.login as 'Created By' ,
dashboard.created as 'Created On'
FROM dashboard
INNER JOIN user on user.id = dashboard.created_by
WHERE $__timeFilter(dashboard.created)
```
You can control the name of the Table panel columns by using regular `as ` SQL column selection syntax.
The resulting table panel:
![](/img/docs/v43/mysql_table.png)
### Time series queries
If you set `Format as` to `Time series`, for use in Graph panel for example, then there are some requirements for
what your query returns.
- Must be a column named `time_sec` representing a unix epoch in seconds.
- Must be a column named `value` representing the time series value.
- Must be a column named `metric` representing the time series name.
Example:
```sql
SELECT
min(UNIX_TIMESTAMP(time_date_time)) as time_sec,
max(value_double) as value,
metric1 as metric
FROM test_data
WHERE $__timeFilter(time_date_time)
GROUP BY metric1, UNIX_TIMESTAMP(time_date_time) DIV 300
ORDER BY time_sec asc
```
Currently, there is no support for a dynamic group by time based on time range & panel width.
This is something we plan to add.
## Templating
You can use variables in your queries but there are currently no support for defining `Query` variables
that target a MySQL data source.
## Alerting
Time series queries should work in alerting conditions. Table formatted queries is not yet supported in alert rule
conditions.

View File

@@ -0,0 +1,90 @@
+++
title = "Using OpenTSDB in Grafana"
description = "Guide for using OpenTSDB in Grafana"
keywords = ["grafana", "opentsdb", "guide"]
type = "docs"
aliases = ["/datasources/opentsdb", "docs/features/opentsdb"]
[menu.docs]
name = "OpenTSDB"
parent = "datasources"
weight = 5
+++
# Using OpenTSDB in Grafana
Grafana ships with advanced support for OpenTSDB.
## Adding the data source
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select *OpenTSDB* from the *Type* dropdown.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Url* | The http protocol, ip and port of you opentsdb server (default port is usually 4242)
*Access* | Proxy = access via Grafana backend, Direct = access directly from browser.
*Version* | Version = opentsdb version, either <=2.1 or 2.2
*Resolution* | Metrics from opentsdb may have datapoints with either second or millisecond resolution.
## Query editor
Open a graph in edit mode by click the title. Query editor will differ if the datasource has version <=2.1 or = 2.2.
In the former version, only tags can be used to query OpenTSDB. But in the latter version, filters as well as tags
can be used to query opentsdb. Fill Policy is also introduced in OpenTSDB 2.2.
![](/img/docs/v43/opentsdb_query_editor.png)
> Note: While using OpenTSDB 2.2 datasource, make sure you use either Filters or Tags as they are mutually exclusive. If used together, might give you weird results.
### Auto complete suggestions
As soon as you start typing metric names, tag names and tag values , you should see highlighted auto complete suggestions for them.
The autocomplete only works if the OpenTSDB suggest api is enabled.
## Templating queries
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
Grafana's OpenTSDB data source supports template variable queries. This means you can create template variables
that fetch the values from OpenTSDB. For example, metric names, tag names, or tag values.
When using OpenTSDB with a template variable of `query` type you can use following syntax for lookup.
Query | Description
------------ | -------------
*metrics(prefix)* | Returns metric names with specific prefix (can be empty)
*tag_names(cpu)* | Return tag names (i.e. keys) for a specific cpu metric
*tag_values(cpu, hostname)* | Return tag values for metric cpu and tag key hostname
*suggest_tagk(prefix)* | Return tag names (i.e. keys) for all metrics with specific prefix (can be empty)
*suggest_tagv(prefix)* | Return tag values for all metrics with specific prefix (can be empty)
If you do not see template variables being populated in `Preview of values` section, you need to enable
`tsd.core.meta.enable_realtime_ts` in the OpenTSDB server settings. Also, to populate metadata of
the existing time series data in OpenTSDB, you need to run `tsdb uid metasync` on the OpenTSDB server.
### Nested Templating
One template variable can be used to filter tag values for another template varible. First parameter is the metric name,
second parameter is the tag key for which you need to find tag values, and after that all other dependent template variables.
Some examples are mentioned below to make nested template queries work successfully.
Query | Description
------------ | -------------
*tag_values(cpu, hostname, env=$env)* | Return tag values for cpu metric, selected env tag value and tag key hostname
*tag_values(cpu, hostanme, env=$env, region=$region)* | Return tag values for cpu metric, selected env tag value, selected region tag value and tag key hostname
For details on OpenTSDB metric queries checkout the official [OpenTSDB documentation](http://opentsdb.net/docs/build/html/index.html)

View File

@@ -0,0 +1,95 @@
+++
title = "Using Prometheus in Grafana"
description = "Guide for using Prometheus in Grafana"
keywords = ["grafana", "prometheus", "guide"]
type = "docs"
aliases = ["/datasources/prometheus"]
[menu.docs]
name = "Prometheus"
parent = "datasources"
weight = 2
+++
# Using Prometheus in Grafana
Grafana includes built-in support for Prometheus.
## Adding the data source to Grafana
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select `Prometheus` from the *Type* dropdown.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
## Data source options
Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Url* | The http protocol, ip and port of you Prometheus server (default port is usually 9090)
*Access* | Proxy = access via Grafana backend, Direct = access directly from browser.
*Basic Auth* | Enable basic authentication to the Prometheus data source.
*User* | Name of your Prometheus user
*Password* | Database user's password
## Query editor
Open a graph in edit mode by click the title > Edit (or by pressing `e` key while hovering over panel).
![](/img/docs/v43/prometheus_query_editor.png)
Name | Description
------- | --------
*Query expression* | Prometheus query expression, check out the [Prometheus documentation](http://prometheus.io/docs/querying/basics/).
*Legend format* | Controls the name of the time series, using name or pattern. For example `{{hostname}}` will be replaced with label value for the label `hostname`.
*Min step* | Set a lower limit for the Prometheus step option. Step controls how big the jumps are when the Prometheus query engine performs range queries. Sadly there is no official prometheus documentation to link to for this very important option.
*Resolution* | Controls the step option. Small steps create high-resolution graphs but can be slow over larger time ranges, lowering the resolution can speed things up. `1/2` will try to set step option to generate 1 data point for every other pixel. A value of `1/10` will try to set step option so there is a data point every 10 pixels.*Metric lookup* | Search for metric names in this input field.
*Format as* | **(New in v4.3)** Switch between Table & Time series. Table format will only work in the Table panel.
## Templating
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
Variable of the type *Query* allows you to query Prometheus for a list of metrics, labels or label values. The Prometheus data source plugin
provides the following functions you can use in the `Query` input field.
Name | Description
---- | --------
*label_values(label)* | Returns a list of label values for the `label` in every metric.
*label_values(metric, label)* | Returns a list of label values for the `label` in the specified metric.
*metrics(metric)* | Returns a list of metrics matching the specified `metric` regex.
*query_result(query)* | Returns a list of Prometheus query result for the `query`.
For details of *metric names*, *label names* and *label values* are please refer to the [Prometheus documentation](http://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
### Using variables in queries
There are two syntaxes:
- `$<varname>` Example: rate(http_requests_total{job=~"$job"}[5m])
- `[[varname]]` Example: rate(http_requests_total{job="my[[job]]"}[5m])
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of a word. When the *Multi-value* or *Include all value*
options are enabled, Grafana converts the labels from plain text to a regex compatible string. Which means you have to use `=~` instead of `=`.
## Annotations
[Annotations]({{< relref "reference/annotations.md" >}}) allows you to overlay rich event information on top of graphs. You add annotation
queries via the Dashboard menu / Annotations view.
Prometheus supports two ways to query annotations.
- A regular metric query
- A Prometheus query for pending and firing alerts (for details see [Inspecting alerts during runtime](https://prometheus.io/docs/alerting/rules/#inspecting-alerts-during-runtime))
The step option is useful to limit the number of events returned from your query.

View File

@@ -0,0 +1,47 @@
+++
title = "TestData"
keywords = ["grafana", "dashboard", "documentation", "panels", "testdata"]
type = "docs"
[menu.docs]
name = "TestData"
parent = "datasources"
weight = 20
+++
# Grafana TestData
The purpose of this data sources is to make it easier to create fake data for any panel.
Using `Grafana TestData` you can build your own time series and have any panel render it.
This make is much easier to verify functionally since the data can be shared very
## Enable
`Grafana TestData` is not enabled by default. To enable it you have to go to `/plugins/testdata/edit` and click the enable button to enable.
## Create mock data.
Once `Grafana TestData` is enabled you can use it as a data source in any metric panel.
![](/img/docs/v41/test_data_add.png)
## CSV
The comma separated values scenario is the most powerful one since it lets you create any kind of graph you like.
Once you provided the numbers `Grafana TestData` will distribute them evenly based on the time range of your query.
![](/img/docs/v41/test_data_csv_example.png)
## Dashboards
`Grafana TestData` also contains some dashboards with example. `/plugins/testdata/edit`
### Commit updates to the dashboards
If you want to submit a change to one of the current dashboards bundled with `Grafana TestData` you have to update the revision property.
Otherwise the dashboard will not be updated automatically for other Grafana users.
## Using test data in issues
If you post an issue on github regarding time series data or rendering of time series data we strongly advice you to use this data source to replicate the data.
That makes it much easier for the developers to replicate and solve the issue you have.

View File

@@ -2,6 +2,7 @@
title = "Dashboard List"
keywords = ["grafana", "dashboard list", "documentation", "panel", "dashlist"]
type = "docs"
aliases = ["/reference/dashlist/"]
[menu.docs]
name = "Dashboard list"
parent = "panels"

View File

@@ -2,6 +2,7 @@
title = "Graph Panel"
keywords = ["grafana", "graph panel", "documentation", "guide", "graph"]
type = "docs"
aliases = ["/reference/graph/"]
[menu.docs]
name = "Graph"
parent = "panels"
@@ -18,7 +19,8 @@ Clicking the title for a panel exposes a menu. The `edit` option opens addition
options for the panel.
## General
![](/img/docs/v2/graph_general.png)
![](/img/docs/v43/graph_general.png)
The general tab allows customization of a panel's appearance and menu options.
@@ -31,14 +33,14 @@ The general tab allows customization of a panel's appearance and menu options.
### Drilldown / detail link
The drilldown section allows adding dynamic links to the panel that can link to other dashboards
or URLs
or URLs.
Each link has a title, a type and params. A link can be either a ``dashboard`` or ``absolute`` links.
If it is a dashboard links, the `dashboard` value must be the name of a dashboard. If it's an
`absolute` link, the URL is the URL to link.
If it is a dashboard link, the `dashboard` value must be the name of a dashboard. If it is an
`absolute` link, the URL is the URL to the link.
``params`` allows adding additional URL params to the links. The format is the ``name=value`` with
multiple params separate by ``&``. Template variables can be added as values using ``$myvar``.
multiple params separated by ``&``. Template variables can be added as values using ``$myvar``.
When linking to another dashboard that uses template variables, you can use ``var-myvar=value`` to
populate the template variable to a desired value from the link.
@@ -48,15 +50,9 @@ populate the template variable to a desired value from the link.
The metrics tab defines what series data and sources to render. Each datasource provides different
options.
### Graphite
### InfluxDB
### OpenTSDB
## Axes & Grid
![](/img/docs/v2/graph_axes_grid_options.png)
![](/img/docs/v43/graph_axes_grid_options.png)
The Axes & Grid tab controls the display of axes, grids and legend.
@@ -71,9 +67,6 @@ The ``Left Y`` and ``Right Y`` can be customized using:
Axes can also be hidden by unchecking the appropriate box from `Show Axis`.
Thresholds allow you to add arbitrary lines or sections to the graph to make it easier to see when
the graph crosses a particular threshold.
### Legend
The legend hand be hidden by checking the ``Show`` checkbox. If it's shown, it can be
@@ -83,7 +76,6 @@ values can be hidden from the legend using the ``Hide empty`` checkbox.
### Legend Values
Additional values can be shown along-side the legend names:
- ``Total`` - Sum of all values returned from metric query
- ``Current`` - Last value returned from the metric query
- ``Min`` - Minimum of all values returned from metric query
@@ -92,16 +84,22 @@ Additional values can be shown along-side the legend names:
- ``Decimals`` - Controls how many decimals are displayed for legend values (and graph hover tooltips)
The legend values are calculated client side by Grafana and depend on what type of
aggregation or point consolidation you metric query is using. All the above legend values cannot
aggregation or point consolidation your metric query is using. All the above legend values cannot
be correct at the same time. For example if you plot a rate like requests/second, this is probably
using average as aggregator, then the Total in the legend will not represent the total number of requests.
It is just the sum of all data points received by Grafana.
## Display styles
![](/img/docs/v2/graph_display_styles.png)
![](/img/docs/v43/graph_display_styles.png)
Display styles control visual properties of the graph.
### Thresholds
Thresholds allow you to add arbitrary lines or sections to the graph to make it easier to see when
the graph crosses a particular threshold.
Display styles controls properties of the graph.
### Chart Options
@@ -111,19 +109,19 @@ Display styles controls properties of the graph.
### Line Options
- ``Line Fill`` - Amount of color fill for a series. 0 is none.
- ``Line Fill`` - Amount of color fill for a series. 0 is none.
- ``Line Width`` - The width of the line for a series.
- ``Null point mode`` - How null values are displayed
- ``Staircase line`` - Draws adjacent points as staircase
### Multiple Series
If there are multiple series, they can be display as a group.
If there are multiple series, they can be displayed as a group.
- ``Stack`` - Each series is stacked on top of another
- ``Percent`` - Each series is draw as a percent of the total of all series
- ``Percent`` - Each series is drawn as a percentage of the total of all series
If you have stack enabled you can select what the mouse hover feature should show.
If you have stack enabled, you can select what the mouse hover feature should show.
- Cumulative - Sum of series below plus the series you hover over
- Individual - Just the value for the series you hover over
@@ -137,11 +135,15 @@ If you have stack enabled you can select what the mouse hover feature should sho
- ``All series`` - Show all series on the same tooltip and a x crosshairs to help follow all series
### Series specific overrides
### Series Specific Overrides
The section allows a series to be render different from the rest. For example, one series can be given
a thicker line width to make it standout.
The section allows a series to be rendered differently from the others. For example, one series can be given
a thicker line width to make it stand out.
## Time range
#### Dashes Drawing Style
There is an option under Series overrides to draw lines as dashes. Set Dashes to the value True to override the line draw setting for a specific series.
## Time Range
![](/img/docs/v2/graph_time_range.png)

View File

@@ -0,0 +1,108 @@
+++
title = "Heatmap Panel"
description = "Heatmap panel documentation"
keywords = ["grafana", "heatmap", "panel", "documentation"]
type = "docs"
[menu.docs]
name = "Heatmap"
parent = "panels"
weight = 3
+++
# Heatmap Panel
![](/img/docs/v43/heatmap_panel_cover.jpg)
> New panel only available in Grafana v4.3+
The Heatmap panel allows you to view histograms over time. To fully understand and use this panel you need
understand what Histograms are and how they are created. Read on below to for a quick introduction to the
term Histogram.
## Histograms and buckets
A histogram is a graphical representation of the distribution of numerical data. You group values into buckets
(some times also called bins) and then count how many values fall into each bucket. Instead
of graphing the actual values you then graph the buckets. Each bar represents a bucket
and the bar height represents the frequency (i.e. count) of values that fell into that bucket's interval.
Example Histogram:
![](/img/docs/v43/heatmap_histogram.png)
The above histogram shows us that most value distribution of a couple of time series. We can easily see that
most values land between 240-300 with a peak between 260-280. Histograms just look at value distributions
over specific time range. So you cannot see any trend or changes in the distribution over time,
this is where heatmaps become useful.
## Heatmap
A Heatmap is like a histogram but over time where each time slice represents its own
histogram. Instead of using bar height as a representation of frequency you use cells and color
the cell proportional to the number of values in the bucket.
Example:
![](/img/docs/v43/heatmap_histogram_over_time.png)
Here we can clearly see what values are more common and how they trend over time.
## Data Options
Data and bucket options can be found in the `Axes` tab.
### Data Formats
Data format | Description
------------ | -------------
*Time series* | Grafana does the bucketing by going through all time series values. The bucket sizes & intervals will be determined using the Buckets options.
*Time series buckets* | Each time series already represents a Y-Axis bucket. The time series name (alias) needs to be a numeric value representing the upper interval for the bucket. Grafana does no bucketing so the bucket size options are hidden.
### Bucket Size
The Bucket count & size options are used by Grafana to calculate how big each cell in the heatmap is. You can
define the bucket size either by count (the first input box) or by specifying a size interval. For the Y-Axis
the size interval is just a value but for the X-bucket you can specify a time range in the *Size* input, for example,
the time range `1h`. This will make the cells 1h wide on the X-axis.
### Pre-bucketed data
If you have a data that is already organized into buckets you can use the `Time series buckets` data format. This format requires that your metric query return regular time series and that each time series has a numeric name
that represent the upper or lower bound of the interval.
The only data source that supports histograms over time is Elasticsearch. You do this by adding a *Histogram*
bucket aggregation before the *Date Histogram*.
![](/img/docs/v43/elastic_histogram.png)
You control the size of the buckets using the Histogram interval (Y-Axis) and the Date Histogram interval (X-axis).
## Display Options
In the heatmap *Display* tab you define how the cells are rendered and what color they are assigned.
### Color Mode & Spectrum
{{< imgbox max-width="40%" img="/img/docs/v43/heatmap_scheme.png" caption="Color spectrum" >}}
The color spectrum controls the mapping between value count (in each bucket) and the color assigned to each bucket.
The left most color on the spectrum represents the minimum count and the color on the right most side represents the
maximum count. Some color schemes are automatically inverted when using the light theme.
You can also change the color mode to `Opacity`. In this case, the color will not change but the amount of opacity will
change with the bucket count.
## Raw data vs aggregated
If you use the heatmap with regular time series data (not pre-bucketed). Then it's important to keep in mind that your data
is often already by aggregated by your time series backend. Most time series queries do not return raw sample data
but include a group by time interval or maxDataPoints limit coupled with an aggregation function (usually average).
This all depends on the time range of your query of course. But the important point is to know that the Histogram bucketing
that Grafana performs may be done on already aggregated and averaged data. To get more accurate heatmaps it is better
to do the bucketing during metric collection or store the data in Elasticsearch, which currently is the only data source
data supports doing Histogram bucketing on the raw data.
If you remove or lower the group by time (or raise maxDataPoints) in your query to return more data points your heatmap will be
more accurate but this can also be very CPU & Memory taxing for your browser and could cause hangs and crashes if the number of
data points becomes unreasonably large.

View File

@@ -1,7 +1,8 @@
+++
title = "Singletat Panel"
title = "Singlestat Panel"
keywords = ["grafana", "dashboard", "documentation", "panels", "singlestat"]
type = "docs"
aliases = ["/reference/singlestat/"]
[menu.docs]
name = "Singlestat"
parent = "panels"
@@ -23,7 +24,16 @@ The singlestat panel has a normal query editor to allow you define your exact me
1. `Big Value`: Big Value refers to how we display the main stat for the Singlestat Panel. This is always a single value that is displayed in the Panel in between two strings, `Prefix` and `Suffix`. The single number is calculated by choosing a function (min,max,average,current,total) of your metric query. This functions reduces your query into a single numeric value.
2. `Font Size`: You can use this section to select the font size of the different texts in the Singlestat Panel, i.e. prefix, value and postfix.
3. `Values`: The Value fields let you set the function (min, max, average, current, total) that your entire query is reduced into a single value with. You can also set the font size of the Value field and font-size (as a %) of the metric query that the Panel is configured with. This reduces the entire query into a single summary value that is displayed.
3. `Values`: The Value fields let you set the function (min, max, average, current, total, first, delta, range) that your entire query is reduced into a single value with. You can also set the font size of the Value field and font-size (as a %) of the metric query that the Panel is configured with. This reduces the entire query into a single summary value that is displayed.
* `min` - The smallest value in the series
* `max` - The largest value in the series
* `avg` - The average of all the non-null values in the series
* `current` - The last value in the series. If the series ends on null the previous value will be used.
* `total` - The sum of all the non-null values in the series
* `first` - The first value in the series
* `delta` - The total incremental increase (of a counter) in the series. An attempt is made to account for counter resets, but this will only be accurate for single instance metrics. Used to show total counter increase in time series.
* `diff` - The difference betwen 'current' (last value) and 'first'.
* `range` - The difference between 'min' and 'max'. Useful the show the range of change for a gauge.
4. `Postfixes`: The Postfix fields let you define a custom label and font-size (as a %) to appear *after* the value
5. `Units`: Units are appended to the the Singlestat within the panel, and will respect the color and threshold settings for the value.
6. `Decimals`: The Decimal field allows you to override the automatic decimal precision, and set it explicitly.

View File

@@ -2,6 +2,7 @@
title = "Table Panel"
keywords = ["grafana", "dashboard", "documentation", "panels", "table panel"]
type = "docs"
aliases = ["/reference/table/"]
[menu.docs]
name = "Table"
parent = "panels"
@@ -84,8 +85,9 @@ The column styles allow you control how dates and numbers are formatted.
1. `Name or regex`: The Name or Regex field controls what columns the rule should be applied to. The regex or name filter will be matched against the column name not against column values.
2. `Type`: The three supported types of types are `Number`, `String` and `Date`.
3. `Format`: Specify date format. Only available when `Type` is set to `Date`.
4. `Coloring` and `Thresholds`: Specify color mode and thresholds limits.
5. `Unit` and `Decimals`: Specify unit and decimal precision for numbers.
6. `Add column style rule`: Add new column rule.
3. `Title`: Title for the column, when using a Regex the title can include replacement strings like `$1`.
4. `Format`: Specify date format. Only available when `Type` is set to `Date`.
5. `Coloring` and `Thresholds`: Specify color mode and thresholds limits.
6. `Unit` and `Decimals`: Specify unit and decimal precision for numbers.
7. `Add column style rule`: Add new column rule.

View File

@@ -14,13 +14,15 @@ parent = "guides"
This document is a “bottom up” introduction to basic concepts in Grafana, and can be used as a starting point to get familiar with core features.
### Data Source
Grafana supports many different storage backends for your time series data (Data Source). Each Data Source has a specific Query Editor that is customized for the features and capabilities that the particular Data Source exposes.
The following datasources are officially supported: [Graphite](/datasources/graphite/), [InfluxDB](/datasources/influxdb/), [OpenTSDB](/datasources/opentsdb/), [Prometheus](/datasources/prometheus/), [Elasticsearch](/datasources/elasticsearch/), [CloudWatch](/datasources/cloudwatch/), and [KairosDB](/datasources/kairosdb)
The following datasources are officially supported: [Graphite]({{< relref "features/datasources/graphite.md" >}}), [InfluxDB]({{< relref "features/datasources/influxdb.md" >}}), [OpenTSDB]({{< relref "features/datasources/opentsdb.md" >}}), [Prometheus]({{< relref "features/datasources/prometheus.md" >}}), [Elasticsearch]({{< relref "features/datasources/elasticsearch.md" >}}), [CloudWatch]({{< relref "features/datasources/cloudwatch.md" >}}).
The query language and capabilities of each Data Source are obviously very different. You can combine data from multiple Data Sources onto a single Dashboard, but each Panel is tied to a specific Data Source that belongs to a particular Organization.
### Organization
Grafana supports multiple organizations in order to support a wide variety of deployment models, including using a single Grafana instance to provide service to multiple potentially untrusted Organizations.
In many cases, Grafana will be deployed with a single Organization.
@@ -29,11 +31,12 @@ Each Organization can have one or more Data Sources.
All Dashboards are owned by a particular Organization.
> Note: It is important to remember that most metric databases to not provide any sort of per-user series authentication. Therefore, in Grafana, Data Sources and Dashboards are available to all Users in a particular Organization.
> Note: It is important to remember that most metric databases do not provide any sort of per-user series authentication. Therefore, in Grafana, Data Sources and Dashboards are available to all Users in a particular Organization.
For more details on the user model for Grafana, please refer to [Admin](/reference/admin/)
### User
A User is a named account in Grafana. A user can belong to one or more Organizations, and can be assigned different levels of privileges through roles.
Grafana supports a wide variety of internal and external ways for Users to authenticate themselves. These include from its own integrated database, from an external SQL server, or from an external LDAP server.

View File

@@ -3,6 +3,7 @@ title = "Getting Started"
description = "Getting started with Grafana guide"
keywords = ["grafana", "intro", "guide", "started"]
type = "docs"
aliases = ["/guides/gettingstarted"]
[menu.docs]
name = "Getting Started"
identifier = "getting_started_guide"
@@ -10,12 +11,15 @@ parent = "guides"
+++
# Getting started
This guide will help you get started and acquainted with Grafana. It assumes you have a working Grafana server up and running and have added at least one [Data Source](/datasources/overview).
This guide will help you get started and acquainted with Grafana. It assumes you have a working Grafana server up and running and have added at least one [Data Source](/features/datasources/).
## Beginner guides
Watch the 10min [beginners guide to building dashboards](https://www.youtube.com/watch?v=sKNZMtoSHN4&index=7&list=PLDGkOdUX1Ujo3wHw9-z5Vo12YLqXRjzg2) to get a quick intro to setting up Dashboards and Panels.
## Basic Concepts
Read the [Basic Concepts](/guides/basic_concepts) document to get a crash course in key Grafana concepts.
### Top header
@@ -34,7 +38,8 @@ The image above shows you the top header for a Dashboard.
6. Settings: Manage Dashboard settings and features such as Templating and Annotations.
## Dashboards, Panels, Rows, the building blocks of Grafana...
Dashboards are at the core of what Grafana is all about. Dashboards are composed of individual Panels arranged on a number of Rows. Grafana ships with a variety of Panels. Grafana makes it easy to construct the right queries, and customize the display properties so that you can create the perfect Dashboard for your need. Each Panel can interact with data from any configured Grafana Data Source (currently InfluxDB, Graphite, OpenTSDB, and KairosDB). The [Basic Concepts](/guides/basic_concepts) guide explores these key ideas in detail.
Dashboards are at the core of what Grafana is all about. Dashboards are composed of individual Panels arranged on a number of Rows. Grafana ships with a variety of Panels. Grafana makes it easy to construct the right queries, and customize the display properties so that you can create the perfect Dashboard for your need. Each Panel can interact with data from any configured Grafana Data Source (currently InfluxDB, Graphite, OpenTSDB, Prometheus and Cloudwatch). The [Basic Concepts](/guides/basic_concepts) guide explores these key ideas in detail.
## Adding & Editing Graphs and Panels

View File

@@ -107,5 +107,5 @@ view the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG
- - -
### <a href="http://grafana.org/download">Download Grafana 2.5 now</a>
### <a href="https://grafana.com/get">Download Grafana 2.5 now</a>

View File

@@ -7,7 +7,7 @@ type = "docs"
name = "Version 3.1"
identifier = "v3.1"
parent = "whatsnew"
weight = 1
weight = 5
+++
# What's New in Grafana v3.1
@@ -26,7 +26,7 @@ select data source and optional metrix prefix options.
<img src="/img/docs/v31/import_step1.png">
The above screenshot shows the new import modal that gives you 3 options for how to import a dashboard.
One notable new addition here is the ability to import directly from Dashboards shared on [Grafana.net](https://grafana.net).
One notable new addition here is the ability to import directly from Dashboards shared on [Grafana.com](https://grafana.com).
The next step in the import process:
@@ -37,9 +37,9 @@ shows a CollectD dashboard for Graphite that requires a metric prefix be specifi
## Discover Dashboards
On [Grafana.net](https://grafana.net) you can now browse & search for dashboards. We have already added a few but
On [Grafana.com](https://grafana.com) you can now browse & search for dashboards. We have already added a few but
more are being uploaded every day. To import a dashboard just copy the dashboard url and head back to Grafana,
then Dashboard Search -> Import -> Paste Grafana.net Dashboard URL.
then Dashboard Search -> Import -> Paste Grafana.com Dashboard URL.
<img src="/img/docs/v31/gnet_dashboards_list.png">

View File

@@ -7,14 +7,14 @@ type = "docs"
name = "Version 3.0"
identifier = "v3.0"
parent = "whatsnew"
weight = 2
weight = 6
+++
# What's New in Grafana v3.0
## Commercial Support
Commercial Support subscriptions for Grafana are now [generally available](https://grafana.net/support/plans/).
Commercial Support subscriptions for Grafana are now [generally available](https://grafana.com/support/plans/).
Raintank is committed to a 100% open-source strategy for Grafana. We
do not want to go down the “open core” route. If your organization
@@ -41,15 +41,15 @@ two new plugin types:
Dashboards, and Grafana **Pages**. Apps are a great way to provide an
entire experience right within Grafana.
## Grafana.net
## Grafana.com
<img src="/img/docs/v3/grafana_net_tour.png">
[Grafana.net](https://grafana.net) offers a central repository where the community can come together to discover, create and
[Grafana.com](https://grafana.com) offers a central repository where the community can come together to discover, create and
share plugins (data sources, panels, apps) and dashboards.
We are also working on a hosted Graphite-compatible data source that will be optimized for use with Grafana.
Itll be easy to combine your existing data source(s) with this OpenSaaS option. Finally, Grafana.net can
Itll be easy to combine your existing data source(s) with this OpenSaaS option. Finally, Grafana.com can
also be a hub to manage all your Grafana instances. Youll be able to monitor their health and availability,
perform dashboard backups, and more.
@@ -57,12 +57,12 @@ We are also working on a hosted Graphite-compatible Data Source that
will be optimized for use with Grafana. Itll be easy to combine your
existing Data Source(s) with this OpenSaaS option.
Finally, Grafana.net will also be a hub to manage all your Grafana
Finally, Grafana.com will also be a hub to manage all your Grafana
instances. Youll be able to monitor their health and availability,
perform Dashboard backups, and more.
Grafana.net will officially launch along with the stable version of
Grafana 3.0, but <a href=http://www.grafana.net>check out the preview
Grafana 3.0, but go to <a href=https://grafana.com> and check out the preview
and sign up for an account</a> in the meantime.
@@ -189,37 +189,37 @@ variable is interpolated.
data source (or panel) they need to be updated as well.
* InfluxDB 0.8: This data source is no longer included in releases,
you can still install manually from [Grafana.net](http://grafana.net)
you can still install manually from [Grafana.com](https://grafana.com)
* KairosDB: This data source has also no longer shipped with Grafana,
you can install it manually from [Grafana.net](http://grafana.net)
you can install it manually from [Grafana.com](https://grafana.com)
## Plugin showcase
Discovering and installing plugins is very quick and easy with Grafana 3.0 and [Grafana.net](https://grafana.net). Here
Discovering and installing plugins is very quick and easy with Grafana 3.0 and [Grafana.com](https://grafana.com). Here
are a couple that I incurage you try!
#### [Clock Panel](https://grafana.net/plugins/grafana-clock-panel)
#### [Clock Panel](https://grafana.com/plugins/grafana-clock-panel)
Support's both current time and count down mode.
<img src="/img/docs/v3/clock_panel.png">
#### [Pie Chart Panel](https://grafana.net/plugins/grafana-piechart-panel)
#### [Pie Chart Panel](https://grafana.com/plugins/grafana-piechart-panel)
A simple pie chart panel is now available as an external plugin.
<img src="/img/docs/v3/pie_chart_panel.png">
#### [WorldPing App](https://grafana.net/plugins/raintank-worldping-app)
#### [WorldPing App](https://grafana.com/plugins/raintank-worldping-app)
This is full blown Grafana App that adds new panels, data sources and pages to give
feature rich global performance monitoring directly from your on-prem Grafana.
<img src="/img/docs/v3/wP-Screenshot-dash-web.png">
#### [Zabbix App](https://grafana.net/plugins/alexanderzobnin-zabbix-app)
#### [Zabbix App](https://grafana.com/plugins/alexanderzobnin-zabbix-app)
This app contains the already very pouplar Zabbix data source plugin, 2 dashboards and a triggers panel. It is
created and maintained by [Alexander Zobnin](https://github.com/alexanderzobnin/grafana-zabbix).
<img src="/img/docs/v3/zabbix_app.png">
Checkout the full list of plugins on [Grafana.net](https://grafana.net/plugins)
Checkout the full list of plugins on [Grafana.com](https://grafana.com/plugins)
## CHANGELOG

View File

@@ -0,0 +1,70 @@
+++
title = "What's New in Grafana v4.1"
description = "Feature & improvement highlights for Grafana v4.1"
keywords = ["grafana", "new", "documentation", "4.1.0"]
type = "docs"
[menu.docs]
name = "Version 4.1"
identifier = "v4.1"
parent = "whatsnew"
weight = 3
+++
## Whats new in Grafana v4.1
- **Graph**: Support for shared tooltip on all graphs as you hover over one graph. [#1578](https://github.com/grafana/grafana/pull/1578), [#6274](https://github.com/grafana/grafana/pull/6274)
- **Victorops**: Add VictorOps notification integration [#6411](https://github.com/grafana/grafana/issues/6411), thx [@ichekrygin](https://github.com/ichekrygin)
- **Opsgenie**: Add OpsGenie notification integratiion [#6687](https://github.com/grafana/grafana/issues/6687), thx [@kylemcc](https://github.com/kylemcc)
- **Cloudwatch**: Make it possible to specify access and secret key on the data source config page [#6697](https://github.com/grafana/grafana/issues/6697)
- **Elasticsearch**: Added support for Elasticsearch 5.x [#5740](https://github.com/grafana/grafana/issues/5740), thx [@lpic10](https://github.com/lpic10)
- **Panel**: Added help text for panels. [#4079](https://github.com/grafana/grafana/issues/4079), thx [@utkarshcmu](https://github.com/utkarshcmu)
- [Full changelog](https://github.com/grafana/grafana/blob/master/CHANGELOG.md)
### Shared tooltip
{{< imgbox max-width="60%" img="/img/docs/v41/shared_tooltip.gif" caption="Shared tooltip" >}}
Showing the tooltip on all panels at the same time has been a long standing request in Grafana and we are really happy to finally be able to release it.
You can enable/disable the shared tooltip from the dashboard settings menu or cycle between default, shared tooltip and shared crosshair by pressing `CTRL + O` or `CMD + O`.
<div class="clearfix"></div>
### Help text for panel
{{< imgbox max-width="60%" img="/img/docs/v41/helptext_for_panel_settings.png" caption="Hovering help text" >}}
You can set a help text in the general tab on any panel. The help text is using Markdown to enable better formating and linking to other sites that can provide more information.
<div class="clearfix"></div>
{{< imgbox max-width="60%" img="/img/docs/v41/helptext_hover.png" caption="Hovering help text" >}}
Panels with a help text available have a little indicator in the top left corner. You can show the help text by hovering the icon.
<div class="clearfix"></div>
### Easier Cloudwatch configuration
{{< imgbox max-width="60%" img="/img/docs/v41/cloudwatch_settings.png" caption="Cloudwatch configuration" >}}
In Grafana 4.1.0 you can configure your Cloudwatch data source with `access key` and `secret key` directly in the data source configuration page.
This enables people to use the Cloudwatch data source without having access to the filesystem where Grafana is running.
Once the `access key` and `secret key` have been saved the user will no longer be able to view them.
<div class="clearfix"></div>
## Upgrade & Breaking changes
Elasticsearch 1.x is no longer supported. Please upgrade to Elasticsearch 2.x or 5.x. Otherwise Grafana 4.1.0 contains no breaking changes.
## Changelog
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list
of new features, changes, and bug fixes.
## Download
Head to [v4.1 download page](/download/4_1_0/) for download links & instructions.
## Thanks
A big thanks to all the Grafana users who contribute by submitting PRs, bug reports & feedback!

View File

@@ -0,0 +1,88 @@
+++
title = "What's New in Grafana v4.2"
description = "Feature & improvement highlights for Grafana v4.2"
keywords = ["grafana", "new", "documentation", "4.2.0"]
type = "docs"
[menu.docs]
name = "Version 4.2"
identifier = "v4.2"
parent = "whatsnew"
weight = -1
+++
## Whats new in Grafana v4.2
Grafana v4.2 Beta is now [available for download](https://grafana.com/grafana/download/4.2.0).
Just like the last release this one contains lots bug fixes and minor improvements.
We are very happy to say that 27 of 40 issues was closed by pull requests from the community.
Big thumbs up!
## Release Highlights
- **Hipchat**: Adds support for sending alert notifications to hipchat [#6451](https://github.com/grafana/grafana/issues/6451), thx [@jregovic](https://github.com/jregovic)
- **Telegram**: Added Telegram alert notifier [#7098](https://github.com/grafana/grafana/pull/7098), thx [@leonoff](https://github.com/leonoff)
- **LINE**: Add LINE as alerting notification channel [#7301](https://github.com/grafana/grafana/pull/7301), thx [@huydx](https://github.com/huydx)
- **Templating**: Make $__interval and $__interval_ms global built in variables that can be used in by any datasource (in panel queries), closes [#7190](https://github.com/grafana/grafana/issues/7190), closes [#6582](https://github.com/grafana/grafana/issues/6582)
- **Alerting**: Adds deduping of alert notifications [#7632](https://github.com/grafana/grafana/pull/7632)
- **Alerting**: Better information about why an alert triggered [#7035](https://github.com/grafana/grafana/issues/7035)
- **Orgs**: Sharing dashboards using Grafana share feature will now redirect to correct org. [#6948](https://github.com/grafana/grafana/issues/6948)
- [Full changelog](https://github.com/grafana/grafana/blob/master/CHANGELOG.md)
### New alert notification channels
This release adds **five** new alert notifications channels, all of them contributed by the community.
* Hipchat
* Telegram
* LINE
* Pushover
* Threema
### Templating
We added two new global built in variables in grafana. `$__interval` and `$__interval_ms` are now reserved template names in grafana and can be used by any datasource.
We might add more global built in variables in the future and if we do we will prefix them with `$__`. So please avoid using that in your template variables.
### Dedupe alert notifications when running multiple servers
In this release we will dedupe alert notificiations when you are running multiple servers.
This makes it possible to run alerting on multiple servers and only get one notification.
We currently solve this with sql transactions which puts some limitations for how many servers you can use to execute the same rules.
3-5 servers should not be a problem but as always, it depends on how many alerts you have and how frequently they execute.
Next up for a better HA situation is to add support for workload balancing between Grafana servers.
### Alerting more info
You can now see the reason why an alert triggered in the alert history. Its also easier to detect when an alert is set to `alerting` due to the `no_data` option.
### Improved support for multi-org setup
When loading dashboards we now set an query parameter called orgId. So we can detect from which org an user shared a dashboard.
This makes it possible for users to share dashboards between orgs without changing org first.
We aim to introduce [dashboard groups](https://github.com/grafana/grafana/issues/1611) sometime in the future which will introduce access control and user groups within one org.
Making it possible to have users in multiple groups and have detailed access control.
## Upgrade & Breaking changes
If your using https in grafana we now force you to use tls 1.2 and the most secure ciphers.
We think its better to be secure by default rather then making it configurable.
If you want to run https with lower versions of tls we suggest you put a reserve proxy in front of grafana.
If you have template variables name `$__interval` or `$__interval_ms` they will no longer work since these keywords
are reserved as global built in variables. We might add more global built in variables in the future and if we do, we will prefix them with `$__`. So please avoid using that in your template variables.
## Changelog
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list
of new features, changes, and bug fixes.
## Download
Head to [v4.2-beta download page](/download/4_2_0/) for download links & instructions.
## Thanks
A big thanks to all the Grafana users who contribute by submitting PRs, bug reports & feedback!

View File

@@ -0,0 +1,105 @@
+++
title = "What's New in Grafana v4.3"
description = "Feature & improvement highlights for Grafana v4.3"
keywords = ["grafana", "new", "documentation", "4.3.0"]
type = "docs"
[menu.docs]
name = "Version 4.3"
identifier = "v4.3"
parent = "whatsnew"
weight = -2
+++
## What's New in Grafana v4.3
Grafana v4.3 Beta is now [available for download](https://grafana.com/grafana/download/4.3.0-beta1).
## Release Highlights
- New [Heatmap Panel](http://docs.grafana.org/features/panels/heatmap/)
- Graph Panel Histogram Mode
- Elasticsearch Histogram Aggregation
- Prometheus Table data format
- New [MySQL Data Source](http://docs.grafana.org/features/datasources/mysql/) (alpha version to get some early feedback)
- 60+ small fixes and improvements, most of them contributed by our fantastic community!
Check out the [New Features in v4.3 Dashboard](http://play.grafana.org/dashboard/db/new-features-in-v4-3?orgId=1) on the Grafana Play site for a showcase of these new features.
## Histogram Support
A Histogram is a kind of bar chart that groups numbers into ranges, often called buckets or bins. Taller bars show that more data falls in that range.
The Graph Panel now supports Histograms.
![](/img/docs/v43/heatmap_histogram.png)
## Histogram Aggregation Support for Elasticsearch
Elasticsearch is the only supported data source that can return pre-bucketed data (data that is already grouped into ranges). With other data sources there is a risk of returning inaccurate data in a histogram due to using already aggregated data rather than raw data. This release adds support for Elasticsearch pre-bucketed data that can be visualized with the new [Heatmap Panel](http://docs.grafana.org/features/panels/heatmap/).
## Heatmap Panel
The Histogram support in the Graph Panel does not show changes over time - it aggregates all the data together for the chosen time range. To visualize a histogram over time, we have built a new [Heatmap Panel](http://docs.grafana.org/features/panels/heatmap/).
Every column in a Heatmap is a histogram snapshot. Instead of visualizing higher values with higher bars, a heatmap visualizes higher values with color. The histogram shown above is equivalent to one column in the heatmap shown below.
![](/img/docs/v43/heatmap_histogram_over_time.png)
The Heatmap panel also works with Elasticsearch Histogram Aggregations for more accurate server side bucketing.
![](/assets/img/blog/v4/elastic_heatmap.jpg)
## MySQL Data Source (alpha)
This release includes a [new core data source for MySQL](http://docs.grafana.org/features/datasources/mysql/). You can write any possible MySQL query and format it as either Time Series or Table Data allowing it be used with the Graph Panel, Table Panel and SingleStat Panel.
We are still working on the MySQL data source. As it's missing some important features, like templating and macros and future changes could be breaking, we are
labeling the state of the data source as Alpha. Instead of holding up the release of v4.3 we are including it in its current shape to get some early feedback. So please try it out and let us know what you think on [twitter](https://twitter.com/intent/tweet?text=.%40grafana&source=4_3_beta_blog&related=blog) or on our [community forum](https://community.grafana.com/c/releases). Is this a feature that you would use? How can we make it better?
**The query editor can show the generated and interpolated SQL that is sent to the MySQL server.**
![](/img/docs/v43/mysql_table_query.png)
**The query editor will also show any errors that resulted from running the query (very useful when you have a syntax error!).**
![](/img/docs/v43/mysql_query_error.png)
## Health Check Endpoint
Now you can monitor the monitoring with the Health Check Endpoint! The new `/api/health` endpoint returns HTTP 200 OK if everything is up and HTTP 503 Error if the Grafana database cannot be pinged.
## Lazy Load Panels
Grafana now delays loading panels until they become visible (scrolled into view). This means panels out of view are not sending requests thereby reducing the load on your time series database.
## Prometheus - Table Data (column per label)
The Prometheus data source now supports the Table Data format by automatically assigning a column to a label. This makes it really easy to browse data in the table panel.
![](/img/docs/v43/prom_table_cols_as_labels.png)
## Other Highlights From The Changelog
Changes:
- **Table**: Support to change column header text [#3551](https://github.com/grafana/grafana/issues/3551)
- **InfluxDB**: influxdb query builder support for ORDER BY and LIMIT (allows TOPN queries) [#6065](https://github.com/grafana/grafana/issues/6065) Support influxdb's SLIMIT Feature [#7232](https://github.com/grafana/grafana/issues/7232) thx [@thuck](https://github.com/thuck)
- **Graph**: Support auto grid min/max when using log scale [#3090](https://github.com/grafana/grafana/issues/3090), thx [@bigbenhur](https://github.com/bigbenhur)
- **Prometheus**: Make Prometheus query field a textarea [#7663](https://github.com/grafana/grafana/issues/7663), thx [@hagen1778](https://github.com/hagen1778)
- **Server**: Support listening on a UNIX socket [#4030](https://github.com/grafana/grafana/issues/4030), thx [@mitjaziv](https://github.com/mitjaziv)
Fixes:
- **MySQL**: 4-byte UTF8 not supported when using MySQL database (allows Emojis in Dashboard Names) [#7958](https://github.com/grafana/grafana/issues/7958)
- **Dashboard**: Description tooltip is not fully displayed [#7970](https://github.com/grafana/grafana/issues/7970)
Lots more enhancements and fixes can be found in the [Changelog](https://github.com/grafana/grafana/blob/master/CHANGELOG.md).
## Download
Head to the [v4.3 download page](https://grafana.com/grafana/download) for download links & instructions.
## Thanks
A big thanks to all the Grafana users who contribute by submitting PRs, bug reports, helping out on our [community site](https://community.grafana.com/) and providing feedback!

View File

@@ -4,10 +4,10 @@ description = "Feature & improvement highlights for Grafana v4.0"
keywords = ["grafana", "new", "documentation", "4.0"]
type = "docs"
[menu.docs]
name = "Version 4.0 (Latest)"
name = "Version 4.0"
identifier = "v4.0"
parent = "whatsnew"
weight = -1
weight = 4
+++
# What's New in Grafana v4.0
@@ -27,7 +27,7 @@ notifications will be sent out when the rule conditions are met.
This feature has been worked on for over a year with many iterations and rewrites
just to make sure the foundations are really solid. We are really proud to finally release it!
Since the alerting execution is processed in the backend all data source plugins are not supported.
Since the alerting execution is processed in the backend not all data source plugins are supported.
Right now Graphite, Prometheus, InfluxDB and OpenTSDB are supported. Elasticsearch is being worked
on but will be not ready for v4 release.
@@ -70,8 +70,8 @@ to add graph comments in the form of annotations directly from within Grafana in
{{< imgbox max-width="30%" img="/img/docs/v4/alert_list_panel.png" caption="Alert List Panel" >}}
This new panel allows you to show alert rules or a history of alert rule state changes. You can filter based on states your
interested in. Very useful panel for overview style dashboards.
This new panel allows you to show alert rules or a history of alert rule state changes. You can filter based on states you are
interested in. This panel is very useful for overview style dashboards.
<div class="clearfix"></div>
@@ -79,8 +79,8 @@ interested in. Very useful panel for overview style dashboards.
{{< imgbox max-width="30%" img="/img/docs/v4/adhoc_filters.gif" caption="Ad-hoc filters variable" >}}
This is a new and very different type of template variable. It will allow you to create new key/value filters on the fly.
With autocomplete for both key and values. The filter condition will be automatically applied to all
This is a new and very different type of template variable. It will allow you to create new key/value filters on the fly
with autocomplete for both key and values. The filter condition will be automatically applied to all
queries that use that data source. This feature opens up more exploratory dashboards. In the gif animation to the right
you have a dashboard for Elasticsearch log data. It uses one query variable that allow you to quickly change how the data
is grouped, and an interval variable for controlling the granularity of the time buckets. What was missing
@@ -126,15 +126,15 @@ We always try to bring some UX/UI refinements & polish in every release.
{{< imgbox max-width="50%" img="/img/docs/v4/add_panel.gif" caption="Add Panel flow" >}}
We spent a lot of time improving the dashboard building experience. Trying to make it both
We spent a lot of time improving the dashboard building experience to make it both
more efficient and easier for beginners. After many good but not great experiments
with a `build mode` we eventually decided to just improve the green row menu and
continue work on a `build mode` for a future release.
The new row menu automatically slides out when you mouse over the edge of the row. You no longer need
to hover over the small green icon and the click it to expand the row menu.
to hover over the small green icon and then click it to expand the row menu.
There is some minor improvements to drag and drop behaviour. Now when dragging a panel from one row
There are some minor improvements to drag and drop behaviour. Now when dragging a panel from one row
to another you will insert the panel and Grafana will automatically make room for it.
When you drag a panel within a row you will simply reorder the panels.
@@ -150,7 +150,7 @@ We plan to further improve dashboard building in the future with a more rich gri
{{< imgbox max-width="40%" img="/img/docs/v4/shortcuts.png" caption="Shortcuts" >}}
Grafana v4 introduces a number of really powerful keyboard shortcuts. You can now focus a panel
by hovering over it with your mouse. With a panel focused you can simple hit `e` to toggle panel
by hovering over it with your mouse. With a panel focused you can simply hit `e` to toggle panel
edit mode, or `v` to toggle fullscreen mode. `p r` removes the panel. `p s` opens share
modal.
@@ -164,10 +164,10 @@ Some nice navigation shortcuts are:
## Upgrade & Breaking changes
There are no breaking changes. Old dashboards and features should work the same. Grafana-server will automatically upgrade it's db
There are no breaking changes. Old dashboards and features should work the same. Grafana-server will automatically upgrade its db
schema on restart. It's advisable to do a backup of Grafana's database before updating.
If your are using plugins make sure to update your plugins as some might not work perfectly v4.
If you are using plugins make sure to update your plugins as some might not work perfectly v4.
You can update plugins using grafana-cli

View File

@@ -1,8 +1,13 @@
----
page_title: Admin APIs
page_description: Grafana Admin API Reference
page_keywords: grafana, admin, http, api, documentation
---
+++
title = "Admin HTTP API "
description = "Grafana Admin HTTP API"
keywords = ["grafana", "http", "documentation", "api", "admin"]
aliases = ["/http_api/admin/"]
type = "docs"
[menu.docs]
name = "Admin"
parent = "http_api"
+++
# Admin API
@@ -138,6 +143,7 @@ with Grafana admin permission.
"protocol":"http",
"root_url":"%(protocol)s://%(domain)s:%(http_port)s/",
"router_logging":"true",
"data_proxy_logging":"true",
"static_root_path":"public"
},
"session":{
@@ -152,6 +158,7 @@ with Grafana admin permission.
"cert_file":"",
"enabled":"false",
"from_address":"admin@grafana.localhost",
"from_name":"Grafana",
"host":"localhost:25",
"key_file":"",
"password":"************",
@@ -230,12 +237,14 @@ Change password for specific user
Accept: application/json
Content-Type: application/json
{"password":"userpassword"}
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{"password":"userpassword"}
{"message": "User password updated"}
## Permissions
@@ -247,6 +256,8 @@ Change password for specific user
Accept: application/json
Content-Type: application/json
{"isGrafanaAdmin": true}
**Example Response**:
HTTP/1.1 200
@@ -270,3 +281,28 @@ Change password for specific user
Content-Type: application/json
{message: "User deleted"}
## Pause all alerts
`POST /api/admin/pause-all-alerts`
**Example Request**:
POST /api/admin/pause-all-alerts HTTP/1.1
Accept: application/json
Content-Type: application/json
{
"paused": true
}
JSON Body schema:
- **paused** If true then all alerts are to be paused, false unpauses all alerts.
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{state: "new state", message: "alerts pause/un paused", "alertsAffected": 100}

View File

@@ -0,0 +1,240 @@
+++
title = "Alerting HTTP API "
description = "Grafana Alerting HTTP API"
keywords = ["grafana", "http", "documentation", "api", "alerting"]
aliases = ["/http_api/alerting/"]
type = "docs"
[menu.docs]
name = "Alerting"
parent = "http_api"
+++
# Alerting API
You can use the Alerting API to get information about alerts and their states but this API cannot be used to modify the alert.
To create new alerts or modify them you need to update the dashboard json that contains the alerts.
This API can also be used to create, update and delete alert notifications.
## Get alerts
`GET /api/alerts/`
**Example Request**:
GET /api/alerts HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Querystring Parameters:
These parameters are used as querystring parameters. For example:
`/api/alerts?dashboardId=1`
- **dashboardId** Return alerts for a specified dashboard.
- **panelId** Return alerts for a specified panel on a dashboard.
- **limit** - Limit response to x number of alerts.
- **state** - Return alerts with one or more of the following alert states: `ALL`,`no_data`, `paused`, `alerting`, `ok`, `pending`. To specify multiple states use the following format: `?state=paused&state=alerting`
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
[
{
"id": 1,
"dashboardId": 1,
"panelId": 1,
"name": "fire place sensor",
"message": "Someone is trying to break in through the fire place",
"state": "alerting",
"evalDate": "0001-01-01T00:00:00Z",
"evalData": [
{
"metric": "fire",
"tags": null,
"value": 5.349999999999999
}
"newStateDate": "2016-12-25",
"executionError": "",
"dashboardUri": "http://grafana.com/dashboard/db/sensors"
}
]
## Get one alert
`GET /api/alerts/:id`
**Example Request**:
GET /api/alerts/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"dashboardId": 1,
"panelId": 1,
"name": "fire place sensor",
"message": "Someone is trying to break in through the fire place",
"state": "alerting",
"newStateDate": "2016-12-25",
"executionError": "",
"dashboardUri": "http://grafana.com/dashboard/db/sensors"
}
## Pause alert
`POST /api/alerts/:id/pause`
**Example Request**:
POST /api/alerts/1/pause HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"paused": true
}
The :id query parameter is the id of the alert to be paused or unpaused.
JSON Body Schema:
- **paused** Can be `true` or `false`. True to pause an alert. False to unpause an alert.
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"alertId": 1,
"state": "Paused",
"message": "alert paused"
}
## Get alert notifications
`GET /api/alert-notifications`
**Example Request**:
GET /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"name": "Team A",
"type": "email",
"isDefault": true,
"created": "2017-01-01 12:45",
"updated": "2017-01-01 12:45"
}
## Create alert notification
`POST /api/alert-notifications`
**Example Request**:
POST /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"name": "new alert notification", //Required
"type": "email", //Required
"isDefault": false,
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
}
}
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"name": "new alert notification",
"type": "email",
"isDefault": false,
"settings": { addresses: "carl@grafana.com;dev@grafana.com"} }
"created": "2017-01-01 12:34",
"updated": "2017-01-01 12:34"
}
## Update alert notification
`PUT /api/alert-notifications/1`
**Example Request**:
PUT /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"id": 1,
"name": "new alert notification", //Required
"type": "email", //Required
"isDefault": false,
"settings": {
"addresses: "carl@grafana.com;dev@grafana.com"
}
}
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"name": "new alert notification",
"type": "email",
"isDefault": false,
"settings": { addresses: "carl@grafana.com;dev@grafana.com"} }
"created": "2017-01-01 12:34",
"updated": "2017-01-01 12:34"
}
## Delete alert notification
`DELETE /api/alert-notifications/:notificationId`
**Example Request**:
DELETE /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"message": "Notification deleted"
}

View File

@@ -1,8 +1,13 @@
----
page_title: Authentication API
page_description: Grafana HTTP API Reference
page_keywords: grafana, admin, http, api, documentation
---
+++
title = "Authentication HTTP API "
description = "Grafana Authentication HTTP API"
keywords = ["grafana", "http", "documentation", "api", "authentication"]
aliases = ["/http_api/authentication/"]
type = "docs"
[menu.docs]
name = "Authentication"
parent = "http_api"
+++
# Authentication API
@@ -13,7 +18,7 @@ Currently you can authenticate via an `API Token` or via a `Session cookie` (acq
## Basic Auth
If basic auth is enabled (it is enabled by default) you can authenticate your HTTP request via
standard basic auth.
standard basic auth. Basic auth will also authenticate LDAP users.
curl example:
```
@@ -25,7 +30,7 @@ curl example:
Open the sidemenu and click the organization dropdown and select the `API Keys` option.
![](/img/v2/orgdropdown_api_keys.png)
![](/img/docs/v2/orgdropdown_api_keys.png)
You use the token in all requests in the `Authorization` header, like this:
@@ -36,3 +41,80 @@ You use the token in all requests in the `Authorization` header, like this:
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
The `Authorization` header value should be `Bearer <your api key>`.
# Auth HTTP resources / actions
## Api Keys
`GET /api/auth/keys`
**Example Request**:
GET /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
[
{
"id": 3,
"name": "API",
"role": "Admin"
},
{
"id": 1,
"name": "TestAdmin",
"role": "Admin"
}
]
## Create API Key
`POST /api/auth/keys`
**Example Request**:
POST /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"name": "mykey",
"role": "Admin"
}
JSON Body schema:
- **name** The key name
- **role** Sets the access level/Grafana Role for the key. Can be one of the following values: `Viewer`, `Editor`, `Read Only Editor` or `Admin`.
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{"name":"mykey","key":"eyJrIjoiWHZiSWd3NzdCYUZnNUtibE9obUpESmE3bzJYNDRIc0UiLCJuIjoibXlrZXkiLCJpZCI6MX1="}
## Delete API Key
`DELETE /api/auth/keys/:id`
**Example Request**:
DELETE /api/auth/keys/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{"message":"API key deleted"}

View File

@@ -1,8 +1,13 @@
----
page_title: Dashboard API
page_description: Grafana Dashboard API Reference
page_keywords: grafana, admin, http, api, documentation, dashboard
---
+++
title = "Dashboard HTTP API "
description = "Grafana Dashboard HTTP API"
keywords = ["grafana", "http", "documentation", "api", "dashboard"]
aliases = ["/http_api/dashboard/"]
type = "docs"
[menu.docs]
name = "Dashboard"
parent = "http_api"
+++
# Dashboard API
@@ -14,26 +19,28 @@ Creates a new dashboard or updates an existing dashboard.
**Example Request for new dashboard**:
POST /api/dashboards/db HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```http
POST /api/dashboards/db HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"dashboard": {
"id": null,
"title": "Production Overview",
"tags": [ "templated" ],
"timezone": "browser",
"rows": [
{
}
],
"schemaVersion": 6,
"version": 0
},
"overwrite": false
}
```
JSON Body schema:
- **dashboard** The complete dashboard model, id = null to create a new dashboard
- **overwrite** Set to true if you want to overwrite existing dashboard with newer version or with same dashboard title.
**Example Response**:
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
```
Status Codes:
- **200** Created
@@ -42,15 +49,17 @@ JSON Body schema:
- **412** Precondition failed
The **412** status code is used when a newer dashboard already exists (newer, its version is greater than the version that was sent). The
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
same status code is also used if another dashboard exists with the same title. The response body will look like this:
```http
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
{
"slug": "production-overview",
"status": "success",
"version": 1
}
Content-Length: 97
```
In in case of title already exists the `status` property will be `name-exists`.
## Get dashboard
`GET /api/dashboards/db/:slug`
@@ -62,14 +71,16 @@ Status Codes:
```http
GET /api/dashboards/db/production-overview HTTP/1.1
Accept: application/json
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
{
"message": "The dashboard has been changed by someone else",
"status": "version-mismatch"
}
```http
HTTP/1.1 200
Content-Type: application/json
```
## Delete dashboard
@@ -81,34 +92,38 @@ Will return the dashboard given the dashboard slug. Slug is the url friendly ver
**Example Request**:
```http
GET /api/dashboards/db/production-overview HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
DELETE /api/dashboards/db/test HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
HTTP/1.1 200
Content-Type: application/json
```
{
"meta": {
"isStarred": false,
"slug": "production-overview"
},
"dashboard": {
"id": null,
"title": "Production Overview",
"tags": [ "templated" ],
"timezone": "browser",
"rows": [
{
}
],
"schemaVersion": 6,
"version": 0
## Gets the home dashboard
`GET /api/dashboards/home`
Will return the home dashboard.
**Example Request**:
GET /api/dashboards/home HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
}
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"meta": {
"isHome":true,
@@ -118,17 +133,21 @@ The above will delete the dashboard with the specified slug. The slug is the url
"slug":"",
"expires":"0001-01-01T00:00:00Z",
"created":"0001-01-01T00:00:00Z"
DELETE /api/dashboards/db/test HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
},
"dashboard": {
"editable":false,
"hideControls":true,
"nav":[
{
"enable":false,
"type":"timepicker"
}
HTTP/1.1 200
Content-Type: application/json
],
"rows": [
{
{"title": "Test"}
}
],
"style":"dark",
"tags":[],
"templating":{
@@ -195,7 +214,7 @@ Get all tags of dashboards
HTTP/1.1 200
Content-Type: application/json
GET /api/dashboards/home HTTP/1.1
[
{
"id":1,
@@ -216,10 +235,6 @@ Get all tags of dashboards
}
]
## Dashboard from JSON file
`GET /file/:file`
## Search Dashboards
`GET /api/search/`
@@ -227,7 +242,7 @@ Get all tags of dashboards
Status Codes:
- **query** Search Query
- **tags** Tags to use
- **tag** Tag to use
- **starred** Flag indicating if only starred Dashboards should be returned
- **tagcloud** - Flag indicating if a tagcloud should be returned

View File

@@ -1,8 +1,14 @@
----
page_title: Data source API
page_description: Grafana Data source API Reference
page_keywords: grafana, admin, http, api, documentation, datasource
---
+++
title = "Data source HTTP API "
description = "Grafana Data source HTTP API"
keywords = ["grafana", "http", "documentation", "api", "data source"]
aliases = ["/http_api/datasource/"]
type = "docs"
[menu.docs]
name = "Data source"
parent = "http_api"
+++
# Data source API
@@ -152,7 +158,7 @@ page_keywords: grafana, admin, http, api, documentation, datasource
HTTP/1.1 200
Content-Type: application/json
{"id":1,"message":"Datasource added"}
{"id":1,"message":"Datasource added", "name": "test_datasource"}
## Update an existing data source
@@ -187,9 +193,9 @@ page_keywords: grafana, admin, http, api, documentation, datasource
HTTP/1.1 200
Content-Type: application/json
{"message":"Datasource updated"}
{"message":"Datasource updated", "id": 1, "name": "test_datasource"}
## Delete an existing data source
## Delete an existing data source by id
`DELETE /api/datasources/:datasourceId`
@@ -207,6 +213,24 @@ page_keywords: grafana, admin, http, api, documentation, datasource
{"message":"Data source deleted"}
## Delete an existing data source by name
`DELETE /api/datasources/name/:datasourceName`
**Example Request**:
DELETE /api/datasources/name/test_datasource HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{"message":"Data source deleted"}
## Data source proxy calls
`GET /api/datasources/proxy/:datasourceId/*`

View File

@@ -1,7 +1,29 @@
+++
title = "HTTP API"
description = "Grafana HTTP API"
keywords = ["grafana", "http", "documentation", "api", "overview"]
type = "docs"
[menu.docs]
name = "HTTP API"
identifier = "http_api"
weight = 9
+++
# HTTP API Reference
The Grafana backend exposes an HTTP API, the same API is used by the frontend to do everything from saving
dashboards, creating users and updating data sources.
## Supported HTTP APIs:
* [Authentication API]({{< relref "auth.md" >}})
* [Dashboard API]({{< relref "dashboard.md" >}})
* [Data Source API]({{< relref "data_source.md" >}})
* [Organisation API]({{< relref "org.md" >}})
* [User API]({{< relref "user.md" >}})
* [Admin API]({{< relref "admin.md" >}})
* [Snapshot API]({{< relref "snapshot.md" >}})
* [Preferences API]({{< relref "preferences.md" >}})
* [Other API]({{< relref "other.md" >}})

View File

@@ -1,8 +1,14 @@
----
page_title: Organisation API
page_description: Grafana Organisation API Reference
page_keywords: grafana, admin, http, api, documentation, orgs, organisation
---
+++
title = "Organisation HTTP API "
description = "Grafana Organisation HTTP API"
keywords = ["grafana", "http", "documentation", "api", "organisation"]
aliases = ["/http_api/organisation/"]
type = "docs"
[menu.docs]
name = "Organisation"
parent = "http_api"
+++
# Organisation API
@@ -87,11 +93,11 @@ page_keywords: grafana, admin, http, api, documentation, orgs, organisation
## Create Organisation
`POST /api/org`
`POST /api/orgs`
**Example Request**:
POST /api/org HTTP/1.1
POST /api/orgs HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

View File

@@ -1,8 +1,14 @@
----
page_title: Other APIs
page_description: Grafana Other API Reference
page_keywords: grafana, admin, http, api, documentation, dashboards
---
+++
title = "Other HTTP API "
description = "Grafana Other HTTP API"
keywords = ["grafana", "http", "documentation", "api", "other"]
aliases = ["/http_api/other/"]
type = "docs"
[menu.docs]
name = "Other"
parent = "http_api"
+++
# Frontend Settings API

View File

@@ -1,22 +0,0 @@
----
page_title: HTTP API
page_description: Grafana HTTP API Reference
page_keywords: grafana, admin, http, api, documentation
---
# HTTP API Reference
The Grafana backend exposes an HTTP API, the same API is used by the frontend to do everything from saving
dashboards, creating users and updating data sources.
###Supported HTTP APIs:
* [Authentication API](/http_api/auth/)
* [Dashboard API](/http_api/dashboard/)
* [Data Source API](/http_api/data_source/)
* [Organisation API](/http_api/org/)
* [User API](/http_api/user/)
* [Admin API](/http_api/admin/)
* [Snapshot API](/http_api/snapshot/)
* [Preferences API](/http_api/preferences/)
* [Other API](/http_api/other/)

View File

@@ -1,8 +1,13 @@
----
page_title: Preferences API
page_description: Grafana Preferences API Reference
page_keywords: grafana, preferences, http, api, documentation
---
+++
title = "HTTP Preferences API "
description = "Grafana HTTP API"
keywords = ["grafana", "http", "documentation", "api", "preferences"]
aliases = ["/http_api/preferences/"]
type = "docs"
[menu.docs]
name = "Preferences"
parent = "http_api"
+++
# User and Org Preferences API

View File

@@ -1,8 +1,13 @@
----
page_title: Snapshot API
page_description: Grafana Snapshot API Reference
page_keywords: grafana, admin, http, api, documentation, snapshot, dashboard
---
+++
title = "HTTP Snapshot API "
description = "Grafana HTTP API"
keywords = ["grafana", "http", "documentation", "api", "snapshot"]
aliases = ["/http_api/snapshot/"]
type = "docs"
[menu.docs]
name = "Snapshot"
parent = "http_api"
+++
# Snapshot API

View File

@@ -13,7 +13,7 @@ parent = "http_api"
## Search Users
`GET /api/users`
`GET /api/users?perpage=10&page=1`
**Example Request**:
@@ -22,6 +22,8 @@ parent = "http_api"
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Default value for the `perpage` parameter is `1000` and for the `page` parameter is `1`.
**Example Response**:
HTTP/1.1 200
@@ -44,6 +46,45 @@ parent = "http_api"
}
]
## Search Users with Paging
`GET /api/users/search?perpage=10&page=1&query=mygraf`
**Example Request**:
GET /api/users/search?perpage=10&page=1&query=mygraf HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Default value for the `perpage` parameter is `1000` and for the `page` parameter is `1`. The `totalCount` field in the response can be used for pagination of the user list E.g. if `totalCount` is equal to 100 users and the `perpage` parameter is set to 10 then there are 10 pages of users. The `query` parameter is optional and it will return results where the query value is contained in one of the `name`, `login` or `email` fields. Query values with spaces need to be url encoded e.g. `query=Jane%20Doe`.
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"totalCount": 2,
"users": [
{
"id": 1,
"name": "Admin",
"login": "admin",
"email": "admin@mygraf.com",
"isAdmin": true
},
{
"id": 2,
"name": "User",
"login": "user",
"email": "user@mygraf.com",
"isAdmin": false
}
],
"page": 1,
"perPage": 10
}
## Get single user by Id
`GET /api/users/:id`
@@ -69,6 +110,39 @@ parent = "http_api"
"isGrafanaAdmin": true
}
## Get single user by Username(login) or Email
`GET /api/users/lookup?loginOrEmail=user@mygraf.com`
**Example Request using the email as option**:
GET /api/users/lookup?loginOrEmail=user@mygraf.com HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Request using the username as option**:
GET /api/users/lookup?loginOrEmail=admin HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Response**:
HTTP/1.1 200
Content-Type: application/json
{
"email": "user@mygraf.com"
"name": "admin",
"login": "admin",
"theme": "light",
"orgId": 1,
"isGrafanaAdmin": true
}
## User Update
`PUT /api/users/:id`

View File

@@ -1,8 +1,9 @@
+++
title = "Grafana Documentation Site"
title = "Docs Home"
description = "Install guide for Grafana"
keywords = ["grafana", "installation", "documentation"]
type = "docs"
aliases = ["v1.1", "guides/reference/admin"]
[menu.docs]
name = "Welcome to the Docs"
identifier = "root"
@@ -22,7 +23,7 @@ other domains including industrial sensors, home automation, weather, and proces
- [Installing on Windows](installation/windows)
- [Installing on Docker](installation/docker)
- [Installing using Provisioning (Chef, Puppet, Salt, Ansible, etc)](installation/provisioning)
- [Nightly Builds](http://grafana.org/builds)
- [Nightly Builds](https://grafana.com/grafana/download)
For other platforms Read the [build from source]({{< relref "project/building_from_source.md" >}})
instructions for more information.
@@ -30,21 +31,21 @@ instructions for more information.
## Configuring Grafana
The back-end web server has a number of configuration options. Go the
[Configuration](/installation/configuration) page for details on all
[Configuration]({{< relref "installation/configuration.md" >}}) page for details on all
those options.
## Getting started
- [Getting Started](guides/getting_started)
- [Basic Concepts](guides/basic_concepts)
- [Screencasts](tutorials/screencasts)
- [Getting Started]({{< relref "guides/getting_started.md" >}})
- [Basic Concepts]({{< relref "guides/basic_concepts.md" >}})
- [Screencasts]({{< relref "tutorials/screencasts.md" >}})
## Data sources guides
- [Graphite](datasources/graphite)
- [Elasticsearch](datasources/elasticsearch)
- [InfluxDB](datasources/influxdb)
- [OpenTSDB](datasources/opentsdb)
- [Graphite]({{< relref "features/datasources/graphite.md" >}})
- [Elasticsearch]({{< relref "features/datasources/elasticsearch.md" >}})
- [InfluxDB]({{< relref "features/datasources/influxdb.md" >}})
- [OpenTSDB]({{< relref "features/datasources/opentsdb.md" >}})

View File

@@ -23,16 +23,18 @@ domain = foo.bar
To use sub *path* ex `http://foo.bar/grafana` make sure to include `/grafana` in the end of root_url.
Otherwise Grafana will not behave correctly. See example below.
# Examples
## Examples
Here are some example configurations for running Grafana behind a reverse proxy.
## Grafana configuration (ex http://foo.bar.com)
### Grafana configuration (ex http://foo.bar.com)
```
[server]
domain = foo.bar
```
## Nginx configuration
### Nginx configuration
```
server {
listen 80;
@@ -45,16 +47,16 @@ server {
}
```
# Examples with **sub path** (ex http://foo.bar.com/grafana)
### Examples with **sub path** (ex http://foo.bar.com/grafana)
## Grafana configuration with sub path
#### Grafana configuration with sub path
```
[server]
domain = foo.bar
root_url = %(protocol)s://%(domain)s:/grafana
```
## Nginx configuration with sub path
#### Nginx configuration with sub path
```
server {
listen 80;

View File

@@ -55,6 +55,7 @@ Then you can override them using:
<hr />
## instance_name
Set the name of the grafana-server instance. Used in logging and internal metrics and in
clustering info. Defaults to: `${HOSTNAME}`, which will be replaced with
environment variable `HOSTNAME`, if that is empty or does not exist Grafana will try to use
@@ -134,6 +135,10 @@ Path to the certificate file (if `protocol` is set to `https`).
Path to the certificate key file (if `protocol` is set to `https`).
### router_logging
Set to true for Grafana to log all HTTP requests (not just errors). These are logged as Info level events
to grafana log.
<hr />
<hr />
@@ -144,6 +149,11 @@ Grafana needs a database to store users and dashboards (and other
things). By default it is configured to use `sqlite3` which is an
embedded database (included in the main Grafana binary).
### url
Use either URL or or the other fields below to configure the database
Example: `mysql://user:secret@host:port/database`
### type
Either `mysql`, `postgres` or `sqlite3`, it's your choice.
@@ -170,7 +180,7 @@ The database user (not applicable for `sqlite3`).
### password
The database user's password (not applicable for `sqlite3`).
The database user's password (not applicable for `sqlite3`). If the password contains `#` or `;` you have to wrap it with trippel quotes. Ex `"""#password;"""`
### ssl_mode
@@ -219,6 +229,10 @@ Used for signing keep me logged in / remember me cookies.
Set to `true` to disable the use of Gravatar for user profile images.
Default is `false`.
### data_source_proxy_whitelist
Define a white list of allowed ips/domains to use in data sources. Format: `ip_or_domain:port` separated by spaces
<hr />
## [users]
@@ -227,7 +241,7 @@ Default is `false`.
Set to `false` to prohibit users from being able to sign up / create
user accounts. Defaults to `true`. The admin user can still create
users from the [Grafana Admin Pages](../reference/admin.md)
users from the [Grafana Admin Pages](../../reference/admin)
### allow_org_create
@@ -244,7 +258,10 @@ organization to be created for that new user.
The role new users will be assigned for the main organization (if the
above setting is set to true). Defaults to `Viewer`, other valid
options are `Admin` and `Editor` and `Read-Only Editor`.
options are `Admin` and `Editor` and `Read Only Editor`. e.g. :
`auto_assign_org_role = Read Only Editor`
<hr>
@@ -254,6 +271,10 @@ options are `Admin` and `Editor` and `Read-Only Editor`.
Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false.
### disable_signout_menu
Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false.
<hr>
## [auth.anonymous]
@@ -289,13 +310,13 @@ example:
[auth.github]
enabled = true
allow_sign_up = true
client_id = YOUR_GITHUB_APP_CLIENT_ID
client_secret = YOUR_GITHUB_APP_CLIENT_SECRET
scopes = user:email
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
allow_sign_up = false
team_ids =
allowed_organizations =
@@ -323,7 +344,7 @@ Grafana instance. For example:
team_ids = 150,300
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
allow_sign_up = false
allow_sign_up = true
### allowed_organizations
@@ -367,7 +388,7 @@ Secret. Specify these in the Grafana configuration file. For example:
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
allowed_domains = mycompany.com mycompany.org
allow_sign_up = false
allow_sign_up = true
Restart the Grafana back-end. You should now see a Google login button
on the login page. You can now login or sign up with your Google
@@ -394,9 +415,9 @@ browser to access Grafana, but with the prefix path of `/login/generic_oauth`.
token_url =
api_url =
allowed_domains = mycompany.com mycompany.org
allow_sign_up = false
allow_sign_up = true
Set api_url to the resource that returns basic user info.
Set api_url to the resource that returns [OpenID UserInfo](https://connect2id.com/products/server/docs/api/userinfo) compatible information.
<hr>
@@ -413,6 +434,11 @@ Set to `true` to enable LDAP integration (default: `false`)
### config_file
Path to the LDAP specific configuration file (default: `/etc/grafana/ldap.toml`)
### allow_sign_up
Allow sign up should almost always be true (default) to allow new Grafana users to be created (if ldap authentication is ok). If set to
false only pre-existing Grafana users will be able to login (if ldap authentication is ok).
> For details on LDAP Configuration, go to the [LDAP Integration]({{< relref "ldap.md" >}}) page.
<hr>
@@ -447,7 +473,7 @@ session provider you have configured.
- **file:** session file path, e.g. `data/sessions`
- **mysql:** go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
- **postgres:** ex: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
- **postgres:** ex: user=a password=b host=localhost port=5432 dbname=c sslmode=require
- **memcache:** ex: 127.0.0.1:11211
- **redis:** ex: `addr=127.0.0.1:6379,pool_size=100,prefix=grafana`
@@ -463,6 +489,17 @@ Mysql Example:
PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Postgres Example:
CREATE TABLE session (
key CHAR(16) NOT NULL,
data BYTEA,
expiry INTEGER NOT NULL,
PRIMARY KEY (key)
);
Postgres valid `sslmode` are `disable`, `require` (default), `verify-ca`, and `verify-full`.
### cookie_name
The name of the Grafana session cookie.
@@ -532,6 +569,9 @@ Verify SSL for smtp server? defaults to `false`
### from_address
Address used when sending out emails, defaults to `admin@grafana.localhost`
### from_name
Name to be used when sending out emails, defaults to `Grafana`
## [log]
### mode
@@ -589,19 +629,27 @@ You can choose between (s3, webdav). If left empty Grafana will ignore the uploa
## [external_image_storage.s3]
### bucket_url
bucket url for s3. ex http://grafana.s3.amazonaws.com/
Bucket URL for S3. AWS region can be specified within URL or defaults to 'us-east-1', e.g.
- http://grafana.s3.amazonaws.com/
- https://grafana.s3-ap-southeast-2.amazonaws.com/
- https://grafana.s3-cn-north-1.amazonaws.com.cn
### access_key
access key. ex AAAAAAAAAAAAAAAAAAAA
Access key. e.g. AAAAAAAAAAAAAAAAAAAA
Access key requires permissions to the S3 bucket for the 's3:PutObject' and 's3:PutObjectAcl' actions.
### secret_key
secret key. ex AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Secret key. e.g. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
## [external_image_storage.webdav]
### url
Url to where Grafana will send PUT request with images
### public_url
Optional parameter. Url to send to users in notifications, directly appended with the resulting uploaded file name.
### username
basic auth username
@@ -610,6 +658,11 @@ basic auth password
## [alerting]
### enabled
Defaults to true. Set to false to disable alerting engine and hide Alerting from UI.
### execute_alerts
### execute_alerts = true
Makes it possible to turn off alert rule execution.

View File

@@ -3,6 +3,7 @@ title = "Installing on Debian / Ubuntu"
description = "Install guide for Grafana"
keywords = ["grafana", "installation", "documentation"]
type = "docs"
aliases = ["/installation/installation/debian"]
[menu.docs]
name = "Installing on Ubuntu / Debian"
identifier = "debian"
@@ -14,22 +15,28 @@ weight = 1
Description | Download
------------ | -------------
Stable for Debian-based Linux | [3.1.1 (x86-64 deb)](https://grafanarel.s3.amazonaws.com/builds/grafana_3.1.1-1470047149_amd64.deb)
Latest Beta for Debian-based Linux | [4.0.0-beta1 (x86-64 deb)](https://grafanarel.s3.amazonaws.com/builds/grafana_4.0.0-1478693311beta1_amd64.deb)
Stable for Debian-based Linux | [grafana_4.3.0_amd64.deb](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.3.0_amd64.deb)
Read [Upgrading Grafana]({{< relref "installation/upgrading.md" >}}) for tips and guidance on updating an existing
installation.
## Install Stable
```
$ wget https://grafanarel.s3.amazonaws.com/builds/grafana_3.1.1-1470047149_amd64.deb
$ sudo apt-get install -y adduser libfontconfig
$ sudo dpkg -i grafana_3.1.1-1470047149_amd64.deb
```bash
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.2.0_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.2.0_amd64.deb
```
## Install Latest Beta
<!--
## Install Beta
$ wget https://grafanarel.s3.amazonaws.com/builds/grafana_4.0.0-1478693311beta1_amd64.deb
$ sudo apt-get install -y adduser libfontconfig
$ sudo dpkg -i grafana_4.0.0-1478693311beta1_amd64.deb
```bash
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.3.0-beta1_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.3.0-beta1_amd64.deb
```
-->
## APT Repository
@@ -46,18 +53,24 @@ candidates.
Then add the [Package Cloud](https://packagecloud.io/grafana) key. This
allows you to install signed packages.
$ curl https://packagecloud.io/gpg.key | sudo apt-key add -
```bash
curl https://packagecloud.io/gpg.key | sudo apt-key add -
```
Update your Apt repositories and install Grafana
$ sudo apt-get update
$ sudo apt-get install grafana
```bash
sudo apt-get update
sudo apt-get install grafana
```
On some older versions of Ubuntu and Debian you may need to install the
`apt-transport-https` package which is needed to fetch packages over
HTTPS.
$ sudo apt-get install -y apt-transport-https
```bash
sudo apt-get install -y apt-transport-https
```
## Package details
@@ -73,7 +86,9 @@ HTTPS.
Start Grafana by running:
$ sudo service grafana-server start
```bash
sudo service grafana-server start
```
This will start the `grafana-server` process as the `grafana` user,
which was created during the package installation. The default HTTP port
@@ -81,19 +96,25 @@ is `3000` and default user and group is `admin`.
To configure the Grafana server to start at boot time:
$ sudo update-rc.d grafana-server defaults
```bash
sudo update-rc.d grafana-server defaults
```
## Start the server (via systemd)
To start the service using systemd:
$ systemctl daemon-reload
$ systemctl start grafana-server
$ systemctl status grafana-server
```bash
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
```
Enable the systemd service so that Grafana starts at boot.
sudo systemctl enable grafana-server.service
```bash
sudo systemctl enable grafana-server.service
```
## Environment file
@@ -120,14 +141,14 @@ those options.
### Adding data sources
- [Graphite]({{< relref "datasources/graphite.md" >}})
- [InfluxDB]({{< relref "datasources/influxdb.md" >}})
- [OpenTSDB]({{< relref "datasources/opentsdb.md" >}})
- [Prometheus]({{< relref "datasources/prometheus.md" >}})
- [Graphite]({{< relref "features/datasources/graphite.md" >}})
- [InfluxDB]({{< relref "features/datasources/influxdb.md" >}})
- [OpenTSDB]({{< relref "features/datasources/opentsdb.md" >}})
- [Prometheus]({{< relref "features/datasources/prometheus.md" >}})
## Installing from binary tar file
Download [the latest `.tar.gz` file](http://grafana.org/download) and
Download [the latest `.tar.gz` file](https://grafana.com/get) and
extract it. This will extract into a folder named after the version you
downloaded. This folder contains all files required to run Grafana. There are
no init scripts or install scripts in this package.
@@ -139,5 +160,3 @@ To configure Grafana add a configuration file named `custom.ini` to the
Start Grafana by executing `./bin/grafana-server web`. The `grafana-server`
binary needs the working directory to be the root install directory (where the
binary and the `public` folder is located).

View File

@@ -29,7 +29,7 @@ container:
$ docker run -d -p 3000:3000 \
-v /var/lib/grafana:/var/lib/grafana \
-e "GF_SECURITY_ADMIN_PASSWORD=secret" \
grafana/grafana:develop
grafana/grafana
In the above example I map the data folder and sets a configuration option via
an `ENV` instruction.

View File

@@ -3,8 +3,20 @@ title = "Installation"
description = "Install guide for Grafana"
keywords = ["grafana", "installation", "documentation"]
type = "docs"
aliases = ["installation/installation/", "v2.1/installation/install/"]
[menu.docs]
name = "Installation"
identifier = "installation"
+++
## Installing Grafana
- [Installing on Debian / Ubuntu](debian)
- [Installing on RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat)](rpm)
- [Installing on Mac OS X](mac)
- [Installing on Windows](windows)
- [Installing on Docker](docker)
- [Installing using Provisioning (Chef, Puppet, Salt, Ansible, etc)](provisioning)
- [Nightly Builds](https://grafana.com/grafana/download)

View File

@@ -38,11 +38,12 @@ start_tls = false
# set to true if you want to skip ssl cert validation
ssl_skip_verify = false
# set to the path to your root CA certificate or leave unset to use system defaults
# root_ca_cert = /path/to/certificate.crt
# root_ca_cert = "/path/to/certificate.crt"
# Search user bind dn
bind_dn = "cn=admin,dc=grafana,dc=org"
# Search user bind password
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
bind_password = 'grafana'
# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"
@@ -72,7 +73,7 @@ email = "email"
[[servers.group_mappings]]
group_dn = "cn=admins,dc=grafana,dc=org"
org_role = "Admin"
# The Grafana organization database id, optional, if left out the default org (id 1) will be used
# The Grafana organization database id, optional, if left out the default org (id 1) will be used. Setting this allows for multiple group_dn's to be assigned to the same org_role provided the org_id differs
# org_id = 1
[[servers.group_mappings]]

View File

@@ -3,9 +3,6 @@ title = "Migrating from older versions"
description = "Upgrading & Migrating Grafana from older versions"
keywords = ["grafana", "configuration", "documentation", "migration"]
type = "docs"
[menu.docs]
parent = "installation"
weight = 10
+++
# Migrating from older versions

View File

@@ -1,33 +0,0 @@
+++
title = "Installing via provisioning tools"
description = "Guide to install Grafana via provisioning tools like puppet & chef"
keywords = ["grafana", "provisioning", "documentation", "puppet", "chef", "ansible"]
type = "docs"
[menu.docs]
parent = "installation"
weight = 8
+++
# Installing via provisioning tools
Here are links for how to install Grafana (and some include Graphite or
InfluxDB as well) via a provisioning system. These are not maintained by
any core Grafana team member and might be out of date.
### Puppet
* [forge.puppetlabs.com/bfraser/grafana](https://forge.puppetlabs.com/bfraser/grafana)
### Ansible
* [github.com/picotrading/ansible-grafana](https://github.com/picotrading/ansible-grafana)
### Docker
* [github.com/grafana/grafana-docker](https://github.com/grafana/grafana-docker)
### Chef
* [github.com/JonathanTron/chef-grafana](https://github.com/JonathanTron/chef-grafana)
* [github.com/Nordstrom/grafana2-cookbook](https://github.com/Nordstrom/grafana2-cookbook)

View File

@@ -2,6 +2,7 @@
title = "Installing on RPM-based Linux"
description = "Grafana Installation guide for Centos, Fedora, OpenSuse, Redhat."
keywords = ["grafana", "installation", "documentation", "centos", "fedora", "opensuse", "redhat"]
aliases = ["installation/installation/rpm"]
type = "docs"
[menu.docs]
name = "Installing on Centos / Redhat"
@@ -14,40 +15,28 @@ weight = 2
Description | Download
------------ | -------------
Stable for CentOS / Fedora / OpenSuse / Redhat Linux | [3.1.1 (x86-64 rpm)](https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm)
Latest Beta for CentOS / Fedora / OpenSuse / Redhat Linux | [4.0.0-beta1 (x86-64 rpm)](https://grafanarel.s3.amazonaws.com/builds/grafana-4.0.0-1478693311beta1.x86_64.rpm)
Stable for CentOS / Fedora / OpenSuse / Redhat Linux | [4.3.0 (x86-64 rpm)](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.0-1.x86_64.rpm)
Read [Upgrading Grafana]({{< relref "installation/upgrading.md" >}}) for tips and guidance on updating an existing
installation.
## Install Stable
You can install Grafana using Yum directly.
$ sudo yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm
$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
Or install manually using `rpm`.
#### On CentOS / Fedora / Redhat:
$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
$ sudo yum install initscripts fontconfig
$ sudo rpm -Uvh grafana-3.1.1-1470047149.x86_64.rpm
$ sudo rpm -Uvh grafana-4.2.0-1.x86_64.rpm
#### On OpenSuse:
$ sudo rpm -i --nodeps grafana-3.1.1-1470047149.x86_64.rpm
## Or Install Latest Beta
$ sudo yum install https://grafanarel.s3.amazonaws.com/builds/grafana-4.0.0-1478693311beta1.x86_64.rpm
Or install manually using `rpm`.
#### On CentOS / Fedora / Redhat:
$ sudo yum install initscripts fontconfig
$ sudo rpm -Uvh grafana-4.0.0-1478693311beta1.x86_64.rpm
#### On OpenSuse:
$ sudo rpm -i --nodeps grafana-4.0.0-1478693311beta1.x86_64.rpm
$ sudo rpm -i --nodeps grafana-4.2.0-1.x86_64.rpm
## Install via YUM Repository
@@ -136,10 +125,10 @@ those options.
### Adding data sources
- [Graphite]({{< relref "datasources/graphite.md" >}})
- [InfluxDB]({{< relref "datasources/influxdb.md" >}})
- [OpenTSDB]({{< relref "datasources/opentsdb.md" >}})
- [Prometheus]({{< relref "datasources/prometheus.md" >}})
- [Graphite]({{< relref "features/datasources/graphite.md" >}})
- [InfluxDB]({{< relref "features/datasources/influxdb.md" >}})
- [OpenTSDB]({{< relref "features/datasources/opentsdb.md" >}})
- [Prometheus]({{< relref "features/datasources/prometheus.md" >}})
### Server side image rendering
@@ -156,7 +145,7 @@ yum install urw-fonts
## Installing from binary tar file
Download [the latest `.tar.gz` file](http://grafana.org/download) and
Download [the latest `.tar.gz` file](https://grafana.com/get) and
extract it. This will extract into a folder named after the version you
downloaded. This folder contains all files required to run Grafana. There are
no init scripts or install scripts in this package.

View File

@@ -11,48 +11,24 @@ weight = 8
# Troubleshooting
This page is dedicated to helping you solve any problem you have getting
Grafana to work. Please review it before opening a new [GitHub
issue](https://github.com/grafana/grafana/issues/new) or asking a
question in the `#grafana` IRC channel on freenode.
## visualization & query issues
## General connection issues
The most common problems are related to the query & response from you data source. Even if it looks
like a bug or visualization issue in Grafana it is 99% of time a problem with the data source query or
the data source response.
When setting up Grafana for the first time you might experience issues
with Grafana being unable to query Graphite, OpenTSDB or InfluxDB. You
might not be able to get metric name completion or the graph might show
an error like this:
So make sure to check the query sent and the raw response, learn how in this guide: [How to troubleshoot metric query issues](https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50)
![](/img/docs/v1/graph_timestore_error.png)
## Logging
For some types of errors, the `View details` link will show you error
details. For many types of HTTP connection errors, however, there is very
little information. The best way to troubleshoot these issues is use
the [Chrome developer tools](https://developer.chrome.com/devtools/index).
By pressing `F12` you can bring up the chrome dev tools.
If you encounter an error or problem it is a good idea to check the grafana server log. Usually
located at `/var/log/grafana/grafana.log` on unix systems or in `<grafana_install_dir>/data/log` on
other platforms & manual installs.
![](/img/docs/v1/toubleshooting_chrome_dev_tools.png)
You can enable more logging by changing log level in you grafana configuration file.
There are two important tabs in the Chrome developer tools: `Network`
and `Console`. The `Console` tab will show you Javascript errors and
HTTP request errors. In the Network tab you will be able to identify the
request that failed and review request and response parameters. This
information will be of great help in finding the cause of the error.
## FAQ
If you are unable to solve the issue, even after reading the remainder
of this troubleshooting guide, you should open a [GitHub support
issue](https://github.com/grafana/grafana/issues). Before you do that
please search the existing closed or open issues. Also if you need to
create a support issue, screen shots and or text information about the
chrome console error, request and response information from the
`Network` tab in Chrome developer tools are of great help.
### Inspecting Grafana metric requests
![](/img/docs/v1/toubleshooting_chrome_dev_tools_network.png)
After opening the Chrome developer tools for the first time the
`Network` tab is empty. You will need to refresh the page to get
requests to show. For some type of errors, especially CORS-related,
there might not be a response at all.
Checkout the [FAQ](https://community.grafana.com/c/howto/faq) section on our community page for frequently
asked questions.

View File

@@ -0,0 +1,103 @@
+++
title = "Upgrading"
description = "Upgrading Grafana guide"
keywords = ["grafana", "configuration", "documentation", "upgrade"]
type = "docs"
[menu.docs]
name = "Upgrading"
identifier = "upgrading"
parent = "installation"
weight = 10
+++
# Upgrading Grafana
We recommend everyone to upgrade Grafana often to stay up to date with the latest fixes and enhancements.
In order make this a reality Grafana upgrades are backward compatible and the upgrade process is simple & quick.
Upgrading is generally always safe (between many minor and one major version) and dashboards and graphs will look the same. There can be minor breaking changes in some edge cases which are usually outlined in the [Release Notes](https://community.grafana.com/c/releases) and [Changelog](https://github.com/grafana/grafana/blob/master/CHANGELOG.md)
## Database Backup
Before upgrading it can be a good idea to backup your Grafana database. This will ensure that you can always rollback to your previous version. During startup, Grafana will automatically migrate the database schema (if there are changes or new tables). Sometimes this can cause issues if you later want to downgrade.
#### sqlite
If you use sqlite you only need to make a backup of you `grafana.db` file. This is usually located at `/var/lib/grafana/grafana.db` on unix system.
If you are unsure what database you use and where it is stored check you grafana configuration file. If you
installed grafana to custom location using a binary tar/zip it is usally in `<grafana_install_dir>/data`.
#### mysql
```
backup:
> mysqldump -u root -p[root_password] [grafana] > grafana_backup.sql
restore:
> mysql -u root -p grafana < grafana_backup.sql
```
#### postgres
```
backup:
> pg_dump grafana > grafana_backup
restore:
> psql grafana < grafana_backup
```
### Ubuntu / Debian
If you installed grafana by downloading a debian package (`.deb`) you can just follow the same installation guide
and execute the same `dpkg -i` command but with the new package. It will upgrade your Grafana install.
If you used our APT repository:
```
sudo apt-get update
sudo apt-get install grafana
```
#### Upgrading from binary tar file
If you downloaded the binary tar package you can just download and extract a new package
and overwrite all your existing files. But this might overwrite your config changes. We
recommend you place your config changes in a file named `<grafana_install_dir>/conf/custom.ini`
as this will make upgrades easier without risking losing your config changes.
### Centos / RHEL
If you installed grafana by downloading a rpm package you can just follow the same installation guide
and execute the same `yum install` or `rpm -i` command but with the new package. It will upgrade your Grafana install.
If you used our YUM repository:
```
sudo yum update grafana
```
### Docker
This just an example, details depend on how you configured your grafana container.
```
docker pull grafana
docker stop my-grafana-container
docker rm my-grafana-container
docker run --name=my-grafana-container --restart=always -v /var/lib/grafana:/var/lib/grafana
```
### Windows
If you downloaded the windows binary package you can just download a newer package and extract
to the same location (and overwrite the existing files). This might overwrite your config changes. We
recommend you place your config changes in a file named `<grafana_install_dir>/conf/custom.ini`
as this will make upgrades easier without risking losing your config changes.
## Upgrading form 1.x
[Migrating from 1.x to 2.x]({{< relref "installation/migrating_to2.md" >}})
## Upgrading form 2.x
We are not aware of any issues upgrading directly from 2.x to 4.x but to on the safe side go via 3.x.

Some files were not shown because too many files have changed in this diff Show More