Compare commits

..

850 Commits

Author SHA1 Message Date
Marcus Efraimsson
c3c690e211 Merge pull request #11897 from grafana/cp-5.1.2
Cherry-picks for v5.1.2
2018-05-09 11:00:18 +02:00
Marcus Efraimsson
92a8b0871e 5.1.2 release 2018-05-09 10:50:04 +02:00
Dan Cech
a41e346a0b allow analytics.js to be cached, enable anonymizeIP setting
(cherry picked from commit ab589da534)
2018-05-09 10:47:29 +02:00
Marcus Efraimsson
57f2d98418 decrease length of auth_id column in user_auth table
certain mysql versions don't support having indices with a greater varchar length
than 190.

(cherry picked from commit 8ed79d614b)
2018-05-09 10:47:07 +02:00
Daniel Lee
dc11bf7029 Merge pull request #11844 from grafana/cp-5.1.1
Cherry-picks for v5.1.1
2018-05-07 13:50:10 +02:00
Marcus Efraimsson
1f9995d4d3 5.1.1 release 2018-05-07 09:31:55 +02:00
Alexander Zobnin
fe108270bb scroll: remove firefox scrollbars
(cherry picked from commit 83d599670d)
2018-05-07 09:29:49 +02:00
Alexander Zobnin
3daaf37d6a scroll: fix scrolling on mobile Chrome (#11710)
(cherry picked from commit 64283408ee)
2018-05-07 09:29:40 +02:00
Marcus Efraimsson
e4d9c886d7 increase length of auth_id column in user_auth table
(cherry picked from commit 3d9b7a5892)
2018-05-07 09:28:46 +02:00
Marcus Efraimsson
e8fa60793d revert renaming of unit key ppm
#11211 removed the unit key ppm in favor of conppm. A change which is not forward compatible.
This commit revert the unit key back to ppm.
Also adds some better error description if trying to use a unit which don't exists.
Fixes #11743

(cherry picked from commit 138c8c348e)
2018-05-07 09:28:06 +02:00
Daniel Lee
81ce890890 Merge pull request #11769 from grafana/v5.1.0-appveyor-fix
V5.1.0 appveyor fix
2018-04-27 17:57:56 +02:00
Daniel Lee
eabd3ba9c1 appveyor: uppercase the C drive in go path
Fixes #11758

(cherry picked from commit 7e2fb5e92e)
2018-04-27 17:44:03 +02:00
Daniel Lee
844bdc53a2 Merge pull request #11733 from grafana/cp-5.1.0
Cherry-picks for v5.1.0
2018-04-26 17:09:23 +02:00
Marcus Efraimsson
ebffcc21cf 5.1.0 release 2018-04-26 16:34:28 +02:00
Marcus Efraimsson
61de54be5a fix so that google analytics script are cached
(cherry picked from commit ddeba41638)
2018-04-26 16:32:35 +02:00
Marcus Efraimsson
08963b1414 prometheus: convert metric find query tests to jest
(cherry picked from commit f112e38266)
2018-04-26 16:31:26 +02:00
Marcus Efraimsson
70f4797a03 prometheus: fix variable query to fallback correctly to series query
Using a query of for example up or up{job=job1}

(cherry picked from commit 6687409efb)
2018-04-26 16:31:13 +02:00
David Kaltschmidt
9df8c4fe86 force GET for metadataRequests, w/ test
(cherry picked from commit 707700ac7d)
2018-04-26 16:30:48 +02:00
David Kaltschmidt
9149a0c655 Renamed helperRequest and removed positional args
From review feedback:

* s/helper/metadata
* combined positional args to _request into options dict
* metadataRequest reuses _request()
* moved consumption of this.httpMethod into _request, can be overwritten
 in options due to spread-after

(cherry picked from commit 006286ac05)
2018-04-26 16:30:38 +02:00
David Kaltschmidt
cb83ec8945 Add silent option to backend requests
* When set to `true`, the `silent` option for backend_srv requests
 suppresses all event emitters that are triggered when the response is
received.
* Added `helperRequest()` to the Prometheus datasource to support
 requests that are not triggered by the user, e.g., for tab completion.
`helperRequest()` sets the `silent` option.
* Migrated all non-timeseries queries of the Prometheus datasource to
 use `helperRequest()`.

Fixes #11673

(cherry picked from commit 53817b7429)
2018-04-26 16:30:26 +02:00
Patrick O'Carroll
cadca93d93 removed height 100% from panel-container to fix ie11 panel edit mode
(cherry picked from commit 6836268f3e)
2018-04-26 15:00:48 +02:00
Patrick O'Carroll
fa1c1274db replaced border hack carot with fontawesome carot fixes #11677
(cherry picked from commit 99aa9a46bc)
2018-04-26 15:00:29 +02:00
Marcus Efraimsson
b58dc6cd49 mssql: fix value columns conversion to float when using timeseries query
(cherry picked from commit 1452634a2a)
2018-04-26 15:00:05 +02:00
Marcus Efraimsson
66938e80c9 postgres: fix value columns conversion to float when using timeseries query
(cherry picked from commit cf43007531)
2018-04-26 14:59:55 +02:00
Marcus Efraimsson
ac22f85d37 mysql: fix value columns conversion to float when using timeseries query
(cherry picked from commit 346577b664)
2018-04-26 14:59:46 +02:00
Marcus Efraimsson
3147bcccdd sql datasource: extract common logic for converting value column to float
(cherry picked from commit 76bd2aea44)
2018-04-26 14:59:37 +02:00
Patrick O'Carroll
cb8d436ea3 changed test name and dashboardMock code
(cherry picked from commit 38a4a2dc60)
2018-04-26 14:59:09 +02:00
Patrick O'Carroll
8e7147a7da fixed test
(cherry picked from commit 1446f54447)
2018-04-26 14:58:59 +02:00
Patrick O'Carroll
f72c4bc0e0 removed import config
(cherry picked from commit 45e6d9fcc4)
2018-04-26 14:58:46 +02:00
Patrick O'Carroll
06d52adf4e fixed so user who can edit dashboard can edit row, fixes #11466
(cherry picked from commit 3eaaa5d32d)
2018-04-26 14:58:34 +02:00
Leonard Gram
790fd99676 Fixes signing of packages.
Signing was failing as the builds
were expected to run as ubuntu but
is run as root.

Closes #11686

(cherry picked from commit 3a48ea8dde)
2018-04-26 14:57:57 +02:00
Marcus Efraimsson
3908571baf db: fix failing user auth tests for postgres
(cherry picked from commit d14ac54af6)
2018-04-26 14:52:52 +02:00
Patrick O'Carroll
0e8f05e6d5 added pointer to show more, reset values on new query
(cherry picked from commit a40314022b)
2018-04-26 14:52:20 +02:00
Patrick O'Carroll
111839bdcc added button to show more preview values for variables, button runs a function that increases options limit, fixes #11508
(cherry picked from commit c2cc77fa08)
2018-04-26 14:51:49 +02:00
Marcus Efraimsson
a46d0204d9 use inherited property from api when rendering permissions
(cherry picked from commit 079346917f)
2018-04-26 14:51:27 +02:00
Marcus Efraimsson
3e93fd1372 return inherited property for permissions
(cherry picked from commit d86ed679b1)
2018-04-26 14:51:13 +02:00
bergquist
a07f525686 build: fixes build script for releases 2018-04-20 12:47:56 +02:00
Daniel Lee
6a2d9e21dc Merge pull request #11640 from grafana/11637-dropdown-styling
removed padding and moved carrot
(cherry picked from commit c2064781a0)
2018-04-20 11:22:54 +02:00
bergquist
9dfc53d5a4 release 5.1.0-beta1 2018-04-20 11:01:55 +02:00
bergquist
98bbb01898 build: removes gometalinter
for some reason the linter lints files in /vendor
which it should not. So we have to remove it until
it works as expected

ref #10381
2018-04-20 10:35:29 +02:00
bergquist
03a9650c57 cli: adds os and arch headers
this makes it possible for the plugin repo
to provide the correct package if arch and os matters
2018-04-20 09:52:25 +02:00
bergquist
7a62231816 build: only lint the pkg folder 2018-04-19 11:29:02 +02:00
bergquist
f50bcb6aae changelog: adds note about closing #11476 2018-04-19 11:20:29 +02:00
Carl Bergquist
2dfa576c76 Merge pull request #11504 from hahnjo/11476-influxdb-show-cardinality
influxdb: Check before assuming first column to be 'time'
2018-04-19 11:18:01 +02:00
Marcus Efraimsson
e6f38591b5 dev: only build server with bra run 2018-04-19 10:43:31 +02:00
Carl Bergquist
4f0d7586ae Merge pull request #11648 from mjtrangoni/add-gometalinter-circleci
Add gometalinter to CircleCI
2018-04-19 09:35:21 +02:00
Mario Trangoni
3543f1c3d4 add gometalinter to circleci 2018-04-18 22:52:21 +02:00
Mario Trangoni
33ae8d35ea comment unused struct fields 2018-04-18 22:23:49 +02:00
Carl Bergquist
89acafd567 Merge pull request #11646 from mjtrangoni/fix-varcheck-issues
remove unused variables detected by varcheck
2018-04-18 21:45:11 +02:00
Mario Trangoni
c1742df9ac remove unused variables detected by varcheck 2018-04-18 19:04:37 +02:00
Marcus Efraimsson
4ddd15d921 changelog: notes about closing #10427
[skip ci]
2018-04-18 14:18:21 +02:00
Marcus Efraimsson
fd409f119d Merge pull request #10986 from grafana/10427_addpanel_filter
add tabs and search filter to new panel control
2018-04-18 14:13:21 +02:00
Carl Bergquist
0ad6336634 Merge pull request #11354 from grafana/external-auth
External auth refactor
2018-04-18 14:03:50 +02:00
Marcus Efraimsson
606257a1da move jest test file to specs 2018-04-18 14:00:15 +02:00
Marcus Efraimsson
ce97f89de6 make add panel panel scrollbar adjust when panel/dashboard grid are resized 2018-04-18 13:59:26 +02:00
bergquist
dbf61355b3 style: code simplifications 2018-04-18 12:16:25 +02:00
Marcus Efraimsson
82054e1a3e Merge branch 'master' into 10427_addpanel_filter 2018-04-18 11:36:13 +02:00
Marcus Efraimsson
b7b0ca2b90 build: introduce -dev flag optimal for building in development mode
Fix performance issue with running bra run for go run build.go build
2018-04-18 11:25:34 +02:00
Patrick O'Carroll
23f644c2f5 changed copied message and added forced render for width change 2018-04-18 10:34:43 +02:00
Carl Bergquist
54b7846eb6 Merge pull request #11635 from ohadbenita/patch-1
Specify expected encoding for access/secret key
2018-04-18 10:06:12 +02:00
bergquist
c22495b6f8 Merge branch 'master' into external-auth
* master:
  changelog: adds note about closing #11613 and #11602
  fix: sign in link should have target self to trigger full page reload, fixes #11626
  codespell: exclude by words instead of files
  Use sort.Strings() (gosimple)
  Remove unused return value assignment (gosimple)
  Remove unnecessary fmt.Sprintf() calls (gosimple)
  Merge variable declaration with assignment (gosimple)
  Use fmt.Errorf() (gosimple)
  Simplify make() (gosimple)
  Use raw strings to avoid double escapes (gosimple)
  Simplify if expression (gosimple)
  Simplify comparison to bool constant (gosimple)
  Simplify error returns (gosimple)
  Remove redundant break statements (gosimple)
2018-04-18 09:34:45 +02:00
bergquist
d9b3ff1952 changelog: adds note about closing #11613 and #11602 2018-04-18 09:21:51 +02:00
Dan Cech
3fedcb1e4b cleanup, make sure users are always synced with ldap 2018-04-17 17:48:56 -04:00
ohadbenita
4664549411 Specify expected encoding for access/secret key 2018-04-17 23:55:07 +03:00
Dan Cech
33760b5c3b make sure user's default org is kept up to date 2018-04-17 16:51:05 -04:00
Carl Bergquist
8367199a2d Merge pull request #11613 from knweiss/gosimple
Code simplification (gosimple)
2018-04-17 22:40:40 +02:00
Carl Bergquist
6ba830c73b Merge pull request #11632 from mjtrangoni/fix-codespell-circleci
codespell: exclude by words instead of files
2018-04-17 21:10:46 +02:00
Torkel Ödegaard
e81330abf0 fix: sign in link should have target self to trigger full page reload, fixes #11626 2018-04-17 21:01:52 +02:00
Mario Trangoni
b0217f5dd3 codespell: exclude by words instead of files 2018-04-17 20:45:46 +02:00
Dan Cech
00e74990ed remove old comment 2018-04-17 14:06:25 -04:00
Dan Cech
857830d981 org role sync tests 2018-04-17 14:06:25 -04:00
Dan Cech
52503d9cb5 refactor authproxy & ldap integration, address comments 2018-04-17 14:06:25 -04:00
Dan Cech
c8a0c1e6b8 pass DN in ldap test 2018-04-17 14:06:25 -04:00
Dan Cech
daeba40b3b tests for user auth module 2018-04-17 14:06:25 -04:00
Dan Cech
59f83ca5d8 fix ldap test 2018-04-17 14:06:25 -04:00
Dan Cech
e53e039b1b restructure GetUserByAuthInfo 2018-04-17 14:06:25 -04:00
Dan Cech
c4168c2396 error handling 2018-04-17 14:06:25 -04:00
Dan Cech
65847da1df use Result in GetAuthInfoQuery 2018-04-17 14:06:25 -04:00
Dan Cech
d837be91ec switch to passing ReqContext as a property 2018-04-17 14:06:25 -04:00
Dan Cech
e53315dce8 cleanup 2018-04-17 14:06:25 -04:00
Dan Cech
a1b1d2fe80 switch to Result 2018-04-17 14:06:25 -04:00
Dan Cech
d5dd1c9bca update auth proxy 2018-04-17 14:06:25 -04:00
Dan Cech
23f163e8cf fixes 2018-04-17 14:06:25 -04:00
Dan Cech
d2eab2ff4c fix tests 2018-04-17 14:06:25 -04:00
Dan Cech
1c5afa731f shared library for managing external user accounts 2018-04-17 14:06:25 -04:00
Torkel Ödegaard
1594ceeb6f fix: Label font weight should be semi bold, fixes #11629 2018-04-17 19:40:44 +02:00
bergquist
fa49332915 docs: typos 2018-04-17 19:09:39 +02:00
Carl Bergquist
3801df5da8 Merge pull request #11602 from mjtrangoni/add-codespell-to-circle
add codespell to CircleCI
2018-04-17 19:02:32 +02:00
Daniel Lee
5b968329a0 graphite: adds tests for tags and tag_values functions 2018-04-17 18:58:47 +02:00
Marcus Efraimsson
cfef609c32 changelog: notes about closing #10883
[skip ci]
2018-04-17 16:45:44 +02:00
Marcus Efraimsson
c120415406 Merge pull request #11398 from bergquist/readonly_dashboards
improved workflow for provisioned dashboards
2018-04-17 16:42:08 +02:00
Daniel Lee
d9b5ef8f7b changelog: adds note for #11553 2018-04-17 16:35:55 +02:00
Marcus Efraimsson
d7688241c6 Merge branch 'master' into readonly_dashboards 2018-04-17 16:27:51 +02:00
bergquist
059719104f dev: only build server with bra run 2018-04-17 15:02:22 +02:00
Daniel Lee
26bb22bffa Merge pull request #11554 from grafana/11553_viewer_general_access
User with org viewer role permission fixes
2018-04-17 13:50:45 +02:00
Daniel Lee
4a842f96ac changelog: adds note for #11173 2018-04-17 13:44:42 +02:00
Daniel Lee
b3acbb9995 Merge pull request #11526 from grafana/11173_folder_admin
A folder admin should be able to add permissions for folder/its dashboards
2018-04-17 13:42:38 +02:00
Patrick O'Carroll
0120023aba added forceupdate to grid item so addpanel items rezie instantly, renamed function to copyPanel, fixed panel items height issue 2018-04-17 13:10:08 +02:00
Marcus Efraimsson
2fc1558daf revert changes of add panel button to require save permission
This resolves an issue where the add panel button was shown on the default home dashboard
2018-04-17 11:03:46 +02:00
Marcus Efraimsson
8a5cb088d3 Merge branch 'master' into readonly_dashboards 2018-04-17 10:50:04 +02:00
Marcus Efraimsson
e21d574814 changelog: fix typo
[skip ci]
2018-04-17 10:28:16 +02:00
Marcus Efraimsson
a3eff6cf25 changelog: notes about closing #11572
[skip ci]
2018-04-17 10:27:12 +02:00
Dan Cech
e07de80b75 Fix issues with metric reporting (#11518)
* report active users in graphite stats

* use bus to publish system stats

* metrics: avoid using events unless we have to

this commit also changes the default interval
for updating the stats gauges. Seems like the old values
was a product of previous metrics implementation
2018-04-17 10:20:01 +02:00
Marcus Efraimsson
ffe9b426d4 changelog: notes about closing #10747
[skip ci]
2018-04-17 10:00:09 +02:00
Torkel Ödegaard
85121e55c9 fix: Row state is now ignored when looking for dashboard changes (#11608)
* fix: Row state is now ignored when looking for dashboawrd changes, had to fix bug in expand logic to make fix work. Also moved the ChangeTracker to it's own file and moved tests to jest, fixes #11208

* removed commented out log calls
2018-04-17 09:41:07 +02:00
Marcus Efraimsson
9733172d3c Merge pull request #11422 from grafana/dashboard-acl-ux2
improved ux for permission list
2018-04-17 09:39:39 +02:00
Marcus Efraimsson
d9799f7c13 Merge pull request #11572 from grafana/settings-icons-fix
ux: sizing and positioning of dashboard settings menu icons
2018-04-17 09:22:16 +02:00
Torkel Ödegaard
9ec89c1848 disable codecov comments 2018-04-17 09:20:43 +02:00
Marcus Efraimsson
92768d5a2b Merge branch 'master' into dashboard-acl-ux2 2018-04-17 09:19:36 +02:00
Marcus Efraimsson
a01e6fc9c7 add some more sort order asserts for permissions store tests 2018-04-17 09:19:17 +02:00
Carl Bergquist
ac5836f895 Merge pull request #11623 from grafana/revert-11571-remove-codecov
Revert "build: remove code cov"
2018-04-17 09:13:31 +02:00
Carl Bergquist
ca6dd9f53f Merge pull request #11622 from grafana/revert-11599-rm_codecov
Revert "removes codecov from frontend tests"
2018-04-17 09:13:06 +02:00
Carl Bergquist
ea56288f4a Merge pull request #11611 from mjtrangoni/fix-unconvert-issues
fix unconvert issues
2018-04-17 09:06:39 +02:00
Carl Bergquist
450a3b4a00 Revert "build: remove code cov" 2018-04-17 09:00:55 +02:00
Carl Bergquist
b6b152d9ea Revert "removes codecov from frontend tests" 2018-04-17 09:00:39 +02:00
Carl Bergquist
0976a46cb3 Merge pull request #11610 from grafana/davkal/bra-use-build-script
bra should use the proper build script
2018-04-17 08:51:01 +02:00
Marcus Efraimsson
3a5d1f4594 tsdb: update query and annotation editor help texts for postgres
In addition to closing #11578
2018-04-16 23:56:14 +02:00
Marcus Efraimsson
69d1330ae9 changelog: notes about closing #11578
[skip ci]
2018-04-16 23:46:26 +02:00
Marcus Efraimsson
97e43ddc5a Merge pull request #11592 from svenklemm/postgres-timefilter-macro
tsdb: improve $__timeFilter macro for postgres
2018-04-16 23:38:05 +02:00
Marcus Efraimsson
0e0976b0a2 Merge branch 'master' into 10427_addpanel_filter 2018-04-16 23:30:34 +02:00
Sven Klemm
5dc36afe71 calculate datetime for timeFrom and timeTo macro in go 2018-04-16 23:02:24 +02:00
Sven Klemm
4599329683 set default for sslmode to verify-full in postgres datasource editor (#11615) 2018-04-16 22:23:24 +02:00
Marcus Efraimsson
58e6b11809 add some more sort order asserts for permissions store tests 2018-04-16 21:51:53 +02:00
Marcus Efraimsson
bc8353ae14 Merge branch 'master' into dashboard-acl-ux2 2018-04-16 21:19:01 +02:00
Karsten Weiss
ed46efa081 Use sort.Strings() (gosimple)
This fixes:
pkg/tsdb/cloudwatch/metric_find_query.go:257:2: should use sort.Strings(...) instead of sort.Sort(sort.StringSlice(...)) (S1032)
pkg/tsdb/cloudwatch/metric_find_query.go:286:2: should use sort.Strings(...) instead of sort.Sort(sort.StringSlice(...)) (S1032)
pkg/tsdb/cloudwatch/metric_find_query.go:315:2: should use sort.Strings(...) instead of sort.Sort(sort.StringSlice(...)) (S1032)
2018-04-16 21:04:57 +02:00
Karsten Weiss
25bb0b5569 Remove unused return value assignment (gosimple)
This fixes:
pkg/tsdb/sql_engine.go:54:6: should write version := engineCache.versions[dsInfo.Id] instead of version, _ := engineCache.versions[dsInfo.Id] (S1005)
2018-04-16 21:04:57 +02:00
Karsten Weiss
de084e5891 Remove unnecessary fmt.Sprintf() calls (gosimple)
This fixes:
pkg/services/sqlstore/migrator/migrations.go:116:18: the argument is already a string, there's no need to use fmt.Sprintf (S1025)
pkg/services/sqlstore/migrator/types.go:49:16: the argument is already a string, there's no need to use fmt.Sprintf (S1025)
2018-04-16 21:04:57 +02:00
Karsten Weiss
5d95601720 Merge variable declaration with assignment (gosimple)
This fixes:
pkg/cmd/grafana-cli/commands/upgrade_all_command.go:56:3: should merge variable declaration with assignment on next line (S1021)
pkg/login/ldap.go:406:4: should merge variable declaration with assignment on next line (S1021)
pkg/services/sqlstore/migrator/dialect.go:87:2: should merge variable declaration with assignment on next line (S1021)
pkg/services/sqlstore/migrator/dialect.go:165:2: should merge variable declaration with assignment on next line (S1021)
pkg/tsdb/cloudwatch/metric_find_query_test.go:185:2: should merge variable declaration with assignment on next line (S1021)
2018-04-16 21:04:57 +02:00
Karsten Weiss
4d6386e97b Use fmt.Errorf() (gosimple)
This fixes:
pkg/cmd/grafana-cli/commands/install_command.go:36:11: should use fmt.Errorf(...) instead of errors.New(fmt.Sprintf(...)) (S1028)
pkg/models/org_user.go:53:11: should use fmt.Errorf(...) instead of errors.New(fmt.Sprintf(...)) (S1028)
pkg/services/notifications/mailer.go:138:16: should use fmt.Errorf(...) instead of errors.New(fmt.Sprintf(...)) (S1028)
2018-04-16 21:04:57 +02:00
Karsten Weiss
4d87cb03c5 Simplify make() (gosimple)
This fixes:
pkg/api/http_server.go:142:89: should use make(map[string]func(*http.Server, *tls.Conn, http.Handler)) instead (S1019)
pkg/services/alerting/scheduler.go:18:30: should use make(map[int64]*Job) instead (S1019)
pkg/services/alerting/scheduler.go:26:31: should use make(map[int64]*Job) instead (S1019)
2018-04-16 21:04:57 +02:00
Karsten Weiss
cb3b9f8b66 Use raw strings to avoid double escapes (gosimple)
This fixes:
pkg/services/alerting/rule.go:58:21: should use raw string (`...`) with regexp.MustCompile to avoid having to escape twice (S1007\)
pkg/services/alerting/rule.go:59:21: should use raw string (`...`) with regexp.MustCompile to avoid having to escape twice (S1007)
2018-04-16 21:04:57 +02:00
Karsten Weiss
da5654ad04 Simplify if expression (gosimple)
pkg/util/shortid_generator.go:20:2: should use 'return <expr>' instead of 'if <expr> { return <bool> }; return <bool>' (S1008)
2018-04-16 21:04:57 +02:00
Karsten Weiss
f61e69ce75 Simplify comparison to bool constant (gosimple)
This fixes:
build.go:553:6: should omit comparison to bool constant, can be simplified to !strings.Contains(path, ".sha256") (S1002)
pkg/cmd/grafana-cli/commands/ls_command.go:27:5: should omit comparison to bool constant, can be simplified to !pluginDirInfo.IsDir() (S1002)
pkg/components/dynmap/dynmap_test.go:24:5: should omit comparison to bool constant, can be simplified to !value (S1002)
pkg/components/dynmap/dynmap_test.go:122:14: should omit comparison to bool constant, can be simplified to b (S1002)
pkg/components/dynmap/dynmap_test.go:125:14: should omit comparison to bool constant, can be simplified to !b (S1002)
pkg/components/dynmap/dynmap_test.go:128:14: should omit comparison to bool constant, can be simplified to !b (S1002)
pkg/models/org_user.go:51:5: should omit comparison to bool constant, can be simplified to !(*r).IsValid() (S1002)
pkg/plugins/datasource/wrapper/datasource_plugin_wrapper_test.go:77:12: should omit comparison to bool constant, can be simplified to !haveBool (S1002)
pkg/services/alerting/conditions/evaluator.go:23:9: should omit comparison to bool constant, can be simplified to !reducedValue.Valid (S1002)
pkg/services/alerting/conditions/evaluator.go:48:5: should omit comparison to bool constant, can be simplified to !reducedValue.Valid (S1002)
pkg/services/alerting/conditions/evaluator.go:91:5: should omit comparison to bool constant, can be simplified to !reducedValue.Valid (S1002)
pkg/services/alerting/conditions/query.go:56:6: should omit comparison to bool constant, can be simplified to !reducedValue.Valid (S1002)
pkg/services/alerting/extractor.go:107:20: should omit comparison to bool constant, can be simplified to !enabled.MustBool() (S1002)
pkg/services/alerting/notifiers/telegram.go:222:41: should omit comparison to bool constant, can be simplified to this.UploadImage (S1002)
pkg/services/sqlstore/apikey.go:58:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/apikey.go:72:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/dashboard.go:66:33: should omit comparison to bool constant, can be simplified to !cmd.Overwrite (S1002)
pkg/services/sqlstore/dashboard.go:175:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/dashboard.go:311:13: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/dashboard.go:444:12: should omit comparison to bool constant, can be simplified to !exists (S1002)
pkg/services/sqlstore/dashboard.go:472:12: should omit comparison to bool constant, can be simplified to !exists (S1002)
pkg/services/sqlstore/dashboard.go:554:32: should omit comparison to bool constant, can be simplified to !cmd.Overwrite (S1002)
pkg/services/sqlstore/dashboard_snapshot.go:83:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/plugin_setting.go:39:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/quota.go:34:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/quota.go:111:6: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/quota.go:136:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/quota.go:213:6: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/temp_user.go:129:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/user.go:157:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/user.go:182:5: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/user.go:191:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/user.go:212:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/services/sqlstore/user.go:307:12: should omit comparison to bool constant, can be simplified to !has (S1002)
pkg/social/generic_oauth.go:185:5: should omit comparison to bool constant, can be simplified to !s.extractToken(&data, token) (S1002)
pkg/tsdb/mssql/mssql.go:148:39: should omit comparison to bool constant, can be simplified to ok (S1002)
pkg/tsdb/mssql/mssql.go:212:6: should omit comparison to bool constant, can be simplified to !query.Model.Get("fillNull").MustBool(false) (S1002)
pkg/tsdb/mssql/mssql.go:247:56: should omit comparison to bool constant, can be simplified to ok (S1002)
pkg/tsdb/mssql/mssql.go:274:7: should omit comparison to bool constant, can be simplified to !exist (S1002)
pkg/tsdb/mssql/mssql.go:282:8: should omit comparison to bool constant, can be simplified to !exist (S1002)
pkg/tsdb/mysql/mysql.go:221:6: should omit comparison to bool constant, can be simplified to !query.Model.Get("fillNull").MustBool(false) (S1002)
pkg/tsdb/mysql/mysql.go:256:56: should omit comparison to bool constant, can be simplified to ok (S1002)
pkg/tsdb/mysql/mysql.go:283:7: should omit comparison to bool constant, can be simplified to !exist (S1002)
pkg/tsdb/mysql/mysql.go:291:8: should omit comparison to bool constant, can be simplified to !exist (S1002)
pkg/tsdb/postgres/postgres.go:134:39: should omit comparison to bool constant, can be simplified to ok (S1002)
pkg/tsdb/postgres/postgres.go:201:6: should omit comparison to bool constant, can be simplified to !query.Model.Get("fillNull").MustBool(false) (S1002)
pkg/tsdb/postgres/postgres.go:236:56: should omit comparison to bool constant, can be simplified to ok (S1002)
pkg/tsdb/postgres/postgres.go:263:7: should omit comparison to bool constant, can be simplified to !exist (S1002)
pkg/tsdb/postgres/postgres.go:271:8: should omit comparison to bool constant, can be simplified to !exist (S1002)
2018-04-16 21:04:57 +02:00
Karsten Weiss
be2d635078 Simplify error returns (gosimple)
This fixes:
pkg/api/avatar/avatar.go:261:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/log/file.go:102:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/metrics/graphitebridge/graphite.go:298:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/provisioning/provisioning.go:23:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/alert_notification.go:27:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/alert_notification.go:27:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/annotation.go:105:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/annotation.go:105:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard.go:351:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard.go:435:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard_acl.go:38:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/dashboard_acl.go:38:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/stats.go:22:2: 'if err != nil { return err }; return err' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/team.go:213:2: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:256:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:256:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:274:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:274:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:482:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
pkg/services/sqlstore/user.go:482:3: 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013)
2018-04-16 21:04:57 +02:00
Karsten Weiss
c5a09a3dc1 Remove redundant break statements (gosimple)
This fixes:
pkg/components/dynmap/dynmap.go:588:3: redundant break statement (S1023)
pkg/components/dynmap/dynmap.go:610:3: redundant break statement (S1023)
pkg/components/dynmap/dynmap.go:641:3: redundant break statement (S1023)
pkg/components/dynmap/dynmap.go:690:3: redundant break statement (S1023)
pkg/components/dynmap/dynmap.go:712:3: redundant break statement (S1023)
pkg/components/dynmap/dynmap.go:749:3: redundant break statement (S1023)
pkg/components/dynmap/dynmap.go:785:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/cloudwatch.go:74:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/cloudwatch.go:77:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/cloudwatch.go:82:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:178:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:181:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:184:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:187:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:190:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:193:3: redundant break statement (S1023)
pkg/tsdb/cloudwatch/metric_find_query.go:196:3: redundant break statement (S1023)
2018-04-16 21:04:57 +02:00
Mario Trangoni
ce941a004d fix unconvert issues 2018-04-16 20:04:58 +02:00
Daniel Lee
e7bcd8c3c3 variable: fix binding bug after ts conversion 2018-04-16 19:59:47 +02:00
Sven Klemm
a2a7d3d436 add GetFromAsTimeUTC and GetToAsTimeUTC and use them in timeFilter macro 2018-04-16 19:38:35 +02:00
Sven Klemm
7ab0a54f4b Merge remote-tracking branch 'upstream/master' into postgres-timefilter-macro 2018-04-16 19:23:08 +02:00
Daniel Lee
7d165068df fix merge conflict 2018-04-16 19:19:48 +02:00
Sven Klemm
e8e554b3da remove changes to module.ts from this branch 2018-04-16 19:14:25 +02:00
Patrick O'Carroll
7ef6106197 migrated dropdown-typeahead to ts (#11499)
* migrated dropdown-typeahead to ts

* removed console.logs

* added @ngInject
2018-04-16 17:40:29 +02:00
Daniel Lee
aa999aa6a9 changelog: adds note for #11556 2018-04-16 17:22:19 +02:00
Daniel Lee
82a1deaf5e changelog: adds note for #11133 2018-04-16 17:20:26 +02:00
Marcus Efraimsson
e932623cc0 Merge branch 'master' into settings-icons-fix 2018-04-16 17:16:54 +02:00
Marcus Efraimsson
9573bc43ce dashboard: better size and alignment of settings icons 2018-04-16 17:16:35 +02:00
Daniel Lee
34455c0598 Merge pull request #11583 from grafana/11556-org-switch-order
ordered user orgs alphabeticaly
2018-04-16 17:09:36 +02:00
Daniel Lee
bb7a6a0153 Merge pull request #11595 from kichristensen/DeleteEmptyPlaylist
Support deleting empty playlist
2018-04-16 17:06:59 +02:00
David
ed44face0e Merge pull request #11605 from grafana/davkal/show-version-in-help
Show Grafana version and build in Help menu
2018-04-16 16:58:18 +02:00
David Kaltschmidt
9ca1a94580 bra should use the proper build script
* `bra run` is used during development, but it was not using build.go
which sets a couple of globals, e.g., the commit (currently set to "NA")
* This will help in reporting the commit that someone is basing their
screenshot on.
2018-04-16 16:52:44 +02:00
David Kaltschmidt
5a29c17282 moved version in help menu to top 2018-04-16 16:25:28 +02:00
Marcus Efraimsson
90ed046ce3 docs: elasticsearch and influxdb docs for group by time interval option (#11609) 2018-04-16 16:03:50 +02:00
Leonard Gram
8d963e2733 changelog: improved docker image 2018-04-16 15:45:55 +02:00
Patrick O'Carroll
5200196092 added fix for test 2018-04-16 14:49:47 +02:00
Patrick O'Carroll
ce3dcadfef addeds test for sort order 2018-04-16 14:30:50 +02:00
David Kaltschmidt
712212d6aa Show Grafana version and build in Help menu
* establishes Help as the single place to look for the Grafana version
* version is passed as menu sub-title to side menu
* added rendering of sub-title, plus styles
* sub-title was used by profile menu (its value is the login string),
but was not shown; now showing this value on condition that login name
is different from user name
2018-04-16 13:37:05 +02:00
Marcus Efraimsson
645658d797 changlelog: notes about closing issues/pr's
#11053, #11252, #10836, #11185, #11168, #11332, #11391, #11073, #9342, #11001, #11183, #11211, #11384, #11095, #10792, #11138, 
#11516
[skip ci]
2018-04-16 13:08:00 +02:00
Daniel Lee
9337972a0f sqlds: fix text in comments for tests 2018-04-16 12:55:27 +02:00
Carl Bergquist
2bfd6ab3e4 Merge pull request #11599 from bergquist/rm_codecov
removes codecov from frontend tests
2018-04-16 12:42:56 +02:00
Mario Trangoni
aff336d4e7 add codespell to circleci 2018-04-16 12:21:13 +02:00
bergquist
6c6b74fc39 removes codecov from front-end tests 2018-04-16 11:39:09 +02:00
Daniel Lee
ee303c03e9 Merge pull request #11550 from grafana/sql_ts_precision
sql tsdb: fix precision and data type support for time columns
2018-04-16 11:04:46 +02:00
Patrick O'Carroll
6b4ef7f598 wip: writing tests for permission sorting 2018-04-16 10:42:39 +02:00
bergquist
738fb29134 changelog: adds note about closing #11228 2018-04-16 09:38:18 +02:00
Carl Bergquist
693ff1c000 Merge pull request #11579 from towolf/add-url-param-for-inactive-mode
Add another URL param «inactive» which works like «kiosk» but with title
2018-04-16 09:35:57 +02:00
Carl Bergquist
a140296633 Merge pull request #11594 from xginn8/writable_plugins
Grafana-CLI: mention the plugins directory is not writable on failure
2018-04-16 09:27:19 +02:00
Daniel Lee
67daa9b058 Merge pull request #11588 from mjtrangoni/fix-codespell-issues
Fix codespell issues
2018-04-16 09:12:49 +02:00
Sven Klemm
6d3da9a73d remove postgresversion and convert unix timestamp in go 2018-04-15 22:14:13 +02:00
Kim Christensen
7534f0bff6 Support deleting empty playlist 2018-04-15 21:37:34 +02:00
Matthew McGinn
ee623e2091 Grafana-CLI: mention the plugins directory is not writable on failure 2018-04-15 13:44:59 -04:00
Sven Klemm
9b61ffb48a make timefilter macro aware of pg version 2018-04-15 18:38:20 +02:00
Sven Klemm
1161c7bc3e add postgresVersion to postgres settings 2018-04-15 17:56:56 +02:00
Daniel Lee
52bd51f2d0 changelog: adds note for #11530 2018-04-14 17:59:33 +02:00
Daniel Lee
d70cacc364 Merge pull request #11532 from ryantxu/sql-uint64
PostgreSQL should not cast all times to uint64
2018-04-14 17:56:39 +02:00
Daniel Lee
5702014917 Merge pull request #11590 from vitaliyf/patch-1
Documentation spelling fix
2018-04-14 16:57:28 +02:00
Daniel Lee
af91238d14 Merge pull request #11547 from grafana/value-select-dropdown-to-ts
Value select dropdown to ts
2018-04-14 16:53:08 +02:00
Vitaliy
e2add988ec Documentation spelling fix 2018-04-14 09:56:47 -04:00
Mario Trangoni
638f7d23d4 docs: fix codespell issues 2018-04-13 20:31:29 +02:00
Mario Trangoni
e5e6bc56c8 public: fix codespell issues 2018-04-13 20:31:29 +02:00
Mario Trangoni
298ece0a02 conf: fix codespell issues 2018-04-13 20:31:29 +02:00
Mario Trangoni
9a11b574ca blocks: fix codespell issues 2018-04-13 20:31:29 +02:00
Mario Trangoni
3fb204cc0d CHANGELOG.md: fix codespell issues 2018-04-13 20:31:29 +02:00
Mario Trangoni
3424fa94c2 scripts: fix codespell issues 2018-04-13 20:31:29 +02:00
Mario Trangoni
91fb2e07ce pkg: fix codespell issues 2018-04-13 20:31:29 +02:00
Daniel Lee
9413ce5ef6 Merge pull request #8096 from ryantxu/influx-db-query2
let the influxdb API set a database
2018-04-13 18:22:12 +02:00
Marcus Efraimsson
ff4e38c1d8 provisioned dashboard validation should be made when importing a dashboard
Had to add the validate before save command before validating provisioned dashboard
so that the import would get a proper dashboard id
2018-04-13 17:54:41 +02:00
Marcus Efraimsson
79d8937ce5 provisioned dashboard validation should not be made from provisioning service
Provisioned dashboard validation should not be made when creating/updating a folder or
when provisioning service are trying to provision/create/update dashboard
2018-04-13 17:45:32 +02:00
Marcus Efraimsson
4f44376564 remove comment/unused variable 2018-04-13 17:11:52 +02:00
Marcus Efraimsson
4a26797cdd Merge branch 'master' into readonly_dashboards 2018-04-13 17:03:00 +02:00
Marcus Efraimsson
511b34eb5c docs: improves provisoning example for postgres
[skip ci]
2018-04-13 16:37:49 +02:00
Marcus Efraimsson
f5363227ff Merge pull request #11423 from bergquist/provisioning_datasources_examples
docs: adds provisioning examples for all datasources
2018-04-13 15:36:28 +02:00
Marcus Efraimsson
a6a45afc2b Merge branch 'master' into provisioning_datasources_examples 2018-04-13 15:25:28 +02:00
Marcus Efraimsson
14bf067263 docs: improves provisoning example for each datasource 2018-04-13 15:25:13 +02:00
Patrick O'Carroll
9ad8a77a21 ordered user orgs alphabeticaly fixes #11556 2018-04-13 14:53:36 +02:00
Marcus Efraimsson
060cd6ebef Merge branch 'master' into settings-icons-fix 2018-04-13 14:49:08 +02:00
Patrick O'Carroll
c431875f28 permissions sorting fixed + icon same size as avatrs 2018-04-13 13:50:15 +02:00
Marcus Efraimsson
55d262655a changelog: adds note for #11569
[skip ci]
2018-04-13 11:06:57 +02:00
Marcus Efraimsson
167d5aebe6 Merge pull request #11576 from flopp999/patch-3
change default annotation limit from 10 to 100 when querying api
2018-04-13 10:55:01 +02:00
Tobias Wolf
f143cb655a Mention the ?inactive parameter in the docs 2018-04-12 21:38:28 +02:00
Tobias Wolf
a43e7c7b3f Add another URL param «inactive» which works like «kiosk» but with title
closes #11228
2018-04-12 21:14:58 +02:00
Marcus Efraimsson
224a0eb0d3 Merge branch 'master' into sql-uint64 2018-04-12 19:12:45 +02:00
Marcus Efraimsson
a86ee304ff tsdb: remove unnecessary type casts in sql data sources macro engines 2018-04-12 19:08:35 +02:00
Marcus Efraimsson
f5586b1270 tsdb: sql data sources should handle time ranges before epoch start correctly 2018-04-12 18:53:12 +02:00
Marcus Efraimsson
a3874ce2c7 Merge branch 'master' into sql-uint64 2018-04-12 18:49:27 +02:00
flopp999
74f570fdf4 change annotation limit from 10 to 100 2018-04-12 17:38:10 +02:00
Daniel Lee
b481e1515d Merge pull request #11456 from alexanderzobnin/fix-11053
Migrating to baron scrollbar WIP
2018-04-12 14:56:04 +02:00
Alexander Zobnin
f8543fced9 remove mistakenly added styles 2018-04-12 14:29:35 +03:00
Alexander Zobnin
31e5c1fa1f Merge remote-tracking branch 'upstream/11053-remove-native-scrollbar' into 11053-remove-native-scrollbar 2018-04-12 14:23:47 +03:00
Alexander Zobnin
74c10515ad fix right side legend rendering in phantomjs 2018-04-12 14:22:19 +03:00
Carl Bergquist
be2016f46e Merge pull request #11571 from bergquist/remove-codecov
build: remove code cov
2018-04-12 11:38:00 +02:00
Daniel Lee
d4398479f5 scrollbar: fix so no overflow for legend under graph
Adds 1px of padding to the graph legend scroll div so that a non-table
legend does not get an unnecessary scroll bar.
2018-04-12 11:26:27 +02:00
bergquist
b220162b91 build: remove code cov 2018-04-12 11:26:05 +02:00
Daniel Lee
76c87d1a74 scrollbar: fixes continuation scrolling for iOS
The -webkit-overflow-scrolling is an iOS only property:

https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling

that turns on momementum/continuation scrolling for iOS devices. This means
that when swiping, the scroll continues for a half second rather than instantly
stopping the scroll when the user lifts their finger from the screen.
2018-04-12 10:53:27 +02:00
Patrick O'Carroll
229486015d added styling to fontawesome icons so they have same size as the other icons 2018-04-12 10:44:00 +02:00
Carl Bergquist
dca73b9ab6 Merge pull request #11567 from 247Sports/docs/cloudwatch-backend-iam-policy
Add minimal IAM policy example for CloudWatch data source
2018-04-12 10:23:56 +02:00
Tim O'Guin
1f0dfbbf86 Improve wording 2018-04-11 21:36:07 -05:00
Tim O'Guin
ee7943b9b2 Add minimal IAM policy example for CloudWatch data source 2018-04-11 21:29:11 -05:00
Marcus Efraimsson
cdcaaa5d03 minor scrollbar fixes
Hide page scrollbar when rendering using phantomjs.
Hide baron scrollbar when rendering using phantomjs.
2018-04-11 20:12:32 +02:00
Daniel Lee
db83255460 scrollbar: remove unused div
Fixes the height of the settings menu
2018-04-11 19:19:33 +02:00
Daniel Lee
e74be16900 Merge remote-tracking branch 'upstream/11053-remove-native-scrollbar' into 11053-remove-native-scrollbar 2018-04-11 18:33:00 +02:00
Marcus Efraimsson
a1b53674a9 dashboard: show baron scrollbar in dashboard panel when mouse is over
This should make the scrolling user experience much better since it
will highlight and show that content actually can be scrolled when
hovering over a panel.
2018-04-11 18:12:48 +02:00
Marcus Efraimsson
9549aadd26 fix so that page scrollbars can be scrolled by keyboard on page load
The page scrollbars are custom, not rendered on the body element and
with css property overflow set for scroll to be enabled.
For being able to scroll the page using the keyboard when a
page loads, some custom code was needed.
This fix should both work when doing a full reload of a url and when
navigating to other pages/dashboards.
For those pages having an input field that are focused on load,
scrolling by keyboard (arrow up/down) will obviously not work.
2018-04-11 17:49:40 +02:00
Marcus Efraimsson
2956011b60 fix so that dash list panel are rendered correctly
This resolves issue with dash list panel getting scrollbars
    attached to incorrect elements. Now the panel content are
    rendered correctly and all content are displayed as
    expected.
2018-04-11 17:44:51 +02:00
Marcus Efraimsson
8c04eb272d panel: add baron scroller to correct element
This resolves issue with alert list panel getting scrollbars
attached to incorrect element. Now the panel content are
rendered correctly and all content are displayed as
expected.
2018-04-11 17:41:20 +02:00
Daniel Lee
83f7ac18db Merge remote-tracking branch 'upstream/master' into 11053-remove-native-scrollbar 2018-04-11 14:32:19 +02:00
Leonard Gram
041067f5f0 Windows build updated to go1.10. 2018-04-11 14:31:23 +02:00
Daniel Lee
25ec7b5b02 scrollbar: use native scroll for page 2018-04-11 14:30:39 +02:00
Patrick O'Carroll
82aa6cf46b converted functions to arrow functions 2018-04-11 10:26:05 +02:00
Marcus Efraimsson
e73479ef33 folders: fix permissions in folder picker component
Only enable creating new folders from folder picker if user has org roles
admin or editor.
Only render General option in folder picker if user has org roles admin
or editor.
2018-04-11 00:26:16 +02:00
Marcus Efraimsson
b4863002c9 permission: fix user with org viewer save/move permissions
User with org viewer role should not be able to save/move dashboards
in/to general folder.
2018-04-11 00:23:50 +02:00
bergquist
93e1546f73 alerting: handle invalid json format
closes #11003
2018-04-10 22:22:12 +02:00
Marcus Efraimsson
be4b715aad docker: change mysql container so that it uses utc 2018-04-10 16:59:48 +02:00
Marcus Efraimsson
6cb891dca8 mysql: use a datetime column with microsecond precision in test 2018-04-10 16:37:39 +02:00
Marcus Efraimsson
97f67ddcb8 tsdb: improved floating point support when converting sql time column to epoch (ms) 2018-04-10 16:36:00 +02:00
Patrick O'Carroll
5f67d4268d added @ngInject 2018-04-10 15:48:51 +02:00
Daniel Lee
9e1a1ed572 Merge pull request #11501 from grafana/metric-segment-to-ts
migrated metric_segment to ts
2018-04-10 12:41:58 +02:00
bergquist
f424d13b53 provisioning: dont override permissions 2018-04-10 12:35:06 +02:00
bergquist
949484b949 provisioning: simplify db query
the GetProvisionedDashboardQuery wasent used for anything
else than check if a dashboard is provisioned or not. So
we simplified this query to make it more maintainable.
2018-04-10 12:30:37 +02:00
Marcus Efraimsson
9d84e6f31f mssql: fix precision for time columns in time series query mode 2018-04-10 11:10:56 +02:00
Marcus Efraimsson
0317ecbf0d postgres: support running multiple postgres integration tests
Makes it possible to run mysql integration tests for both
grafana config db and tsdb at the same time using
GRAFANA_TEST_DB=postgres go test ./pkg/...
2018-04-10 11:08:30 +02:00
Marcus Efraimsson
1783c534fd postgres: fix precision for time columns in time series query mode 2018-04-10 11:07:01 +02:00
Marcus Efraimsson
af62646624 mysql: fix precision for time columns in time series query mode 2018-04-10 11:01:43 +02:00
Marcus Efraimsson
5c120c2c11 mysql: mysql tests should use a db server with UTC
To get rid of issues involving date/time when testing.
Also, makes it possible to run mysql integration tests for both
grafana config db and tsdb at the same time using
GRAFANA_TEST_DB=mysql go test ./pkg/...
2018-04-10 10:58:45 +02:00
bergquist
0f9b592428 provisioning: fixes broken tests 2018-04-10 10:48:10 +02:00
Daniel Lee
63dab4ffe4 Merge branch 'fix-11053' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-fix-11053 2018-04-10 10:33:47 +02:00
Marcus Efraimsson
a314890f89 tsdb: add support for more data types when converting sql time column to epoch (ms) 2018-04-10 10:33:23 +02:00
bergquist
77e7887e5e provisioning: check provisiong before saveCmd 2018-04-10 09:35:54 +02:00
bergquist
7845eab502 provisioning: fixes typo 2018-04-10 09:32:05 +02:00
bergquist
bcbe7a1c55 provisioning: adds error handling 2018-04-10 09:31:35 +02:00
Patrick O'Carroll
6719bdf9bd added @ngInject 2018-04-10 09:24:54 +02:00
Carl Bergquist
b610f77bd6 Merge pull request #11541 from calebtote/patch-1
Update annotations.md to contain correct annotations api path
2018-04-10 09:07:11 +02:00
Daniel Lee
c860f21052 playlist: add missing nginject attribute 2018-04-09 21:33:18 +02:00
Caleb Tote
5f47523d76 Update annotations.md to contain correct annotations api path 2018-04-09 15:09:37 -04:00
Patrick O'Carroll
77b8ccd7f5 removed console.log 2018-04-09 17:01:58 +02:00
bergquist
2889a405a7 docs: improves provisoning example text 2018-04-09 14:56:42 +02:00
Daniel Lee
23ed5dfc8a Merge pull request #11531 from grafana/11391_access
Rename direct/proxy access mode to browser/server
2018-04-09 14:48:29 +02:00
ryan
1c9ebd5bd8 fix test 2018-04-09 14:01:09 +02:00
ryan
920a0c4fec skip mssql fix 2018-04-09 13:49:13 +02:00
ryan
7d6c8aa612 add mssql and mysql 2018-04-09 13:34:35 +02:00
ryan
113bfb3d3e don't convert to uint64 2018-04-09 13:28:32 +02:00
Alexander Zobnin
d9ba16f550 scrollbar: fix phantomjs rendering error 2018-04-09 14:21:20 +03:00
Sven Klemm
00524e6827 prevent angular from evaluating {{hostname}} in tooltip (#11514) 2018-04-09 12:51:17 +02:00
Marcus Efraimsson
95132165f8 data source: rename direct/proxy access mode in data source settings
Changes access drop down options names:
- proxy -> Server (Default)
- direct -> Browser
Replace access drop down info icon/tooltip with expandable/collapsable
help section.
2018-04-09 12:47:19 +02:00
bergquist
25be937bfa docs: fixes typo 2018-04-09 09:55:10 +02:00
Torkel Ödegaard
d60c7b2013 docs: updated debian distro in install docs to stretch, closes #11527 2018-04-09 08:18:58 +02:00
Marcus Efraimsson
f3e1557761 guardian: when updating permissions should verify existing permissions
Before in CheckPermissionBeforeUpdate, access was verified for updated
permissions. Now access is verified for existing permissions.
Refactored guardian tests to cover more test cases for org admin, editor
and viewer roles
2018-04-08 15:06:22 +02:00
Marcus Efraimsson
84d034c688 api: allow authenticated users to search current org users and teams
Any authenticated user of an organization should be able to
- search its organization's users
- search its organization's users
- retrieve a single user of its organization (this how it was
  implemented earlier)
2018-04-07 10:39:28 +02:00
Daniel Lee
ce787b88bf css: quick fix after IE11 changes
Temporary fix so that the add panel panel works properly. This will
break a3f15ced68.
2018-04-06 21:29:42 +02:00
Alexander Zobnin
41e5d66e39 scrollbar: fix add panel height bug 2018-04-06 20:31:44 +03:00
Alexander Zobnin
d3d64337b4 scrollbar: styles cleanup 2018-04-06 20:00:03 +03:00
Daniel Lee
817b8d3946 Merge pull request #11511 from grafana/side-menu-icon-fix
fixed sidemenu icon issue created by earlier pr
2018-04-06 17:53:50 +02:00
Daniel Lee
3fd9c787cf Merge pull request #11497 from grafana/dash-class-to-ts
migrated dash_class to ts
2018-04-06 17:48:18 +02:00
Patrick O'Carroll
c7cd754a94 migrating to ts 2018-04-06 15:02:32 +02:00
Daniel Lee
51148709bb Merge pull request #11496 from grafana/segment-srv-to-ts
migrated segment_srv to ts
2018-04-06 11:18:51 +02:00
Patrick O'Carroll
6d6ecbd458 fixed sidemenu icon issue created by earlier pr 2018-04-06 10:54:06 +02:00
Patrick O'Carroll
0203e7afd5 Merge branch 'dashboard-acl-ux2' of github.com:grafana/grafana into dashboard-acl-ux2 2018-04-06 09:50:36 +02:00
Patrick O'Carroll
b363e160d9 added icons for viewer and editor, fixed add permission team avatar 2018-04-06 09:43:59 +02:00
Daniel Lee
4ac290215e Merge branch 'fix-11053' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-fix-11053 2018-04-05 22:30:13 +02:00
Jonas Hahnfeld
dfccabab75 singlestat: Fix optimization in setTableColumnToSensibleDefault
tableColumnOptions is an associative array that has no property length.
Use tableData.columns as in the default case which works just fine.
2018-04-05 20:59:11 +02:00
Jonas Hahnfeld
e3dbef755a influxdb: Check before assuming first column to be 'time'
When running queries like 'SHOW [...] CARDINALITY' introduced with
InfluxDB 1.4 there is only a single column 'count'. However, the data
source always assumed 'time' which threw an error because the code
couldn't find a non-time column to display.

This change actually checks this assumption and thereby fixes displaying
the result in a Singlestat in Table mode (closes #11476).
2018-04-05 20:53:22 +02:00
Marcus Efraimsson
f619dd579e provisioning: fix tests for save provisioned dashboard modal 2018-04-05 20:51:47 +02:00
Marcus Efraimsson
6bbeb723ca Merge branch 'master' into readonly_dashboards 2018-04-05 20:30:27 +02:00
Marcus Efraimsson
bcdb3ec84d provisioning: ux fixes when saving provisioned dashboards
Wider modal.
Tried to improve provisioning description text.
Code editor for json.
Button that allows to save the json to a file.
2018-04-05 20:28:04 +02:00
Patrick O'Carroll
35bc4e4632 migrated metric_segment to ts 2018-04-05 17:10:32 +02:00
Alexander Zobnin
9f07ae72ee scrollbar: fix search scroller in mobile view 2018-04-05 16:47:20 +03:00
Alexander Zobnin
d6233714d2 Merge remote-tracking branch 'upstream/master' into fix-11053 2018-04-05 16:30:46 +03:00
Marcus Efraimsson
166778b32a Merge pull request #11439 from grafana/ldap-block
docker: add users and groups to ldap block
2018-04-05 15:30:11 +02:00
Alexander Zobnin
fa43782299 scrollbar: fix graph legend height 2018-04-05 16:28:12 +03:00
Marcus Efraimsson
94d1a9fd83 Merge pull request #11430 from grafana/11332_esc_timepicker
Enable closing timepicker using escape key
2018-04-05 15:11:34 +02:00
Daniel Lee
fcfc33ee57 changelog: adds note for #11165 2018-04-05 15:02:54 +02:00
Patrick O'Carroll
714d555e36 migrated dash_class to ts 2018-04-05 14:33:27 +02:00
Patrick O'Carroll
7083e8a0a9 migrated segment_srv to ts 2018-04-05 14:09:32 +02:00
Daniel Lee
32b833e488 Merge pull request #11271 from grafana/11073_dashboard_folder_indent
added indent to dashboards inside folder in search dropdown…
2018-04-05 11:12:17 +02:00
Patrick O'Carroll
b321a21cb5 removed indent for manage dashboards 2018-04-05 11:00:15 +02:00
Alexander Zobnin
b4ef55f5d0 scrollbar: fix potential memory leaks in event handlers 2018-04-05 11:51:32 +03:00
Daniel Lee
088720cf2b Merge pull request #11417 from grafana/ie11_alerting_style_fix
removed padding for icons and added margin
2018-04-04 23:24:41 +02:00
Daniel Lee
2d1f2f3636 Merge pull request #11480 from grafana/graph_tooltip_to_ts
Graph tooltip to ts
2018-04-04 23:03:31 +02:00
Daniel Lee
28849bbd57 Merge pull request #11481 from grafana/all-js-to-ts
migrated last all.js to ts
2018-04-04 22:09:10 +02:00
Daniel Lee
dc4cb0d565 Merge pull request #11483 from grafana/playlist-routes-to-ts
migrated playlist-routes to ts
2018-04-04 22:02:02 +02:00
Jarno Tuovinen
90aab44558 Use curly brackets around hyperlink help text #11478 (#11479) 2018-04-04 20:07:22 +02:00
Alexander Zobnin
b69316752a scrollbar: fix dashboard width updating for different modes 2018-04-04 19:51:12 +03:00
Daniel Lee
eef3120aed Merge branch 'fix-11053' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-fix-11053 2018-04-04 18:32:18 +02:00
Alexander Zobnin
175937a679 scrollbar: remove perfect-scrollbar and add baron to package list 2018-04-04 19:26:29 +03:00
Alexander Zobnin
4df4249aea scrollbar: fix dashboard width bug 2018-04-04 19:22:07 +03:00
Alexander Zobnin
6b598f34cd scrollbar: fix 'legendScrollbar.destroy is not a function' error 2018-04-04 19:00:28 +03:00
Patrick O'Carroll
0273365df3 created closeDropdown function, renamed appevent, added second appevent for open timepicker 2018-04-04 16:20:01 +02:00
Marcus Efraimsson
8f94cecf0f permissions: return user and team avatar in folder permissions api 2018-04-04 15:51:19 +02:00
Marcus Efraimsson
ebad863f95 permission: generate team avatar url with default 2018-04-04 15:50:45 +02:00
Patrick O'Carroll
84dce3282a migrated playlist-routes to ts 2018-04-04 15:26:23 +02:00
Daniel Lee
eea2369987 Merge branch 'fix-11053' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-fix-11053 2018-04-04 14:25:54 +02:00
Patrick O'Carroll
13f6d3be87 migrated last all.js to ts 2018-04-04 14:16:39 +02:00
Alexander Zobnin
a265c77cf9 scrollbar: fix Firefox scroll position restore 2018-04-04 14:51:46 +03:00
Marcus Efraimsson
9841c81952 Notes for closing #7119
[skip ci]
2018-04-04 13:40:08 +02:00
Daniel Lee
4b1c1acab4 changelog: adds note for #11128 2018-04-03 22:40:48 +02:00
Daniel Lee
70eb281840 variables: adds test for variable sorting
ref #11280
2018-04-03 22:34:16 +02:00
Chris Ross
4a93766143 Add case-insensitive sort for variables. 2018-04-03 22:24:21 +02:00
Daniel Lee
a6c7635528 graphite: fixes #11434 2018-04-03 19:39:50 +02:00
Daniel Lee
533f3a9e8c settings: fixes test
For some reason, the url parse does not fail anymore for curly
braces. Add a colon in the first segment to make sure the url
parse fails.
2018-04-03 19:09:49 +02:00
Daniel Lee
1f3602c7dd Merge pull request #11428 from bergquist/11281_fix
Avoid panic when GF_DATABASE_URL contains illegal chars
2018-04-03 16:59:25 +02:00
Daniel Lee
a6a08038d4 Merge pull request #11416 from grafana/ie11_graphpanel_edit
Graphpanel Edit fix for IE11
2018-04-03 15:44:54 +02:00
Patrick O'Carroll
658c6a8ff4 changed from margin to padding 2018-04-03 15:43:25 +02:00
Patrick O'Carroll
8b076d921f fixes for avatar on adding permission and size for gicon 2018-04-03 15:20:39 +02:00
Daniel Lee
1a6c632264 Merge pull request #11396 from grafana/ie11_search_and_popup
fixed alignment in search + fixed issue ie popup
2018-04-03 15:06:08 +02:00
Daniel Lee
cdc0b04840 Merge pull request #11393 from grafana/ie_sidemenu
sidemenu fix for internet explorer 11,
2018-04-03 15:00:25 +02:00
Daniel Lee
6bc5896b3a Merge pull request #11381 from grafana/ie11_login
styled login page for ie11
2018-04-03 14:35:12 +02:00
Alexander Zobnin
3fcd262711 scrollbar: fix side menu on mobile devices 2018-04-03 14:48:48 +03:00
Daniel Lee
ebbbf170f1 Merge pull request #11463 from grafana/tabbed-close-btn-hover
Fix for tabbed-view btn in light theme
2018-04-03 10:31:14 +02:00
Patrick O'Carroll
feb222f633 changed variable for tabbed close btn hover, and changed text-strong variable for lighttheme, removed commented out variable 2018-04-03 09:53:14 +02:00
Daniel Lee
3fc2e53081 Merge branch 'fix-11053' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-fix-11053 2018-04-03 09:52:31 +02:00
Daniel Lee
8b2441e098 mssql: typos in help sections
Fixes #11455
2018-04-03 09:51:29 +02:00
Patrick O'Carroll
98e1404fed added if to onAppevent, renamed appevent, add appevent to applyCustom and setRelativeFilter 2018-04-03 09:39:46 +02:00
Alexey Velikiy
6320bdf393 Webpack Grafana plugin template project to links (#11457) 2018-04-03 06:21:36 +02:00
Alexander Zobnin
7b75b251b1 scrollbar: fix Firefox issue (white stripe on the right of scrollbar) 2018-04-02 21:15:10 +03:00
Alexander Zobnin
efaf267deb scrollbar: fix legend rendering issues 2018-04-02 20:47:09 +03:00
Alexander Zobnin
77d2ee9add Initially move to baron scrollbar 2018-04-02 14:59:49 +03:00
Alexey Velikiy
00f67ea7c7 rm panel.type constrain from threshold_mapper.ts (#11448) 2018-04-02 08:13:22 +02:00
Alexey Velikiy
13deb891f3 No need for node_modules/bin in npm run-script (#11449)
how run-script works: https://docs.npmjs.com/cli/run-script
2018-04-02 08:09:10 +02:00
Carl Bergquist
880293eea1 Merge pull request #11445 from svenklemm/docs-dashboard
docs: fix some typos in dashboard docs
2018-03-30 20:41:31 +02:00
bergquist
4538ffc0e8 changelog: adds note about closing #11555 2018-03-30 20:30:57 +02:00
Carl Bergquist
375cc8de8f Merge pull request #11399 from roidelapluie/promba
Fix #10555 #6888 Backslash in Prometheus variables
2018-03-30 20:26:08 +02:00
Sven Klemm
2bdcebb5b1 add article 2018-03-30 16:47:51 +02:00
Sven Klemm
cb156ee30b fix some typos 2018-03-30 16:42:48 +02:00
Daniel Lee
de6cd7ed0b docker: add users and groups to ldap block 2018-03-30 10:09:36 +02:00
Patrick O'Carroll
9ef5f2700d timepicker now closes without exiting edit/view mode, close order: modal, timepicker, view 2018-03-29 15:02:00 +02:00
Patrick O'Carroll
7b9b34c6e1 migrated graph_tooltip to ts 2018-03-29 11:51:34 +02:00
Daniel Lee
32264c61c4 Merge branch 'master' into dashboard-acl-ux2 2018-03-29 11:32:24 +02:00
Patrick O'Carroll
65f7c5f08f started migration to ts 2018-03-29 10:40:45 +02:00
Julien Pivotto
1f1719c498 Fix #10555 #6888 Better escape for Prometheus variables
Prior this commit, C:\bar was escaped C:\\\bar. Should be C:\\\\bar.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2018-03-29 09:49:15 +02:00
Patrick O'Carroll
8195c085fa bounnd the esc key to exit timepicker 2018-03-29 09:15:15 +02:00
bergquist
45d9bfca97 print to stderr since logger might not exist 2018-03-28 22:51:21 +02:00
bergquist
2ccbf12d1c settings: return error instead of ignoring it
closes #11281
2018-03-28 22:32:58 +02:00
bergquist
d95eabfeec docs: adds provisioning examples for all datasources
closes #11363
2018-03-28 17:39:00 +02:00
Marcus Efraimsson
b41370ca49 Merge pull request #11421 from this-is-angus/patch-1
Fixed typo in upgrading.md
2018-03-28 16:37:50 +02:00
Angus Burroughs
e645c51f7c Fixed typo in upgrading.md
Line 26: 'you' to 'your' in "make a backup of you 'grafana.db'"
2018-03-28 16:26:15 +02:00
Daniel Lee
86776154cc docs: rpm install page - update to centos 7 2018-03-28 15:35:51 +02:00
Daniel Lee
485d0f1c95 docs: install pages for v5.0.4 2018-03-28 15:19:46 +02:00
Patrick O'Carroll
d40b7433ea removed padding for icons and added margin 2018-03-28 15:06:20 +02:00
Daniel Lee
33bd979494 changelog: another update for v5.0.4 2018-03-28 14:57:11 +02:00
Daniel Lee
b1d3535cbb changelog: update for v5.0.4 2018-03-28 14:50:27 +02:00
bergquist
df89be4de9 changelog: adds note about closing issues 2018-03-28 14:21:10 +02:00
Carl Bergquist
0a1bc53f3a Merge pull request #11406 from bergquist/gomail
tech: migrates to none deprecated mail lib
2018-03-28 14:19:39 +02:00
Patrick O'Carroll
a3f15ced68 fixed graphpanel editmode and custom width for right side legend for IE11 2018-03-28 14:19:17 +02:00
Carl Bergquist
f009443a6f Merge pull request #11330 from digineo/auth-ipv6
Support IPv6 in Auth proxy white list
2018-03-28 14:17:43 +02:00
Daniel Lee
4b6fd675e2 Merge pull request #11390 from bergquist/notifiers_default_value
Default value for uploading images in alert notifiers
2018-03-28 13:06:09 +02:00
Carl Bergquist
d37e8df991 Merge pull request #11412 from tettaji/variable-docs
Clarified formatting multiple values doc
2018-03-28 13:01:12 +02:00
Daniel Lee
208cbd1189 Merge pull request #11405 from bergquist/alert_link
alert: fixes broken link back to grafana
2018-03-28 13:00:32 +02:00
Carl Bergquist
36adce17df Merge pull request #11411 from grafana/11247-save-alerts
dashboard: allow alerts to be saved for new/provisioned dashboards
2018-03-28 12:59:14 +02:00
bergquist
d29563ff8e alerting: bad default state for notifiers
when we made image upload optional we didnt
show the default value properly in the UI. Which
caused confusing. This commit apply the default
values to existing notifiers in the edit pages
and reverts back to using uploadimage=true as the
default value.
2018-03-28 12:52:39 +02:00
Tariq Ettaji
8985e5ac53 Clarified formatting multiple values doc 2018-03-28 12:51:12 +02:00
Daniel Lee
68833fa978 dashboard: allow alerts to be saved for new/provisioned dashboards
This changes the logic for the alert validation in the extractor. Validation
is executed twice, once before attempting to save the alerts and once after
saving the dashboard while saving the alerts to the db. The first validation
will not require that the alert has a dashboard id which allows new dashboards
with alerts to be saved.

Fixes #11247
2018-03-28 11:32:05 +02:00
bergquist
9e2e6fc586 add fallback for gravatar in org/admin view
closes #11095
2018-03-27 22:52:29 +02:00
bergquist
f2755982c3 tech: migrates to none deprecated mail lib
gomail is missing a maintainer so we are
switching to an active fork

ref https://github.com/go-gomail/gomail/issues/108

closes #7189
2018-03-27 21:53:46 +02:00
bergquist
2743e8be20 docs: not about email notifications and local img store
cloes #11054
2018-03-27 21:21:38 +02:00
bergquist
5596707531 alert: fixes broken link back to grafana
If Grafana was configured to use a subpath it
was included twice in the link from the
alert notification back to Grafana.

closes #11403
2018-03-27 20:26:51 +02:00
Marcus Efraimsson
95a4d61d10 Merge pull request #11094 from infernix:value-to-text-upstream 2018-03-27 19:06:40 +02:00
Marcus Efraimsson
f673ec16d1 table panel: additional fixes for value to text mapping
Make the value to text mapping more similar to singlestat solution.
Adds more tests.
Also, allows string to be mapped to other string besides numeric values.
2018-03-27 19:04:45 +02:00
aandrew
67f0382222 add value to text mapping 2018-03-27 19:00:22 +02:00
bergquist
7f5c2ebdd1 provisioning: better description for provisioned save modal 2018-03-27 15:19:20 +02:00
bergquist
627df67992 dashboards: reject updates of provisioned dashboards 2018-03-27 15:12:47 +02:00
Leonard Gram
a40e209a91 Merge pull request #11379 from bergquist/provisioning_override_id
provisioning: removes id from dashboard.json
2018-03-27 14:57:00 +02:00
Marcus Efraimsson
52164b0685 notes about closing #9210
[skip ci]
2018-03-27 14:13:49 +02:00
Patrick O'Carroll
d4be953d23 fixed alignment in search + fixed issue ie popup 2018-03-27 12:36:13 +02:00
bergquist
e622d5582b changelog: adds note about closing #11102 2018-03-27 10:56:19 +02:00
Patrick O'Carroll
dbcba4a009 sidemenu fix for internet explorer 11, changed icon width/height to pixels and added height to logo 2018-03-27 10:41:47 +02:00
Carl Bergquist
cdf4664930 Merge pull request #11371 from towolf/add-duplicate-panel-hints
Add hints for the 'pd' Duplicate Panel command from PR #11264
2018-03-27 10:35:41 +02:00
Carl Bergquist
44eb33265c Merge pull request #11384 from Rohlik/patch-1
Add new currency - Czech koruna
2018-03-27 09:59:16 +02:00
Thomas Rohlik
bf4273b584 Add new currency - Czech koruna
Currency used in Czech republic.
2018-03-26 16:34:49 +02:00
bergquist
d6faa3d06f provisioning: improve UX when saving provisioned dashboards 2018-03-26 15:08:46 +02:00
Patrick O'Carroll
ff62036f15 styled login page for ie11 2018-03-26 14:14:57 +02:00
bergquist
b61bc72e2a provisioning: removes id from dashboard.json
if dashboard json files contains `id` we
will just remove it form the dashboard model
before importing it into the database.

closes #11138
2018-03-26 13:17:39 +02:00
Julian Kornberger
391868c5d6 Use net.SplitHostPort to support IPv6
- Add some tests
- Make error message more helpful
2018-03-26 02:48:25 +02:00
Carl Bergquist
a20f3d196c Merge pull request #11375 from svenklemm/graphite_docs
doc: add missing word to graphite docs
2018-03-25 21:20:41 +02:00
Sven Klemm
f2249a5bcc add missing word to graphite docs 2018-03-25 15:49:06 +02:00
Tobias Wolf
03b2561af2 Missed the 'p d' hint in the popup-menu 2018-03-24 14:49:06 +01:00
Tobias Wolf
02f84e0c74 Add hints for the 'pd' Duplicate Panel command from PR #11264 2018-03-24 14:41:41 +01:00
Carl Bergquist
980e078222 Merge pull request #11326 from bergquist/more_traces
dataproxy: adds dashboardid and panelid as tags
2018-03-23 17:13:15 +01:00
Marcus Efraimsson
da83964a7e notes about closing #11306
[skip ci]
2018-03-23 16:41:08 +01:00
Leonard Gram
f223e99875 cleanup 2018-03-23 16:25:20 +01:00
Leonard Gram
97fa5361ff changelog: unix socket permissions 2018-03-23 16:13:59 +01:00
Julian Kornberger
6f363153d7 Adjust permissions of unix socket
fixes #8358
2018-03-23 16:09:04 +01:00
Daniel Lee
e84f746d1d Merge pull request #11348 from grafana/11306-sql-table-time
Postgres, MySQL, MSSQL minor refactoring/unification
2018-03-23 14:23:31 +01:00
Carl Bergquist
8d7fa644de Merge pull request #11352 from digineo/golint
Make golint happier
2018-03-23 13:35:11 +01:00
Daniel Lee
7b141280e5 docs: tweaks 2018-03-23 13:31:02 +01:00
bergquist
e2ba6fbb00 changelog: adds note about closing #5855 2018-03-23 13:20:02 +01:00
Carl Bergquist
8db09d7556 Merge pull request #11290 from Thib17/retry
Alerting: Add retry mechanism
2018-03-23 13:17:24 +01:00
Daniel Lee
78d314a9c1 Merge pull request #11140 from grafana/11131_right_legend_responsive
added media breakpoint to legend-right
2018-03-23 12:49:35 +01:00
Daniel Lee
4f38d237cb legend: small refactoring 2018-03-23 11:08:24 +01:00
bergquist
09df38d9f4 changelog: adds note about closing #11278 2018-03-23 11:01:32 +01:00
Carl Bergquist
f0d77804da Merge pull request #11329 from alexanderzobnin/fix-11278
fix dashboard version cleanup on large datasets
2018-03-23 10:53:51 +01:00
Carl Bergquist
d29116d8ff Merge pull request #11346 from infernix/fix-api-user-id
Return actual user ID in UserProfileDTO
2018-03-23 10:36:47 +01:00
Carl Bergquist
113888d6aa Merge pull request #11357 from tylerauerbeck/update_circleciv2
Cleanup CircleCI V2 Conversion
2018-03-23 10:29:37 +01:00
Daniel Lee
1c1d962bb1 docs: spelling 2018-03-23 09:04:50 +01:00
Daniel Lee
ccfe9de014 docs: add intro paragraph to provisioning page 2018-03-23 08:55:11 +01:00
Tyler Auerbeck
6f0eb94d46 Cleanup CircleCI V2 Conversion 2018-03-23 02:14:12 -04:00
Julian Kornberger
0a415c50d0 Make golint happier 2018-03-22 22:38:44 +01:00
Marcus Efraimsson
63465fd556 changelog: notes for #1271 and #2740
[skip ci]
2018-03-22 19:19:56 +01:00
Marcus Efraimsson
1ee0d1c296 Merge pull request #10994 from ilgizar/1271_share_zero 2018-03-22 18:34:38 +01:00
Marcus Efraimsson
f04a5d7329 Merge branch 'master' into 1271_share_zero 2018-03-22 18:31:37 +01:00
Marcus Efraimsson
c672e44d35 graph: minor fixes to y-axes alignment feature 2018-03-22 18:30:23 +01:00
Marcus Efraimsson
4af3a7875a Merge pull request #11349 from grafana/save_trash
Fix save icon in folder settings
2018-03-22 18:21:28 +01:00
Patrick O'Carroll
99626b8e07 added save icon to save buttons 2018-03-22 17:04:00 +01:00
Marcus Efraimsson
2e8aeffc13 Merge branch 'master' into 1271_share_zero 2018-03-22 16:59:36 +01:00
Patrick O'Carroll
823f903048 removed trash can icon from save buttons 2018-03-22 16:59:06 +01:00
Marcus Efraimsson
b818e9f619 Merge branch 'master' into 11306-sql-table-time 2018-03-22 16:45:33 +01:00
Marcus Efraimsson
f0f41c2a8e mysql: skip tests by default 2018-03-22 16:44:55 +01:00
Gerben Meijer
e722732021 Return actual user ID in UserProfileDTO
This fixes calls to /api/user where ID is currently always 0
2018-03-22 16:30:04 +01:00
Marcus Efraimsson
bd4ecaeac6 mssql: update query editor help 2018-03-22 15:46:40 +01:00
Marcus Efraimsson
f5654f88e2 mysql: fix precision for the time column in table/annotation query mode
Use the ConvertSqlTimeColumnToEpochMs function to convert any native
datetime data type or epoch time (millisecond precision).
Refactored mysql implementation to make it more similar to postgres
and mssql implementations.
Added $__timeEpoch macro function with same implementation as $__time.
Added possibility to use a time column named time in addition to
the currectly supported time_sec.
Additional tests and update of existing.
Added test dashboard.
2018-03-22 15:40:46 +01:00
Marcus Efraimsson
66c03f84f5 postgres: fix precision for the time column in table/annotation query mode
Use the ConvertSqlTimeColumnToEpochMs function to convert any native
datetime data type or epoch time (millisecond precision).
Additional tests and update of existing due to timezone issues
running postgres on UTC and dev environment on non-utc.
Added test dashboard.
2018-03-22 15:32:33 +01:00
Marcus Efraimsson
b69ebee066 mssql: fix precision for the time column in table/annotation query mode
Use the ConvertSqlTimeColumnToEpochMs function to convert any native
datetime data type or epoch time (millisecond precision).
Additional tests and update of existing due to timezone issues
running MSSQL on UTC and dev environment on non-utc.
Update stored procedures test to handle more parameters.
Update test dashboard.
2018-03-22 15:23:12 +01:00
Marcus Efraimsson
b0076d4f65 mssql: remove UTC conversion in macro functions
Removes the macro function . Macro functions should not do UTC/timezone conversion - they should
work in the same way as postgres and mysql datasource implementations.
Grafana and Microsft SQL Server should be run on servers with UTC timezones.
2018-03-22 14:55:44 +01:00
Marcus Efraimsson
3ccadff800 mssql: fix timeGroup macro so that it properly creates correct groups
Earlier the division of interval was done using whole numbers resulting in that important information
was lost/too many time series merged to the same group. Now using division of floating point and rounding
up to solve the problem
2018-03-22 14:49:40 +01:00
Patrick O'Carroll
4916826364 small screen legend right also work like legend under in render + set scrollbar to undefined in destroyScrollbar so it doesnt become disabled when toggeling between right and under 2018-03-22 14:39:13 +01:00
Carl Bergquist
22fffe0dda Merge pull request #11337 from digineo/golint
Make golint happier
2018-03-22 14:35:33 +01:00
Alexander Zobnin
0ffcea08c7 dashboard version cleanup: more tests and refactor 2018-03-22 15:18:05 +03:00
Julian Kornberger
7aab6a8887 Make golint happier 2018-03-22 12:40:21 +01:00
Patrick O'Carroll
f2f709989f fixed so legend right works like legend under on small screens 2018-03-22 09:41:05 +01:00
Thibault Chataigner
38bdb8dfb3 Alerting: move getNewState to EvalContext
This fix alert state update when several evaluation attempts are needed

Signed-off-by: Thibault Chataigner <t.chataigner@criteo.com>
2018-03-21 20:59:39 +01:00
Alexander Zobnin
2ade0881b1 minor refactor of dashboard version cleanup 2018-03-21 22:48:17 +03:00
Alexander Zobnin
3f85fcce2d refactor: dashboard version cleanup 2018-03-21 21:01:15 +03:00
Alexander Zobnin
f976b690ca limit number of rows deleted by dashboard version cleanup 2018-03-21 20:26:27 +03:00
Alexander Zobnin
fc2d1d6ca9 fix dashboard version cleanup on large datasets 2018-03-21 17:23:05 +03:00
Daniel Lee
624dac16fa docs: add variable regex examples (#11327) 2018-03-21 13:23:50 +01:00
bergquist
519fd8b2ba graphite: adds more traces for alerting 2018-03-21 13:16:59 +01:00
Marcus Efraimsson
42299eb328 Merge branch 'master' into 11306-sql-table-time 2018-03-21 12:08:48 +01:00
Marcus Efraimsson
3cb0bc3da1 sql datasource: extract common logic for converting time column to epoch time in ms 2018-03-21 11:20:15 +01:00
bergquist
f41f2089a2 docs: details about provisioning elastic
closes #11292
2018-03-21 08:54:09 +01:00
Carl Bergquist
4bcc073813 Merge pull request #11322 from jordo1138/patch-1
update email template default year and name
2018-03-21 07:49:35 +01:00
Jordan Hamel
7a4475fbf3 update email default year and name
from 2016 grafana and raintank to 2018 Grafana Labs
2018-03-20 16:55:57 -07:00
bergquist
f142548969 dataproxy: adds dashboardid and panelid as tags
closes #11315
2018-03-20 22:23:28 +01:00
Thibault Chataigner
5d23e7710b Alerting: Add retry mechanism and its unitests
Signed-off-by: Thibault Chataigner <t.chataigner@criteo.com>
2018-03-20 21:01:56 +01:00
Daniel Lee
c53fda4b5a Merge pull request #11264 from grafana/11102_duplicate_panel_shortcut
Keyboard shortcut to duplicate panel
2018-03-20 20:56:35 +01:00
Daniel Lee
685a371747 Merge pull request #11316 from ryantxu/ace-disable-snippets
Expose option to disable snippets in ACE code-editor
2018-03-20 20:53:34 +01:00
Marcus Efraimsson
9df5476fe3 Merge pull request #11312 from grafana/func_editor_js_to_ts
convert func_editor.js to typescript
2018-03-20 20:51:58 +01:00
Marcus Efraimsson
de396b277e Merge pull request #11309 from grafana/add_graphite_func_js_to_ts
convert add_graphite_func.js to typescript
2018-03-20 20:51:21 +01:00
Daniel Lee
4dcf1b72b3 Merge pull request #11313 from ryantxu/remove-unused-images
Remove unused kibana images
2018-03-20 20:44:00 +01:00
Daniel Lee
70cd501373 Merge pull request #11320 from daniellee/update-xorm
mysql: fixes panics when mysql connection times out (#11155)
2018-03-20 20:16:18 +01:00
Daniel Lee
32d1477b79 Merge pull request #11319 from alexanderzobnin/fix-11318
snapshot: fix legend rendering bug
2018-03-20 20:02:25 +01:00
Alexander Zobnin
a472d38fbf snapshot: fix legend rendering bug 2018-03-20 21:33:54 +03:00
Daniel Lee
92388f7faf session: update defaults for ConnMaxLifetime
to be the same as the 5.0.3 release defaults
2018-03-20 19:31:01 +01:00
Daniel Lee
1cef373d16 Merge remote-tracking branch 'upstream/master' into update-xorm 2018-03-20 19:21:58 +01:00
Daniel Lee
70630d742e snapshots: removes errors for empty values in ViewStore
Occurs when opening a snapshot.
2018-03-20 19:12:52 +01:00
ilgizar
0e159dada1 Allocated to a separate alignment block. Replaced the attribute of the second axis by the attribute of the axes. 2018-03-20 22:44:48 +05:00
ryan
f9acb4157b Expose option to disable snippets 2018-03-20 15:26:41 +01:00
Patrick O'Carroll
47215098a3 changed var to const, changed to string interpolation 2018-03-20 14:43:09 +01:00
Daniel Lee
e5e9d3c2f3 mssql: adds test for time should be ms in table mode 2018-03-20 14:42:29 +01:00
ryan
54c4b6a11a Remove unused kibana images 2018-03-20 14:39:19 +01:00
Patrick O'Carroll
3bdd006291 changed var to const 2018-03-20 14:26:03 +01:00
bergquist
fdf7a4c435 changelog: adds note about closing #11114 & #11086 2018-03-20 13:15:45 +01:00
Daniel Lee
d34cd8730e mssql: convert tests to jest 2018-03-20 13:01:32 +01:00
Daniel Lee
ae4c6e4648 mssql: fix precision for time column in table mode
ref #11306
2018-03-20 12:59:40 +01:00
Carl Bergquist
10a0460dc6 Merge pull request #11282 from alexanderzobnin/fix-11086
Fix rendering link to panel in collapsed row
2018-03-20 12:40:30 +01:00
Patrick O'Carroll
2a90370230 converted file to ts 2018-03-20 12:36:02 +01:00
Marcus Efraimsson
51cbf23c4a changelog: notes about #10093 and #11298
[ci skip]
2018-03-20 12:26:37 +01:00
Alexander Zobnin
05ac7d8fca dashboard: fix phantomjs panel rendering in collapsed row 2018-03-20 14:13:31 +03:00
ilgizar
e015047ed1 Fixed unit test. 2018-03-20 16:09:52 +05:00
ilgizar
341afe65ef Merge remote-tracking branch 'upstream/master' into 1271_share_zero 2018-03-20 15:54:56 +05:00
ilgizar
1588295375 Changed the way this feature was activated. And changed tolltip. 2018-03-20 15:38:48 +05:00
ilgizar
230f018c78 Added validation of input parameters. 2018-03-20 15:37:18 +05:00
Patrick O'Carroll
2a50bc35a3 converted file to ts 2018-03-20 11:07:31 +01:00
Carl Bergquist
f64c6e490a Merge pull request #11258 from mitjaziv/hide-credentials
add regex search/replace of username/password in urls
2018-03-20 09:37:09 +01:00
Marcus Efraimsson
720711d1fe fix: only run gofmt on pkg directory omitting vendor directory 2018-03-20 09:24:04 +01:00
Marcus Efraimsson
b816f18b3d fix: dep ensure. now without gofmt on ventor directory 2018-03-20 09:23:18 +01:00
Daniel Lee
4033283254 Merge pull request #11298 from grafana/mssql_datasource
Microsoft SQL Server data source
2018-03-20 00:03:26 +01:00
Marcus Efraimsson
192e913b7b mssql: add integration test to verify stored procedure usage 2018-03-19 19:56:34 +01:00
Marcus Efraimsson
8f6626e805 mssql: encrypt password in database 2018-03-19 17:32:51 +01:00
Marcus Efraimsson
6044b3aeeb Merge branch 'master' into mssql_datasource 2018-03-19 17:14:33 +01:00
Marcus Efraimsson
449a307575 mssql: remove dynamic construction of metric column and other columns
This seems like a niche feature which can be solved by defining multiple queries. In the future
we'll probably add support for defining series name by alias field similar to how other datasources
have solved that, e.g. prometheus.
2018-03-19 17:14:01 +01:00
Marcus Efraimsson
b8e2414e46 docker: pin microsoft/mssql-server-linux to 2017-CU4 tag 2018-03-19 16:39:50 +01:00
bergquist
ec007f536b docs: improve guide for high availability 2018-03-19 14:37:09 +01:00
Daniel Lee
caf60dda0e Merge pull request #10376 from grafana/openTSDB-file-to-ts
migrated file to ts
2018-03-19 14:32:32 +01:00
Marcus Efraimsson
4eb4ba67bd fix: dep ensure. now without gofmt on ventor directory 2018-03-19 14:15:36 +01:00
Marcus Efraimsson
f5e02d6508 fix: only run gofmt on pkg directory omitting vendor directory 2018-03-19 14:14:38 +01:00
Marcus Efraimsson
a2eaf3954a test 2018-03-19 14:06:05 +01:00
Daniel Lee
8b9c44be17 Merge pull request #10369 from grafana/elastic-file-to-ts
migrated files to ts
2018-03-19 13:59:30 +01:00
Marcus Efraimsson
d14946a135 mssql: cleanup and minor refactor 2018-03-19 13:32:04 +01:00
Marcus Efraimsson
24c0f28f41 mssql: allow host without port and fallback to default port 1433 2018-03-19 13:24:31 +01:00
Marcus Efraimsson
2802fe3f3e docker: update test dashboard for mssql tests 2018-03-19 13:07:26 +01:00
Marcus Efraimsson
62174c81c8 mssql: cleanup and minor changes 2018-03-19 13:06:46 +01:00
Leonard Gram
1f7235b340 Update CHANGELOG.md 2018-03-19 11:29:23 +01:00
Leonard Gram
0fde19552f Missed thanks in changelog 2018-03-19 11:27:08 +01:00
Leonard Gram
4ca15ae71e Adds pagerduty api update to changelog. 2018-03-19 11:25:57 +01:00
Marcus Efraimsson
8c2f3f761b mssql: update readme 2018-03-19 11:20:17 +01:00
Marcus Efraimsson
03d15f7955 mssql: update test dashboard 2018-03-19 11:08:53 +01:00
Marcus Efraimsson
294ee5a610 Merge branch 'master' into mssql_datasource 2018-03-19 11:03:13 +01:00
Marcus Efraimsson
74a98d46eb mssql: remove logos for now 2018-03-19 11:02:55 +01:00
Marcus Efraimsson
e1c4a27d1d docs: mssql documentation will go into another branch targeting next minor version 2018-03-19 11:02:01 +01:00
Leonard Gram
148b71846f Updated roadmap for 5.1 2018-03-19 10:43:26 +01:00
Carl Bergquist
930d00b513 Merge pull request #11284 from flopp999/patch-1
Changed Swedish and Icelandic currency
2018-03-19 08:15:34 +01:00
Daniel Lee
72f4341305 Merge pull request #11289 from DavidLambauer/patch-1
Minor format changes
2018-03-19 07:56:47 +01:00
DavidLambauer
b90c323e31 Minor format changes
Just fixed some minor inconsistencies in the format of the file. There were some configurations uncommented like so: 

```
; container_name =
```

and some other like so:

```
;container_name =
```

So there is a need for a small perfection here! 

I also removed some unnecessary line breaks, bullying my eyes... 

![<3](https://media.giphy.com/media/dTJd5ygpxkzWo/giphy.gif)
2018-03-18 10:17:48 +01:00
flopp999
6718915a23 Changed Swedish and Icelandic currency
Swedish krone -> Swedish krona
Icelandic krone - > Icelandic króna
2018-03-16 19:46:20 +01:00
Alexander Zobnin
205714759e fix failed tests for dashboard view state 2018-03-16 21:45:31 +03:00
Alexander Zobnin
0e5b790b54 dashboard: fix rendering link to panel in collapsed row 2018-03-16 21:03:49 +03:00
Daniel Lee
4bf285c3d1 docs: update install docs for 5.0.3 2018-03-16 18:39:34 +01:00
Daniel Lee
e7bbc6e624 changelog: 5.0.3 2018-03-16 17:42:23 +01:00
Marcus Efraimsson
d26d8c713e Merge branch 'master' into mssql_datasource 2018-03-16 15:19:19 +01:00
Marcus Efraimsson
06afd24a10 mssql: add alternative logo without text 2018-03-16 15:18:05 +01:00
Marcus Efraimsson
1c7aff7810 mssql: strip inkscape from logo 2018-03-16 15:17:25 +01:00
Marcus Efraimsson
69b9fb6d15 mssql: minor improvements of query editor help 2018-03-16 15:11:15 +01:00
Marcus Efraimsson
ccd57fbfa3 mssql: skip rendering of mssql logos until we have a valid logo 2018-03-16 14:47:43 +01:00
Marcus Efraimsson
673c8290fb docker: add test dashboard for mssql tests based on test data generated by integration test 2018-03-16 14:44:26 +01:00
Marcus Efraimsson
e97b03e930 mssql: additional integration tests
Metric query of table having multiple value columns
Annotation query
2018-03-16 14:42:54 +01:00
Marcus Efraimsson
f0f8006d8d mssql: support money, smallmoney and decimal data types 2018-03-16 14:37:16 +01:00
Marcus Efraimsson
a6e4ac5484 mssql: update plugin.json, added description and name MSSQL -> Microsft SQL Server 2018-03-16 14:26:05 +01:00
Patrick O'Carroll
fc9014f920 added indent to dashboards inside folder in search dropdown, and added indent to dashboard icon in search item 2018-03-16 12:36:36 +01:00
Carl Bergquist
1014f7c40a Merge pull request #11260 from iksaif/master
alertmanager: handle resolved alerts, nodata, and execution errors + cleanups
2018-03-16 09:11:59 +01:00
Daniel Lee
3ca1e06509 session: fork Macaron mysql session middleware
This changes forks the mysql part of the Macaron session middleware.

In the forked mysql file:

- takes in a config setting for SetConnMaxLifetime (this solves wait_timeout
problem if it is set to a shorter interval than wait_timeout)
- removes the panic when an error is returned in the Exist function.
- retries the exist query once
- retries the GC query once
2018-03-16 01:19:28 +01:00
Daniel Lee
9cdd7cb04c database: expose SetConnMaxLifetime as config setting
For MySQL, setting this to be shorter than the wait_timeout MySQL setting
solves the issue with connection errors after the session has timed out for
the connection to the database via xorm.
2018-03-16 01:09:00 +01:00
Daniel Lee
5a3ba68a9c database: fixes after xorm update 2018-03-16 00:09:29 +01:00
Daniel Lee
1c20126f87 database: update xorm to v0.6.4 and xorm core to v0.5.7 2018-03-16 00:02:50 +01:00
Mitsuhiro Tanda
c6fa0b90a7 prometheus editor: variable autocomplete support (PR #9988)
* prometheus ace editor, template variable support

* minor fix

* support [[var]] notation

* don't remove last ] if token type is string

* Revert "don't remove last ] if token type is string"

This reverts commit bce5b2d56e.

* Revert "support [[var]] notation"

This reverts commit 10012f8ffe.

* fix token type and regex
2018-03-15 20:17:51 +03:00
Patrick O'Carroll
1094dc32bc made a keyboard shortcut to duplicate panel 2018-03-15 17:22:11 +01:00
Marcus Efraimsson
7dfa159ba1 docs: update mssql documentation 2018-03-15 17:19:07 +01:00
Marcus Efraimsson
9144701fcc mssql: disable mssql integration tests per default 2018-03-15 15:27:31 +01:00
Leonard Gram
3b03dce3c2 mssql: timeGroup fill support added. 2018-03-15 15:06:54 +01:00
Marcus Efraimsson
faf9e3f722 mssql: add timeGroup integration test 2018-03-15 14:26:53 +01:00
Corentin Chary
3d8f1a7439 alertmanager: /Creating/Sending/ 2018-03-15 13:48:58 +01:00
Leonard Gram
571556e1d8 mssql: adds fill to timeGroup macro. 2018-03-15 13:11:26 +01:00
ryan
a04c4ba454 allow any database for influx proxy 2018-03-15 13:01:17 +01:00
ryan
ad88e5398c remove 2018-03-15 12:57:09 +01:00
Corentin Chary
c8da1a46c5 alertmanager: handle resolved alerts, nodata, and execution errors
- Resolved alerts will be sent to the AM the first time they move
  from Alerting to OK
- Errors are forwarded
- NoData is not ignored anymore
- The summary annotation is set (with the alertname)
- The image annotation is set (when available)
2018-03-15 12:02:29 +01:00
Mitja Zivkovic
5669596518 add regex search of username and password in urls, which are replaced by strings.Replace 2018-03-15 10:50:57 +01:00
Corentin Chary
d4d2b6d7da notitfiers: avoid ShouldNotify duplication 2018-03-15 10:48:29 +01:00
ryan
3aed867b4b fix merge error 2018-03-15 10:35:50 +01:00
ryan
853d9bb378 Merge remote-tracking branch 'grafana/master' into influx-db-query2
* grafana/master:
  docker: change port for prom random data scrape target
2018-03-15 10:25:20 +01:00
Corentin Chary
777c1024c9 alertmanager: if there are no alerts to send, do nothing 2018-03-15 10:08:03 +01:00
Marcus Efraimsson
d2267643ed Merge branch 'master' into mssql_datasource 2018-03-15 09:53:19 +01:00
Marcus Efraimsson
eef01e3703 docker: change port for prom random data scrape target 2018-03-15 09:52:53 +01:00
Marcus Efraimsson
3d0f97aab9 mssql datasource: wip 2018-03-15 09:51:29 +01:00
Marcus Efraimsson
ef3588c1f8 docker: mssql and mssql tests blocks with common build context 2018-03-15 09:49:53 +01:00
ryan
1080c113f6 fix lint problems 2018-03-15 00:07:20 +01:00
ryan
1ce3e49e72 fix lint problems 2018-03-15 00:05:15 +01:00
ryan
cae9c28f70 fix lint problems 2018-03-15 00:03:47 +01:00
ryan
7a7e407393 fix lint problems 2018-03-15 00:02:38 +01:00
ryan
4f8ee9f5a7 merge with master 2018-03-14 23:52:24 +01:00
Carl Bergquist
18e498e0ff Update README.md
Removes alpha 

closes https://github.com/grafana/grafana/issues/11251
2018-03-14 21:07:55 +01:00
Marcus Efraimsson
61e1c12fee docker: fake-data-gen:latest updates
fake-data-gen for elastic 2.4 and 5 blocks, new graphite 1.1+ block.
added big dashboard for graphite 1 and 1.1+ that can be imported to grafana
2018-03-14 20:47:52 +01:00
ilgizar
bd3d17ab8c Merge remote-tracking branch 'upstream/master' into 1271_share_zero 2018-03-14 23:42:58 +05:00
ilgizar
9d7ab78d9f Resolved conflict 2018-03-14 23:39:05 +05:00
bergquist
8efb39ee2b docs: more details about slack notifier
closes #11059
2018-03-14 18:26:05 +01:00
bergquist
bdf6a75c91 docs: updates latest release for docs 2018-03-14 17:09:02 +01:00
bergquist
cf67584998 changelog: improve description of closed issues 2018-03-14 16:06:03 +01:00
Carl Bergquist
105f6ff88c Merge pull request #11249 from bergquist/legacy_render_urls
Avoid redirecting internal rendering requests
2018-03-14 15:42:07 +01:00
bergquist
6cac7c2de9 renderer: avoid redirect render requests
closes #11180
2018-03-14 15:27:18 +01:00
bergquist
e4cca1943c changelog: adds notes about 5.0.2
[ci skip]
2018-03-14 15:05:17 +01:00
Carl Bergquist
6d1e3613f7 Merge pull request #11246 from grafana/11227_import
dashboard: fix import dashboard with alert rule(s)
2018-03-14 14:38:29 +01:00
Carl Bergquist
a8918047a2 Merge pull request #11238 from grafana/11155-mysql-issue
middleware: recover and retry on session start
2018-03-14 14:29:47 +01:00
Marcus Efraimsson
87284d284e dashboard: fix import dashboard with alert rule
Importing a dashboard with alert rule(s) should be possible without receiving invalid
alert data error. This fix reverts the import logic to how it worked before Grafana v5.0,
that is import will allow dashboard with alert rule(s) but no alerts will be created.
After an import the user will need to update the dashboard for the alerts to be created.
Fixes #11227
2018-03-14 14:24:56 +01:00
Carl Bergquist
0ef94ea403 Merge pull request #11232 from grafana/11231_dash_url
Should be possible to browse dashboard using only uid
2018-03-14 14:18:58 +01:00
Carl Bergquist
a0a57ac33a Merge pull request #11236 from grafana/alerting_collapsed_panels
alerting: supports extracting alerts from collapsed panels
2018-03-14 14:16:50 +01:00
Daniel Lee
5f511deefc middleware: recover and retry on session start
Partial fix for #11155 - the Macaron session middleware
panics if mysql returns an error. This fix recovers from
the panic and retries once
2018-03-14 12:26:59 +01:00
bergquist
be7ec310b1 alerting: supports extracting alerts from collapsed panels
collapsed rows wrap the hidden rows within itself. This caused
the extractor to miss the panel and therefore delete the alert
accosiated with the graph.

closes #11222
2018-03-14 11:23:16 +01:00
Marcus Efraimsson
6503e482e3 docker: add test dashboard for mssql for visualizing data generated by fake-data-gen 2018-03-13 23:07:40 +01:00
Marcus Efraimsson
c87752102a mssql datasource: support for timeGroup macro function 2018-03-13 22:49:49 +01:00
Carl Bergquist
9cae6f05b4 Merge pull request #11225 from flopp999/patch-1
Added icon for iOS web app
2018-03-13 21:54:55 +01:00
Marcus Efraimsson
91fa076fb3 folders: should be possible to browse folder using only uid
That is, the slug part of url should be optional.
2018-03-13 21:32:37 +01:00
Marcus Efraimsson
5fbfd67b94 dashboards: should be possible to browse dashboard using only uid
That is, the slug part of url should be optional.
Closes #11231
2018-03-13 21:06:25 +01:00
Marcus Efraimsson
57d46a706c mssql datasource: additional data type tests 2018-03-13 19:54:29 +01:00
Marcus Efraimsson
e7b790316e docker: add mssql block 2018-03-13 17:03:10 +01:00
Marcus Efraimsson
d4beee2bb0 Merge branch 'master' into mssql_datasource 2018-03-13 16:03:02 +01:00
flopp999
0fd75e6005 Added icon for iOS web app
If you using Safari on a iOS device and save the page to home screen you will get the Grafana icon as icon
2018-03-13 15:12:04 +01:00
Alexander Zobnin
0185ad5b04 changelog: add note about closing #8151 2018-03-13 15:54:58 +03:00
Alexander Zobnin
560aec50b3 Merge PR #8613 2018-03-13 15:36:32 +03:00
Leonard Gram
87bc60b9d7 alerting: adds back the link to grafana. 2018-03-13 13:29:57 +01:00
John Baublitz
aba6f627c5 Fix CI 2018-03-13 13:29:57 +01:00
John Baublitz
89557dd67b Modify Grafana Pagerduty notifier to use Pagerduty API V2 2018-03-13 13:29:57 +01:00
Alexander Zobnin
30d077d1d1 graph: minor refactor of histogram mode PR #8613 2018-03-13 15:25:28 +03:00
bergquist
da19000733 changelog: adds note about closing #11220 2018-03-13 11:26:30 +01:00
bergquist
061a418f0f style: dont expose func outside package 2018-03-13 11:24:10 +01:00
Alexander Zobnin
38a19f7c90 Merge branch 'histogram_multi' of https://github.com/mtanda/grafana into mtanda-histogram_multi 2018-03-13 13:18:55 +03:00
Daniel Lee
3f2c086e6f teams: removes quota on route
Got added by mistake a year ago.
2018-03-13 10:56:35 +01:00
bergquist
c18c0f6db7 changelog: adds note about closing #11143
[ci skip]
2018-03-13 10:43:44 +01:00
Carl Bergquist
6df13252bf Merge pull request #11143 from ApsOps/colorize-singlestat-prefix-postfix
Add color to prefix and postfix in singlestat panel
2018-03-13 10:41:40 +01:00
bergquist
b400f7ccff changelog: adds note about closing #11107
[ci skip]
2018-03-13 09:54:46 +01:00
Yohann BARRE
a3388ef45f Second to HH:mm:ss formatter (#11105)
* Seconds to HH:MM:SS format
2018-03-13 09:52:41 +01:00
bergquist
18638c21c9 changelog: adds note about closing #10009
[ci skip]
2018-03-13 09:48:22 +01:00
Carl Bergquist
bf6ff50d0b Merge pull request #11087 from alexanderzobnin/prometheus-heatmap
Prometheus heatmap support
2018-03-13 09:44:25 +01:00
Carl Bergquist
ccd11ac928 Merge pull request #11212 from flopp999/patch-1
Added concentration units and "Normal cubic metre"
2018-03-13 08:23:04 +01:00
Carl Bergquist
a9fd3e65ea Merge pull request #11214 from kkohtaka/patch-1
docs: fix an outdated link to Prometheus's doc
2018-03-13 08:00:26 +01:00
Kazumasa Kohtaka
fcca00c0f9 docs: fix an outdated link to Prometheus's doc 2018-03-13 10:27:18 +09:00
flopp999
185aa6d47b Added concentration units and "Normal cubic metre"
ppm, ppb, ng/m3, ng/Nm3, μg/m3, μg/Nm3, mg/m3, mg/Nm3, g/m3, g/Nm3, Nm3
ppm was moved from "Dimensionless" and "submenu" to "Concentration"
2018-03-12 20:59:43 +01:00
Carl Bergquist
a9d485c1e8 Merge pull request #11205 from matrixik/patch-1
Fix urls in plugin update_checker logs
2018-03-12 20:40:24 +01:00
ilgizar
7dd66450ad Corrected work for graphs created before this feature. 2018-03-12 23:43:13 +05:00
ilgizar
8c82e5701c Replaced array values to variables yLeft and yRight for easy reading code. 2018-03-12 23:12:45 +05:00
ilgizar
11ae926388 Rename test file according module name. 2018-03-12 23:11:11 +05:00
Alexander Zobnin
989ba9763f prometheus: fix bug introduced by #9859 (httpMethod is undefined) 2018-03-12 19:41:07 +03:00
Alexander Zobnin
46d2067af2 prometheus: add tests for heatmap mode 2018-03-12 17:37:21 +03:00
Alexander Zobnin
94cf560304 Merge remote-tracking branch 'upstream/master' into prometheus-heatmap 2018-03-12 17:16:02 +03:00
Alexander Zobnin
479209f483 prometheus: datasource refactor 2018-03-12 17:13:05 +03:00
Dobrosław Żybort
5a368f99ec Fix urls in plugin update_checker logs 2018-03-12 14:38:37 +01:00
bergquist
1a781fcee1 changelog: adds note about closing #10029
[ci skip]
2018-03-12 14:26:28 +01:00
Carl Bergquist
e94d23e5ff Merge pull request #10873 from willyhutw/cloudwatch_dimension_values_add_dimension_filter
Cloudwatch dimension_values add dimension filter.
2018-03-12 14:24:26 +01:00
Marcus Efraimsson
34d9983da2 docs: add team api link from http api reference page 2018-03-12 13:57:32 +01:00
Patrick O'Carroll
1d190de918 added test for sorting and filtering 2018-03-12 11:58:47 +01:00
Carl Bergquist
74602b1077 Merge pull request #11183 from jtyr/jtyr-timeticks
Adding Timeticks unit
2018-03-12 09:53:53 +01:00
bergquist
4362a73dd2 changelog: adds note about closing #9859 2018-03-12 09:23:59 +01:00
Carl Bergquist
4edc49bfab Merge pull request #9859 from mtanda/prometheus_post
(prometheus) support POST for query and query_range
2018-03-12 09:21:45 +01:00
ilgizar
8152b9d6fe Refactoring 2018-03-12 10:54:03 +05:00
Mitsuhiro Tanda
4e1501b172 set default value of httpMethod 2018-03-12 13:53:05 +09:00
Mitsuhiro Tanda
a83ede0193 support POST for query and query_range 2018-03-12 13:25:05 +09:00
Jiri Tyr
6bfed903c4 Adding Timeticks unit 2018-03-09 17:20:24 +00:00
Marcus Efraimsson
f1fc1672be docs: minor fix for dashboard http api documentation
Reported in #11176
2018-03-09 10:39:50 -05:00
Leonard Gram
d3f54f941d build: cleanup 2018-03-09 12:19:52 +01:00
Leonard Gram
f72eea186d build: removes custom work dir in deploy. 2018-03-09 11:55:56 +01:00
Leonard Gram
49de4ed28b build: upgrades build pipeline from CircleCI 1.0 -> 2.0 (#11162)
build: upgrades build pipeline from CircleCI 1.0 -> 2.0
2018-03-09 11:27:00 +01:00
bergquist
77cd7f34c7 github: test new issue tempalte
My hope is that headers will make it easier to read
when people post issues.
2018-03-09 09:33:28 +01:00
bergquist
e5b9219f13 dev: update dev prometheus2 to 2.2.0 2018-03-08 23:01:03 +01:00
bergquist
64aedbf492 Merge branch 'mayli-master'
* mayli-master:
  Use B/s instead Bps for Bytes per second
2018-03-08 18:51:45 +01:00
bergquist
0ee6a5216b Merge branch 'master' of https://github.com/mayli/grafana into mayli-master
* 'master' of https://github.com/mayli/grafana:
  Use B/s instead Bps for Bytes per second
2018-03-08 18:50:02 +01:00
bergquist
c80d346417 changelog: adds note about closing #10925 2018-03-08 18:12:15 +01:00
bergquist
ad15c5405d Merge branch 'master' of github.com:grafana/grafana
* 'master' of github.com:grafana/grafana: (24 commits)
  docs: update latest to 5.0.1
  push 5.0.1 to package cloud
  changelog: adds release date for 5.0.1
  bump master build to 5.1.0-pre1
  move quota to dedicated service
  rename Context to ReqContext
  changelog: note about closing #11145 and #11127
  docs: adds note about closing #10632
  removes commented code
  removes unused variables
  upgrade to go 1.10
  alerting: fixes validation error when saving alerts in dash
  add csv templating format
  docs: note about closing #11046
  docs: adds note about #10942
  Documentation: path "~/go" to "$GOPATH"
  Update ROADMAP.md
  move Context and session out of middleware
  only use jwt token if it contains an email address
  hide row actions for viewers
  ...
2018-03-08 18:09:15 +01:00
Carl Bergquist
a589f701ad Merge pull request #10925 from mtanda/cw_high_resolution
(cloudwatch) support high resolution query
2018-03-08 18:06:08 +01:00
bergquist
71df2760a1 Merge branch 'cw_high_resolution' of https://github.com/mtanda/grafana
* 'cw_high_resolution' of https://github.com/mtanda/grafana:
  fix, set default highResolution setting
  support cloudwatch high resolution query
2018-03-08 18:02:35 +01:00
Carl Bergquist
5153d8e535 Merge pull request #11161 from DanCech/quota-refactor
move quota to dedicated service
2018-03-08 15:21:16 +01:00
bergquist
e11437ff56 docs: update latest to 5.0.1 2018-03-08 11:06:21 +01:00
bergquist
d539905517 push 5.0.1 to package cloud 2018-03-08 10:59:57 +01:00
bergquist
d1f5f209c5 changelog: adds release date for 5.0.1 2018-03-08 10:43:40 +01:00
Daniel Lee
8563c12548 Merge pull request #11157 from chaintng/fix-query-condition
fix query condition docs
2018-03-08 10:40:35 +01:00
Carl Bergquist
87db2d1183 Merge pull request #11130 from DanCech/context-refactor
move Context and session out of middleware
2018-03-08 10:21:34 +01:00
bergquist
7784e8a829 bump master build to 5.1.0-pre1 2018-03-08 09:51:25 +01:00
Dan Cech
bbd6adabbf move quota to dedicated service 2018-03-07 17:19:35 -05:00
Alexander Zobnin
425d2cfd3a docker: add prometheus/example-golang-random to docker-compose blocks 2018-03-07 21:20:22 +03:00
Carl Bergquist
e3b86637f9 Merge pull request #11146 from grafana/go1.10
Upgrade golang to 1.10
2018-03-07 18:00:37 +01:00
Dan Cech
c0ecdee375 rename Context to ReqContext 2018-03-07 11:54:50 -05:00
Carl Bergquist
687179809e Merge pull request #11139 from jonyrock/patch-1
Documentation fix: "~/go" to "$GOPATH"
2018-03-07 17:51:21 +01:00
Mitsuhiro Tanda
eecbdc89eb fix, set default highResolution setting 2018-03-08 01:18:11 +09:00
bergquist
e9c64a6631 changelog: note about closing #11145 and #11127 2018-03-07 17:18:03 +01:00
Carl Bergquist
d220516664 Merge pull request #11145 from grafana/alerting-invalid-data
alerting: fixes validation error when saving alerts in dash
2018-03-07 17:06:19 +01:00
Carl Bergquist
d07aff8991 Merge pull request #11127 from DanCech/oauth-jwt-email
only use jwt token if it contains an email address
2018-03-07 17:01:12 +01:00
bergquist
d9308a0325 docs: adds note about closing #10632 2018-03-07 16:58:27 +01:00
Carl Bergquist
b1494637d1 Merge pull request #11141 from mtanda/templating_comma_join
add comma templating format
2018-03-07 16:49:19 +01:00
bergquist
cb223ee563 removes commented code 2018-03-07 16:40:24 +01:00
bergquist
ff6108051d removes unused variables 2018-03-07 16:40:24 +01:00
bergquist
8ed12aa298 upgrade to go 1.10 2018-03-07 16:40:24 +01:00
Daniel Lee
d96fbb486f alerting: fixes validation error when saving alerts in dash
If a panelId in the dashboard json is set to zero then the validation
silently fails. Instead of returning an error, it just ignores alerts and
saves the dashboard.
2018-03-07 16:20:05 +01:00
Mitsuhiro Tanda
244cbe8cbd add csv templating format 2018-03-08 00:13:58 +09:00
bergquist
1dd9ee7d3d docs: note about closing #11046 2018-03-07 15:50:13 +01:00
Carl Bergquist
c39e68de24 Merge pull request #11046 from llamashoes/master
Add metrics that triggered alert to description in OpsGenie.
2018-03-07 15:48:30 +01:00
bergquist
9d74e1c35b docs: adds note about #10942 2018-03-07 15:43:04 +01:00
Carl Bergquist
3f6e525755 Merge pull request #10942 from grafana/pausing_alerts_updates_timestamp
Pausing/un alerts now updates new_state_date
2018-03-07 15:40:12 +01:00
Alexander Zobnin
759e05d09e heatmap: add explanation of Time series buckets mode 2018-03-07 17:08:34 +03:00
Aman
a94de51e5e Add color to prefix and postfix in singlestat 2018-03-07 19:36:42 +05:30
Patrick O'Carroll
834c421943 replaced if with classNames 2018-03-07 15:01:50 +01:00
Alexander Zobnin
5e452e445c heatmap: able to set upper/lower bucket bound manually 2018-03-07 16:57:46 +03:00
Alexander Zobnin
18a90667ba heatmap: refactor 2018-03-07 16:33:33 +03:00
Daniel Lee
4acc8f8ad7 Merge pull request #11119 from bergquist/no_row_setting_viewer
hide row actions for viewers
2018-03-07 14:25:39 +01:00
Patrick O'Carroll
3c9f31a0bb added media breakpoint to legend-right 2018-03-07 13:10:44 +01:00
Alexey Velikiy
67937a675e Documentation: path "~/go" to "$GOPATH"
In "Install from source" section supposed that Grafana`s sources installed to `~/go` , but it is not always true. 
In other hand, `go get ..` command would install project to `$GOPATH`

https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies
2018-03-07 15:03:10 +03:00
Torkel Ödegaard
310d740667 Update ROADMAP.md 2018-03-07 12:53:00 +01:00
Patrick O'Carroll
8d4c439eeb add panel to list now copy, started on jest 2018-03-07 12:46:27 +01:00
bergquist
0273657a1c docs: improves docs for alert rules 2018-03-07 12:26:02 +01:00
Alexander Zobnin
a791a92d79 heatmap: fix Y axis and tooltip decimals and units issues 2018-03-07 13:28:44 +03:00
Daniel Lee
3a19cf52ef Merge pull request #11123 from grafana/mobile_menu_polish
changed background for mobile menu background on light theme,
2018-03-07 10:58:57 +01:00
Daniel Lee
c657fe8875 Merge pull request #11092 from grafana/11091_anonymous_sign_in
made drop-menu into link
2018-03-07 10:54:48 +01:00
ilgizar
916539fad9 Append test to check not zero level. 2018-03-07 14:21:10 +05:00
ilgizar
7cddc54306 Add bs-tooltip to Y-Align element. 2018-03-07 12:12:39 +05:00
Dan Cech
338655dd37 move Context and session out of middleware 2018-03-06 18:16:49 -05:00
Dan Cech
9d005c50a2 only use jwt token if it contains an email address 2018-03-06 14:21:36 -05:00
Daniel Lee
8e81dc1e79 scrolling: faster wheelspeed
ref #11053
2018-03-06 20:08:00 +01:00
bergquist
7ebf42842f docs: improves provisioning description
closes #11126
2018-03-06 18:59:40 +01:00
Leonard Gram
7ba9e2e608 changelog: adds note about closing #10975. 2018-03-06 15:36:57 +01:00
bergquist
330a290a8d changelog: adds note about closing #7107 2018-03-06 15:21:14 +01:00
Carl Bergquist
08f587a0ef Merge pull request #10838 from ilgizar/7107_right_y_axis
Thresholds for Right Y axis
2018-03-06 15:18:24 +01:00
bergquist
bc22c11675 changelog: adds note about closing #11103 2018-03-06 14:56:57 +01:00
Carl Bergquist
01582a2f12 Merge pull request #11121 from grafana/telegram-inline-image-notifications
alerting: Limits telegram captions to 200 chars.
2018-03-06 14:19:59 +01:00
Patrick O'Carroll
9b3863a150 changed background for mobile menu background on light theme, increased font size in and added border-right in menu 2018-03-06 14:16:10 +01:00
Alexander Zobnin
0912f61ea3 heatmap: fix tooltip count and bucket bound format 2018-03-06 15:21:37 +03:00
Leonard Gram
891462b5d9 alerting: Limits telegram captions to 200 chars.
The caption for inline images in Telegram is
limited to 200 characters.

Fixes #10975
2018-03-06 12:38:03 +01:00
bergquist
76d4163fe1 changelog: note about closing #11097 2018-03-06 12:37:39 +01:00
Carl Bergquist
9f40ad740f Merge pull request #11118 from bergquist/missing_icon_disabled_gravatar
fixes invalid link to profile pic when gravatar is disabled
2018-03-06 12:36:08 +01:00
bergquist
d3b23b01d8 hide row actions for viewers
closes #11112
2018-03-06 12:32:50 +01:00
bergquist
5934521137 fixes invalid link to profile pic when gravatar is disabled
closes #11097
2018-03-06 11:46:50 +01:00
bergquist
0780d57548 changelog: adds note about closing #11016 2018-03-06 11:31:24 +01:00
Torkel Ödegaard
0de90accfb fix: restores white resize handle for panels, fixes #11103 2018-03-06 11:19:01 +01:00
bergquist
cf6e5672ab changelog: adds note about closing #11063 2018-03-06 10:56:17 +01:00
Tony Dong
96504940a8 fix typo in heatmap rendering.ts (#11101) 2018-03-06 10:36:06 +01:00
Carl Bergquist
c372716692 Merge pull request #11109 from bergquist/unsaved_changes_fix
ignore iteration property when checking for unsaved changes
2018-03-06 10:33:27 +01:00
Carl Bergquist
1fe8b33f65 Merge pull request #11000 from victorclaessen/master
Added radiation units
2018-03-06 09:38:12 +01:00
Daniel Lee
4d434d9845 docs: add v5.1 to versions 2018-03-06 09:27:40 +01:00
bergquist
a7d62f44d3 ignore iteration property when checking for unsaved changes
closes #11063
2018-03-05 22:03:26 +01:00
Daniel Lee
1a16e588f7 changelog: notes for #11055 and #9487 2018-03-05 19:44:09 +01:00
Daniel Lee
9c8733ac85 Merge pull request #11093 from svenklemm/postgres-connection
postgres: use net/url to generate postgres connection url
2018-03-05 19:27:02 +01:00
Sven Klemm
4904a051cf use net/url to generate postgres connection url 2018-03-05 16:06:04 +01:00
Patrick O'Carroll
42cd462cbf made drop-menu into link 2018-03-05 14:09:04 +01:00
Alexander Zobnin
5037f93a78 heatmap: sort series before converting to heatmap.
This allows to use histogram series from arbitrary datasource and display it properly.
2018-03-05 14:01:55 +03:00
Daniel Lee
7ce63169a0 Merge pull request #10138 from svenklemm/macroengine-interpolate
postgres+mysql: add optional fill parameter to $__timeGroup macro to fill in missing values in series
2018-03-04 21:38:30 +01:00
Julien Pivotto
69c93e6401 Fix Prometheus 2.0 stats (#11048)
Fixes #11016

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2018-03-03 13:40:28 +01:00
Torkel Ödegaard
328fc45bcc docs: removed beta notice in whats new article 2018-03-03 12:49:40 +01:00
Sven Klemm
4e826ff8f7 remove spaces around arguments of macros 2018-03-02 19:24:15 +01:00
Sven Klemm
f1ba9137c0 remove spaces around arguments before calling macro expansion 2018-03-02 19:20:30 +01:00
Sven Klemm
0f931f9e5e Merge remote-tracking branch 'upstream/master' into macroengine-interpolate 2018-03-01 18:01:54 +01:00
Daniel Lee
655d2fb405 docs: update current version to 5.0 2018-03-01 10:11:52 +01:00
Daniel Lee
cc2f478792 Merge branch 'docs_v5.0' 2018-03-01 09:36:48 +01:00
Daniel Lee
f46f43dc32 docs: update install pages for v5.0.0 2018-03-01 09:20:52 +01:00
Alexander Zobnin
fa8403750b Merge remote-tracking branch 'upstream/master' into prometheus-heatmap 2018-03-01 11:09:04 +03:00
Daniel Lee
59a13f1847 update version to 5.0.1-pre1 2018-03-01 08:30:44 +01:00
Daniel Lee
2e2f47177d changelog update for 5.0.0 stable 2018-03-01 08:14:27 +01:00
Ryan Gifford
49266d5150 Add metrics that triggered alert to description 2018-02-28 15:26:11 -07:00
Alexander Zobnin
d6087eb5f4 heatmap: hide unused Y axis controls for tsbuckets mode 2018-02-28 16:30:00 +03:00
Alexander Zobnin
76c684cc01 heatmap: format numeric tick labels in tsbuckets mode 2018-02-28 16:19:58 +03:00
Alexander Zobnin
dfe8b0a0d2 heatmap: add rendering tests for tsbuckets mode 2018-02-28 15:58:28 +03:00
Alexander Zobnin
5c73ed6ecd heatmap: use series names as top or bottom bounds, depends of datasource 2018-02-27 15:14:40 +03:00
Alexander Zobnin
f21cebeefd heatmap: refactor 2018-02-27 14:17:57 +03:00
Alexander Zobnin
7c78e8e383 heatmap: add few tests for histogram converter 2018-02-27 14:17:29 +03:00
Alexander Zobnin
26ddb9977f heatmap: fix Y bucket size calculation for 'tsbuckets' mode 2018-02-26 16:26:54 +03:00
Patrick O'Carroll
e037ef21f7 added admin icon and permission member definitions(role,team,user) 2018-02-26 10:21:24 +01:00
bergquist
01fb3ea034 docs: adds accesskey and secret to securejsonfields
closes #11005
2018-02-23 09:32:22 +01:00
Carl Bergquist
75ae34cf84 Merge pull request #10999 from grafana/10995_docs
docs: update shortcut docs
2018-02-23 09:29:05 +01:00
victorclaessen
91e8468fb4 Added radiation units
Add common units in radiation and health physics monitoring, Bq, Ci, Gy, rad, Sv, rem. C/kg, R, Sv/h.
2018-02-22 19:21:08 +01:00
Marcus Efraimsson
0ac6d7cf4c docs: update shortcut docs 2018-02-22 18:24:10 +01:00
Marcus Efraimsson
c367cb294e docs: minor folder http api changes 2018-02-22 16:07:55 +01:00
Marcus Efraimsson
6751bbc17f Merge branch 'master' into docs_v5.0 2018-02-22 15:55:44 +01:00
Marcus Efraimsson
3aca9090e5 Merge pull request #10984 from grafana/10630_docs
Update http api docs for folder, dashboard and permissions
2018-02-22 15:53:57 +01:00
Alexander Zobnin
2a2675c1af heatmap: fix bucket labels shift 2018-02-22 16:54:28 +03:00
Alexander Zobnin
e0a874f677 heatmap tooltip: fix bucket bounds for 'tsbuckets' mode 2018-02-22 16:33:45 +03:00
Alexander Zobnin
cc34c9a651 heatmap tooltip: fix count decimals 2018-02-22 16:12:42 +03:00
Alexander Zobnin
bc47380032 heatmap: fix tooltip histogram for 'tsbuckets' mode 2018-02-22 16:06:21 +03:00
Alexander Zobnin
97c54e6956 heatmap: use buckets from histogram with 'tsbuckets' mode 2018-02-22 15:43:08 +03:00
ilgizar
66590042a6 Add unit tests. 2018-02-22 15:41:11 +05:00
ilgizar
9e68cbea51 Refactoring code 2018-02-22 15:38:32 +05:00
Patrick O'Carroll
07c3fb7e0f changed name of copy tab to paste 2018-02-22 10:38:22 +01:00
Patrick O'Carroll
ce9c8ae854 added no copies div 2018-02-22 09:58:52 +01:00
Alexander Zobnin
e361a31a2a prometheus: tests for heatmap format 2018-02-21 20:22:46 +03:00
Patrick O'Carroll
5e5a4cf1b0 added highlighter, fixed setState and changed back flex to spacea around 2018-02-21 15:39:15 +01:00
Patrick O'Carroll
9ac82f3d0e added tabs and searchfilter to addpanel, fixes#10427 2018-02-21 14:51:28 +01:00
Alexander Zobnin
efa869bb89 prometheus: initial heatmap support 2018-02-21 15:26:45 +03:00
Marcus Efraimsson
02b412b127 docs: update http api index 2018-02-21 13:11:32 +01:00
Marcus Efraimsson
7d89f19f6f docs: dashboard and folder permissions http api 2018-02-21 13:09:54 +01:00
Marcus Efraimsson
b5e96f5ec2 docs: folder http api 2018-02-21 13:09:01 +01:00
Torkel Ödegaard
2f6e77af1e Merge branch 'master' into docs_v5.0 2018-02-21 10:47:14 +01:00
Willy Hu (IS-TW)
417df1eae5 docs: updated cloudwatch docs
add dimension filter as a option for dimension_values query.
2018-02-21 10:51:28 +08:00
ilgizar
7eeb68b590 Refactoring code. Change Y-Zero to Y-Level. 2018-02-20 16:58:49 +05:00
ilgizar
57013d2228 Share zero between Y axis. 2018-02-18 00:54:35 +05:00
ilgizar
258a0d276c Add hook processRange to flot plugin. 2018-02-18 00:51:32 +05:00
Leonard Gram
1f3442020b alerts: refactoring tests 2018-02-16 14:37:10 +01:00
Leonard Gram
c5226a945b alerting: pausing alerts modifies updated.
When pausing an alert the updated field is
modified to the current time.

Closes #10191
2018-02-16 14:24:52 +01:00
Daniel Lee
2bcd7cd25b docs: status code changes for Team API 2018-02-16 11:18:41 +01:00
Daniel Lee
8377d3630c docs: team API. Closes #10832 2018-02-15 23:05:16 +01:00
Mitsuhiro Tanda
18c54a9341 support cloudwatch high resolution query 2018-02-15 23:35:01 +09:00
ilgizar
425586f67d Set default threshold axis to 'left' for panels created before this feature. 2018-02-14 23:44:04 +05:00
Torkel Ödegaard
73eaba076e wip: dashboard acl ux2, #10747 2018-02-14 15:03:22 +01:00
Torkel Ödegaard
ec6f0f94b8 permissions: refactoring of acl api and query 2018-02-14 14:31:20 +01:00
Torkel Ödegaard
db89ac4134 initial fixes for dashboard permission acl list query, fixes #10864 2018-02-14 11:50:58 +01:00
Marcus Efraimsson
4aff142fc5 Merge pull request #10903 from stukselbax/patch-2
Invalid url in docs
2018-02-14 10:42:02 +01:00
stukselbax
5b318428c4 Invalid url in docs 2018-02-14 11:34:46 +03:00
Marcus Efraimsson
2bddf50184 docs: update dashboard permissions http api docs 2018-02-12 14:50:35 +01:00
Marcus Efraimsson
2b31465254 Merge branch 'master' into docs_v5.0 2018-02-12 14:29:22 +01:00
Willy Hu (IS-TW)
725e23ef7d Cloudwatch dimension_values add dimension filter.
issue #10029

e.g.
- dimension_values($region, $namespace, cpu_usage_system, cpu)
- dimension_values($region, $namespace, disk_used_percent, device, {"InstanceId": "$instance_id"})
- dimension_values($region, $namespace, disk_used_percent, path, {"InstanceId": "$instance_id", "device": "$device"})
2018-02-12 10:13:55 +00:00
ilgizar
57e31ca71b Correct code style. 2018-02-09 10:06:50 +05:00
ilgizar
98e5815c97 append test to thresholds on right axis 2018-02-08 17:28:24 +05:00
bergquist
4eec4bfb05 docs: adds uid to dashboard.json reference docs 2018-02-08 09:55:12 +01:00
ilgizar
578ee88ff3 Fix #7107 2018-02-08 12:53:02 +05:00
bergquist
76dc7932a4 docs: describe uid for dashboard provisioning 2018-02-07 11:04:48 +01:00
Marcus Efraimsson
1e0817f863 docs: update http api for api index, dashboard, folder and dashboard search 2018-02-05 20:53:58 +01:00
Torkel Ödegaard
e0ecf300aa Merge branch 'docs_v5.0' of github.com:grafana/grafana into docs_v5.0 2018-02-05 17:35:46 +01:00
Torkel Ödegaard
c78280de89 Merge branch 'master' into docs_v5.0 2018-02-05 17:35:27 +01:00
Daniel Lee
34ab882986 docs: adds http api dashboard permissions 2018-02-05 17:13:05 +01:00
Torkel Ödegaard
7f5e195cb4 Merge branch 'master' into docs_v5.0 2018-02-05 16:29:49 +01:00
Torkel Ödegaard
b8b26e6677 Merge branch 'docs_v5.0' of github.com:grafana/grafana into docs_v5.0 2018-02-05 15:37:54 +01:00
Marcus Efraimsson
49c02aa8d2 Merge branch 'master' into docs_v5.0 2018-02-05 15:23:32 +01:00
Daniel Lee
65bb6cc728 docs: add examples for dashboard permissions 2018-02-01 16:53:39 +01:00
Mitsuhiro Tanda
cf1be5fdfc support multiple histogram series 2018-02-01 19:06:35 +09:00
Torkel Ödegaard
8bbbaad497 Merge branch 'master' into docs_v5.0 2018-02-01 10:49:26 +01:00
Trent White
e71efbd873 update text, fix a few typos 2018-01-31 14:45:09 -05:00
Torkel Ödegaard
17c1e7bac7 docs: added permissions page and updated folder docs 2018-01-31 16:07:27 +01:00
Torkel Ödegaard
b1a9360756 docs: updated whats new 2018-01-31 11:26:00 +01:00
Torkel Ödegaard
f6afa1d0f7 Merge branch 'docs_v5.0' of github.com:grafana/grafana into docs_v5.0 2018-01-31 09:42:06 +01:00
Torkel Ödegaard
c1cdcd3bda docs: updated whatsnew 2018-01-31 09:41:49 +01:00
Torkel Ödegaard
88e4f19909 docs: progress on whats new article 2018-01-31 09:40:09 +01:00
Patrick O'Carroll
a9128adcca Merge branch 'docs_v5.0' of github.com:grafana/grafana into docs_v5.0 2018-01-31 09:20:10 +01:00
Torkel Ödegaard
9a6bfb61a1 docs: updated version 2018-01-31 08:49:04 +01:00
Torkel Ödegaard
1cc5349bfd docs: fixed order of sidemenu 2018-01-31 08:49:04 +01:00
bergquist
8fed56e334 test: fixes failing test in go1.10 2018-01-31 08:49:04 +01:00
Patrick O'Carroll
8ecf2d127c fixed width of images and removed gifs and fixed text a bit in search 2018-01-30 17:12:12 +01:00
Patrick O'Carroll
411c81fee8 new gifs for search 2018-01-30 15:34:09 +01:00
bergquist
40832e6d71 docs: adds more info about whats new in v5 2018-01-30 15:25:18 +01:00
Torkel Ödegaard
f67bd368d4 Merge branch 'master' into docs_v5.0 2018-01-30 15:10:03 +01:00
Patrick O'Carroll
c29e75e9bc changed img for shortcuts 2018-01-30 10:51:50 +01:00
Patrick O'Carroll
ec3ba86a02 replaced img in export_import and sharing 2018-01-30 09:20:55 +01:00
Patrick O'Carroll
3fa2f8a411 changed img-link for timerange imgs and some text 2018-01-29 15:45:28 +01:00
Patrick O'Carroll
4294009b0b changed some img-links, updated text for annotated img, more work on whats new in v5.0 2018-01-26 10:58:31 +01:00
Patrick O'Carroll
45cd3730a7 added whats new v5, changed link in notifications, removed row from getting started 2018-01-25 11:24:49 +01:00
Daniel Lee
047d023022 docs: first draft of dashboard folders docs 2018-01-24 10:43:03 +01:00
Chainarong Tangsurakit
0c833666f5 fix query condition docs 2018-01-19 11:47:19 +07:00
Patrick O'Carroll
328141e7c9 added /** @nginject */ 2018-01-09 09:33:18 +01:00
Ali
3e414ff2d6 Update built_in_plugins.ts 2018-01-03 10:47:21 +03:00
Ali
de22e793d8 Merge branch 'master' into master 2018-01-03 10:33:54 +03:00
Patrick O'Carroll
15dfa30701 migrated file to ts 2017-12-28 14:04:34 +01:00
Patrick O'Carroll
fc8ed3ad87 migrated files to ts 2017-12-28 09:18:57 +01:00
linux chips
6e7a067857 adding support for sgl native time datatypes 2017-12-12 23:43:24 +03:00
linux chips
dd7ab43d09 added missing cases for DATETIME datatype 2017-12-12 23:41:32 +03:00
Sven Klemm
cb15d9cbdd add missing value fill code to mysql datasource 2017-12-10 19:50:01 +01:00
Sven Klemm
6cdd901ec6 fix typo 2017-12-10 12:40:09 +01:00
Sven Klemm
c1282e8ea8 implement missing value fill functionality for postgres 2017-12-10 11:42:55 +01:00
Sven Klemm
e2a3590d8b allow optional 3rd argument to timeGroup to control filling missing
values
2017-12-10 09:59:33 +01:00
Sven Klemm
b86a42fffe pass tsdbQuery to transformToTimeSeries and transformToTable to get
access to selected frontend timerange
2017-12-09 20:35:00 +01:00
Sven Klemm
b6df91d56b pass Query to MacroEngine Interpolate 2017-12-08 23:30:33 +01:00
linux chips
5114b1f792 fixing a few fromattings 2017-12-06 10:32:20 +03:00
linux chips
1c1675afe3 adding mssql docs 2017-12-05 23:41:32 +03:00
linux chips
8883201635 updating the query editor's syntax highlighting mode to sqlserver 2017-12-05 14:49:48 +03:00
linux chips
6f3a62d299 add _tests for mssql data source 2017-12-03 21:56:21 +03:00
linux chips
c75f9a1923 MSSQL Data Source 2017-12-02 14:40:12 +03:00
linux chips
cc00327fbe add server only build target "build-srv" 2017-12-02 13:22:51 +03:00
ryan
fb9c714a9a run go fmt 2017-10-18 23:49:33 +02:00
ryan
4440133f4d Add a setting to allow DB queries 2017-10-18 23:33:10 +02:00
ryan
c6ee715ef3 Merge remote-tracking branch 'grafana/master' into influx-db-query2
* grafana/master: (282 commits)
  Update CHANGELOG.md
  Fix heatmap Y axis rendering (#9580)
  prometheus: add builtin template variable as range vectors
  Note for #5457
  fix: fixed prometheus step issue that caused browser crash, fixes #9575
  changelog: adds note about closing #9551
  fix: getting started panel and mark adding data source as done, fixes #9568
  pluginloader: esModule true for systemjs config
  Fixes for annotations API (#9577)
  When Messasge field is set for an alert, map it to the output field in a Sensu check result. If Message is empty, send "Grafana Metric Condition Met"
  fix vector range
  allow ":" character for metric name
  build: added imports of rxjs utility functions
  fix template variable expanding
  Update CHANGELOG.md
  annotations: quote reserved fields (#9550)
  Update CHANGELOG.md
  Update CHANGELOG.md
  Update CHANGELOG.md
  fix: fixed color pickers that were broken in minified builds, fixes #9549
  ...
2017-10-18 17:55:33 +02:00
Mengyang Li
675e5ae17f Update kbn.js 2017-10-04 17:37:19 -07:00
Mengyang Li
66c998e6e6 Update kbn.js 2017-10-04 14:37:05 -07:00
Mengyang Li
a1283212ed Use B/s instead Bps for Bytes per second
Most places are using bps and B/s for bits and bytes,
ref: https://en.wikipedia.org/wiki/Data_rate_units
Bps (Bytes per second) isn't a really common used unit the in the wild.
2017-09-23 21:05:43 -07:00
ryan
967efea520 fix merge issue 2017-09-22 13:28:53 +02:00
ryan
b4b3008a19 Merge remote-tracking branch 'grafana/master' into influx-db-query2
* grafana/master: (112 commits)
  changelog: adds note about closing #5873
  Docs new updates (#9324)
  Update CHANGELOG.md
  Update latest.json
  cleanup: removed unused file
  tech: remove bower and moved remaining bower dependencies to npm
  tech: cleanup and fixed build issue
  tech: upgraded angularjs and moved dependency from bower to npm, closes #9327
  follow go idiom and return error as second param
  tech: updated tsconfig
  docker: adds alertmanager to prometheus fig
  tech: more tslint rules
  tech: removing unused variables from typescript files, and making tslint rules more strict
  context is reserved for go's context
  make ds a param for Query
  remove batch abstraction
  rename executor into tsdbqueryendpoint
  remove unused structs
  refactor response flow
  tech: removed test component
  ...
2017-09-22 13:27:24 +02:00
ryan
bc03640d6b Merge remote-tracking branch 'grafana/master' into influx-db-query2
* grafana/master: (35 commits)
  Update CHANGELOG.md
  Update CHANGELOG.md
  fixed some images (#9237)
  release: bumped version to v4.5.0 stable
  docs: minor update
  plugins: add styles for ol tags in markdown
  docs: minor fixes to images
  Docs image updates (#9225)
  fix: improve behavior when switching back and forth between x-axis modes, fixes #9229
  fixes for metrics tab when data source was not found
  provide ace editor for external datasource plugin (#9224)
  ux: increased code editor auto complete width from 320px to 550px, fixes #9203
  docs: windows - add note about ini comments
  prometheus: added completer unit test, #9208
  docs: minor update
  docs: kiosk mode options add to playlist doc
  influxdb: small css fix for order by in query editor
  style: corrected indentation in sass file
  replaced old images and gifs with new ones (#9217)
  ux: success/error alerts refactoring, #9214
  ...
2017-09-14 13:09:59 +02:00
ryan
f7efa65647 Merge remote-tracking branch 'grafana/master' into influx-db-query2
* grafana/master: (248 commits)
  add AWS/NATGateway metrics (#9202)
  docs: minor docs update
  docs: added v4.4 to docs archive
  docs: uppdated getting started with images and text, added info on query inspector to version45 and trouble shooting (#9193)
  reduce readme to be about the code
  adds note about closing #8876
  build: fixed broken build
  Optimize some wrong usage and spelling
  show only label name in label matcher (#9167)
  (prometheus) cache metric suggest query result (#9182)
  Have 'Hide series with only zeros' ignore nulls (#9179)
  docs: updated image in docs (#9184)
  fix: graph right y label is now correctly possitioned, fixes #9172
  Fix sortByName and percentileOfSeries in gfunc.js (#9169)
  docs: updated docs with v4.5 beta links
  Update CHANGELOG.md
  version bump to v4.5-beta1
  fix: fixed jshint issue
  fix: Elasticsearch and adhoc filters fix, fixes #9165
  docs: update to http api admin section
  ...
2017-09-08 09:50:00 +02:00
ryan
cf81b5caf6 Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-07-11 09:34:53 -07:00
ryan
c4fede6cf6 merge with master 2017-07-06 11:19:45 -07:00
ryan
cb9c2bcb2f merge with master 2017-06-19 16:13:16 -07:00
ryan
d08b0bbf14 Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-05-16 15:43:56 -07:00
ryan
26e62b4d06 use the original options parameter 2017-05-01 20:28:56 -07:00
ryan
aafd04f005 Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-05-01 20:27:02 -07:00
ryan
e8ad7805d8 Merge branch 'influx-db-query2' of https://github.com/ryantxu/grafana into influx-db-query2 2017-04-27 09:38:16 -07:00
ryan
6ee886cd6a Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-04-27 09:37:55 -07:00
Ryan McKinley
15e84a1c69 use targets[0] as the options 2017-04-26 15:41:10 -07:00
ryan
42abbf5f0d Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-04-24 09:50:23 -07:00
ryan
16819da08d pass the options along with a _seriesQuery 2017-04-18 09:27:25 -07:00
ryan
8c838cff08 Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-04-18 09:24:20 -07:00
ryan
8c5972dc55 Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-04-17 14:17:01 -07:00
ryan
7009184d6e pass database parameter in the options 2017-04-12 09:02:06 -07:00
ryan
e1654b9361 Merge remote-tracking branch 'grafana/master' into influx-db-query2 2017-04-12 08:40:34 -07:00
ryan
c346aca26d allow setting the database 2017-04-11 16:30:20 -07:00
626 changed files with 101435 additions and 8427 deletions

View File

@@ -1,6 +1,6 @@
[run]
init_cmds = [
["go", "build", "-o", "./bin/grafana-server", "./pkg/cmd/grafana-server"],
["go", "run", "build.go", "-dev", "build-server"],
["./bin/grafana-server", "cfg:app_mode=development"]
]
watch_all = true
@@ -12,6 +12,6 @@ watch_dirs = [
watch_exts = [".go", ".ini", ".toml"]
build_delay = 1500
cmds = [
["go", "build", "-o", "./bin/grafana-server", "./pkg/cmd/grafana-server"],
["go", "run", "build.go", "-dev", "build-server"],
["./bin/grafana-server", "cfg:app_mode=development"]
]

171
.circleci/config.yml Normal file
View File

@@ -0,0 +1,171 @@
version: 2
jobs:
codespell:
docker:
- image: circleci/python
steps:
- checkout
- run:
name: install codespell
command: 'sudo pip install codespell'
- run:
# Important: all words have to be in lowercase, and separated by "\n".
name: exclude known exceptions
command: 'echo -e "unknwon" > words_to_ignore.txt'
- run:
name: check documentation spelling errors
command: 'codespell -I ./words_to_ignore.txt docs/'
gometalinter:
docker:
- image: circleci/golang:1.10
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: install gometalinter tool
command: 'go get -u github.com/alecthomas/gometalinter'
- run:
name: install linters
command: 'gometalinter --install'
- run:
name: run some linters
command: 'gometalinter --vendor --deadline 6m --disable-all --enable=structcheck --enable=unconvert --enable=varcheck ./pkg/...'
test-frontend:
docker:
- image: circleci/node:6.11.4
steps:
- checkout
- run:
name: install yarn
command: 'sudo npm install -g yarn --quiet'
- restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
# Could we skip this step if the cache has been restored? `[ -d node_modules ] || yarn install ...` should be able to apply to build step as well
- run:
name: yarn install
command: 'yarn install --pure-lockfile --no-progress'
- save_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
paths:
- node_modules
- run:
name: frontend tests
command: './scripts/circle-test-frontend.sh'
test-backend:
docker:
- image: circleci/golang:1.10
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: build backend and run go tests
command: './scripts/circle-test-backend.sh'
build:
docker:
- image: grafana/build-container:v0.1
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: build and package grafana
command: './scripts/build/build.sh'
- run:
name: sign packages
command: './scripts/build/sign_packages.sh'
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: Build Grafana.com publisher
command: 'go build -o scripts/publish scripts/build/publish.go'
- persist_to_workspace:
root: .
paths:
- dist/grafana*
- scripts/*.sh
- scripts/publish
deploy-master:
docker:
- image: circleci/python:2.7-stretch
steps:
- attach_workspace:
at: .
- run:
name: install awscli
command: 'sudo pip install awscli'
- run:
name: deploy to s3
command: 'aws s3 sync ./dist s3://$BUCKET_NAME/master'
- run:
name: Trigger Windows build
command: './scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} master'
- run:
name: Trigger Docker build
command: './scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN}'
- run:
name: Publish to Grafana.com
command: './scripts/publish -apiKey ${GRAFANA_COM_API_KEY}'
deploy-release:
docker:
- image: circleci/python:2.7-stretch
steps:
- attach_workspace:
at: .
- run:
name: install awscli
command: 'sudo pip install awscli'
- run:
name: deploy to s3
command: 'aws s3 sync ./dist s3://$BUCKET_NAME/release'
- run:
name: Trigger Windows build
command: './scripts/trigger_windows_build.sh ${APPVEYOR_TOKEN} ${CIRCLE_SHA1} release'
- run:
name: Trigger Docker build
command: './scripts/trigger_docker_build.sh ${TRIGGER_GRAFANA_PACKER_CIRCLECI_TOKEN} ${CIRCLE_TAG}'
workflows:
version: 2
test-and-build:
jobs:
- codespell:
filters:
tags:
only: /.*/
- build:
filters:
tags:
only: /.*/
- test-frontend:
filters:
tags:
only: /.*/
- test-backend:
filters:
tags:
only: /.*/
- deploy-master:
requires:
- test-backend
- test-frontend
- build
filters:
branches:
only: master
- deploy-release:
requires:
- test-backend
- test-frontend
- build
filters:
branches:
ignore: /.*/
tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/

View File

@@ -5,12 +5,12 @@ Read before posting:
- Checkout How to troubleshoot metric query issues: https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50
Please include this information:
- What Grafana version are you using?
- What datasource are you using?
- What OS are you running grafana on?
- What did you do?
- What was the expected result?
- What happened instead?
- 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.
### What Grafana version are you using?
### What datasource are you using?
### What OS are you running grafana on?
### What did you do?
### What was the expected result?
### What happened instead?
### 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,3 +1,107 @@
# 5.1.0 (unreleased)
* **MSSQL**: New Microsoft SQL Server data source [#10093](https://github.com/grafana/grafana/pull/10093), [#11298](https://github.com/grafana/grafana/pull/11298), thx [@linuxchips](https://github.com/linuxchips)
* **Prometheus**: The heatmap panel now support Prometheus histograms [#10009](https://github.com/grafana/grafana/issues/10009)
* **Postgres/MySQL**: Ability to insert 0s or nulls for missing intervals [#9487](https://github.com/grafana/grafana/issues/9487), thanks [@svenklemm](https://github.com/svenklemm)
* **Postgres/MySQL/MSSQL**: Fix precision for the time column in table mode [#11306](https://github.com/grafana/grafana/issues/11306)
* **Graph**: Align left and right Y-axes to one level [#1271](https://github.com/grafana/grafana/issues/1271) & [#2740](https://github.com/grafana/grafana/issues/2740) thx [@ilgizar](https://github.com/ilgizar)
* **Graph**: Thresholds for Right Y axis [#7107](https://github.com/grafana/grafana/issues/7107), thx [@ilgizar](https://github.com/ilgizar)
* **Graph**: Support multiple series stacking in histogram mode [#8151](https://github.com/grafana/grafana/issues/8151), thx [@mtanda](https://github.com/mtanda)
* **Alerting**: Pausing/un alerts now updates new_state_date [#10942](https://github.com/grafana/grafana/pull/10942)
* **Alerting**: Support Pagerduty notification channel using Pagerduty V2 API [#10531](https://github.com/grafana/grafana/issues/10531), thx [@jbaublitz](https://github.com/jbaublitz)
* **Templating**: Add comma templating format [#10632](https://github.com/grafana/grafana/issues/10632), thx [@mtanda](https://github.com/mtanda)
* **Prometheus**: Show template variable candidate in query editor [#9210](https://github.com/grafana/grafana/issues/9210), thx [@mtanda](https://github.com/mtanda)
* **Prometheus**: Support POST for query and query_range [#9859](https://github.com/grafana/grafana/pull/9859), thx [@mtanda](https://github.com/mtanda)
* **Alerting**: Add support for retries on alert queries [#5855](https://github.com/grafana/grafana/issues/5855), thx [@Thib17](https://github.com/Thib17)
* **Table**: Table plugin value mappings [#7119](https://github.com/grafana/grafana/issues/7119), thx [infernix](https://github.com/infernix)
* **IE11**: IE 11 compatibility [#11165](https://github.com/grafana/grafana/issues/11165)
* **Scrolling**: Better scrolling experience [#11053](https://github.com/grafana/grafana/issues/11053), [#11252](https://github.com/grafana/grafana/issues/11252), [#10836](https://github.com/grafana/grafana/issues/10836), [#11185](https://github.com/grafana/grafana/issues/11185), [#11168](https://github.com/grafana/grafana/issues/11168)
* **Docker**: Improved docker image (breaking changes regarding file ownership) [grafana-docker #141](https://github.com/grafana/grafana-docker/issues/141), thx [@Spindel](https://github.com/Spindel), [@ChristianKniep](https://github.com/ChristianKniep), [@brancz](https://github.com/brancz) and [@jangaraj](https://github.com/jangaraj)
* **Folders**: A folder admin cannot add user/team permissions for folder/its dashboards [#11173](https://github.com/grafana/grafana/issues/11173)
* **Provisioning**: Improved workflow for provisioned dashboards [#10883](https://github.com/grafana/grafana/issues/10883)
### Minor
* **OpsGenie**: Add triggered alerts as description [#11046](https://github.com/grafana/grafana/pull/11046), thx [@llamashoes](https://github.com/llamashoes)
* **Cloudwatch**: Support high resolution metrics [#10925](https://github.com/grafana/grafana/pull/10925), thx [@mtanda](https://github.com/mtanda)
* **Cloudwatch**: Add dimension filtering to CloudWatch `dimension_values()` [#10029](https://github.com/grafana/grafana/issues/10029), thx [@willyhutw](https://github.com/willyhutw)
* **Units**: Second to HH:mm:ss formatter [#11107](https://github.com/grafana/grafana/issues/11107), thx [@gladdiologist](https://github.com/gladdiologist)
* **Singlestat**: Add color to prefix and postfix in singlestat panel [#11143](https://github.com/grafana/grafana/pull/11143), thx [@ApsOps](https://github.com/ApsOps)
* **Dashboards**: Version cleanup fails on old databases with many entries [#11278](https://github.com/grafana/grafana/issues/11278)
* **Server**: Adjust permissions of unix socket [#11343](https://github.com/grafana/grafana/pull/11343), thx [@corny](https://github.com/corny)
* **Shortcuts**: Add shortcut for duplicate panel [#11102](https://github.com/grafana/grafana/issues/11102)
* **AuthProxy**: Support IPv6 in Auth proxy white list [#11330](https://github.com/grafana/grafana/pull/11330), thx [@corny](https://github.com/corny)
* **SMTP**: Don't connect to STMP server using TLS unless configured. [#7189](https://github.com/grafana/grafana/issues/7189)
* **Prometheus**: Escape backslash in labels correctly. [#10555](https://github.com/grafana/grafana/issues/10555), thx [@roidelapluie](https://github.com/roidelapluie)
* **Variables**: Case-insensitive sorting for template values [#11128](https://github.com/grafana/grafana/issues/11128) thx [@cross](https://github.com/cross)
* **Annotations (native)**: Change default limit from 10 to 100 when querying api [#11569](https://github.com/grafana/grafana/issues/11569), thx [@flopp999](https://github.com/flopp999)
* **MySQL/Postgres/MSSQL**: PostgreSQL datasource generates invalid query with dates before 1970 [#11530](https://github.com/grafana/grafana/issues/11530) thx [@ryantxu](https://github.com/ryantxu)
* **Kiosk**: Adds url parameter for starting a dashboard in inactive mode [#11228](https://github.com/grafana/grafana/issues/11228), thx [@towolf](https://github.com/towolf)
* **Dashboard**: Enable closing timepicker using escape key [#11332](https://github.com/grafana/grafana/issues/11332)
* **Datasources**: Rename direct access mode in the data source settings [#11391](https://github.com/grafana/grafana/issues/11391)
* **Search**: Display dashboards in folder indented [#11073](https://github.com/grafana/grafana/issues/11073)
* **Units**: Use B/s instead Bps for Bytes per second [#9342](https://github.com/grafana/grafana/pull/9342), thx [@mayli](https://github.com/mayli)
* **Units**: Radiation units [#11001](https://github.com/grafana/grafana/issues/11001), thx [@victorclaessen](https://github.com/victorclaessen)
* **Units**: Timeticks unit [#11183](https://github.com/grafana/grafana/pull/11183), thx [@jtyr](https://github.com/jtyr)
* **Units**: Concentration units and "Normal cubic metre" [#11211](https://github.com/grafana/grafana/issues/11211), thx [@flopp999](https://github.com/flopp999)
* **Units**: New currency - Czech koruna [#11384](https://github.com/grafana/grafana/pull/11384), thx [@Rohlik](https://github.com/Rohlik)
* **Avatar**: Fix DISABLE_GRAVATAR option [#11095](https://github.com/grafana/grafana/issues/11095)
* **Heatmap**: Disable log scale when using time time series buckets [#10792](https://github.com/grafana/grafana/issues/10792)
* **Provisioning**: Remove `id` from json when provisioning dashboards, [#11138](https://github.com/grafana/grafana/issues/11138)
* **Prometheus**: tooltip for legend format not showing properly [#11516](https://github.com/grafana/grafana/issues/11516), thx [@svenklemm](https://github.com/svenklemm)
* **Playlist**: Empty playlists cannot be deleted [#11133](https://github.com/grafana/grafana/issues/11133), thx [@kichristensen](https://github.com/kichristensen)
* **Switch Orgs**: Alphabetic order in Switch Organization modal [#11556](https://github.com/grafana/grafana/issues/11556)
* **Postgres**: improve `$__timeFilter` macro [#11578](https://github.com/grafana/grafana/issues/11578), thx [@svenklemm](https://github.com/svenklemm)
* **Permission list**: Improved ux [#10747](https://github.com/grafana/grafana/issues/10747)
* **Dashboard**: Sizing and positioning of settings menu icons [#11572](https://github.com/grafana/grafana/pull/11572)
* **Dashboard**: Add search filter/tabs to new panel control [#10427](https://github.com/grafana/grafana/issues/10427)
* **Folders**: User with org viewer role should not be able to save/move dashboards in/to general folder [#11553](https://github.com/grafana/grafana/issues/11553)
* **Influxdb**: Dont assume the first column in table response is time. [#11476](https://github.com/grafana/grafana/issues/11476), thx [@hahnjo](https://github.com/hahnjo)
### Tech
* Backend code simplification [#11613](https://github.com/grafana/grafana/pull/11613), thx [@knweiss](https://github.com/knweiss)
* Add codespell to CI [#11602](https://github.com/grafana/grafana/pull/11602), thx [@mjtrangoni](https://github.com/mjtrangoni)
* Migrated JavaScript files to TypeScript
# 5.0.4 (2018-03-28)
* **Docker** Can't start Grafana on Kubernetes 1.7.14, 1.8.9, or 1.9.4 [#140 in grafana-docker repo](https://github.com/grafana/grafana-docker/issues/140) thx [@suquant](https://github.com/suquant)
* **Dashboard** Fixed bug where collapsed panels could not be directly linked to/renderer [#11114](https://github.com/grafana/grafana/issues/11114) & [#11086](https://github.com/grafana/grafana/issues/11086) & [#11296](https://github.com/grafana/grafana/issues/11296)
* **Dashboard** Provisioning dashboard with alert rules should create alerts [#11247](https://github.com/grafana/grafana/issues/11247)
* **Snapshots** For snapshots, the Graph panel renders the legend incorrectly on right hand side [#11318](https://github.com/grafana/grafana/issues/11318)
* **Alerting** Link back to Grafana returns wrong URL if root_path contains sub-path components [#11403](https://github.com/grafana/grafana/issues/11403)
* **Alerting** Incorrect default value for upload images setting for alert notifiers [#11413](https://github.com/grafana/grafana/pull/11413)
# 5.0.3 (2018-03-16)
* **Mysql**: Mysql panic occurring occasionally upon Grafana dashboard access (a bigger patch than the one in 5.0.2) [#11155](https://github.com/grafana/grafana/issues/11155)
# 5.0.2 (2018-03-14)
* **Mysql**: Mysql panic occurring occasionally upon Grafana dashboard access [#11155](https://github.com/grafana/grafana/issues/11155)
* **Dashboards**: Should be possible to browse dashboard using only uid [#11231](https://github.com/grafana/grafana/issues/11231)
* **Alerting**: Fixes bug where alerts from hidden panels where deleted [#11222](https://github.com/grafana/grafana/issues/11222)
* **Import**: Fixes bug where dashboards with alerts couldn't be imported [#11227](https://github.com/grafana/grafana/issues/11227)
* **Teams**: Remove quota restrictions from teams [#11220](https://github.com/grafana/grafana/issues/11220)
* **Render**: Fixes bug with legacy url redirection for panel rendering [#11180](https://github.com/grafana/grafana/issues/11180)
# 5.0.1 (2018-03-08)
* **Postgres**: PostgreSQL error when using ipv6 address as hostname in connection string [#11055](https://github.com/grafana/grafana/issues/11055), thanks [@svenklemm](https://github.com/svenklemm)
* **Dashboards**: Changing templated value from dropdown is causing unsaved changes [#11063](https://github.com/grafana/grafana/issues/11063)
* **Prometheus**: Fixes bundled Prometheus 2.0 dashboard [#11016](https://github.com/grafana/grafana/issues/11016), thx [@roidelapluie](https://github.com/roidelapluie)
* **Sidemenu**: Profile menu "invisible" when gravatar is disabled [#11097](https://github.com/grafana/grafana/issues/11097)
* **Dashboard**: Fixes a bug with resizable handles for panels [#11103](https://github.com/grafana/grafana/issues/11103)
* **Alerting**: Telegram inline image mode fails when caption too long [#10975](https://github.com/grafana/grafana/issues/10975)
* **Alerting**: Fixes silent failing validation [#11145](https://github.com/grafana/grafana/pull/11145)
* **OAuth**: Only use jwt token if it contains an email address [#11127](https://github.com/grafana/grafana/pull/11127)
# 5.0.0-stable (2018-03-01)
### Fixes
- **oauth** Fix Github OAuth not working with private Organizations [#11028](https://github.com/grafana/grafana/pull/11028) [@lostick](https://github.com/lostick)
- **kiosk** white area over bottom panels in kiosk mode [#11010](https://github.com/grafana/grafana/issues/11010)
- **alerting** Fix OK state doesn't show up in Microsoft Teams [#11032](https://github.com/grafana/grafana/pull/11032), thx [@manacker](https://github.com/manacker)
# 5.0.0-beta5 (2018-02-26)
### Fixes
@@ -49,7 +153,7 @@ Grafana v5.0 is going to be the biggest and most foundational release Grafana ha
### New Major Features
- **Dashboards** Dashboard folders, [#1611](https://github.com/grafana/grafana/issues/1611)
- **Teams** User groups (teams) implemented. Can be used in folder & dashboard permission list.
- **Dashboard grid**: Panels are now layed out in a two dimensional grid (with x, y, w, h). [#9093](https://github.com/grafana/grafana/issues/9093).
- **Dashboard grid**: Panels are now laid out in a two dimensional grid (with x, y, w, h). [#9093](https://github.com/grafana/grafana/issues/9093).
- **Templating**: Vertical repeat direction for panel repeats.
- **UX**: Major update to page header and navigation
- **Dashboard settings**: Combine dashboard settings views into one with side menu, [#9750](https://github.com/grafana/grafana/issues/9750)
@@ -83,7 +187,7 @@ Dashboard panels and rows are positioned using a gridPos object `{x: 0, y: 0, w:
* **Dashboard history**: New config file option versions_to_keep sets how many versions per dashboard to store, [#9671](https://github.com/grafana/grafana/issues/9671)
* **Dashboard as cfg**: Load dashboards from file into Grafana on startup/change [#9654](https://github.com/grafana/grafana/issues/9654) [#5269](https://github.com/grafana/grafana/issues/5269)
* **Prometheus**: Grafana can now send alerts to Prometheus Alertmanager while firing [#7481](https://github.com/grafana/grafana/issues/7481), thx [@Thib17](https://github.com/Thib17) and [@mtanda](https://github.com/mtanda)
* **Table**: Support multiple table formated queries in table panel [#9170](https://github.com/grafana/grafana/issues/9170), thx [@davkal](https://github.com/davkal)
* **Table**: Support multiple table formatted queries in table panel [#9170](https://github.com/grafana/grafana/issues/9170), thx [@davkal](https://github.com/davkal)
* **Security**: Protect against brute force (frequent) login attempts [#7616](https://github.com/grafana/grafana/issues/7616)
## Minor
@@ -105,7 +209,7 @@ Dashboard panels and rows are positioned using a gridPos object `{x: 0, y: 0, w:
* **Sensu**: Send alert message to sensu output [#9551](https://github.com/grafana/grafana/issues/9551), thx [@cjchand](https://github.com/cjchand)
* **Singlestat**: suppress error when result contains no datapoints [#9636](https://github.com/grafana/grafana/issues/9636), thx [@utkarshcmu](https://github.com/utkarshcmu)
* **Postgres/MySQL**: Control quoting in SQL-queries when using template variables [#9030](https://github.com/grafana/grafana/issues/9030), thanks [@svenklemm](https://github.com/svenklemm)
* **Pagerduty**: Pagerduty dont auto resolve incidents by default anymore. [#10222](https://github.com/grafana/grafana/issues/10222)
* **Pagerduty**: Pagerduty don't auto resolve incidents by default anymore. [#10222](https://github.com/grafana/grafana/issues/10222)
* **Cloudwatch**: Fix for multi-valued templated queries. [#9903](https://github.com/grafana/grafana/issues/9903)
## Tech
@@ -183,7 +287,7 @@ The following properties have been deprecated and will be removed in a future re
* **Annotations**: Add support for creating annotations from graph panel [#8197](https://github.com/grafana/grafana/pull/8197)
* **GCS**: Adds support for Google Cloud Storage [#8370](https://github.com/grafana/grafana/issues/8370) thx [@chuhlomin](https://github.com/chuhlomin)
* **Prometheus**: Adds /metrics endpoint for exposing Grafana metrics. [#9187](https://github.com/grafana/grafana/pull/9187)
* **Graph**: Add support for local formating in axis. [#1395](https://github.com/grafana/grafana/issues/1395), thx [@m0nhawk](https://github.com/m0nhawk)
* **Graph**: Add support for local formatting in axis. [#1395](https://github.com/grafana/grafana/issues/1395), thx [@m0nhawk](https://github.com/m0nhawk)
* **Jaeger**: Add support for open tracing using jaeger in Grafana. [#9213](https://github.com/grafana/grafana/pull/9213)
* **Unit types**: New date & time unit types added, useful in singlestat to show dates & times. [#3678](https://github.com/grafana/grafana/issues/3678), [#6710](https://github.com/grafana/grafana/issues/6710), [#2764](https://github.com/grafana/grafana/issues/2764)
* **CLI**: Make it possible to install plugins from any url [#5873](https://github.com/grafana/grafana/issues/5873)
@@ -220,7 +324,7 @@ The following properties have been deprecated and will be removed in a future re
* **Graphite**: Fix for Grafana internal metrics to Graphite sending NaN values [#9279](https://github.com/grafana/grafana/issues/9279)
* **HTTP API**: Fix for HEAD method requests [#9307](https://github.com/grafana/grafana/issues/9307)
* **Templating**: Fix for duplicate template variable queries when refresh is set to time range change [#9185](https://github.com/grafana/grafana/issues/9185)
* **Metrics**: dont write NaN values to graphite [#9279](https://github.com/grafana/grafana/issues/9279)
* **Metrics**: don't write NaN values to graphite [#9279](https://github.com/grafana/grafana/issues/9279)
# 4.5.1 (2017-09-15)
@@ -257,12 +361,12 @@ The following properties have been deprecated and will be removed in a future re
### Breaking change
* **InfluxDB/Elasticsearch**: The panel & data source option named "Group by time interval" is now named "Min time interval" and does now always define a lower limit for the auto group by time. Without having to use `>` prefix (that prefix still works). This should in theory have close to zero actual impact on existing dashboards. It does mean that if you used this setting to define a hard group by time interval of, say "1d", if you zoomed to a time range wide enough the time range could increase above the "1d" range as the setting is now always considered a lower limit.
* **Elasticsearch**: Elasticsearch metric queries without date histogram now return table formated data making table panel much easier to use for this use case. Should not break/change existing dashboards with stock panels but external panel plugins can be affected.
* **Elasticsearch**: Elasticsearch metric queries without date histogram now return table formatted data making table panel much easier to use for this use case. Should not break/change existing dashboards with stock panels but external panel plugins can be affected.
## Changes
* **InfluxDB**: Change time range filter for absolute time ranges to be inclusive instead of exclusive [#8319](https://github.com/grafana/grafana/issues/8319), thx [@Oxydros](https://github.com/Oxydros)
* **InfluxDB**: Added paranthesis around tag filters in queries [#9131](https://github.com/grafana/grafana/pull/9131)
* **InfluxDB**: Added parenthesis around tag filters in queries [#9131](https://github.com/grafana/grafana/pull/9131)
## Bug Fixes
@@ -274,7 +378,7 @@ The following properties have been deprecated and will be removed in a future re
## Bug Fixes
* **Search**: Fix for issue that casued search view to hide when you clicked starred or tags filters, fixes [#8981](https://github.com/grafana/grafana/issues/8981)
* **Search**: Fix for issue that caused search view to hide when you clicked starred or tags filters, fixes [#8981](https://github.com/grafana/grafana/issues/8981)
* **Modals**: ESC key now closes modal again, fixes [#8981](https://github.com/grafana/grafana/issues/8988), thx [@j-white](https://github.com/j-white)
# 4.4.2 (2017-08-01)
@@ -613,12 +717,12 @@ due to too many connections/file handles on the data source backend. This proble
### Enhancements
* **Login**: Adds option to disable username/password logins, closes [#4674](https://github.com/grafana/grafana/issues/4674)
* **SingleStat**: Add seriename as option in singlestat panel, closes [#4740](https://github.com/grafana/grafana/issues/4740)
* **Localization**: Week start day now dependant on browser locale setting, closes [#3003](https://github.com/grafana/grafana/issues/3003)
* **Localization**: Week start day now dependent on browser locale setting, closes [#3003](https://github.com/grafana/grafana/issues/3003)
* **Templating**: Update panel repeats for variables that change on time refresh, closes [#5021](https://github.com/grafana/grafana/issues/5021)
* **Templating**: Add support for numeric and alphabetical sorting of variable values, closes [#2839](https://github.com/grafana/grafana/issues/2839)
* **Elasticsearch**: Support to set Precision Threshold for Unique Count metric, closes [#4689](https://github.com/grafana/grafana/issues/4689)
* **Navigation**: Add search to org swithcer, closes [#2609](https://github.com/grafana/grafana/issues/2609)
* **Database**: Allow database config using one propertie, closes [#5456](https://github.com/grafana/grafana/pull/5456)
* **Database**: Allow database config using one property, closes [#5456](https://github.com/grafana/grafana/pull/5456)
* **Graphite**: Add support for groupByNodes, closes [#5613](https://github.com/grafana/grafana/pull/5613)
* **Influxdb**: Add support for elapsed(), closes [#5827](https://github.com/grafana/grafana/pull/5827)
* **OpenTSDB**: Add support for explicitTags for OpenTSDB>=2.3, closes [#6360](https://github.com/grafana/grafana/pull/6361)
@@ -685,7 +789,7 @@ due to too many connections/file handles on the data source backend. This proble
* **Datasource**: Pending data source requests are cancelled before new ones are issues (Graphite & Prometheus), closes [#5321](https://github.com/grafana/grafana/issues/5321)
### Breaking changes
* **Logging** : Changed default logging output format (now structured into message, and key value pairs, with logger key acting as component). You can also no change in config to json log ouput.
* **Logging** : Changed default logging output format (now structured into message, and key value pairs, with logger key acting as component). You can also no change in config to json log output.
* **Graphite** : The Graph panel no longer have a Graphite PNG option. closes [#5367](https://github.com/grafana/grafana/issues/5367)
### Bug fixes
@@ -703,7 +807,7 @@ due to too many connections/file handles on the data source backend. This proble
* **Annotations**: Annotations can now use a template variable as data source, closes [#5054](https://github.com/grafana/grafana/issues/5054)
* **Time picker**: Fixed issue timepicker and UTC when reading time from URL, fixes [#5078](https://github.com/grafana/grafana/issues/5078)
* **CloudWatch**: Support for Multiple Account by AssumeRole, closes [#3522](https://github.com/grafana/grafana/issues/3522)
* **Singlestat**: Fixed alignment and minium height issue, fixes [#5113](https://github.com/grafana/grafana/issues/5113), fixes [#4679](https://github.com/grafana/grafana/issues/4679)
* **Singlestat**: Fixed alignment and minimum height issue, fixes [#5113](https://github.com/grafana/grafana/issues/5113), fixes [#4679](https://github.com/grafana/grafana/issues/4679)
* **Share modal**: Fixed link when using grafana under dashboard sub url, fixes [#5109](https://github.com/grafana/grafana/issues/5109)
* **Prometheus**: Fixed bug in query editor that caused it not to load when reloading page, fixes [#5107](https://github.com/grafana/grafana/issues/5107)
* **Elasticsearch**: Fixed bug when template variable query returns numeric values, fixes [#5097](https://github.com/grafana/grafana/issues/5097), fixes [#5088](https://github.com/grafana/grafana/issues/5088)
@@ -720,7 +824,7 @@ due to too many connections/file handles on the data source backend. This proble
* **Graph**: Fixed broken PNG rendering in graph panel, fixes [#5025](https://github.com/grafana/grafana/issues/5025)
* **Graph**: Fixed broken xaxis on graph panel, fixes [#5024](https://github.com/grafana/grafana/issues/5024)
* **Influxdb**: Fixes crash when hiding middle serie, fixes [#5005](https://github.com/grafana/grafana/issues/5005)
* **Influxdb**: Fixes crash when hiding middle series, fixes [#5005](https://github.com/grafana/grafana/issues/5005)
# 3.0.1 Stable (2016-05-11)
@@ -732,7 +836,7 @@ due to too many connections/file handles on the data source backend. This proble
### Bug fixes
* **Dashboard title**: Fixed max dashboard title width (media query) for large screens, fixes [#4859](https://github.com/grafana/grafana/issues/4859)
* **Annotations**: Fixed issue with entering annotation edit view, fixes [#4857](https://github.com/grafana/grafana/issues/4857)
* **Remove query**: Fixed issue with removing query for data sources without collapsable query editors, fixes [#4856](https://github.com/grafana/grafana/issues/4856)
* **Remove query**: Fixed issue with removing query for data sources without collapsible query editors, fixes [#4856](https://github.com/grafana/grafana/issues/4856)
* **Graphite PNG**: Fixed issue graphite png rendering option, fixes [#4864](https://github.com/grafana/grafana/issues/4864)
* **InfluxDB**: Fixed issue missing plus group by iconn, fixes [#4862](https://github.com/grafana/grafana/issues/4862)
* **Graph**: Fixes missing line mode for thresholds, fixes [#4902](https://github.com/grafana/grafana/pull/4902)
@@ -748,11 +852,11 @@ due to too many connections/file handles on the data source backend. This proble
### Bug fixes
* **InfluxDB 0.12**: Fixed issue templating and `show tag values` query only returning tags for first measurement, fixes [#4726](https://github.com/grafana/grafana/issues/4726)
* **Templating**: Fixed issue with regex formating when matching multiple values, fixes [#4755](https://github.com/grafana/grafana/issues/4755)
* **Templating**: Fixed issue with regex formatting when matching multiple values, fixes [#4755](https://github.com/grafana/grafana/issues/4755)
* **Templating**: Fixed issue with custom all value and escaping, fixes [#4736](https://github.com/grafana/grafana/issues/4736)
* **Dashlist**: Fixed issue dashboard list panel and caching tags, fixes [#4768](https://github.com/grafana/grafana/issues/4768)
* **Graph**: Fixed issue with unneeded scrollbar in legend for Firefox, fixes [#4760](https://github.com/grafana/grafana/issues/4760)
* **Table panel**: Fixed issue table panel formating string array properties, fixes [#4791](https://github.com/grafana/grafana/issues/4791)
* **Table panel**: Fixed issue table panel formatting string array properties, fixes [#4791](https://github.com/grafana/grafana/issues/4791)
* **grafana-cli**: Improve error message when failing to install plugins due to corrupt response, fixes [#4651](https://github.com/grafana/grafana/issues/4651)
* **Singlestat**: Fixes prefix an postfix for gauges, fixes [#4812](https://github.com/grafana/grafana/issues/4812)
* **Singlestat**: Fixes auto-refresh on change for some options, fixes [#4809](https://github.com/grafana/grafana/issues/4809)
@@ -844,7 +948,7 @@ slack channel (link to slack channel in readme).
### Bug fixes
* **Playlist**: Fix for memory leak when running a playlist, closes [#3794](https://github.com/grafana/grafana/pull/3794)
* **InfluxDB**: Fix for InfluxDB and table panel when using Format As Table and having group by time, fixes [#3928](https://github.com/grafana/grafana/issues/3928)
* **Panel Time shift**: Fix for panel time range and using dashboard times liek `Today` and `This Week`, fixes [#3941](https://github.com/grafana/grafana/issues/3941)
* **Panel Time shift**: Fix for panel time range and using dashboard times like `Today` and `This Week`, fixes [#3941](https://github.com/grafana/grafana/issues/3941)
* **Row repeat**: Repeated rows will now appear next to each other and not by the bottom of the dashboard, fixes [#3942](https://github.com/grafana/grafana/issues/3942)
* **Png renderer**: Fix for phantomjs path on windows, fixes [#3657](https://github.com/grafana/grafana/issues/3657)
@@ -868,7 +972,7 @@ slack channel (link to slack channel in readme).
### Bug Fixes
* **metric editors**: Fix for clicking typeahead auto dropdown option, fixes [#3428](https://github.com/grafana/grafana/issues/3428)
* **influxdb**: Fixed issue showing Group By label only on first query, fixes [#3453](https://github.com/grafana/grafana/issues/3453)
* **logging**: Add more verbose info logging for http reqeusts, closes [#3405](https://github.com/grafana/grafana/pull/3405)
* **logging**: Add more verbose info logging for http requests, closes [#3405](https://github.com/grafana/grafana/pull/3405)
# 2.6.0-Beta1 (2015-12-04)
@@ -895,7 +999,7 @@ slack channel (link to slack channel in readme).
**New Feature: Mix data sources**
- A built in data source is now available named `-- Mixed --`, When picked in the metrics tab,
it allows you to add queries of differnet data source types & instances to the same graph/panel!
it allows you to add queries of different data source types & instances to the same graph/panel!
[Issue #436](https://github.com/grafana/grafana/issues/436)
**New Feature: Elasticsearch Metrics Query Editor and Viz Support**
@@ -934,7 +1038,7 @@ it allows you to add queries of differnet data source types & instances to the s
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another atempt at fixing #2534 (Init multi value template var used in repeat panel from url)
- [Issue #2620](https://github.com/grafana/grafana/issues/2620). Graph: multi series tooltip did no highlight correct point when stacking was enabled and series were of different resolution
- [Issue #2636](https://github.com/grafana/grafana/issues/2636). InfluxDB: Do no show template vars in dropdown for tag keys and group by keys
- [Issue #2604](https://github.com/grafana/grafana/issues/2604). InfluxDB: More alias options, can now use `$[0-9]` syntax to reference part of a measurement name (seperated by dots)
- [Issue #2604](https://github.com/grafana/grafana/issues/2604). InfluxDB: More alias options, can now use `$[0-9]` syntax to reference part of a measurement name (separated by dots)
**Breaking Changes**
- Notice to makers/users of custom data sources, there is a minor breaking change in 2.2 that
@@ -1016,7 +1120,7 @@ Grunt & Watch tasks:
- [Issue #1826](https://github.com/grafana/grafana/issues/1826). User role 'Viewer' are now prohibited from entering edit mode (and doing other transient dashboard edits). A new role `Read Only Editor` will replace the old Viewer behavior
- [Issue #1928](https://github.com/grafana/grafana/issues/1928). HTTP API: GET /api/dashboards/db/:slug response changed property `model` to `dashboard` to match the POST request nameing
- Backend render URL changed from `/render/dashboard/solo` `render/dashboard-solo/` (in order to have consistent dashboard url `/dashboard/:type/:slug`)
- Search HTTP API response has changed (simplified), tags list moved to seperate HTTP resource URI
- Search HTTP API response has changed (simplified), tags list moved to separate HTTP resource URI
- Datasource HTTP api breaking change, ADD datasource is now POST /api/datasources/, update is now PUT /api/datasources/:id
**Fixes**
@@ -1033,7 +1137,7 @@ Grunt & Watch tasks:
# 2.0.2 (2015-04-22)
**Fixes**
- [Issue #1832](https://github.com/grafana/grafana/issues/1832). Graph Panel + Legend Table mode: Many series casued zero height graph, now legend will never reduce the height of the graph below 50% of row height.
- [Issue #1832](https://github.com/grafana/grafana/issues/1832). Graph Panel + Legend Table mode: Many series caused zero height graph, now legend will never reduce the height of the graph below 50% of row height.
- [Issue #1846](https://github.com/grafana/grafana/issues/1846). Snapshots: Fixed issue with snapshoting dashboards with an interval template variable
- [Issue #1848](https://github.com/grafana/grafana/issues/1848). Panel timeshift: You can now use panel timeshift without a relative time override
@@ -1075,7 +1179,7 @@ Grunt & Watch tasks:
**Fixes**
- [Issue #1649](https://github.com/grafana/grafana/issues/1649). HTTP API: grafana /render calls nows with api keys
- [Issue #1667](https://github.com/grafana/grafana/issues/1667). Datasource proxy & session timeout fix (casued 401 Unauthorized error after a while)
- [Issue #1667](https://github.com/grafana/grafana/issues/1667). Datasource proxy & session timeout fix (caused 401 Unauthorized error after a while)
- [Issue #1707](https://github.com/grafana/grafana/issues/1707). Unsaved changes: Do not show for snapshots, scripted and file based dashboards
- [Issue #1703](https://github.com/grafana/grafana/issues/1703). Unsaved changes: Do not show for users with role `Viewer`
- [Issue #1675](https://github.com/grafana/grafana/issues/1675). Data source proxy: Fixed issue with Gzip enabled and data source proxy
@@ -1088,14 +1192,14 @@ Grunt & Watch tasks:
**Important Note**
Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated backend server. Please read the [Documentation](http://docs.grafana.org) for more detailed about this SIGNIFCANT change to Grafana
Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated backend server. Please read the [Documentation](http://docs.grafana.org) for more detailed about this SIGNIFICANT change to Grafana
**New features**
- [Issue #1623](https://github.com/grafana/grafana/issues/1623). Share Dashboard: Dashboard snapshot sharing (dash and data snapshot), save to local or save to public snapshot dashboard snapshots.raintank.io site
- [Issue #1622](https://github.com/grafana/grafana/issues/1622). Share Panel: The share modal now has an embed option, gives you an iframe that you can use to embedd a single graph on another web site
- [Issue #718](https://github.com/grafana/grafana/issues/718). Dashboard: When saving a dashboard and another user has made changes inbetween the user is promted with a warning if he really wants to overwrite the other's changes
- [Issue #718](https://github.com/grafana/grafana/issues/718). Dashboard: When saving a dashboard and another user has made changes in between the user is promted with a warning if he really wants to overwrite the other's changes
- [Issue #1331](https://github.com/grafana/grafana/issues/1331). Graph & Singlestat: New axis/unit format selector and more units (kbytes, Joule, Watt, eV), and new design for graph axis & grid tab and single stat options tab views
- [Issue #1241](https://github.com/grafana/grafana/issues/1242). Timepicker: New option in timepicker (under dashboard settings), to change ``now`` to be for example ``now-1m``, usefull when you want to ignore last minute because it contains incomplete data
- [Issue #1241](https://github.com/grafana/grafana/issues/1242). Timepicker: New option in timepicker (under dashboard settings), to change ``now`` to be for example ``now-1m``, useful when you want to ignore last minute because it contains incomplete data
- [Issue #171](https://github.com/grafana/grafana/issues/171). Panel: Different time periods, panels can override dashboard relative time and/or add a time shift
- [Issue #1488](https://github.com/grafana/grafana/issues/1488). Dashboard: Clone dashboard / Save as
- [Issue #1458](https://github.com/grafana/grafana/issues/1458). User: persisted user option for dark or light theme (no longer an option on a dashboard)
@@ -1126,7 +1230,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
**OpenTSDB breaking change**
- [Issue #1438](https://github.com/grafana/grafana/issues/1438). OpenTSDB: Automatic downsample interval passed to OpenTSDB (depends on timespan and graph width)
- NOTICE, Downsampling is now enabled by default, so if you have not picked a downsample aggregator in your metric query do so or your graphs will be missleading
- NOTICE, Downsampling is now enabled by default, so if you have not picked a downsample aggregator in your metric query do so or your graphs will be misleading
- This will make Grafana a lot quicker for OpenTSDB users when viewing large time spans without having to change the downsample interval manually.
**Tech**
@@ -1157,7 +1261,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
- [Issue #1114](https://github.com/grafana/grafana/issues/1114). Graphite: Lexer fix, allow equal sign (=) in metric paths
- [Issue #1136](https://github.com/grafana/grafana/issues/1136). Graph: Fix to legend value Max and negative values
- [Issue #1150](https://github.com/grafana/grafana/issues/1150). SinglestatPanel: Fixed absolute drilldown link issue
- [Issue #1123](https://github.com/grafana/grafana/issues/1123). Firefox: Workaround for Firefox bug, casued input text fields to not be selectable and not have placeable cursor
- [Issue #1123](https://github.com/grafana/grafana/issues/1123). Firefox: Workaround for Firefox bug, caused input text fields to not be selectable and not have placeable cursor
- [Issue #1108](https://github.com/grafana/grafana/issues/1108). Graph: Fix for tooltip series order when series draw order was changed with zindex property
# 1.9.0-rc1 (2014-11-17)
@@ -1234,7 +1338,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- [Issue #234](https://github.com/grafana/grafana/issues/234). Templating: Interval variable type for time intervals summarize/group by parameter, included "auto" option, and auto step counts option.
- [Issue #262](https://github.com/grafana/grafana/issues/262). Templating: Ability to use template variables for function parameters via custom variable type, can be used as parameter for movingAverage or scaleToSeconds for example
- [Issue #312](https://github.com/grafana/grafana/issues/312). Templating: Can now use template variables in panel titles
- [Issue #613](https://github.com/grafana/grafana/issues/613). Templating: Full support for InfluxDB, filter by part of series names, extract series substrings, nested queries, multipe where clauses!
- [Issue #613](https://github.com/grafana/grafana/issues/613). Templating: Full support for InfluxDB, filter by part of series names, extract series substrings, nested queries, multiple where clauses!
- Template variables can be initialized from url, with var-my_varname=value, breaking change, before it was just my_varname.
- Templating and url state sync has some issues that are not solved for this release, see [Issue #772](https://github.com/grafana/grafana/issues/772) for more details.
@@ -1323,7 +1427,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- [Issue #136](https://github.com/grafana/grafana/issues/136). Graph: New legend display option "Align as table"
- [Issue #556](https://github.com/grafana/grafana/issues/556). Graph: New legend display option "Right side", will show legend to the right of the graph
- [Issue #604](https://github.com/grafana/grafana/issues/604). Graph: New axis format, 'bps' (SI unit in steps of 1000) useful for network gear metics
- [Issue #626](https://github.com/grafana/grafana/issues/626). Graph: Downscale y axis to more precise unit, value of 0.1 for seconds format will be formated as 100 ms. Thanks @kamaradclimber
- [Issue #626](https://github.com/grafana/grafana/issues/626). Graph: Downscale y axis to more precise unit, value of 0.1 for seconds format will be formatted as 100 ms. Thanks @kamaradclimber
- [Issue #618](https://github.com/grafana/grafana/issues/618). OpenTSDB: Series alias option to override metric name returned from opentsdb. Thanks @heldr
**Documentation**
@@ -1353,13 +1457,13 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- [Issue #522](https://github.com/grafana/grafana/issues/522). Series names and column name typeahead cache fix
- [Issue #504](https://github.com/grafana/grafana/issues/504). Fixed influxdb issue with raw query that caused wrong value column detection
- [Issue #526](https://github.com/grafana/grafana/issues/526). Default property that marks which datasource is default in config.js is now optional
- [Issue #342](https://github.com/grafana/grafana/issues/342). Auto-refresh caused 2 refreshes (and hence mulitple queries) each time (at least in firefox)
- [Issue #342](https://github.com/grafana/grafana/issues/342). Auto-refresh caused 2 refreshes (and hence multiple queries) each time (at least in firefox)
# 1.6.0 (2014-06-16)
#### New features or improvements
- [Issue #427](https://github.com/grafana/grafana/issues/427). New Y-axis formater for metric values that represent seconds, Thanks @jippi
- [Issue #390](https://github.com/grafana/grafana/issues/390). Allow special characters in serie names (influxdb datasource), Thanks @majst01
- [Issue #390](https://github.com/grafana/grafana/issues/390). Allow special characters in series names (influxdb datasource), Thanks @majst01
- [Issue #428](https://github.com/grafana/grafana/issues/428). Refactoring of filterSrv, Thanks @Tetha
- [Issue #445](https://github.com/grafana/grafana/issues/445). New config for playlist feature. Set playlist_timespan to set default playlist interval, Thanks @rmca
- [Issue #461](https://github.com/grafana/grafana/issues/461). New graphite function definition added isNonNull, Thanks @tmonk42
@@ -1380,13 +1484,13 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- [Issue #475](https://github.com/grafana/grafana/issues/475). Add panel icon and Row edit button is replaced by the Row edit menu
- New graphs now have a default empty query
- Add Row button now creates a row with default height of 250px (no longer opens dashboard settings modal)
- Clean up of config.sample.js, graphiteUrl removed (still works, but depricated, removed in future)
- Clean up of config.sample.js, graphiteUrl removed (still works, but deprecated, removed in future)
Use datasources config instead. panel_names removed from config.js. Use plugins.panels to add custom panels
- Graphite panel is now renamed graph (Existing dashboards will still work)
#### Fixes
- [Issue #126](https://github.com/grafana/grafana/issues/126). Graphite query lexer change, can now handle regex parameters for aliasSub function
- [Issue #447](https://github.com/grafana/grafana/issues/447). Filter option loading when having muliple nested filters now works better. Options are now reloaded correctly and there are no multiple renders/refresh inbetween.
- [Issue #447](https://github.com/grafana/grafana/issues/447). Filter option loading when having muliple nested filters now works better. Options are now reloaded correctly and there are no multiple renders/refresh in between.
- [Issue #412](https://github.com/grafana/grafana/issues/412). After a filter option is changed and a nested template param is reloaded, if the current value exists after the options are reloaded the current selected value is kept.
- [Issue #460](https://github.com/grafana/grafana/issues/460). Legend Current value did not display when value was zero
- [Issue #328](https://github.com/grafana/grafana/issues/328). Fix to series toggling bug that caused annotations to be hidden when toggling/hiding series.

215
Gopkg.lock generated
View File

@@ -27,37 +27,7 @@
[[projects]]
name = "github.com/aws/aws-sdk-go"
packages = [
"aws",
"aws/awserr",
"aws/awsutil",
"aws/client",
"aws/client/metadata",
"aws/corehandlers",
"aws/credentials",
"aws/credentials/ec2rolecreds",
"aws/credentials/endpointcreds",
"aws/credentials/stscreds",
"aws/defaults",
"aws/ec2metadata",
"aws/endpoints",
"aws/request",
"aws/session",
"aws/signer/v4",
"internal/shareddefaults",
"private/protocol",
"private/protocol/ec2query",
"private/protocol/query",
"private/protocol/query/queryutil",
"private/protocol/rest",
"private/protocol/restxml",
"private/protocol/xml/xmlutil",
"service/cloudwatch",
"service/ec2",
"service/ec2/ec2iface",
"service/s3",
"service/sts"
]
packages = ["aws","aws/awserr","aws/awsutil","aws/client","aws/client/metadata","aws/corehandlers","aws/credentials","aws/credentials/ec2rolecreds","aws/credentials/endpointcreds","aws/credentials/stscreds","aws/defaults","aws/ec2metadata","aws/endpoints","aws/request","aws/session","aws/signer/v4","internal/shareddefaults","private/protocol","private/protocol/ec2query","private/protocol/query","private/protocol/query/queryutil","private/protocol/rest","private/protocol/restxml","private/protocol/xml/xmlutil","service/cloudwatch","service/ec2","service/ec2/ec2iface","service/s3","service/sts"]
revision = "decd990ddc5dcdf2f73309cbcab90d06b996ca28"
version = "v1.12.67"
@@ -103,6 +73,11 @@
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
version = "v1.1.0"
[[projects]]
name = "github.com/denisenkom/go-mssqldb"
packages = [".","internal/cp"]
revision = "270bc3860bb94dd3a3ffd047377d746c5e276726"
[[projects]]
name = "github.com/fatih/color"
packages = ["."]
@@ -142,13 +117,7 @@
[[projects]]
branch = "master"
name = "github.com/go-macaron/session"
packages = [
".",
"memcache",
"mysql",
"postgres",
"redis"
]
packages = [".","memcache","postgres","redis"]
revision = "b8e286a0dba8f4999042d6b258daf51b31d08938"
[[projects]]
@@ -183,13 +152,7 @@
[[projects]]
branch = "master"
name = "github.com/golang/protobuf"
packages = [
"proto",
"ptypes",
"ptypes/any",
"ptypes/duration",
"ptypes/timestamp"
]
packages = ["proto","ptypes","ptypes/any","ptypes/duration","ptypes/timestamp"]
revision = "c65a0412e71e8b9b3bfd22925720d23c0f054237"
[[projects]]
@@ -258,10 +221,7 @@
[[projects]]
name = "github.com/klauspost/compress"
packages = [
"flate",
"gzip"
]
packages = ["flate","gzip"]
revision = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf"
version = "v1.2.1"
@@ -292,10 +252,7 @@
[[projects]]
branch = "master"
name = "github.com/lib/pq"
packages = [
".",
"oid"
]
packages = [".","oid"]
revision = "61fe37aa2ee24fabcdbe5c4ac1d4ac566f88f345"
[[projects]]
@@ -330,11 +287,7 @@
[[projects]]
name = "github.com/opentracing/opentracing-go"
packages = [
".",
"ext",
"log"
]
packages = [".","ext","log"]
revision = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38"
version = "v1.0.2"
@@ -346,12 +299,7 @@
[[projects]]
name = "github.com/prometheus/client_golang"
packages = [
"api",
"api/prometheus/v1",
"prometheus",
"prometheus/promhttp"
]
packages = ["api","api/prometheus/v1","prometheus","prometheus/promhttp"]
revision = "967789050ba94deca04a5e84cce8ad472ce313c1"
version = "v0.9.0-pre1"
@@ -364,22 +312,13 @@
[[projects]]
branch = "master"
name = "github.com/prometheus/common"
packages = [
"expfmt",
"internal/bitbucket.org/ww/goautoneg",
"model"
]
packages = ["expfmt","internal/bitbucket.org/ww/goautoneg","model"]
revision = "89604d197083d4781071d3c65855d24ecfb0a563"
[[projects]]
branch = "master"
name = "github.com/prometheus/procfs"
packages = [
".",
"internal/util",
"nfsd",
"xfs"
]
packages = [".","internal/util","nfsd","xfs"]
revision = "85fadb6e89903ef7cca6f6a804474cd5ea85b6e1"
[[projects]]
@@ -396,21 +335,13 @@
[[projects]]
name = "github.com/smartystreets/assertions"
packages = [
".",
"internal/go-render/render",
"internal/oglematchers"
]
packages = [".","internal/go-render/render","internal/oglematchers"]
revision = "0b37b35ec7434b77e77a4bb29b79677cced992ea"
version = "1.8.1"
[[projects]]
name = "github.com/smartystreets/goconvey"
packages = [
"convey",
"convey/gotest",
"convey/reporting"
]
packages = ["convey","convey/gotest","convey/reporting"]
revision = "9e8dc3f972df6c8fcc0375ef492c24d0bb204857"
version = "1.6.3"
@@ -422,21 +353,7 @@
[[projects]]
name = "github.com/uber/jaeger-client-go"
packages = [
".",
"config",
"internal/baggage",
"internal/baggage/remote",
"internal/spanlog",
"log",
"rpcmetrics",
"thrift-gen/agent",
"thrift-gen/baggage",
"thrift-gen/jaeger",
"thrift-gen/sampling",
"thrift-gen/zipkincore",
"utils"
]
packages = [".","config","internal/baggage","internal/baggage/remote","internal/spanlog","log","rpcmetrics","thrift-gen/agent","thrift-gen/baggage","thrift-gen/jaeger","thrift-gen/sampling","thrift-gen/zipkincore","utils"]
revision = "3ac96c6e679cb60a74589b0d0aa7c70a906183f7"
version = "v2.11.2"
@@ -448,10 +365,7 @@
[[projects]]
name = "github.com/yudai/gojsondiff"
packages = [
".",
"formatter"
]
packages = [".","formatter"]
revision = "7b1b7adf999dab73a6eb02669c3d82dbb27a3dd6"
version = "1.0.0"
@@ -464,34 +378,19 @@
[[projects]]
branch = "master"
name = "golang.org/x/crypto"
packages = ["pbkdf2"]
packages = ["md4","pbkdf2"]
revision = "3d37316aaa6bd9929127ac9a527abf408178ea7b"
[[projects]]
branch = "master"
name = "golang.org/x/net"
packages = [
"context",
"context/ctxhttp",
"http2",
"http2/hpack",
"idna",
"internal/timeseries",
"lex/httplex",
"trace"
]
packages = ["context","context/ctxhttp","http2","http2/hpack","idna","internal/timeseries","lex/httplex","trace"]
revision = "5ccada7d0a7ba9aeb5d3aca8d3501b4c2a509fec"
[[projects]]
branch = "master"
name = "golang.org/x/oauth2"
packages = [
".",
"google",
"internal",
"jws",
"jwt"
]
packages = [".","google","internal","jws","jwt"]
revision = "b28fcf2b08a19742b43084fb40ab78ac6c3d8067"
[[projects]]
@@ -509,39 +408,12 @@
[[projects]]
branch = "master"
name = "golang.org/x/text"
packages = [
"collate",
"collate/build",
"internal/colltab",
"internal/gen",
"internal/tag",
"internal/triegen",
"internal/ucd",
"language",
"secure/bidirule",
"transform",
"unicode/bidi",
"unicode/cldr",
"unicode/norm",
"unicode/rangetable"
]
packages = ["collate","collate/build","internal/colltab","internal/gen","internal/tag","internal/triegen","internal/ucd","language","secure/bidirule","transform","unicode/bidi","unicode/cldr","unicode/norm","unicode/rangetable"]
revision = "e19ae1496984b1c655b8044a65c0300a3c878dd3"
[[projects]]
name = "google.golang.org/appengine"
packages = [
".",
"cloudsql",
"internal",
"internal/app_identity",
"internal/base",
"internal/datastore",
"internal/log",
"internal/modules",
"internal/remote_api",
"internal/urlfetch",
"urlfetch"
]
packages = [".","cloudsql","internal","internal/app_identity","internal/base","internal/datastore","internal/log","internal/modules","internal/remote_api","internal/urlfetch","urlfetch"]
revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a"
version = "v1.0.0"
@@ -553,32 +425,7 @@
[[projects]]
name = "google.golang.org/grpc"
packages = [
".",
"balancer",
"balancer/base",
"balancer/roundrobin",
"codes",
"connectivity",
"credentials",
"encoding",
"grpclb/grpc_lb_v1/messages",
"grpclog",
"health",
"health/grpc_health_v1",
"internal",
"keepalive",
"metadata",
"naming",
"peer",
"resolver",
"resolver/dns",
"resolver/passthrough",
"stats",
"status",
"tap",
"transport"
]
packages = [".","balancer","balancer/base","balancer/roundrobin","codes","connectivity","credentials","encoding","grpclb/grpc_lb_v1/messages","grpclog","health","health/grpc_health_v1","internal","keepalive","metadata","naming","peer","resolver","resolver/dns","resolver/passthrough","stats","status","tap","transport"]
revision = "6b51017f791ae1cfbec89c52efdf444b13b550ef"
version = "v1.9.2"
@@ -600,12 +447,6 @@
revision = "567b2bfa514e796916c4747494d6ff5132a1dfce"
version = "v1"
[[projects]]
branch = "v2"
name = "gopkg.in/gomail.v2"
packages = ["."]
revision = "81ebce5c23dfd25c6c67194b37d3dd3f338c98b1"
[[projects]]
name = "gopkg.in/ini.v1"
packages = ["."]
@@ -618,6 +459,12 @@
revision = "75f2e9b42e99652f0d82b28ccb73648f44615faa"
version = "v1.2.4"
[[projects]]
branch = "v2"
name = "gopkg.in/mail.v2"
packages = ["."]
revision = "5bc5c8bb07bd8d2803831fbaf8cbd630fcde2c68"
[[projects]]
name = "gopkg.in/redis.v2"
packages = ["."]
@@ -633,6 +480,6 @@
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "112ccff73f668c8c4dbe3d41c37ebee65fd7d839f5a4fa0665c593cae0095dad"
inputs-digest = "ad3c71fd3244369c313978e9e7464c7116faee764386439a17de0707a08103aa"
solver-name = "gps-cdcl"
solver-version = 1

View File

@@ -172,7 +172,7 @@ ignored = [
name = "golang.org/x/sync"
[[constraint]]
name = "gopkg.in/gomail.v2"
name = "gopkg.in/mail.v2"
branch = "v2"
[[constraint]]
@@ -195,3 +195,7 @@ ignored = [
[[constraint]]
branch = "master"
name = "github.com/teris-io/shortid"
[[constraint]]
name = "github.com/denisenkom/go-mssqldb"
revision = "270bc3860bb94dd3a3ffd047377d746c5e276726"

View File

@@ -11,8 +11,14 @@ deps: deps-js
build-go:
go run build.go build
build-server:
go run build.go build-server
build-cli:
go run build.go build-cli
build-js:
npm run build
yarn run build
build: build-go build-js
@@ -20,7 +26,7 @@ test-go:
go test -v ./pkg/...
test-js:
npm test
yarn test
test: test-go test-js

View File

@@ -9,6 +9,7 @@ upgrading Grafana please check here before creating an issue.
- [Datasource plugin written in typescript](https://github.com/grafana/typescript-template-datasource)
- [Simple json dataource plugin](https://github.com/grafana/simple-json-datasource)
- [Plugin development guide](http://docs.grafana.org/plugins/developing/development/)
- [Webpack Grafana plugin template project](https://github.com/CorpGlory/grafana-plugin-template-webpack)
## Changes in v4.6

View File

@@ -9,9 +9,6 @@ Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
![](http://docs.grafana.org/assets/img/features/dashboard_ex1.png)
## Grafana v5 Alpha Preview
Grafana master is now v5.0 alpha. This is going to be the biggest and most foundational release Grafana has ever had, coming with a ton of UX improvements, a new dashboard grid engine, dashboard folders, user teams and permissions. Checkout out this [video preview](https://www.youtube.com/watch?v=BC_YRNpqj5k) of Grafana v5.
## Installation
Head to [docs.grafana.org](http://docs.grafana.org/installation/) and [download](https://grafana.com/get)
the latest release.
@@ -27,13 +24,13 @@ the latest master builds [here](https://grafana.com/grafana/download)
### Dependencies
- Go 1.9
- Go 1.10
- NodeJS LTS
### Building the backend
```bash
go get github.com/grafana/grafana
cd ~/go/src/github.com/grafana/grafana
cd $GOPATH/src/github.com/grafana/grafana
go run build.go setup
go run build.go build
```

View File

@@ -6,19 +6,21 @@ But it will give you an idea of our current vision and plan.
### Short term (1-2 months)
- v5.1
- Crossplatform builds & build speed improvements
- Build speed improvements & integration test execution
- Kubernetes friendly docker container
- Enterprise LDAP
- New template interpolation syntax
- Provisioning workflow
- First login registration view
- IFQL Initial support
- MSSQL datasource
### Mid term (2-4 months)
- v5.2
- Azure monitor backend rewrite
- Elasticsearch alerting
- First login registration view
- Backend plugins? (alert notifiers, auth)
- Crossplatform builds
- IFQL Initial support
### Long term (4 - 8 months)

View File

@@ -6,8 +6,8 @@ clone_folder: c:\gopath\src\github.com\grafana\grafana
environment:
nodejs_version: "6"
GOPATH: c:\gopath
GOVERSION: 1.9.2
GOPATH: C:\gopath
GOVERSION: 1.10
install:
- rmdir c:\go /s /q

View File

@@ -41,6 +41,7 @@ var (
includeBuildNumber bool = true
buildNumber int = 0
binaries []string = []string{"grafana-server", "grafana-cli"}
isDev bool = false
)
const minGoVersion = 1.8
@@ -61,6 +62,7 @@ func main() {
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.BoolVar(&isDev, "dev", isDev, "optimal for development, skips certain steps")
flag.Parse()
readVersionFromPackageJson()
@@ -79,10 +81,18 @@ func main() {
case "setup":
setup()
case "build-srv":
clean()
build("grafana-server", "./pkg/cmd/grafana-server", []string{})
case "build-cli":
clean()
build("grafana-cli", "./pkg/cmd/grafana-cli", []string{})
case "build-server":
clean()
build("grafana-server", "./pkg/cmd/grafana-server", []string{})
case "build":
clean()
for _, binary := range binaries {
@@ -386,7 +396,9 @@ func build(binaryName, pkg string, tags []string) {
binary += ".exe"
}
rmr(binary, binary+".md5")
if !isDev {
rmr(binary, binary+".md5")
}
args := []string{"build", "-ldflags", ldflags()}
if len(tags) > 0 {
args = append(args, "-tags", strings.Join(tags, ","))
@@ -397,16 +409,21 @@ func build(binaryName, pkg string, tags []string) {
args = append(args, "-o", binary)
args = append(args, pkg)
setBuildEnv()
runPrint("go", "version")
if !isDev {
setBuildEnv()
runPrint("go", "version")
}
runPrint("go", args...)
// Create an md5 checksum of the binary, to be included in the archive for
// automatic upgrades.
err := md5File(binary)
if err != nil {
log.Fatal(err)
if !isDev {
// Create an md5 checksum of the binary, to be included in the archive for
// automatic upgrades.
err := md5File(binary)
if err != nil {
log.Fatal(err)
}
}
}
@@ -427,6 +444,10 @@ func rmr(paths ...string) {
}
func clean() {
if isDev {
return
}
rmr("dist")
rmr("tmp")
rmr(filepath.Join(os.Getenv("GOPATH"), fmt.Sprintf("pkg/%s_%s/github.com/grafana", goos, goarch)))
@@ -542,7 +563,7 @@ func shaFilesInDist() {
return nil
}
if strings.Contains(path, ".sha256") == false {
if !strings.Contains(path, ".sha256") {
err := shaFile(path)
if err != nil {
log.Printf("Failed to create sha file. error: %v\n", err)

View File

@@ -1,57 +0,0 @@
machine:
node:
version: 6.11.4
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.9.3.linux-amd64.tar.gz"
post:
- 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-frontend.sh
- bash scripts/circle-test-backend.sh
deployment:
gh_branch:
branch: master
commands:
- ./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

@@ -8,6 +8,4 @@ coverage:
patch: yes
changes: no
comment:
layout: "diff"
behavior: "once"
comment: off

View File

@@ -4,10 +4,10 @@
# change
# possible values : production, development
; app_mode = production
;app_mode = production
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
; instance_name = ${HOSTNAME}
;instance_name = ${HOSTNAME}
#################################### Paths ####################################
[paths]
@@ -21,7 +21,7 @@
;plugins = /var/lib/grafana/plugins
# folder that contains provisioning config files that grafana will apply on startup and while running.
; provisioning = conf/provisioning
;provisioning = conf/provisioning
#################################### Server ####################################
[server]
@@ -64,7 +64,7 @@
#################################### 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 properties.
# Either "mysql", "postgres" or "sqlite3", it's your choice
;type = sqlite3
@@ -124,7 +124,6 @@ log_queries =
# This enables data proxy logging, default is false
;logging = false
#################################### Analytics ####################################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -326,7 +325,6 @@ log_queries =
# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
;filters =
# For "console" mode only
[log.console]
;level =
@@ -372,7 +370,6 @@ log_queries =
# Syslog tag. By default, the process' argv[0] is used.
;tag =
#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features

View File

@@ -6,3 +6,10 @@
- "9300:9300"
volumes:
- ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
fake-elastic-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: elasticsearch
FD_PORT: 9200

View File

@@ -6,3 +6,10 @@
ports:
- "10200:9200"
- "10300:9300"
fake-elastic5-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: elasticsearch
FD_PORT: 10200

View File

@@ -38,7 +38,7 @@ CACHE_QUERY_PORT = 7002
LOG_UPDATES = False
# Enable AMQP if you want to receve metrics using an amqp broker
# Enable AMQP if you want to receive metrics using an amqp broker
# ENABLE_AMQP = False
# Verbose means a line will be logged for every metric received

File diff suppressed because it is too large Load Diff

View File

@@ -41,7 +41,7 @@ PICKLE_RECEIVER_PORT = 2004
CACHE_QUERY_INTERFACE = 0.0.0.0
CACHE_QUERY_PORT = 7002
# Enable AMQP if you want to receve metrics using you amqp broker
# Enable AMQP if you want to receive metrics using you amqp broker
ENABLE_AMQP = True
# Verbose means a line will be logged for every metric received

View File

@@ -265,7 +265,7 @@ WHISPER_FALLOCATE_CREATE = True
# CARBON_METRIC_PREFIX = carbon
# CARBON_METRIC_INTERVAL = 60
# Enable AMQP if you want to receve metrics using an amqp broker
# Enable AMQP if you want to receive metrics using an amqp broker
# ENABLE_AMQP = False
# Verbose means a line will be logged for every metric received

View File

@@ -30,7 +30,7 @@ give_completer_focus = shift-space
# pertain only to specific metric types.
#
# The dashboard presents only metrics that fall into specified naming schemes
# defined in this file. This creates a simpler, more targetted view of the
# defined in this file. This creates a simpler, more targeted view of the
# data. The general form for defining a naming scheme is as follows:
#
#[Metric Type]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
graphite11:
image: graphiteapp/graphite-statsd
ports:
- "8180:80"
- "2103-2104:2003-2004"
- "2123-2124:2023-2024"
- "8225:8125/udp"
- "8226:8126"
fake-graphite11-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: graphite
FD_PORT: 2103
FD_GRAPHITE_VERSION: 1.1
depends_on:
- graphite11

View File

@@ -0,0 +1,5 @@
FROM microsoft/mssql-server-linux:2017-CU4
WORKDIR /usr/setup
COPY . /usr/setup
RUN chmod +x /usr/setup/setup.sh
CMD /bin/bash ./entrypoint.sh

View File

@@ -0,0 +1,2 @@
#start SQL Server and run setup script
/usr/setup/setup.sh & /opt/mssql/bin/sqlservr

View File

@@ -0,0 +1,12 @@
#/bin/bash
#wait for the SQL Server to come up
sleep 15s
cat /usr/setup/setup.sql.template | awk '{
gsub(/%%DB%%/,"'$MSSQL_DATABASE'");
gsub(/%%USER%%/,"'$MSSQL_USER'");
gsub(/%%PWD%%/,"'$MSSQL_PASSWORD'")
}1' > /usr/setup/setup.sql
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $MSSQL_SA_PASSWORD -d master -i /usr/setup/setup.sql

View File

@@ -0,0 +1,14 @@
CREATE LOGIN %%USER%% WITH PASSWORD = '%%PWD%%'
GO
CREATE DATABASE %%DB%%;
GO
USE %%DB%%;
GO
CREATE USER %%USER%% FOR LOGIN %%USER%%;
GO
EXEC sp_addrolemember 'db_owner', '%%USER%%';
GO

View File

@@ -0,0 +1,539 @@
{
"__inputs": [
{
"name": "DS_MSSQL",
"label": "MSSQL",
"description": "",
"type": "datasource",
"pluginId": "mssql",
"pluginName": "MSSQL"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "5.0.0"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": "5.0.0"
},
{
"type": "datasource",
"id": "mssql",
"name": "MSSQL",
"version": "1.0.0"
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": "5.0.0"
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "A dashboard visualizing data generated from grafana/fake-data-gen",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1520976748896,
"links": [],
"panels": [
{
"aliasColors": {
"total avg": "#6ed0e0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_MSSQL}",
"fill": 2,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "total avg",
"fill": 0,
"pointradius": 3,
"points": true
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time,\n avg(value) as value,\n hostname as metric\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'logins.count' AND\n hostname IN($host)\nGROUP BY $__timeGroup(createdAt,'$summarize'), hostname\nORDER BY 1",
"refId": "A"
},
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time,\n min(value) as value,\n 'total avg' as metric\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'logins.count'\nGROUP BY $__timeGroup(createdAt,'$summarize')\nORDER BY 1",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Average logins / $summarize",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_MSSQL}",
"fill": 2,
"gridPos": {
"h": 18,
"w": 12,
"x": 12,
"y": 0
},
"id": 8,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time,\n avg(value) as value,\n 'started' as metric\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'payment.started'\nGROUP BY $__timeGroup(createdAt,'$summarize')\nORDER BY 1",
"refId": "A"
},
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time,\n avg(value) as value,\n 'ended' as \"metric\"\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'payment.ended'\nGROUP BY $__timeGroup(createdAt,'$summarize')\nORDER BY 1",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Average payments started/ended / $summarize",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_MSSQL}",
"fill": 2,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 9
},
"id": 6,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time,\n max(value) as value,\n hostname as metric\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'cpu' AND\n hostname IN($host)\nGROUP BY $__timeGroup(createdAt,'$summarize'), hostname\nORDER BY 1",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Max CPU / $summarize",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
]
},
{
"columns": [],
"datasource": "${DS_MSSQL}",
"fontSize": "100%",
"gridPos": {
"h": 10,
"w": 24,
"x": 0,
"y": 18
},
"id": 4,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "Time",
"type": "date"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"alias": "",
"format": "table",
"rawSql": "SELECT createdAt as Time, source, datacenter, hostname, value FROM grafana_metric WHERE hostname in($host)",
"refId": "A"
}
],
"title": "Values",
"transform": "table",
"type": "table"
}
],
"schemaVersion": 16,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": null,
"current": {},
"datasource": "${DS_MSSQL}",
"hide": 0,
"includeAll": false,
"label": "Datacenter",
"multi": false,
"name": "datacenter",
"options": [],
"query": "SELECT DISTINCT datacenter FROM grafana_metric",
"refresh": 1,
"regex": "",
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {},
"datasource": "${DS_MSSQL}",
"hide": 0,
"includeAll": true,
"label": "Hostname",
"multi": true,
"name": "host",
"options": [],
"query": "SELECT DISTINCT hostname FROM grafana_metric WHERE datacenter='$datacenter'",
"refresh": 1,
"regex": "",
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"auto": false,
"auto_count": 30,
"auto_min": "10s",
"current": {
"text": "1m",
"value": "1m"
},
"hide": 0,
"label": "Summarize",
"name": "summarize",
"options": [
{
"selected": false,
"text": "1s",
"value": "1s"
},
{
"selected": false,
"text": "10s",
"value": "10s"
},
{
"selected": false,
"text": "30s",
"value": "30s"
},
{
"selected": true,
"text": "1m",
"value": "1m"
},
{
"selected": false,
"text": "5m",
"value": "5m"
},
{
"selected": false,
"text": "10m",
"value": "10m"
},
{
"selected": false,
"text": "30m",
"value": "30m"
},
{
"selected": false,
"text": "1h",
"value": "1h"
},
{
"selected": false,
"text": "6h",
"value": "6h"
},
{
"selected": false,
"text": "12h",
"value": "12h"
},
{
"selected": false,
"text": "1d",
"value": "1d"
},
{
"selected": false,
"text": "7d",
"value": "7d"
},
{
"selected": false,
"text": "14d",
"value": "14d"
},
{
"selected": false,
"text": "30d",
"value": "30d"
}
],
"query": "1s,10s,30s,1m,5m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
"refresh": 2,
"type": "interval"
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "Grafana Fake Data Gen - MSSQL",
"uid": "86Js1xRmk",
"version": 11
}

View File

@@ -0,0 +1,19 @@
mssql:
build:
context: blocks/mssql/build
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Password!
MSSQL_PID: Express
MSSQL_DATABASE: grafana
MSSQL_USER: grafana
MSSQL_PASSWORD: Password!
ports:
- "1433:1433"
fake-mssql-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: mssql
FD_PORT: 1433

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
mssqltests:
build:
context: blocks/mssql/build
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Password!
MSSQL_PID: Express
MSSQL_DATABASE: grafanatest
MSSQL_USER: grafana
MSSQL_PASSWORD: Password!
ports:
- "1433:1433"

View File

@@ -2,7 +2,7 @@
"__inputs": [
{
"name": "DS_MYSQL",
"label": "Mysql",
"label": "MySQL",
"description": "",
"type": "datasource",
"pluginId": "mysql",
@@ -20,19 +20,19 @@
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
"version": "5.0.0"
},
{
"type": "datasource",
"id": "mysql",
"name": "MySQL",
"version": "1.0.0"
"version": "5.0.0"
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
"version": "5.0.0"
}
],
"annotations": {
@@ -53,7 +53,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1518602729468,
"iteration": 1523372133566,
"links": [],
"panels": [
{
@@ -118,7 +118,7 @@
],
"thresholds": [],
"timeFrom": null,
"timeShift": "1h",
"timeShift": null,
"title": "Average logins / $summarize",
"tooltip": {
"shared": true,
@@ -150,7 +150,11 @@
"min": null,
"show": true
}
]
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
@@ -204,7 +208,7 @@
],
"thresholds": [],
"timeFrom": null,
"timeShift": "1h",
"timeShift": null,
"title": "Average payments started/ended / $summarize",
"tooltip": {
"shared": true,
@@ -236,7 +240,11 @@
"min": null,
"show": true
}
]
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
@@ -284,7 +292,7 @@
],
"thresholds": [],
"timeFrom": null,
"timeShift": "1h",
"timeShift": null,
"title": "Max CPU / $summarize",
"tooltip": {
"shared": true,
@@ -316,7 +324,11 @@
"min": null,
"show": true
}
]
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [],
@@ -369,7 +381,7 @@
"target": ""
}
],
"timeShift": "1h",
"timeShift": null,
"title": "Values",
"transform": "table",
"type": "table"
@@ -428,7 +440,6 @@
"auto_count": 5,
"auto_min": "10s",
"current": {
"selected": true,
"text": "1m",
"value": "1m"
},
@@ -545,5 +556,5 @@
"timezone": "",
"title": "Grafana Fake Data Gen - MySQL",
"uid": "DGsCac3kz",
"version": 6
"version": 8
}

View File

@@ -7,9 +7,6 @@
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]
fake-mysql-data:

View File

@@ -0,0 +1,3 @@
FROM mysql:latest
ADD setup.sql /docker-entrypoint-initdb.d
CMD ["mysqld"]

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
mysqltests:
image: mysql:latest
build:
context: blocks/mysql_tests
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: grafana_tests
@@ -7,7 +8,4 @@
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
tmpfs: /var/lib/mysql:rw

View File

@@ -0,0 +1,2 @@
CREATE DATABASE grafana_ds_tests;
GRANT ALL PRIVILEGES ON grafana_ds_tests.* TO 'grafana';

View File

@@ -17,6 +17,7 @@ EXPOSE 389
VOLUME ["/etc/ldap", "/var/lib/ldap"]
COPY modules/ /etc/ldap.dist/modules
COPY prepopulate/ /etc/ldap.dist/prepopulate
COPY entrypoint.sh /entrypoint.sh

View File

@@ -65,7 +65,7 @@ EOF
fi
if [[ -n "$SLAPD_ADDITIONAL_SCHEMAS" ]]; then
IFS=","; declare -a schemas=($SLAPD_ADDITIONAL_SCHEMAS)
IFS=","; declare -a schemas=($SLAPD_ADDITIONAL_SCHEMAS); unset IFS
for schema in "${schemas[@]}"; do
slapadd -n0 -F /etc/ldap/slapd.d -l "/etc/ldap/schema/${schema}.ldif" >/dev/null 2>&1
@@ -73,14 +73,18 @@ EOF
fi
if [[ -n "$SLAPD_ADDITIONAL_MODULES" ]]; then
IFS=","; declare -a modules=($SLAPD_ADDITIONAL_MODULES)
IFS=","; declare -a modules=($SLAPD_ADDITIONAL_MODULES); unset IFS
for module in "${modules[@]}"; do
slapadd -n0 -F /etc/ldap/slapd.d -l "/etc/ldap/modules/${module}.ldif" >/dev/null 2>&1
done
fi
chown -R openldap:openldap /etc/ldap/slapd.d/
for file in `ls /etc/ldap/prepopulate/*.ldif`; do
slapadd -F /etc/ldap/slapd.d -l "$file"
done
chown -R openldap:openldap /etc/ldap/slapd.d/ /var/lib/ldap/ /var/run/slapd/
else
slapd_configs_in_env=`env | grep 'SLAPD_'`

View File

@@ -0,0 +1,13 @@
# Notes on OpenLdap Docker Block
Any ldif files added to the prepopulate subdirectory will be automatically imported into the OpenLdap database.
The ldif files add three users, `ldapviewer`, `ldapeditor` and `ldapadmin`. Two groups, `admins` and `users`, are added that correspond with the group mappings in the default conf/ldap.toml. `ldapadmin` is a member of `admins` and `ldapeditor` is a member of `users`.
Note that users that are added here need to specify a `memberOf` attribute manually as well as the `member` attribute for the group. The `memberOf` module usually does this automatically (if you add a group in Apache Directory Studio for example) but this does not work in the entrypoint script as it uses the `slapadd` command to add entries before the server has started and before the `memberOf` module is loaded.
After adding ldif files to `prepopulate`:
1. Remove your current docker image: `docker rm docker_openldap_1`
2. Build: `docker-compose build`
3. `docker-compose up`

View File

@@ -0,0 +1,10 @@
dn: cn=ldapadmin,dc=grafana,dc=org
mail: ldapadmin@grafana.com
userPassword: grafana
objectClass: person
objectClass: top
objectClass: inetOrgPerson
objectClass: organizationalPerson
sn: ldapadmin
cn: ldapadmin
memberOf: cn=admins,dc=grafana,dc=org

View File

@@ -0,0 +1,5 @@
dn: cn=admins,dc=grafana,dc=org
cn: admins
member: cn=ldapadmin,dc=grafana,dc=org
objectClass: groupOfNames
objectClass: top

View File

@@ -0,0 +1,10 @@
dn: cn=ldapeditor,dc=grafana,dc=org
mail: ldapeditor@grafana.com
userPassword: grafana
objectClass: person
objectClass: top
objectClass: inetOrgPerson
objectClass: organizationalPerson
sn: ldapeditor
cn: ldapeditor
memberOf: cn=users,dc=grafana,dc=org

View File

@@ -0,0 +1,5 @@
dn: cn=users,dc=grafana,dc=org
cn: users
member: cn=ldapeditor,dc=grafana,dc=org
objectClass: groupOfNames
objectClass: top

View File

@@ -0,0 +1,9 @@
dn: cn=ldapviewer,dc=grafana,dc=org
mail: ldapviewer@grafana.com
userPassword: grafana
objectClass: person
objectClass: top
objectClass: inetOrgPerson
objectClass: organizationalPerson
sn: ldapviewer
cn: ldapviewer

View File

@@ -0,0 +1,3 @@
FROM postgres:latest
ADD setup.sql /docker-entrypoint-initdb.d
CMD ["postgres"]

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
postgrestest:
image: postgres:latest
build:
context: blocks/postgres_tests
environment:
POSTGRES_USER: grafanatest
POSTGRES_PASSWORD: grafanatest

View File

@@ -0,0 +1,3 @@
CREATE DATABASE grafanadstest;
REVOKE CONNECT ON DATABASE grafanadstest FROM PUBLIC;
GRANT CONNECT ON DATABASE grafanadstest TO grafanatest;

View File

@@ -23,3 +23,9 @@
network_mode: host
ports:
- "9093:9093"
prometheus-random-data:
build: blocks/prometheus_random_data
network_mode: host
ports:
- "8081:8080"

View File

@@ -25,11 +25,15 @@ scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['127.0.0.1:9100']
- job_name: 'fake-data-gen'
static_configs:
- targets: ['127.0.0.1:9091']
- job_name: 'grafana'
static_configs:
- targets: ['127.0.0.1:3000']
- job_name: 'prometheus-random-data'
static_configs:
- targets: ['127.0.0.1:8081']

View File

@@ -1,3 +1,3 @@
FROM prom/prometheus:v2.0.0
FROM prom/prometheus:v2.2.0
ADD prometheus.yml /etc/prometheus/
ADD alert.rules /etc/prometheus/

View File

@@ -23,3 +23,9 @@
network_mode: host
ports:
- "9093:9093"
prometheus-random-data:
build: blocks/prometheus_random_data
network_mode: host
ports:
- "8081:8080"

View File

@@ -25,11 +25,15 @@ scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['127.0.0.1:9100']
- job_name: 'fake-data-gen'
static_configs:
- targets: ['127.0.0.1:9091']
- job_name: 'grafana'
static_configs:
- targets: ['127.0.0.1:3000']
- job_name: 'prometheus-random-data'
static_configs:
- targets: ['127.0.0.1:8081']

View File

@@ -0,0 +1,18 @@
# This Dockerfile builds an image for a client_golang example.
# Builder image, where we build the example.
FROM golang:1.9.0 AS builder
# Download prometheus/client_golang/examples/random first
RUN go get github.com/prometheus/client_golang/examples/random
WORKDIR /go/src/github.com/prometheus/client_golang
WORKDIR /go/src/github.com/prometheus/client_golang/prometheus
RUN go get -d
WORKDIR /go/src/github.com/prometheus/client_golang/examples/random
RUN CGO_ENABLED=0 GOOS=linux go build -a -tags netgo -ldflags '-w'
# Final image.
FROM scratch
LABEL maintainer "The Prometheus Authors <prometheus-developers@googlegroups.com>"
COPY --from=builder /go/src/github.com/prometheus/client_golang/examples/random .
EXPOSE 8080
ENTRYPOINT ["/random"]

View File

@@ -22,6 +22,6 @@ log() {
log $RUN_CMD
$RUN_CMD
# Exit immidiately in case of any errors or when we have interactive terminal
# Exit immediately in case of any errors or when we have interactive terminal
if [[ $? != 0 ]] || test -t 0; then exit $?; fi
log

View File

@@ -1 +1 @@
v4.3
v5.0

View File

@@ -65,13 +65,46 @@ Permission levels:
- **Admin**: Can edit & create dashboards and edit permissions.
- **Edit**: Can edit & create dashboards. **Cannot** edit folder/dashboard permissions.
- **View**: Can only view existing dashboards/folders.
#### Restricting Access
The highest permission always wins so if you for example want to hide a folder or dashboard from others you need to remove the **Organization Role** based permission from the Access Control List (ACL).
- You cannot override permissions for users with the **Org Admin Role**. Admins always have access to everything.
- A more specific permission with a lower permission level will not have any effect if a more general rule exists with higher permission level. You need to remove or lower the permission level of the more general rule.
#### How Grafana Resolves Multiple Permissions - Examples
##### Example 1 (`user1` has the Editor Role)
Permissions for a dashboard:
- `Everyone with Editor Role Can Edit`
- `user1 Can View`
Result: `user1` has Edit permission as the highest permission always wins.
##### Example 2 (`user1` has the Viewer Role and is a member of `team1`)
Permissions for a dashboard:
- `Everyone with Viewer Role Can View`
- `user1 Can Edit`
- `team1 Can Admin`
Result: `user1` has Admin permission as the highest permission always wins.
##### Example 3
Permissions for a dashboard:
- `user1 Can Admin (inherited from parent folder)`
- `user1 Can Edit`
Result: You cannot override to a lower permission. `user1` has Admin permission as the highest permission always wins.
- **View**: Can only view existing dashboars/folders.
#### Restricting access
The highest permission always wins so if you for example want to hide a folder or dashboard from others you need to remove the **Organization Role** based permission from the
Access Control List (ACL).
- You cannot override permissions for users with **Org Admin Role**
- A more specific permission with lower permission level will not have any effect if a more general rule exists with higher permission level. For example if "Everyone with Editor Role Can Edit" exists in the ACL list then **John Doe** will still have Edit permission even after you have specifically added a permission for this user with the permission set to **View**. You need to remove or lower the permission level of the more general rule.

View File

@@ -11,11 +11,13 @@ weight = 8
# Provisioning Grafana
## Config file
In previous versions of Grafana, you could only use the API for provisioning data sources and dashboards. But that required the service to be running before you started creating dashboards and you also needed to set up credentials for the HTTP API. In v5.0 we decided to improve this experience by adding a new active provisioning system that uses config files. This will make GitOps more natural as data sources and dashboards can be defined via files that can be version controlled. We hope to extend this system to later add support for users, orgs and alerts as well.
## Config File
Checkout the [configuration](/installation/configuration) page for more information on what you can configure in `grafana.ini`
### Config file locations
### Config File Locations
- Default configuration from `$WORKING_DIR/conf/defaults.ini`
- Custom configuration from `$WORKING_DIR/conf/custom.ini`
@@ -26,7 +28,7 @@ Checkout the [configuration](/installation/configuration) page for more informat
> `/etc/grafana/grafana.ini`. This path is specified in the Grafana
> init.d script using `--config` file parameter.
### Using environment variables
### Using Environment Variables
All options in the configuration file (listed below) can be overridden
using environment variables using the syntax:
@@ -59,7 +61,7 @@ export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
<hr />
## Configuration management tools
## Configuration Management Tools
Currently we do not provide any scripts/manifests for configuring Grafana. Rather than spending time learning and creating scripts/manifests for each tool, we think our time is better spent making Grafana easier to provision. Therefore, we heavily relay on the expertise of the community.
@@ -76,10 +78,12 @@ Saltstack | [https://github.com/salt-formulas/salt-formula-grafana](https://gith
It's possible to manage datasources in Grafana by adding one or more yaml config files in the [`provisioning/datasources`](/installation/configuration/#provisioning) directory. Each config file can contain a list of `datasources` that will be added or updated during start up. If the datasource already exists, Grafana will update it to match the configuration file. The config file can also contain a list of datasources that should be deleted. That list is called `delete_datasources`. Grafana will delete datasources listed in `delete_datasources` before inserting/updating those in the `datasource` list.
### Running multiple Grafana instances.
### Running Multiple Grafana Instances
If you are running multiple instances of Grafana you might run into problems if they have different versions of the `datasource.yaml` configuration file. The best way to solve this problem is to add a version number to each datasource in the configuration and increase it when you update the config. Grafana will only update datasources with the same or lower version number than specified in the config. That way, old configs cannot overwrite newer configs if they restart at the same time.
### Example datasource config file
### Example Datasource Config File
```yaml
# config file version
apiVersion: 1
@@ -133,18 +137,25 @@ datasources:
editable: false
```
#### Json data
#### Custom Settings per Datasource
Please refer to each datasource documentation for specific provisioning examples.
| Datasource | Misc |
| ---- | ---- |
| Elasticsearch | Elasticsearch uses the `database` property to configure the index for a datasource |
#### Json Data
Since not all datasources have the same configuration settings we only have the most common ones as fields. The rest should be stored as a json blob in the `json_data` field. Here are the most common settings that the core datasources use.
| Name | Type | Datasource |Description |
| ----| ---- | ---- | --- |
| Name | Type | Datasource | Description |
| ---- | ---- | ---- | ---- |
| tlsAuth | boolean | *All* | Enable TLS authentication using client cert configured in secure json data |
| tlsAuthWithCACert | boolean | *All* | Enable TLS authtication using CA cert |
| tlsAuthWithCACert | boolean | *All* | Enable TLS authentication using CA cert |
| tlsSkipVerify | boolean | *All* | Controls whether a client verifies the server's certificate chain and host name. |
| graphiteVersion | string | Graphite | Graphite version |
| timeInterval | string | Elastic, Influxdb & Prometheus | Lowest interval/step value that should be used for this data source |
| esVersion | string | Elastic | Elasticsearch version |
| esVersion | string | Elastic | Elasticsearch version as an number (2/5/56) |
| timeField | string | Elastic | Which field that should be used as timestamp |
| interval | string | Elastic | Index date time format |
| authType | string | Cloudwatch | Auth provider. keys/credentials/arn |
@@ -155,8 +166,7 @@ Since not all datasources have the same configuration settings we only have the
| tsdbResolution | string | OpenTsdb | Resolution |
| sslmode | string | Postgre | SSLmode. 'disable', 'require', 'verify-ca' or 'verify-full' |
#### Secure Json data
#### Secure Json Data
`{"authType":"keys","defaultRegion":"us-west-2","timeField":"@timestamp"}`
@@ -169,6 +179,8 @@ Secure json data is a map of settings that will be encrypted with [secret key](/
| tlsClientKey | string | *All* |TLS Client key for outgoing requests |
| password | string | Postgre | password |
| user | string | Postgre | user |
| accessKey | string | Cloudwatch | Access key for connecting to Cloudwatch |
| secretKey | string | Cloudwatch | Secret key for connecting to Cloudwatch |
### Dashboards
@@ -190,8 +202,13 @@ providers:
path: /var/lib/grafana/dashboards
```
When Grafana starts, it will update/insert all dashboards available in the configured path. Then later on poll that path and look for updated json files and insert those update/insert those into the database.
### Reuseable Dashboard Urls
If the dashboard in the json file contains an [uid](/reference/dashboard/#json-fields), Grafana will force insert/update on that uid. This allows you to migrate dashboards betweens Grafana instances and provisioning Grafana from configuration without breaking the urls given since the new dashboard url uses the uid as identifier.
When Grafana starts, it will update/insert all dashboards available in the configured folders. If you modify the file, the dashboard will also be updated.
By default Grafana will delete dashboards in the database if the file is removed. You can disable this behavior using the `disableDeletion` setting.
By default Grafana will delete dashboards in the database if the file is removed. You can disable this behavior using the `disableDeletion` setting.
> **Note.** Provisioning allows you to overwrite existing dashboards
> which leads to problems if you re-use settings that are supposed to be unique.

View File

@@ -20,7 +20,7 @@ to add and configure a `notification` channel (can be email, PagerDuty or other
## Notification Channel Setup
{{< imgbox max-width="40%" img="/img/docs/v43/alert_notifications_menu.png" caption="Alerting Notification Channels" >}}
{{< imgbox max-width="30%" img="/img/docs/v50/alerts_notifications_menu.png" caption="Alerting Notification Channels" >}}
On the Notification Channels page hit the `New Channel` button to go the page where you
can configure and setup a new Notification Channel.
@@ -41,6 +41,8 @@ Grafana ships with the following set of notification types:
To enable email notifications you have to setup [SMTP settings](/installation/configuration/#smtp)
in the Grafana config. Email notifications will upload an image of the alert graph to an
external image destination if available or fallback to attaching the image to the email.
Be aware that if you use the `local` image storage email servers and clients might not be
able to access the image.
### Slack
@@ -58,6 +60,8 @@ 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
Token | If provided, Grafana will upload the generated image via Slack's file.upload API method, not the external image destination.
If you are using the token for a slack bot, then you have to invite the bot to the channel you want to send notifications and add the channel to the recipient field.
### PagerDuty
To set up PagerDuty, all you have to do is to provide an API key.
@@ -149,10 +153,10 @@ Prometheus Alertmanager | `prometheus-alertmanager` | no
# Enable images in notifications {#external-image-store}
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
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 accessible (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, Webdav, Google Cloud Storage and Azure Blob Storage. 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.
Be aware that some notifiers requires public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If your using local image uploader, your Grafana instance need to be accessible by the internet.
Be aware that some notifiers requires public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you're using local image uploader, your Grafana instance need to be accessible by the internet.
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.

View File

@@ -59,7 +59,7 @@ avg() OF query(A, 5m, now) IS BELOW 14
```
- `avg()` Controls how the values for **each** series should be reduced to a value that can be compared against the threshold. Click on the function to change it to another aggregation function.
- `query(A, 5m, now)` The letter defines what query to execute from the **Metrics** tab. The second two parameters define the time range, `5m, now` means 5 minutes from now to now. You can also do `10m, now-2m` to define a time range that will be 10 minutes from now to 2 minutes from now. This is useful if you want to ignore the last 2 minutes of data.
- `query(A, 5m, now)` The letter defines what query to execute from the **Metrics** tab. The second two parameters define the time range, `5m, now` means 5 minutes ago to now. You can also do `10m, now-2m` to define a time range that will be 10 minutes ago to 2 minutes ago. This is useful if you want to ignore the last 2 minutes of data.
- `IS BELOW 14` Defines the type of threshold and the threshold value. You can click on `IS BELOW` to change the type of threshold.
The query used in an alert rule cannot contain any template variables. Currently we only support `AND` and `OR` operators between conditions and they are executed serially.
@@ -110,7 +110,7 @@ to `Keep Last State` in order to basically ignore them.
## Notifications
In alert tab you can also specify alert rule notifications along with a detailed messsage about the alert rule.
In alert tab you can also specify alert rule notifications along with a detailed message about the alert rule.
The message can contain anything, information about how you might solve the issue, link to runbook, etc.
The actual notifications are configured and shared between multiple alerts. Read the

View File

@@ -1,6 +1,6 @@
+++
title = "Contributor Licence Agreement (CLA)"
description = "Contributer Licence Agreement (CLA)"
description = "Contributor Licence Agreement (CLA)"
type = "docs"
aliases = ["/project/cla", "docs/contributing/cla.html"]
[menu.docs]
@@ -101,4 +101,4 @@ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU [OR US]
<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/)
This CLA agreement 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

@@ -43,6 +43,40 @@ server is running on AWS you can use IAM Roles and authentication will be handle
Checkout AWS docs on [IAM Roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
## IAM Policies
Grafana needs permissions granted via IAM to be able to read CloudWatch metrics
and EC2 tags/instances. You can attach these permissions to IAM roles and
utilize Grafana's built-in support for assuming roles.
Here is a minimal policy example:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowReadingMetricsFromCloudWatch",
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics"
],
"Resource": "*"
},
{
"Sid": "AllowReadingTagsFromEC2",
"Effect": "Allow",
"Action": [
"ec2:DescribeTags",
"ec2:DescribeInstances"
],
"Resource": "*"
}
]
}
```
### AWS credentials file
Create a file at `~/.aws/credentials`. That is the `HOME` path for user running grafana-server.
@@ -87,7 +121,7 @@ Name | Description
*namespaces()* | Returns a list of namespaces CloudWatch support.
*metrics(namespace, [region])* | Returns a list of metrics in the namespace. (specify region or use "default" 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`.
*dimension_values(region, namespace, metric, dimension_key, [filters])* | Returns a list of dimension values matching the specified `region`, `namespace`, `metric`, `dimension_key` or you can use dimension `filters` to get more specific result as well.
*ebs_volume_ids(region, instance_id)* | Returns a list of volume ids matching the specified `region`, `instance_id`.
*ec2_instance_attribute(region, attribute_name, filters)* | Returns a list of attributes matching the specified `region`, `attribute_name`, `filters`.
@@ -104,6 +138,7 @@ Query | Service
*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
*dimension_values(us-east-1,CWAgent,disk_used_percent,device,{"InstanceId":"$instance_id"})* | CloudWatch Agent
## ec2_instance_attribute examples
@@ -172,3 +207,37 @@ Amazon provides 1 million CloudWatch API requests each month at no additional ch
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.
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
Using a credentials file
```yaml
apiVersion: 1
datasources:
- name: Cloudwatch
type: cloudwatch
jsonData:
authType: credentials
defaultRegion: eu-west-2
```
Using `accessKey` and `secretKey`
```yaml
apiVersion: 1
datasources:
- name: Cloudwatch
type: cloudwatch
jsonData:
authType: keys
defaultRegion: eu-west-2
secureJsonData:
accessKey: "<your access key>"
secretKey: "<your secret key>"
```

View File

@@ -55,6 +55,22 @@ a time pattern for the index name or a wildcard.
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.
### Min time interval
A lower limit for the auto group by time interval. Recommended to be set to write frequency, for example `1m` if your data is written every minute.
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
Identifier | Description
------------ | -------------
`y` | year
`M` | month
`w` | week
`d` | day
`h` | hour
`m` | minute
`s` | second
`ms` | millisecond
## Metric Query editor
![](/img/docs/elasticsearch/query_editor.png)
@@ -137,3 +153,23 @@ 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.
Text | Event description field.
Tags | Optional field name to use for event tags (can be an array or a CSV string).
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: Elastic
type: elasticsearch
access: proxy
database: "[metrics-]YYYY.MM.DD"
url: http://localhost:9200
jsonData:
interval: Daily
timeField: "@timestamp"
```

View File

@@ -75,7 +75,7 @@ You can reference queries by the row “letter” that theyre on (similar to
## 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,
this consolidation is done using `avg` function. You can how Graphite consolidates metrics by adding the Graphite consolidateBy function.
this consolidation is done using `avg` function. You can control 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.
@@ -120,3 +120,21 @@ 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)
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: Graphite
type: graphite
access: proxy
url: http://localhost:8080
jsonData:
graphiteVersion: "1.1"
```

View File

@@ -39,6 +39,22 @@ Proxy access means that the Grafana backend will proxy all requests from the bro
`grafana-server`. This means that the URL you specify needs to be accessible from the server you are running Grafana on. Proxy access
mode is also more secure as the username & password will never reach the browser.
### Min time interval
A lower limit for the auto group by time interval. Recommended to be set to write frequency, for example `1m` if your data is written every minute.
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
Identifier | Description
------------ | -------------
`y` | year
`M` | month
`w` | week
`d` | day
`h` | hour
`m` | minute
`s` | second
`ms` | millisecond
## Query Editor
{{< docs-imagebox img="/img/docs/v45/influxdb_query_still.png" class="docs-image--no-shadow" animated-gif="/img/docs/v45/influxdb_query.gif" >}}
@@ -174,3 +190,22 @@ 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 separated string.
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: InfluxDB
type: influxdb
access: proxy
database: site
user: grafana
password: grafana
url: http://localhost:8086
```

View File

@@ -225,3 +225,21 @@ tags | Optional field name to use for event tags as a comma separated string.
## Alerting
Time series queries should work in alerting conditions. Table formatted queries is not yet supported in alert rule conditions.
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: MySQL
type: mysql
url: localhost:3306
database: grafana
user: grafana
password: password
```

View File

@@ -78,7 +78,7 @@ the existing time series data in OpenTSDB, you need to run `tsdb uid metasync` o
### Nested Templating
One template variable can be used to filter tag values for another template varible. First parameter is the metric name,
One template variable can be used to filter tag values for another template variable. 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.
@@ -88,3 +88,22 @@ Query | Description
*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)
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: OpenTsdb
type: opentsdb
access: proxy
url: http://localhost:4242
jsonData:
tsdbResolution: 1
tsdbVersion: 1
```

View File

@@ -217,3 +217,25 @@ tags | Optional field name to use for event tags as a comma separated string.
Time series queries should work in alerting conditions. Table formatted queries is not yet supported in alert rule
conditions.
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: Postgres
type: postgres
url: localhost:5432
database: grafana
user: grafana
secureJsonData:
password: "Password!"
jsonData:
sslmode: "disable" # disable/require/verify-ca/verify-full
```

View File

@@ -34,7 +34,7 @@ Name | Description
*Basic Auth* | Enable basic authentication to the Prometheus data source.
*User* | Name of your Prometheus user
*Password* | Database user's password
*Scrape interval* | This will be used as a lower limit for the Prometheus step query parameter. Default value is 15s.
*Scrape interval* | This will be used as a lower limit for the Prometheus step query parameter. Default value is 15s.
## Query editor
@@ -93,10 +93,26 @@ 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))
- A Prometheus query for pending and firing alerts (for details see [Inspecting alerts during runtime](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/#inspecting-alerts-during-runtime))
The step option is useful to limit the number of events returned from your query.
## Getting Grafana metrics into Prometheus
Since 4.6.0 Grafana exposes metrics for Prometheus on the `/metrics` endpoint. We also bundle a dashboard within Grafana so you can get started viewing your metrics faster. You can import the bundled dashboard by going to the data source edit page and click the dashboard tab. There you can find a dashboard for Grafana and one for Prometheus. Import and start viewing all the metrics!
## Configure datasource with provisioning
It's now possible to configure datasources using config files with Grafanas provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here are some provisioning examples for this datasource.
```yaml
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://localhost:9090
```

View File

@@ -14,7 +14,7 @@ weight = 4
{{< docs-imagebox img="/img/docs/v45/alert-list-panel.png" max-width="850px" >}}
The alert list panel allows you to display your dashbords alerts. The list can be configured to show current state or recent state changes. You can read more about alerts [here](http://docs.grafana.org/alerting/rules).
The alert list panel allows you to display your dashboards alerts. The list can be configured to show current state or recent state changes. You can read more about alerts [here](http://docs.grafana.org/alerting/rules).
## Alert List Options

View File

@@ -25,7 +25,7 @@ The dashboard list panel allows you to display dynamic links to other dashboards
1. **Starred**: The starred dashboard selection displays starred dashboards in alphabetical order.
2. **Recently Viewed**: The recently viewed dashboard selection displays recently viewed dashboards in alphabetical order.
3. **Search**: The search dashboard selection displays dashboards by search query or tag(s).
4. **Show Headings**: When show headings is ticked the choosen list selection(Starred, Recently Viewed, Search) is shown as a heading.
4. **Show Headings**: When show headings is ticked the chosen list selection(Starred, Recently Viewed, Search) is shown as a heading.
5. **Max Items**: Max items set the maximum of items in a list.
6. **Query**: Here is where you enter your query you want to search by. Queries are case-insensitive, and partial values are accepted.
7. **Tags**: Here is where you enter your tag(s) you want to search by. Note that existing tags will not appear as you type, and *are* case sensitive. To see a list of existing tags, you can always return to the dashboard, open the Dashboard Picker at the top and click `tags` link in the search bar.

View File

@@ -30,7 +30,7 @@ The singlestat panel has a normal query editor to allow you define your exact me
* **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'.
* **diff** - The difference between 'current' (last value) and 'first'.
* **range** - The difference between 'min' and 'max'. Useful the show the range of change for a gauge.
2. **Prefix/Postfix**: The Prefix/Postfix fields let you define a custom label to appear *before/after* the value. The `$__name` variable can be used here to use the series name or alias from the metric query.
3. **Units**: Units are appended to the the Singlestat within the panel, and will respect the color and threshold settings for the value.
@@ -70,7 +70,7 @@ Gauges gives a clear picture of how high a value is in it's context. It's a grea
{{< docs-imagebox img="/img/docs/v45/singlestat-gauge-options.png" max-width="500px" class="docs-image--right docs-image--no-shadow">}}
1. **Show**: The show checkbox will toggle wether the gauge is shown in the panel. When unselected, only the Singlestat value will appear.
1. **Show**: The show checkbox will toggle whether the gauge is shown in the panel. When unselected, only the Singlestat value will appear.
2. **Min/Max**: This sets the start and end point for the gauge.
3. **Threshold Labels**: Check if you want to show the threshold labels. Thresholds are set in the color options.
4. **Threshold Markers**: Check if you want to have a second meter showing the thresholds.

View File

@@ -8,7 +8,7 @@ weight = 7
# Keyboard shortcuts
{{< docs-imagebox img="/img/docs/v4/shortcuts.png" max-width="20rem" class="docs-image--right" >}}
{{< docs-imagebox img="/img/docs/v50/shortcuts.png" max-width="20rem" class="docs-image--right" >}}
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
@@ -34,20 +34,20 @@ Hit `?` on your keyboard to open the shortcuts help modal.
- `d` `s` Dashboard settings
- `d` `v` Toggle in-active / view mode
- `d` `k` Toggle kiosk mode (hides top nav)
- `d` `E` Expand all rows
- `d` `C` Collapse all rows
- `mod+o` Toggle shared graph crosshair
### Focused Panel
- `e` Toggle panel edit view
- `v` Toggle panel fullscreen view
- `p` `s` Open Panel Share Modal
- `p` `d` Duplicate Panel
- `p` `r` Remove Panel
### Focused Row
- `r` `c` Collapse Row
- `r` `r` Remove Row
### Time Range
- `t` `z` Zoom out time range
- `t` Move time range back
- `t` Move time range forward
mod = CTRL on windows or linux and CMD key on Mac

View File

@@ -27,36 +27,36 @@ Read the [Basic Concepts](/guides/basic_concepts) document to get a crash course
Let's start with creating a new Dashboard. You can find the new Dashboard link on the right side of the Dashboard picker. You now have a blank Dashboard.
<img class="no-shadow" src="/img/docs/v45/top_nav_annotated.png">
<img class="no-shadow" src="/img/docs/v50/top_nav_annotated.png" width="580px">
The image above shows you the top header for a Dashboard.
1. Side menubar toggle: This toggles the side menu, allowing you to focus on the data presented in the dashboard. The side menu provides access to features unrelated to a Dashboard such as Users, Organizations, and Data Sources.
2. Dashboard dropdown: This dropdown shows you which Dashboard you are currently viewing, and allows you to easily switch to a new Dashboard. From here you can also create a new Dashboard, Import existing Dashboards, and manage Dashboard playlists.
3. Star Dashboard: Star (or unstar) the current Dashboard. Starred Dashboards will show up on your own Home Dashboard by default, and are a convenient way to mark Dashboards that you're interested in.
4. Share Dashboard: Share the current dashboard by creating a link or create a static Snapshot of it. Make sure the Dashboard is saved before sharing.
5. Save dashboard: The current Dashboard will be saved with the current Dashboard name.
6. Settings: Manage Dashboard settings and features such as Templating and Annotations.
2. Dashboard dropdown: This dropdown shows you which Dashboard you are currently viewing, and allows you to easily switch to a new Dashboard. From here you can also create a new Dashboard or folder, Import existing Dashboards, and manage Dashboard playlists.
3. Add Panel: Adds a new panel to the current Dashboard
4. Star Dashboard: Star (or unstar) the current Dashboard. Starred Dashboards will show up on your own Home Dashboard by default, and are a convenient way to mark Dashboards that you're interested in.
5. Share Dashboard: Share the current dashboard by creating a link or create a static Snapshot of it. Make sure the Dashboard is saved before sharing.
6. Save dashboard: The current Dashboard will be saved with the current Dashboard name.
7. Settings: Manage Dashboard settings and features such as Templating and Annotations.
## Dashboards, Panels, Rows, the building blocks of Grafana...
## Dashboards, Panels, 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, Prometheus and Cloudwatch). 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 grid. 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.
<img src="/img/docs/v45/dashboard_annotated.png" class="no-shadow">
<img src="/img/docs/v50/dashboard_annotated.png" class="no-shadow" width="700px">
1. Zoom out time range
2. Time picker dropdown. Here you can access relative time range options, auto refresh options and set custom absolute time ranges.
3. Manual refresh button. Will cause all panels to refresh (fetch new data).
4. Row controls menu. Via this menu you can add panels to the row, set row height and more.
5. Dashboard panel. You edit panels by clicking the panel title.
6. Graph legend. You can change series colors, y-axis and series visibility directly from the legend.
4. Dashboard panel. You edit panels by clicking the panel title.
5. Graph legend. You can change series colors, y-axis and series visibility directly from the legend.
## Adding & Editing Graphs and Panels
![](/img/docs/v45/metrics_tab.png)
1. You add panels via row menu. The row menu is the icon to the left of each row.
1. You add panels by clicking the Add panel icon on the top menu.
2. To edit the graph you click on the graph title to open the panel menu, then `Edit`.
3. This should take you to the `Metrics` tab. In this tab you should see the editor for your default data source.
@@ -64,7 +64,7 @@ When you click the `Metrics` tab, you are presented with a Query Editor that is
## Drag-and-Drop panels
You can Drag-and-Drop Panels within and between Rows. Click and hold the Panel title, and drag it to its new location. You can also easily resize panels by clicking the (-) and (+) icons.
You can Drag-and-Drop Panels by simply clicking and holding the Panel title, and drag it to its new location. You can also easily resize panels by clicking the (-) and (+) icons.
![](/img/docs/animated_gifs/drag_drop.gif)

View File

@@ -3,11 +3,6 @@ title = "What's New in Grafana v2.1"
description = "Feature & improvement highlights for Grafana v2.1"
keywords = ["grafana", "new", "documentation", "2.1"]
type = "docs"
[menu.docs]
name = "Version 2.1"
identifier = "v2.1"
parent = "whatsnew"
weight = 10
+++
# What's new in Grafana v2.1

View File

@@ -3,11 +3,6 @@ title = "What's New in Grafana v2.5"
description = "Feature & improvement highlights for Grafana v2.5"
keywords = ["grafana", "new", "documentation", "2.5"]
type = "docs"
[menu.docs]
name = "Version 2.5"
identifier = "v2.5"
parent = "whatsnew"
weight = 9
+++
# What's new in Grafana v2.5

View File

@@ -3,11 +3,6 @@ title = "What's New in Grafana v2.6"
description = "Feature & improvement highlights for Grafana v2.6"
keywords = ["grafana", "new", "documentation", "2.6"]
type = "docs"
[menu.docs]
name = "Version 2.6"
identifier = "v2.6"
parent = "whatsnew"
weight = 7
+++
# What's new in Grafana v2.6
@@ -20,7 +15,7 @@ support for multiple Cloudwatch credentials.
<img src="/assets/img/features/table-panel.png">
The new table panel is very flexible, supporting both multiple modes for time series as well as for
table, annotation and raw JSON data. It also provides date formating and value formating and coloring options.
table, annotation and raw JSON data. It also provides date formatting and value formatting and coloring options.
### Time series to rows

View File

@@ -3,11 +3,6 @@ title = "What's New in Grafana v2.0"
description = "Feature & improvement highlights for Grafana v2.0"
keywords = ["grafana", "new", "documentation", "2.0"]
type = "docs"
[menu.docs]
name = "Version 2.0"
identifier = "v2.0"
parent = "whatsnew"
weight = 11
+++
# What's New in Grafana v2.0

View File

@@ -33,7 +33,7 @@ You can enable/disable the shared tooltip from the dashboard settings menu or cy
{{< 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.
You can set a help text in the general tab on any panel. The help text is using Markdown to enable better formatting and linking to other sites that can provide more information.
<div class="clearfix"></div>

View File

@@ -12,7 +12,7 @@ weight = -4
# What's New in Grafana v4.5
## Hightlights
## Highlights
### New prometheus query editor
@@ -62,7 +62,7 @@ Datas source selection & options & help are now above your metric queries.
### Minor Changes
* **InfluxDB**: Change time range filter for absolute time ranges to be inclusive instead of exclusive [#8319](https://github.com/grafana/grafana/issues/8319), thx [@Oxydros](https://github.com/Oxydros)
* **InfluxDB**: Added paranthesis around tag filters in queries [#9131](https://github.com/grafana/grafana/pull/9131)
* **InfluxDB**: Added parenthesis around tag filters in queries [#9131](https://github.com/grafana/grafana/pull/9131)
## Bug Fixes

View File

@@ -45,7 +45,7 @@ This makes exploring and filtering Prometheus data much easier.
* **GCS**: Adds support for Google Cloud Storage [#8370](https://github.com/grafana/grafana/issues/8370) thx [@chuhlomin](https://github.com/chuhlomin)
* **Prometheus**: Adds /metrics endpoint for exposing Grafana metrics. [#9187](https://github.com/grafana/grafana/pull/9187)
* **Graph**: Add support for local formating in axis. [#1395](https://github.com/grafana/grafana/issues/1395), thx [@m0nhawk](https://github.com/m0nhawk)
* **Graph**: Add support for local formatting in axis. [#1395](https://github.com/grafana/grafana/issues/1395), thx [@m0nhawk](https://github.com/m0nhawk)
* **Jaeger**: Add support for open tracing using jaeger in Grafana. [#9213](https://github.com/grafana/grafana/pull/9213)
* **Unit types**: New date & time unit types added, useful in singlestat to show dates & times. [#3678](https://github.com/grafana/grafana/issues/3678), [#6710](https://github.com/grafana/grafana/issues/6710), [#2764](https://github.com/grafana/grafana/issues/2764)
* **CLI**: Make it possible to install plugins from any url [#5873](https://github.com/grafana/grafana/issues/5873)

View File

@@ -12,8 +12,6 @@ weight = -6
# What's New in Grafana v5.0
> Out in beta: [Download now!](https://grafana.com/grafana/download/beta)
This is the most substantial update that Grafana has ever seen. This article will detail the major new features and enhancements.
- [New Dashboard Layout Engine]({{< relref "#new-dashboard-layout-engine" >}}) enables a much easier drag, drop and resize experience and new types of layouts.

View File

@@ -180,14 +180,14 @@ Content-Type: application/json
```http
HTTP/1.1 200
Content-Type: application/json
```
Deletes the annotation that matches the specified id.
**Example Request**:
```http
DELETE /api/annotation/1 HTTP/1.1
DELETE /api/annotations/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
@@ -204,14 +204,14 @@ Content-Type: application/json
## Delete Annotation By RegionId
`DELETE /api/annotation/region/:id`
`DELETE /api/annotations/region/:id`
Deletes the annotation that matches the specified region id. A region is an annotation that covers a timerange and has a start and end time. In the Grafana database, this is a stored as two annotations connected by a region id.
**Example Request**:
```http
DELETE /api/annotation/region/1 HTTP/1.1
DELETE /api/annotations/region/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

View File

@@ -11,6 +11,17 @@ parent = "http_api"
# Dashboard API
## Identifier (id) vs unique identifier (uid)
The identifier (id) of a dashboard is an auto-incrementing numeric value and is only unique per Grafana install.
The unique identifier (uid) of a dashboard can be used for uniquely identify a dashboard between multiple Grafana installs.
It's automatically generated if not provided when creating a dashboard. The uid allows having consistent URL's for accessing
dashboards and when syncing dashboards between multiple Grafana installs, see [dashboard provisioning](/administration/provisioning/#dashboards)
for more information. This means that changing the title of a dashboard will not break any bookmarked links to that dashboard.
The uid can have a maximum length of 40 characters.
## Create / Update dashboard
`POST /api/dashboards/db`
@@ -28,24 +39,25 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
JSON Body schema:
- **dashboard** The complete dashboard model, id = null to create a new dashboard.
- **dashboard.id** id = null to create a new dashboard.
- **dashboard.uid** Optional [unique identifier](/http_api/dashboard/#identifier-id-vs-unique-identifier-uid) when creating a dashboard. uid = null will generate a new uid.
- **message** - Set a commit message for the version history.
**Example Response**:
```http
- **folderId** The id of the folder to save the dashboard in.
- **overwrite** Set to true if you want to overwrite existing dashboard with newer version, same dashboard title in folder or same dashboard uid.
- **message** - Set a commit message for the version history.
**Example Response**:
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
- **200** Created
- **400** Errors (invalid json, missing or invalid fields, etc)
```
Status Codes:
- **200** Created
- **400** Errors (invalid json, missing or invalid fields, etc)
- **401** Unauthorized
@@ -56,9 +68,12 @@ Content-Type: application/json; charset=UTF-8
There can be different reasons for this:
- The dashboard has been changed by someone else, `status=version-mismatch`
```
- A dashboard with the same name in the folder already exists, `status=name-exists`
- A dashboard with the same uid already exists, `status=name-exists`
- The dashboard belongs to plugin `<plugin title>`, `status=plugin-dashboard`
The response body will have the following properties:
```http
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
@@ -67,10 +82,18 @@ Status Codes:
```
In case of title already exists the `status` property will be `name-exists`.
## Get dashboard by uid
```http
GET /api/dashboards/db/production-overview HTTP/1.1
`GET /api/dashboards/uid/:uid`
Will return the dashboard given the dashboard unique identifier (uid).
**Example Request**:
```http
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
@@ -85,16 +108,16 @@ Content-Length: 97
Status Codes:
- **200** Found
- **401** Unauthorized
- **403** Access denied
- **404** Not found
## Delete dashboard by uid
`DELETE /api/dashboards/uid/:uid`
Accept: application/json
Will delete the dashboard given the specified unique identifier (uid).
**Example Request**:
@@ -107,35 +130,40 @@ HTTP/1.1 200
**Example Response**:
## Gets the home dashboard
`GET /api/dashboards/home`
```http
HTTP/1.1 200
Content-Type: application/json
```
GET /api/dashboards/home HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
Status Codes:
- **200** Deleted
- **401** Unauthorized
- **403** Access denied
- **404** Not found
## Gets the home dashboard
`GET /api/dashboards/home`
Content-Type: application/json
Will return the home dashboard.
```
**Example Request**:
```http
GET /api/dashboards/home HTTP/1.1
Accept: application/json
## Tags for Dashboard
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
Get all tags of dashboards
```
## Tags for Dashboard
@@ -147,9 +175,16 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
**Example Request**:
```http
GET /api/dashboards/tags HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
@@ -172,27 +207,13 @@ HTTP/1.1 200
```http
GET /api/dashboards/db/production-overview HTTP/1.1
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
{
"enable":false,
"type":"timepicker"
}
],
"rows": [
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
@@ -206,13 +227,21 @@ Content-Type: application/json
- **403** Access denied
- **404** Not found
### Delete dashboard by slug
**Deprecated starting from Grafana v5.0. Please update to use the *Delete dashboard by uid* resource instead.**
`DELETE /api/dashboards/db/:slug`
Will delete the dashboard given the specified slug. Slug is the url friendly version of the dashboard title.
**Example Request**:
```http
DELETE /api/dashboards/db/test HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
@@ -244,21 +273,24 @@ Content-Type: application/json
]
```
## Search Dashboards
## Dashboard Search
See [Folder/Dashboard Search API](/http_api/folder_dashboard_search).
`GET /api/search/`
## Deprecated resources
Please note that these resource have been deprecated and will be removed in a future release.
Query parameters:
### Get dashboard by slug
**Deprecated starting from Grafana v5.0. Please update to use the new *Get dashboard by uid* resource instead**
- **query** Search Query
- **tag** Tag to use
- **starred** Flag indicating if only starred Dashboards should be returned
- **tagcloud** - Flag indicating if a tagcloud should be returned
`GET /api/dashboards/db/:slug`
Will return the dashboard given the dashboard slug. Slug is the url friendly version of the dashboard title.
If there exists multiple dashboards with the same slug, one of them will be returned in the response.
**Example Request**:
```http
GET /api/search?query=Production%20Overview&starred=true&tag=prod HTTP/1.1
GET /api/dashboards/db/production-overview HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
@@ -270,14 +302,74 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
HTTP/1.1 200
Content-Type: application/json
[
{
"id":1,
"title":"Production Overview",
"uri":"db/production-overview",
"type":"dash-db",
"tags":[prod],
"isStarred":true
{
"dashboard": {
"id": 1,
"uid": "cIBgcSjkk",
"title": "Production Overview",
"tags": [ "templated" ],
"timezone": "browser",
"schemaVersion": 16,
"version": 0
},
"meta": {
"isStarred": false,
"url": "/d/cIBgcSjkk/production-overview",
"slug": "production-overview" // deprecated in Grafana v5.0
}
]
}
```
Status Codes:
- **200** Found
- **401** Unauthorized
- **403** Access denied
- **404** Not found
### Delete dashboard by slug
**Deprecated starting from Grafana v5.0. Please update to use the *Delete dashboard by uid* resource instead.**
`DELETE /api/dashboards/db/:slug`
Will delete the dashboard given the specified slug. Slug is the url friendly version of the dashboard title.
**Example Request**:
```http
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
{"title": "Production Overview"}
```
Status Codes:
- **200** Deleted
- **401** Unauthorized
- **403** Access denied
- **404** Not found
- **412** Precondition failed
The **412** status code is used when there exists multiple dashboards with the same slug.
The response body will look like this:
```http
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97
{
"message": "Multiple dashboards with the same slug exists",
"status": "multiple-slugs-exists"
}
```

View File

@@ -0,0 +1,149 @@
+++
title = "Dashboard Permissions HTTP API "
description = "Grafana Dashboard Permissions HTTP API"
keywords = ["grafana", "http", "documentation", "api", "dashboard", "permission", "permissions", "acl"]
aliases = ["/http_api/dashboardpermissions/"]
type = "docs"
[menu.docs]
name = "Dashboard Permissions"
parent = "http_api"
+++
# Dashboard Permissions API
This API can be used to update/get the permissions for a dashboard.
Permissions with `dashboardId=-1` are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.
The permission levels for the permission field:
- 1 = View
- 2 = Edit
- 4 = Admin
## Get permissions for a dashboard
`GET /api/dashboards/id/:dashboardId/permissions`
Gets all existing permissions for the dashboard with the given `dashboardId`.
**Example request**:
```http
GET /api/dashboards/id/1/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Dashboard not found
## Update permissions for a dashboard
`POST /api/dashboards/id/:dashboardId/permissions`
Updates permissions for a dashboard. This operation will remove existing permissions if they're not included in the request.
**Example request**:
```http
POST /api/dashboards/id/1/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
"items": [
{
"role": "Viewer",
"permission": 1
},
{
"role": "Editor",
"permission": 2
},
{
"teamId": 1,
"permission": 1
},
{
"userId": 11,
"permission": 4
}
]
}
```
JSON body schema:
- **items** - The permission items to add/update. Items that are omitted from the list will be removed.
**Example response**:
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Dashboard not found
"items": [
{
"role": "Viewer",
"permission": 1
},
{
"role": "Editor",
"permission": 2
},
{
"teamId": 1,
"permission": 1
},
{
"userId": 11,
"permission": 4
}
]
}
```
JSON body schema:
- **items** - The permission items to add/update. Items that are omitted from the list will be removed.
**Example response**:
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35
{"message":"Dashboard permissions updated"}
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Dashboard not found

View File

@@ -188,8 +188,8 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```http
HTTP/1.1 200
Content-Type: application/json
Content-Type: application/json
```
## Data source proxy calls

View File

@@ -0,0 +1,317 @@
+++
title = "Folder HTTP API "
description = "Grafana Folder HTTP API"
keywords = ["grafana", "http", "documentation", "api", "folder"]
aliases = ["/http_api/folder/"]
type = "docs"
[menu.docs]
name = "Folder"
parent = "http_api"
+++
# Folder API
## Identifier (id) vs unique identifier (uid)
The identifier (id) of a folder is an auto-incrementing numeric value and is only unique per Grafana install.
The unique identifier (uid) of a folder can be used for uniquely identify folders between multiple Grafana installs. It's automatically generated if not provided when creating a folder. The uid allows having consistent URL's for accessing folders and when syncing folders between multiple Grafana installs. This means that changing the title of a folder will not break any bookmarked links to that folder.
The uid can have a maximum length of 40 characters.
## Get all folders
`GET /api/folders`
Returns all folders that the authenticated user has permission to view.
**Example Request**:
```http
GET /api/folders?limit=10 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Get folder by uid
`GET /api/folders/:uid`
Will return the folder given the folder uid.
**Example Request**:
```http
GET /api/folders/nErXDvCkzzh HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** Found
- **401** Unauthorized
- **403** Access Denied
- **404** Folder not found
## Create folder
`POST /api/folders`
Creates a new folder.
**Example Request**:
```http
POST /api/folders HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
JSON Body schema:
- **uid** Optional [unique identifier](/http_api/folder/#identifier-id-vs-unique-identifier-uid).
- **title** The title of the folder.
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** Created
- **400** Errors (invalid json, missing or invalid fields, etc)
- **401** Unauthorized
- **403** Access Denied
## Update folder
`PUT /api/folders/:uid`
Updates an existing folder identified by uid.
**Example Request**:
```http
PUT /api/folders/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
JSON Body schema:
- **uid** Provide another [unique identifier](/http_api/folder/#identifier-id-vs-unique-identifier-uid) than stored to change the unique identifier.
- **title** The title of the folder.
- **version** Provide the current version to be able to update the folder. Not needed if `overwrite=true`.
- **overwrite** Set to true if you want to overwrite existing folder with newer version.
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** Updated
- **400** Errors (invalid json, missing or invalid fields, etc)
- **401** Unauthorized
- **403** Access Denied
- **404** Folder not found
- **412** Precondition failed
The **412** status code is used for explaing that you cannot update the folder and why.
There can be different reasons for this:
- The folder has been changed by someone else, `status=version-mismatch`
The response body will have the following properties:
```http
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97
```
## Delete folder
`DELETE /api/folders/:uid`
Deletes an existing folder identified by uid together with all dashboards stored in the folder, if any. This operation cannot be reverted.
**Example Request**:
```http
DELETE /api/folders/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** Deleted
- **401** Unauthorized
- **403** Access Denied
- **404** Folder not found
## Get folder by id
`GET /api/folders/:id`
Will return the folder identified by id.
**Example Request**:
```http
GET /api/folders/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** Found
- **401** Unauthorized
- **403** Access Denied
- **404** Folder not found
The response body will have the following properties:
```http
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97
{
"message": "The folder has been changed by someone else",
"status": "version-mismatch"
}
```
## Delete folder
`DELETE /api/folders/:uid`
Deletes an existing folder identified by uid together with all dashboards stored in the folder, if any. This operation cannot be reverted.
**Example Request**:
```http
DELETE /api/folders/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message":"Folder deleted"
}
```
Status Codes:
- **200** Deleted
- **401** Unauthorized
- **403** Access Denied
- **404** Folder not found
## Get folder by id
`GET /api/folders/:id`
Will return the folder identified by id.
**Example Request**:
```http
GET /api/folders/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"id":1,
"uid": "nErXDvCkzz",
"title": "Departmenet ABC",
"url": "/dashboards/f/nErXDvCkzz/department-abc",
"hasAcl": false,
"canSave": true,
"canEdit": true,
"canAdmin": true,
"createdBy": "admin",
"created": "2018-01-31T17:43:12+01:00",
"updatedBy": "admin",
"updated": "2018-01-31T17:43:12+01:00",
"version": 1
}
```
Status Codes:
- **200** Found
- **401** Unauthorized
- **403** Access Denied
- **404** Folder not found

View File

@@ -0,0 +1,98 @@
+++
title = "Folder/Dashboard Search HTTP API "
description = "Grafana Folder/Dashboard Search HTTP API"
keywords = ["grafana", "http", "documentation", "api", "search", "folder", "dashboard"]
aliases = ["/http_api/folder_dashboard_search/"]
type = "docs"
[menu.docs]
name = "Folder/dashboard search"
parent = "http_api"
+++
# Folder/Dashboard Search API
## Search folders and dashboards
`GET /api/search/`
Query parameters:
- **query** Search Query
- **tag** List of tags to search for
- **type** Type to search for, `dash-folder` or `dash-db`
- **dashboardIds** List of dashboard id's to search for
- **folderIds** List of folder id's to search in for dashboards
- **starred** Flag indicating if only starred Dashboards should be returned
- **limit** Limit the number of returned results
**Example request for retrieving folders and dashboards of the general folder**:
```http
GET /api/search?folderIds=0&query=&starred=false HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response for retrieving folders and dashboards of the general folder**:
```http
HTTP/1.1 200
Content-Type: application/json
```
**Example request searching for dashboards**:
```http
GET /api/search?query=Production%20Overview&starred=true&tag=prod HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response searching for dashboards**:
```http
HTTP/1.1 200
Content-Type: application/json
```
"isStarred":true,
"uri":"db/production-overview" // deprecated in Grafana v5.0
}
]
```
**Example request searching for dashboards**:
```http
GET /api/search?query=Production%20Overview&starred=true&tag=prod HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response searching for dashboards**:
```http
HTTP/1.1 200
Content-Type: application/json
[
{
"id":1,
"uid": "cIBgcSjkk",
"title":"Production Overview",
"url": "/d/cIBgcSjkk/production-overview",
"type":"dash-db",
"tags":[prod],
"isStarred":true,
"folderId": 2,
"folderUid": "000000163",
"folderTitle": "Folder",
"folderUrl": "/dashboards/f/000000163/folder",
"uri":"db/production-overview" // deprecated in Grafana v5.0
}
]
```

View File

@@ -0,0 +1,149 @@
+++
title = "Folder Permissions HTTP API "
description = "Grafana Folder Permissions HTTP API"
keywords = ["grafana", "http", "documentation", "api", "folder", "permission", "permissions", "acl"]
aliases = ["/http_api/dashboardpermissions/"]
type = "docs"
[menu.docs]
name = "Folder Permissions"
parent = "http_api"
+++
# Folder Permissions API
This API can be used to update/get the permissions for a folder.
Permissions with `folderId=-1` are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.
The permission levels for the permission field:
- 1 = View
- 2 = Edit
- 4 = Admin
## Get permissions for a folder
`GET /api/folders/:uid/permissions`
Gets all existing permissions for the folder with the given `uid`.
**Example request**:
```http
GET /api/folders/nErXDvCkzz/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Folder not found
## Update permissions for a folder
`POST /api/folders/:uid/permissions`
Updates permissions for a folder. This operation will remove existing permissions if they're not included in the request.
**Example request**:
```http
POST /api/folders/nErXDvCkzz/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
"items": [
{
"role": "Viewer",
"permission": 1
},
{
"role": "Editor",
"permission": 2
},
{
"teamId": 1,
"permission": 1
},
{
"userId": 11,
"permission": 4
}
]
}
```
JSON body schema:
- **items** - The permission items to add/update. Items that are omitted from the list will be removed.
**Example response**:
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Dashboard not found
"items": [
{
"role": "Viewer",
"permission": 1
},
{
"role": "Editor",
"permission": 2
},
{
"teamId": 1,
"permission": 1
},
{
"userId": 11,
"permission": 4
}
]
}
```
JSON body schema:
- **items** - The permission items to add/update. Items that are omitted from the list will be removed.
**Example response**:
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35
{"message":"Folder permissions updated"}
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Access denied
- **404** - Dashboard not found

View File

@@ -21,12 +21,17 @@ dashboards, creating users and updating data sources.
* [Authentication API]({{< relref "/http_api/auth.md" >}})
* [Dashboard API]({{< relref "/http_api/dashboard.md" >}})
* [Dashboard Versions API]({{< relref "http_api/dashboard_versions.md" >}})
* [Dashboard Permissions API]({{< relref "http_api/dashboard_permissions.md" >}})
* [Folder API]({{< relref "/http_api/folder.md" >}})
* [Folder Permissions API]({{< relref "http_api/folder_permissions.md" >}})
* [Folder/dashboard search API]({{< relref "/http_api/folder_dashboard_search.md" >}})
* [Data Source API]({{< relref "http_api/data_source.md" >}})
* [Organisation API]({{< relref "http_api/org.md" >}})
* [Snapshot API]({{< relref "http_api/snapshot.md" >}})
* [Annotations API]({{< relref "http_api/annotations.md" >}})
* [Alerting API]({{< relref "http_api/alerting.md" >}})
* [User API]({{< relref "http_api/user.md" >}})
* [Team API]({{< relref "http_api/team.md" >}})
* [Admin API]({{< relref "http_api/admin.md" >}})
* [Preferences API]({{< relref "http_api/preferences.md" >}})
* [Other API]({{< relref "http_api/other.md" >}})

View File

@@ -307,7 +307,7 @@ Content-Type: application/json
HTTP/1.1 200
Content-Type: application/json
```
```
## Update Users in Organisation
@@ -436,4 +436,4 @@ HTTP/1.1 200
Content-Type: application/json
{"message":"User removed from organization"}
```
```

View File

@@ -0,0 +1,316 @@
+++
title = "Team HTTP API "
description = "Grafana Team HTTP API"
keywords = ["grafana", "http", "documentation", "api", "team", "teams", "group"]
aliases = ["/http_api/team/"]
type = "docs"
[menu.docs]
name = "Teams"
parent = "http_api"
+++
# Team API
This API can be used to create/update/delete Teams and to add/remove users to Teams. All actions require that the user has the Admin role for the organization.
## Team Search With Paging
`GET /api/teams/search?perpage=50&page=1&query=mytea`
or
`GET /api/teams/search?name=myteam`
```http
GET /api/teams/search?perpage=10&page=1&query=myteam HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
### Using the query parameter
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 teams list E.g. if `totalCount` is equal to 100 teams and the `perpage` parameter is set to 10 then there are 10 pages of teams.
The `query` parameter is optional and it will return results where the query value is contained in the `name` field. Query values with spaces need to be url encoded e.g. `query=my%20team`.
### Using the name parameter
The `name` parameter returns a single team if the parameter matches the `name` field.
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found (if searching by name)
## Get Team By Id
`GET /api/teams/:id`
**Example Request**:
```http
GET /api/teams/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found
## Add Team
The Team `name` needs to be unique. `name` is required and `email` is optional.
`POST /api/teams`
**Example Request**:
```http
POST /api/teams HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **409** - Team name is taken
## Update Team
There are two fields that can be updated for a team: `name` and `email`.
`PUT /api/teams/:id`
**Example Request**:
```http
PUT /api/teams/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found
- **409** - Team name is taken
## Delete Team By Id
`DELETE /api/teams/:id`
**Example Request**:
```http
DELETE /api/teams/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Failed to delete Team. ID not found
## Get Team Members
`GET /api/teams/:teamId/members`
**Example Request**:
```http
GET /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
## Add Team Member
`POST /api/teams/:teamId/members`
**Example Request**:
```http
POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **400** - User is already added to this team
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found
## Remove Member From Team
`DELETE /api/teams/:teamId/members/:userId`
**Example Request**:
```http
DELETE /api/teams/2/members/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found/Team member not found
```http
POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
{
"userId": 2
}
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{"message":"Member added to Team"}
```
Status Codes:
- **200** - Ok
- **400** - User is already added to this team
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found
## Remove Member From Team
`DELETE /api/teams/:teamId/members/:userId`
**Example Request**:
```http
DELETE /api/teams/2/members/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{"message":"Team Member removed"}
```
Status Codes:
- **200** - Ok
- **401** - Unauthorized
- **403** - Permission denied
- **404** - Team not found/Team member not found

View File

@@ -301,7 +301,7 @@ options are `Admin` and `Editor`. e.g. :
`auto_assign_org_role = Viewer`
### viewers can edit
### viewers_can_edit
Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
Defaults to `false`.
@@ -482,7 +482,7 @@ Set api_url to the resource that returns [OpenID UserInfo](https://connect2id.co
First set up Grafana as an OpenId client "webapplication" in Okta. Then set the Base URIs to `https://<grafana domain>/` and set the Login redirect URIs to `https://<grafana domain>/login/generic_oauth`.
Finaly set up the generic oauth module like this:
Finally set up the generic oauth module like this:
```bash
[auth.generic_oauth]
name = Okta

View File

@@ -15,8 +15,7 @@ weight = 1
Description | Download
------------ | -------------
Stable for Debian-based Linux | [grafana_4.6.3_amd64.deb](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.3_amd64.deb)
Beta for Debian-based Linux | [grafana_5.0.0-beta5_amd64.deb](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.0.0-beta5_amd64.deb)
Stable for Debian-based Linux | [grafana_5.0.4_amd64.deb](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.0.4_amd64.deb)
Read [Upgrading Grafana]({{< relref "installation/upgrading.md" >}}) for tips and guidance on updating an existing
installation.
@@ -25,25 +24,17 @@ installation.
```bash
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.3_amd64.deb
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.0.4_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.6.3_amd64.deb
sudo dpkg -i grafana_5.0.4_amd64.deb
```
## Install Latest Beta
```bash
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.0.0-beta5_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_5.0.0-beta5_amd64.deb
```
## APT Repository
Add the following line to your `/etc/apt/sources.list` file.
```bash
deb https://packagecloud.io/grafana/stable/debian/ jessie main
deb https://packagecloud.io/grafana/stable/debian/ stretch main
```
Use the above line even if you are on Ubuntu or another Debian version.
@@ -51,7 +42,7 @@ There is also a testing repository if you want beta or release
candidates.
```bash
deb https://packagecloud.io/grafana/testing/debian/ jessie main
deb https://packagecloud.io/grafana/testing/debian/ stretch main
```
Then add the [Package Cloud](https://packagecloud.io/grafana) key. This

View File

@@ -12,7 +12,7 @@ weight = 4
# Installing using Docker
Grafana is very easy to install and run using the offical docker container.
Grafana is very easy to install and run using the official docker container.
```bash
$ docker run -d -p 3000:3000 grafana/grafana
@@ -83,7 +83,7 @@ $ docker run \
-d \
-p 3000:3000 \
--name grafana \
grafana/grafana:4.5.2
grafana/grafana:5.0.2
```
## Configuring AWS Credentials for CloudWatch Support

View File

@@ -15,8 +15,8 @@ weight = 2
Description | Download
------------ | -------------
Stable for CentOS / Fedora / OpenSuse / Redhat Linux | [4.6.3 (x86-64 rpm)](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm)
Latest Beta for CentOS / Fedora / OpenSuse / Redhat Linux | [5.0.0-beta5 (x86-64 rpm)](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.0-beta5.x86_64.rpm)
Stable for CentOS / Fedora / OpenSuse / Redhat Linux | [5.0.4 (x86-64 rpm)](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.4-1.x86_64.rpm)
Read [Upgrading Grafana]({{< relref "installation/upgrading.md" >}}) for tips and guidance on updating an existing
installation.
@@ -26,13 +26,7 @@ installation.
You can install Grafana using Yum directly.
```bash
$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm
```
## Install Beta
```bash
$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.0-beta5.x86_64.rpm
$ sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.4-1.x86_64.rpm
```
Or install manually using `rpm`.
@@ -40,15 +34,15 @@ Or install manually using `rpm`.
#### On CentOS / Fedora / Redhat:
```bash
$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm
$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.4-1.x86_64.rpm
$ sudo yum install initscripts fontconfig
$ sudo rpm -Uvh grafana-4.6.3-1.x86_64.rpm
$ sudo rpm -Uvh grafana-5.0.4-1.x86_64.rpm
```
#### On OpenSuse:
```bash
$ sudo rpm -i --nodeps grafana-4.6.3-1.x86_64.rpm
$ sudo rpm -i --nodeps grafana-5.0.4-1.x86_64.rpm
```
## Install via YUM Repository
@@ -58,7 +52,7 @@ Add the following to a new file at `/etc/yum.repos.d/grafana.repo`
```bash
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
@@ -70,7 +64,7 @@ sslcacert=/etc/pki/tls/certs/ca-bundle.crt
There is also a testing repository if you want beta or release candidates.
```bash
baseurl=https://packagecloud.io/grafana/testing/el/6/$basearch
baseurl=https://packagecloud.io/grafana/testing/el/7/$basearch
```
Then install Grafana via the `yum` command.

View File

@@ -23,9 +23,9 @@ Before upgrading it can be a good idea to backup your Grafana database. This wil
#### 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 use sqlite you only need to make a backup of your `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`.
installed grafana to custom location using a binary tar/zip it is usually in `<grafana_install_dir>/data`.
#### mysql
@@ -105,4 +105,7 @@ We are not aware of any issues upgrading directly from 2.x to 4.x but to be on t
## Upgrading to v5.0
The dashboard grid layout engine has changed. All dashboards will be automatically upgraded to new
positioning system when you load them in v5. Dashboards saved in v5 will not work in older versions of Grafana.
positioning system when you load them in v5. Dashboards saved in v5 will not work in older versions of Grafana. Some
external panel plugins might need to be updated to work properly.
For more details on the new panel positioning system, [click here]({{< relref "reference/dashboard.md#panel-size-position" >}})

View File

@@ -8,13 +8,11 @@ parent = "installation"
weight = 3
+++
# Installing on Windows
Description | Download
------------ | -------------
Latest stable package for Windows | [grafana.4.6.3.windows-x64.zip](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3.windows-x64.zip)
Latest beta package for Windows | [grafana.5.0.0-beta5.windows-x64.zip](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.0-beta5.windows-x64.zip)
Latest stable package for Windows | [grafana-5.0.4.windows-x64.zip](https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.4.windows-x64.zip)
Read [Upgrading Grafana]({{< relref "installation/upgrading.md" >}}) for tips and guidance on updating an existing
installation.

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