Compare commits

..

1901 Commits

Author SHA1 Message Date
Torkel Ödegaard
5e33a52b69 updated version to v5-beta3 2018-02-16 13:26:04 +01:00
bergquist
529fc022d5 db: reduce name column size in dashboard_provisoning
ref #10931
2018-02-16 11:49:17 +01:00
Daniel Lee
b9d572bdec teams: adds some validation to the API 2018-02-16 11:46:20 +01:00
Torkel Ödegaard
ac6800a88a Merge branch 'master' of github.com:grafana/grafana 2018-02-16 10:34:15 +01:00
Marcus Efraimsson
4c073e1cf0 docker: add test dashboards for mysql and postgres for visualizing data generated by fake-data-gen 2018-02-16 10:18:40 +01:00
bergquist
b099f0309f cli: download latest dependency by default 2018-02-16 09:54:37 +01:00
bergquist
5bbe047eaa Revert "removes dependencies install for plugins"
This reverts commit 47e363ea15.
2018-02-16 09:49:29 +01:00
Mitsuhiro Tanda
3b04efa4c0 migrate minSpan (#10924) 2018-02-16 09:29:10 +01:00
Torkel Ödegaard
39fdfb7922 Merge branch 'master' of github.com:grafana/grafana 2018-02-16 09:14:44 +01:00
Patrick O'Carroll
244ae555d9 Close modal with esc (#10929)
* added var to check if modal is open and an if for escape fullview

* moved showconfirmmodal to utils, showconfirmmodal now uses showmodal, esc works in textinput

* made esc global
2018-02-16 09:14:32 +01:00
Alexander Zobnin
2c5f3fbc5b repeat row: fix panels placement bug (#10932) 2018-02-16 09:11:26 +01:00
Marcus Efraimsson
75077e634e Merge pull request #10933 from ScottBrenner/patch-1
Minor typo fix
2018-02-16 02:18:51 +01:00
Scott Brenner
2d03ab1770 Update sample.ini 2018-02-15 10:41:26 -08:00
Scott Brenner
7535cefed9 Update ldap.toml 2018-02-15 10:41:15 -08:00
Scott Brenner
43baf20dcd Update ldap.md 2018-02-15 10:41:04 -08:00
Scott Brenner
b8b6dc6d6d Minor typo fix 2018-02-15 10:37:23 -08:00
Daniel Lee
6fa46d9539 plugins: update meta data for all core plugins
So that the readme's can be published on Grafana.com
2018-02-15 16:50:38 +01:00
Leonard Gram
3ddfd8bd09 alert notifiers: better error messages. 2018-02-15 16:48:01 +01:00
bergquist
651103bdda chore: adds comment for exported function 2018-02-15 15:06:03 +01:00
Torkel Ödegaard
6b930df4d4 updated download links 2018-02-15 14:48:11 +01:00
Torkel Ödegaard
4fb7ba454e docs: Updated changelog 2018-02-15 13:41:48 +01:00
Torkel Ödegaard
ed546c9720 updated package.json version 2018-02-15 13:30:40 +01:00
Torkel Ödegaard
168ac314fc fix: more phantomjs fixes 2018-02-15 13:20:50 +01:00
Torkel Ödegaard
57103ec98a fix: refactoring #10922 2018-02-15 12:42:17 +01:00
Torkel Ödegaard
4b4e38531b Merge branch 'fix-10526' of https://github.com/alexanderzobnin/grafana 2018-02-15 11:46:33 +01:00
Alexander Zobnin
b4c51f8822 Fix phantomjs legend rendering issue, #10526 2018-02-15 12:59:14 +03:00
bergquist
0ab0343995 mark redirect_to cookie as http only
closes #10829
2018-02-15 10:56:29 +01:00
Carl Bergquist
aa902ef826 Merge pull request #10921 from bergquist/invalid_uid
dashboard: whitelist allowed chars for uid
2018-02-15 10:19:42 +01:00
bergquist
8954559cbd dashboard: whitelist allowed chars for uid 2018-02-15 09:56:13 +01:00
Carl Bergquist
fcca578f41 updates readmes for mysql and postgres (#10913)
ref #10813
2018-02-15 09:38:39 +01:00
Carl Bergquist
243b987758 Merge pull request #10910 from bergquist/provisioning_disable_deleting_dashboards
provisioning: adds setting to disable dashboard deletes
2018-02-15 08:28:10 +01:00
bergquist
ad42883fc7 provisioning: adds setting to disable dashboard deletes 2018-02-14 17:30:08 +01:00
bergquist
842f4c1d32 tech: dont print error message on 500 page
closes #10828
2018-02-14 16:39:20 +01:00
bergquist
47e363ea15 removes dependencies install for plugins
this features was never intended for production.
2018-02-14 15:40:42 +01:00
bergquist
56907eef69 tests: makes sure we all migrations are working 2018-02-14 15:30:29 +01:00
Leonard Gram
fa1b92a12b provisioning: uses unix epoch timestamps. (#10907)
* provisioning: uses unix epoch timestamps.
2018-02-14 15:28:30 +01:00
Sven Klemm
ebbc079853 improve error message for invalid/unknown datatypes (#10834) 2018-02-14 15:21:00 +01:00
Mitsuhiro Tanda
60b30d3e9a add AWS/States Rekognition (#10890)
* added AWS/States

* added Rekognition
2018-02-14 15:14:38 +01:00
Torkel Ödegaard
fcaa8227a6 Dashboard acl query fixes (#10909)
* initial fixes for dashboard permission acl list query, fixes #10864

* permissions: refactoring of acl api and query
2018-02-14 15:04:26 +01:00
bergquist
1a041a2250 bug: return correct err message
if the sql query failed has is false and the method will return
m.ErrDataSourceNotFound which is incorrect. We now return the
correct error message from the query

ref #10843
2018-02-14 13:32:52 +01:00
bergquist
dba087463a provisioing: always skip sample.yaml files 2018-02-14 11:33:58 +01:00
bergquist
165304a342 provisioning: handle nil configs 2018-02-14 11:22:24 +01:00
Carl Bergquist
3091697a2c Merge pull request #10896 from bergquist/provisioning_cfg_camelCase
Change naming format to camelCase for provisioning configs
2018-02-14 11:00:01 +01:00
Torkel Ödegaard
8dd4d505ee Merge branch 'dashboard-search-permissions-filter' 2018-02-14 10:48:55 +01:00
Leonard Gram
b60b6690ba sql: removes locale from test to mirror prod. 2018-02-14 10:31:36 +01:00
bergquist
fc371af47f adds tests that validate that updated is correct 2018-02-14 10:31:36 +01:00
bergquist
84de76ff0a provisioning: code formating 2018-02-14 10:30:08 +01:00
bergquist
44baaeed8f provisioning: adds logs about deprecated config format 2018-02-14 10:30:08 +01:00
bergquist
b010e4df93 provisioning: support camelcase for dashboards configs 2018-02-14 10:30:08 +01:00
bergquist
4a35244cb9 provisioning: support camcelCase provisioning files 2018-02-14 10:30:08 +01:00
Torkel Ödegaard
ead1c300d7 API Integration Tests via jest (#10899)
* tests: experiment with api tests

* api tests are getting nice

* api: api testing ready for feedback
2018-02-14 10:26:20 +01:00
Torkel Ödegaard
bb681cd498 Merge branch '10819_empty_dashboard_list' 2018-02-14 09:38:19 +01:00
Torkel Ödegaard
b0fae0129c ux: refactoring #10884 2018-02-14 09:37:39 +01:00
Marcus Efraimsson
57e55954d9 Merge pull request #10902 from stukselbax/patch-1
Duplicate typo in docs fixed
2018-02-14 09:30:30 +01:00
stukselbax
3d91a1cbdd Duplicate typo fixed 2018-02-14 10:53:14 +03:00
Mitsuhiro Tanda
6a85369c50 add 13-24 for min width (#10891) 2018-02-13 17:22:55 +01:00
Jan Fajerski
e9380bbdff sass/base: import from current dir in _fonts.scss (#10894)
The import statement relative to base seems to confuse sass if there is
a colon (:) in the path name.

Fixes: #10866

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2018-02-13 17:20:51 +01:00
Torkel Ödegaard
162439a8d6 fix: removed logging 2018-02-13 17:03:20 +01:00
Torkel Ödegaard
e3c3f3ce4c fix: sql search permissions filter fix 2018-02-13 16:49:00 +01:00
Leonard Gram
ba0285a3ec provisioning: Warns the user when uid or title is re-used. (#10892)
* provisioning: Warns the user when uid or title is re-used.

Closes #10880
2018-02-13 15:47:02 +01:00
Carl Bergquist
d31e333e7e Merge pull request #10888 from ScottBrenner/patch-1
Minor typo fix
2018-02-13 15:11:29 +01:00
Scott Brenner
e57c8d0357 Minor typo fix
Minor typo fix
2018-02-12 13:59:19 -08:00
Patrick O'Carroll
aaf4e760c6 new dashboard is now hidden from viewer, fixes #10815 (#10854)
* new dashboard is now hidden from viewer, fixes #10815

* changed orgRole to isEditor

* removed unused import

* added contextSrv mock to search.jest
2018-02-12 17:11:41 +01:00
Patrick O'Carroll
42af87b7c9 fixed bg gradient, fixes #10869 (#10875) 2018-02-12 17:10:27 +01:00
Marcus Efraimsson
ac3bf54fb4 login: fix broken reset password form (#10881) 2018-02-12 17:09:39 +01:00
Patrick O'Carroll
f2d8222af5 moved div in code 2018-02-12 16:13:39 +01:00
Patrick O'Carroll
5fced6e92b added buttons and text to empty dashboard list 2018-02-12 16:10:23 +01:00
Leonard Gram
acd085605c docs: spelling. 2018-02-12 15:17:56 +01:00
Leonard Gram
5af2d09fb3 Merge pull request #10865 from grafana/provisioning
Support deleting provisioned dashboards when file is removed
2018-02-12 14:53:52 +01:00
Leonard Gram
9a7eb5c327 Merge branch 'master' into provisioning 2018-02-12 14:19:20 +01:00
Marcus Efraimsson
12a6de7461 dashboard: always make sure dashboard exist in dashboard acl http api (#10856) 2018-02-12 09:26:09 +01:00
Andrey Inishev
1b795c0ced Fix #10823 (#10851)
* Fix of #10823

* Typo fix

* Revert Gopkg.lock
2018-02-12 09:24:01 +01:00
bergquist
f01890c3ff provisioning: better variable naming 2018-02-12 08:22:34 +01:00
Torkel Ödegaard
6bbd87dd9c ux: minor tweak to grid resize handle color 2018-02-10 20:11:11 +01:00
Marcus Efraimsson
e1e0b5f951 teams: use orgId in all team and team member operations (#10862)
Also fixes issue in org users tests for postgres
2018-02-09 17:26:15 +01:00
Torkel Ödegaard
4d5a24a6c4 permissions: might have a solution for search 2018-02-09 17:24:34 +01:00
Alexander Zobnin
111b32290a Fixes for graphite tags editor (#10861)
* graphite: don't fetch tags on editor init

* add debounce option to query editor directives

* graphite: debounce tag queries
2018-02-09 16:20:30 +01:00
Torkel Ödegaard
c01b80522e fix: clear items list before fetching permissions list 2018-02-09 16:13:20 +01:00
bergquist
84fea7c148 provisioning: dont return error unless you want to cancel all operations 2018-02-09 15:43:58 +01:00
bergquist
5a76624003 provisioning: createWalkFn doesnt have to be attached to the filereader anymore 2018-02-09 15:33:54 +01:00
bergquist
e93fe9db25 provisioning: update sample config to use path 2018-02-09 15:25:31 +01:00
bergquist
59cd2d5102 provisioning: avoid caching and use updated field from db 2018-02-09 15:23:38 +01:00
Torkel Ödegaard
e949eb3f58 Merge branch 'master' into dashboard-search-permissions-filter 2018-02-09 15:16:34 +01:00
Marcus Efraimsson
e429cd8333 update README.md regarding running tests
[skip ci]
2018-02-09 13:34:10 +01:00
Marcus Efraimsson
fae9eb546e update README.md regarding running tests
[skip ci]
2018-02-09 13:31:37 +01:00
Torkel Ödegaard
e672604835 docs: minor docs update 2018-02-09 12:53:07 +01:00
Torkel Ödegaard
41a6e7c2c8 docs: updated docs landing page 2018-02-09 12:39:17 +01:00
bergquist
31f3fdcba3 provisioning: delete dashboards before insert/update 2018-02-09 12:17:58 +01:00
Marcus Efraimsson
a86f2fa34b user picker should only include users from current org (#10845) 2018-02-09 10:42:37 +01:00
Carl Bergquist
864e2647db Merge pull request #10844 from marefr/env_db_test
Allow use of environment variable to decide what database engine to run tests on
2018-02-09 09:35:48 +01:00
Marcus Efraimsson
8921b0b517 db test: allow use of env variable for database engine to run tests for 2018-02-08 19:16:45 +01:00
Torkel Ödegaard
8e8f3c4332 dashboard and folder search with permissions 2018-02-08 17:11:01 +01:00
Leonard Gram
e0abd862e0 provisioning: fixed bug in saving dashboards. 2018-02-08 16:36:53 +01:00
Marcus Efraimsson
a91bd53a34 dashboard: fix delete of folder from folder settings tab.
Fixes #10821
2018-02-08 14:25:23 +01:00
Leonard Gram
5a85fb6d32 Merge branch 'master' into provisioning 2018-02-08 13:43:19 +01:00
Marcus Efraimsson
0e8377a9f4 Update logic for create/update dashboard, validation and plugin dashboard links (#10809)
* enables overwrite if dashboard allready exist in folder

* dashboard: Don't allow creating a folder named General

* dashboards: update logic for save/update dashboard

No id and uid creates a new dashboard/folder.
No id and uid, with an existing title in folder allows overwrite
  of dashboard.
Id without uid, allows update of existing dashboard/folder without
  overwrite.
Uid without id allows update of existing dashboard/folder without
  overwrite.
Id without uid, with an existing title in folder allows overwrite
  of dashboard/folder and updated will have the uid of overwritten.
Uid without id, with an existing title in folder allows overwrite
  of dashboard/folder and new will have the same uid as provided.
Trying to change an existing folder to a dashboard yields error.
Trying to change an existing dashboard to a folder yields error.

* dashboards: include folder id when confirmed to save with overwrite

* dashboards: fixes due to new url structure

Return importedUrl property in response to importing dashboards and
getting plugin dashboards and use this for redirects/links in the
frontend.
2018-02-08 12:48:38 +01:00
Leonard Gram
b549d29319 Merge branch 'master' into provisioning 2018-02-08 11:01:09 +01:00
Patrick O'Carroll
fc05fc42c9 added width class to add member choose (#10835) 2018-02-08 10:52:13 +01:00
Torkel Ödegaard
b84fd3a7ae fix: initial fix for #10822 2018-02-07 17:54:21 +01:00
Torkel Ödegaard
39238c192d fix: folder redirect after creation 2018-02-07 15:33:08 +01:00
Daniel Lee
db1423eebc dashfolders: fixes #10820 2018-02-07 15:13:34 +01:00
Torkel Ödegaard
541b0a0ca1 fix: fixed bug with redirect after new dashboard saved, related to buggy angularjs location path/url and base href, fixes #10817 2018-02-07 14:10:23 +01:00
Torkel Ödegaard
17cbd9d6b4 fix: removed old shortcut that does not exist, fixes #10802 2018-02-07 10:43:42 +01:00
Torkel Ödegaard
76c2a6e5ee build: fixed recovery test 2018-02-06 13:16:21 +01:00
Torkel Ödegaard
f54ba20783 fix: css fix, found a better way to fix #10772 2018-02-06 13:01:23 +01:00
Torkel Ödegaard
f1f8c23206 fix: minor build fix 2018-02-06 12:43:11 +01:00
Torkel Ödegaard
0e61a670bb fix: error handling now displays page correctly, fixes #10777 2018-02-06 12:28:17 +01:00
Alexander Zobnin
6e68c2069e Merge PR #10742 2018-02-06 13:39:31 +03:00
Alexander Zobnin
fd5e838f0e heatmap tooltip: minor refactor 2018-02-06 13:38:17 +03:00
Torkel Ödegaard
cf7be5da0b fix: changed dashboard title length to match slug length, will fix mysql index size issue, fixes #10779 2018-02-06 11:03:37 +01:00
Torkel Ödegaard
bc8e59a8d8 docs: added graphite section 2018-02-06 10:32:27 +01:00
Torkel Ödegaard
3614906828 docs: minor update 2018-02-06 10:19:23 +01:00
Alexander Zobnin
81dc051ae9 graph panel: fix csv export (series as col) (#10769) 2018-02-06 10:11:17 +01:00
Daniel Lee
5ca03972a8 org-switcher: should redirect to home page (#10782)
Fixes #10776
2018-02-06 10:02:28 +01:00
Alexander Zobnin
45d66e4b29 embedded panel: hide side menu during init (#10788) 2018-02-06 10:01:10 +01:00
Alexander Zobnin
ece9eb54b9 Merge branch 'master' of https://github.com/thattolleyguy/grafana into thattolleyguy-master 2018-02-06 11:38:33 +03:00
Daniel Lee
8c027ea707 scroll: css for #10722
Missed adding to previous commit. Ref #10722
2018-02-05 19:31:16 +01:00
Daniel Lee
5d756707ab dashlist: scroll fix when no header
The first item in the dashlist has a margin that messes up
the height calculation for the scroll bar when the Show headings
option is not selected. This fix adds a margin-top set to 0 for
the 1st item in the list in this case. This prevents a scrollbar
being shown incorrectly. Fixes #10772
2018-02-05 19:22:15 +01:00
Torkel Ödegaard
1a8501450c docs: video fix 2018-02-05 18:46:03 +01:00
Marcus Efraimsson
690beac277 Update changelog with deprecation notes of http api 2018-02-05 18:42:47 +01:00
Alexander Zobnin
f97be541af redirect "permission denied" requests to "/" (#10773) 2018-02-05 18:17:47 +01:00
Torkel Ödegaard
24d882e7d8 docs: fix 2018-02-05 18:13:06 +01:00
Daniel Lee
4ce862c5b4 scroll: use wheelpropagation. Ref #10772
Once the vertical scrollbar comes to its end position, it should
allow the page scroll bar to start scrolling.
2018-02-05 18:12:04 +01:00
Marcus Efraimsson
57e172b30a Merge branch 'master' of github.com:grafana/grafana 2018-02-05 17:59:11 +01:00
Marcus Efraimsson
e1d857887f docs: update dashboard model, persistent urls and api changes in what's new in v5 2018-02-05 17:58:43 +01:00
Torkel Ödegaard
e800b19ef6 docs: fix download link 2018-02-05 17:56:48 +01:00
Torkel Ödegaard
061320ba7b docs: minor update 2018-02-05 17:26:44 +01:00
Torkel Ödegaard
e9aadab355 docs: updated whats new 2018-02-05 17:00:19 +01:00
Marcus Efraimsson
7a968c1025 Update CHANGELOG.md 2018-02-05 16:53:32 +01:00
Marcus Efraimsson
24a1abaab2 Update CHANGELOG.md 2018-02-05 16:50:33 +01:00
Marcus Efraimsson
874c355e49 Merge branch 'master' of github.com:grafana/grafana 2018-02-05 16:43:39 +01:00
Marcus Efraimsson
e86fe0b144 docs: update dashboard model, new url structure and api changes in what's new in v5 2018-02-05 16:40:49 +01:00
Torkel Ödegaard
9138b38b93 Update CHANGELOG.md 2018-02-05 16:32:30 +01:00
Torkel Ödegaard
97bba1d826 build: updated publish script 2018-02-05 16:29:10 +01:00
Torkel Ödegaard
b2f62ae19c docs: update docs with download links 2018-02-05 16:02:17 +01:00
Torkel Ödegaard
8f98e8b8f4 Update CHANGELOG.md 2018-02-05 15:36:16 +01:00
Torkel Ödegaard
3e2da1fee5 build: increased version to beta1 2018-02-05 15:28:57 +01:00
Torkel Ödegaard
e6b82b2fb1 fix: fixed permission list caching issue, fixes #10750 2018-02-05 15:23:46 +01:00
Daniel Lee
2d1bd270fb Stale permissions (#10768)
* dashfolders: hide permissions in settings if folder has changed

and the dashboard has not been saved yet. Otherwise the use will
see stale permissions from the original folder.

* dashfolders: return folder url for inherited permissions
2018-02-05 14:28:24 +01:00
Carl Bergquist
04a94ce396 adds unique index for org_id+folder_id+title on dashboards (#10766) 2018-02-05 14:11:19 +01:00
Marcus Efraimsson
8ce2074eb2 docs: fix links in HTTP API Reference page
Fixes #10745
2018-02-05 14:05:52 +01:00
Marcus Efraimsson
a879dd8c0c dashboards: render correct link for folder when searching for dashboards (#10763)
Fixes #10761
2018-02-05 13:23:24 +01:00
Alexander Zobnin
20feb123c9 fix panel menu caret placement (#10759) 2018-02-05 11:49:59 +01:00
Marcus Efraimsson
55100d5ff9 Merge pull request #10760 from grafana/10749_link_to_folder
Fix link to folder from permissions list
2018-02-05 11:34:59 +01:00
Marcus Efraimsson
7d3b990e91 permissions: fix link to folder from permissions list
Also, closing Add Permissions CTA when DashboardPermissions and
FolderPermissions unmounts.
Fixes #10749"
2018-02-05 11:10:37 +01:00
Marcus Efraimsson
6def21e83f dashboard: fix loading of snapshot and scripted dashboard (#10755)
Fixes #10753
2018-02-05 10:31:53 +01:00
Carl Bergquist
cc0cc8dd73 changes to new urlformat for home dashboard (#10738) 2018-02-05 10:24:48 +01:00
Torkel Ödegaard
0701188e64 Update CHANGELOG.md 2018-02-05 09:44:36 +01:00
Torkel Ödegaard
07fa2f1722 fix: alert list links did not work, changed dashboardUri to Url, this is breaking api change in alert api (#10756) 2018-02-05 09:42:41 +01:00
Leonard Gram
d379aa3815 docs: typos and wording. 2018-02-05 09:36:17 +01:00
Marcus Efraimsson
e1de4794ec Merge pull request #10754 from grafana/10752_fix_redirect
Redirect of legacy dashboard url's should include querystring parameters
2018-02-04 18:23:15 +01:00
Torkel Ödegaard
40c9d5f2a3 ux: hide sidemenu in kiosk mode, and while playlist is playing, fixes #107402 2018-02-04 17:32:27 +01:00
Marcus Efraimsson
32054ad9a6 dashboard: fix redirect of legacy dashboard url's
Redirect of /dashboard/db/:slug to /d/:uid/:slug and
/dashboard-solo/db/:slug to /d-solo/:uid/:slug now includes querystring parameters.

Fixes #10752
2018-02-04 17:29:16 +01:00
Daniel Lee
a906dd8157 docs: add spaces to timeseries example 2018-02-03 16:21:23 +01:00
Torkel Ödegaard
162f4941f0 fix: restored tags to search 2018-02-03 10:14:45 +01:00
Marcus Efraimsson
4b64c1d0d4 fix frontend validation for creating new folder and import dashboard (#10737)
Fixes #10731
2018-02-03 10:03:01 +01:00
Tyler Tolley
ca3c1d8c63 #10724 Fix whitespace 2018-02-02 09:31:05 -07:00
Tyler Tolley
bde5499552 #10724 Fix finding the x bucket 2018-02-02 07:29:54 -07:00
Leonard Gram
a0d8e96fd1 docs: dashboard provisioning 2018-02-02 11:17:52 +01:00
bergquist
130a2b6499 handle new error message 2018-02-02 11:06:32 +01:00
bergquist
0c98c4db30 removes uid when using 'save as'
closes #10720
2018-02-02 10:59:31 +01:00
Daniel Lee
512f6992f1 dashfolders: rename Root folder to General. Closes #10692 2018-02-02 10:39:26 +01:00
Marcus Efraimsson
f158a604a0 Merge pull request #10683 from grafana/7883_new_url_structure
New dashboard/folder url structure
2018-02-02 10:23:03 +01:00
Patrick O'Carroll
d2827a0005 Light theme icon color (#10730)
* working on new colors for icons in light theme

* more work on icon colors

* changed colors of icons for light theme
2018-02-02 10:18:45 +01:00
Carl Bergquist
a7114dcec1 Merge pull request #10722 from AlexandreRio/patch-1
Update search datasource by name API path
2018-02-01 20:43:28 +01:00
Marcus Efraimsson
cd61d2b237 Merge branch 'master' into 7883_new_url_structure 2018-02-01 17:32:43 +01:00
Marcus Efraimsson
744f402a96 db: fix failing integration tests for mysql and postgresql 2018-02-01 17:27:29 +01:00
Alexandre Rio
8ced9f6462 Update search datasource by name API path
Correct path for search by name endpoint is /api/datasources/:name
2018-02-01 16:41:33 +01:00
Marcus Efraimsson
cef910dd78 Merge branch '7883_new_url_structure' of github.com:grafana/grafana into 7883_new_url_structure 2018-02-01 16:32:33 +01:00
Marcus Efraimsson
3db328f516 fix for dashboard/folder url's when having a sub path in root_url config 2018-02-01 16:30:48 +01:00
Torkel Ödegaard
5171d7e285 Merge branch 'master' of github.com:grafana/grafana 2018-02-01 15:45:59 +01:00
Torkel Ödegaard
c3181552f8 ux: added max width to dashboard settings views 2018-02-01 15:45:15 +01:00
bergquist
734a2e59aa add gofmt as precommit hook 2018-02-01 15:23:52 +01:00
Daniel Lee
22a349051c Merge pull request #10719 from grafana/add_permissions_10676
Grafana 5.0: Add permissions modal for the permissions pages
2018-02-01 14:20:04 +00:00
Daniel Lee
a77c656033 dashfolders: adds test for permission store 2018-02-01 14:48:11 +01:00
Carl Bergquist
3b4e487662 Merge pull request #10715 from grafana/7883_alerting
Implement new url format in alerting
2018-02-01 14:38:28 +01:00
Daniel Lee
cc55ab6bc8 dashfolders: adds permission modal to dashboard settings 2018-02-01 14:32:19 +01:00
bergquist
90207bcb7d register handler for get dashboards by slug 2018-02-01 14:17:14 +01:00
bergquist
fcd86fb24f make it easier for dashboards to generate ur; 2018-02-01 14:08:51 +01:00
bergquist
74ca6f6dbf changes dashboard url in alertlist 2018-02-01 14:08:51 +01:00
bergquist
992fd37010 alert: use new url format 2018-02-01 14:08:51 +01:00
Mikael Olenfalk
c0f100f1b5 Improve logging in the phantomjs renderer (#10697)
* Add add adapter between io.Writer and log.Logger

* Add phantomjs output to grafana log

* Unexport LogWriterImpl

* Add test for LogWriter

* Make it possible to get phantomjs debug output

* Make it possible to get the configured log level
2018-02-01 14:04:52 +01:00
Daniel Lee
9cdc1428d7 Merge remote-tracking branch 'upstream/master' into add_permissions_10676 2018-02-01 14:02:14 +01:00
Marcus Efraimsson
d8d82c1769 Merge pull request #10706 from grafana/7883_frontend_step2
WIP: Dashboard & Persistent urls - Frontend Step 2
2018-02-01 13:55:03 +01:00
Marcus Efraimsson
cdf2fd64b7 route params from angular to view store should be updated on routeChangeSuccess 2018-02-01 13:28:04 +01:00
Alexander Zobnin
16e1640ba4 repeat panel: process repeats when row is expanding (#10712) 2018-02-01 13:23:45 +01:00
Marcus Efraimsson
ee9c408188 folders: changes needed due to merge 2018-02-01 13:21:24 +01:00
Torkel Ödegaard
50bd9eee55 docs: removed section with session table sql, that is not needed anymore 2018-02-01 13:16:39 +01:00
Torkel Ödegaard
d08a829b69 ux: fix for responsive breakpoints and solo mode showing sidemenu 2018-02-01 11:29:04 +01:00
Marcus Efraimsson
ef90b3e49c Merge branch '7883_new_url_structure' into 7883_frontend_step2 2018-02-01 11:08:39 +01:00
Torkel Ödegaard
b55ce1dd72 docs: moved whats new article to master 2018-02-01 10:55:29 +01:00
Marcus Efraimsson
b135df9a6c Merge remote-tracking branch 'upstream/master' into 7883_new_url_structure 2018-02-01 10:48:06 +01:00
Torkel Ödegaard
e985a9cd7c ux: fixed issue with zoom on graph caused scroll, fixes #10696 2018-02-01 10:36:55 +01:00
Carl Bergquist
eff687bece Merge pull request #10694 from grafana/7883_backend
backend for new url structure.
2018-02-01 09:35:00 +01:00
Carl Bergquist
1303dc7ac0 Merge pull request #10704 from alexanderzobnin/fix-backend-plugin-table-rows
plugins: return table with empty rows array insteaf of nil
2018-02-01 09:17:29 +01:00
Marcus Efraimsson
90933b0621 dashboard: refactor logic for retrieving url for folder/dashboard 2018-01-31 23:14:48 +01:00
Marcus Efraimsson
40c83e3e22 dashboards: update dashboard/folder url if browser url is not the same as from backend 2018-01-31 18:40:54 +01:00
Marcus Efraimsson
c0c3f17d84 dashboards: when restoring a dashboard to an older version, set current uid 2018-01-31 18:40:54 +01:00
Marcus Efraimsson
8fc648ac43 dashboards: fix updating folder so that correct url is returned 2018-01-31 18:40:54 +01:00
Marcus Efraimsson
035b724725 dashboards: remove slug property in dashboard search responses
Removes slug property in dashboard search responses since this property isn't needed
anymore and it haven't been released to any stable release.
2018-01-31 18:40:54 +01:00
Marcus Efraimsson
92a0171a9b folders: change the front end route for browsing folders
Change the front end route for folders to /dashboards/f/<uid>/<slug of folder title>.
Use new route for deleting dashboard/folder by uid.
Retrieve dashboard/folder by uid when moving or deleting dashboards/folders.
2018-01-31 18:40:54 +01:00
Marcus Efraimsson
b23560ed5a dashboards: add validation to delete dashboard by slug
Validates that there are only one folder/dashboard having that slug,
otherwise returns 412 Precondition Failed
2018-01-31 18:40:54 +01:00
Marcus Efraimsson
95d063621e dashboards: new route for deleting dashboards by uid 2018-01-31 18:40:54 +01:00
Marcus Efraimsson
c19f4a866f Merge pull request #10695 from grafana/7883_frontend_step
WIP: Dashboard & Persistent urls - Frontend Step
2018-01-31 18:37:05 +01:00
Alexander Zobnin
db7890ec1e plugins: return table with empty rows array insteaf of nil 2018-01-31 19:59:15 +03:00
bergquist
58cfb23625 retry uid generation 2018-01-31 17:29:17 +01:00
Torkel Ödegaard
75cf9ae27d fix: use replace when redirecting to new url 2018-01-31 17:26:35 +01:00
Johannes Schill
2e0cc2e347 ux: Change input width of UserPicker and TeamPicker in AddPermissions component #10676 2018-01-31 17:01:04 +01:00
Daniel Lee
3a0459e425 Merge branch 'dashboard_permissions' 2018-01-31 16:53:07 +01:00
Daniel Lee
a5197046e8 viewstore: fix test after merge 2018-01-31 16:49:41 +01:00
Johannes Schill
780c7f8775 tests: Add TeamPicker test and update TeamPicker/UserPicker snapshots so they match the latest classNames update #10676 2018-01-31 16:48:45 +01:00
Daniel Lee
a9e2273064 Merge remote-tracking branch 'upstream/master' into dashboard_permissions 2018-01-31 16:45:32 +01:00
Daniel Lee
a0fc5383fd dashfolders: fix for folder picker
If the selected folder is not in the options then manually create it. This
can happen in some edge cases (if an user has been given access to a
dashboard but does not have access to its parent folder)
2018-01-31 16:44:55 +01:00
Johannes Schill
a73af39056 ux: Add an optional className to the UserPicker and TeamPicker #10676 2018-01-31 16:44:14 +01:00
Daniel Lee
7e2e57c306 dashfolders: fixes #10671. Allow Editors default access to Root.
Editors should be able to create dashboards in root and should be
able to create folders. They cannot administrate permissions though
and these dashboards and folders will get the default permissions.
2018-01-31 16:43:21 +01:00
Torkel Ödegaard
4ac21d2e8f docs: added redirect from old provision page, #10691 2018-01-31 16:20:14 +01:00
Johannes Schill
20052150ba tests: Move tests from Permissions to AddPermissions #10676 2018-01-31 16:15:05 +01:00
Johannes Schill
1b9e02e4cc tests: Update tests in PermissionsStore and rem out the Permissions-tests for now #10676 2018-01-31 16:12:51 +01:00
bergquist
9aa488c084 Merge remote-tracking branch 'origin/7883_frontend_step' into 7883_backend
* origin/7883_frontend_step:
  dashboards: make scripted dashboards work using the old legacy urls
  dashboards: redirect from old url used to load dashboard to new url
  dashboards: add new default frontend route for rendering a dashboard panel
  dashboards: fix links to recently viewed and starred dashboards
  dashboards: use new *url* prop from dashboard search for linking to dashboards
  dashboards: when saving dashboard redirect if url changes
  dashboards: add new default frontend route for loading a dashboard
  dashboards: return url in response to save dashboard. #7883
2018-01-31 15:57:03 +01:00
Daniel Lee
2409d129c2 dashfolders: text change 2018-01-31 15:41:52 +01:00
Daniel Lee
9ef64d3056 dashfolders: special case for folders in root
Allow users to change permissions inherited from root.
2018-01-31 15:34:05 +01:00
bergquist
16a1642831 gofmt... 2018-01-31 15:15:15 +01:00
Daniel Lee
a7e57bc2f8 spelling 2018-01-31 15:07:17 +01:00
bergquist
3da2ab61e0 Verifies requirement of id in dashboards. 2018-01-31 14:36:14 +01:00
Johannes Schill
2ad4c30bc6 ux: POC - Update "Add permissions" design and add a fancy animation #10676 2018-01-31 14:19:07 +01:00
bergquist
7e96052594 ensure dashboard title is unique in folder 2018-01-31 14:18:54 +01:00
Frederic Hemberger
d90dfcc203 docs: Remove obsolete Ansible rule (#10689)
According to the author, the Ansible role is obsolete:
https://github.com/picotrading/ansible-grafana/issues/8#issuecomment-342210822
As the proposed alternative (https://github.com/jtyr/ansible-grafana/) hasn't been updated in the last two years either, I'm suggesting it should be removed altogether in favor of the role maintained by cloudalchemy.
2018-01-31 14:15:32 +01:00
Frederic Hemberger
f57e106dd5 docs: Fix outdated provisioning link (#10690) 2018-01-31 14:15:16 +01:00
Chris Rice
dba93d8240 Renamed "Period" to "Min period" in CloudWatch query editor (#10665) 2018-01-31 14:14:34 +01:00
Patrick O'Carroll
ad893614e1 created cta-bg variable and changed bg color on light theme (#10693) 2018-01-31 14:14:11 +01:00
Alexander Zobnin
56c526fad3 Repeat panels when row is expanding (#10679)
* fix: repeat panels when row is expanding

* repeat panel: change test name to more clear one
2018-01-31 14:13:47 +01:00
Marcus Efraimsson
57edf89033 dashboards: make scripted dashboards work using the old legacy urls
Scripted dashboards are still requested from /dashboard/script/scripted.js
#7883
2018-01-31 14:07:49 +01:00
Marcus Efraimsson
a99331cdb9 dashboards: redirect from old url used to load dashboard to new url
If legacy backend routes (/dashboard/db/<slug> and /dashboard-solo/db/<slug>)
are requested we try to redirect to new routes with a 301 Moved Permanently
 #7883
2018-01-31 14:06:19 +01:00
Daniel Lee
1cfc81de74 playlist: fixes #10254
Closes #10254
2018-01-31 11:07:27 +01:00
Marcus Efraimsson
3efb3d8efa dashboards: add new default frontend route for rendering a dashboard panel
New default route /d-solo/<uid>/<slug of dashboard title> where dashboard
panel are rendered by unique identifier and panel identifier.
If old route /dashboard-solo/db/<slug of dashboard tile> are used,
try to lookup dashboard by slug and redirect to new default route.
Change url logic for sharing a panel so that the new default route
for rendering a dashboard panel are used.
 #7883
2018-01-31 11:01:23 +01:00
Daniel Lee
79fe01959b alerting: small refactoring 2018-01-31 10:47:31 +01:00
Johannes Schill
666d29fafa dashfolders: POC - Use separate component for "Add permission" #10676 2018-01-31 10:39:38 +01:00
bergquist
bb3183f6cd removes uniqnes check on slug when saving dashboards 2018-01-31 10:29:52 +01:00
bergquist
6d2a555866 Drops unique index orgid_slug from dashboards. 2018-01-31 10:26:06 +01:00
bergquist
56d5ece340 plugins: return empty tables array insteaf of nil 2018-01-31 09:59:23 +01:00
Daniel Lee
816c4d2340 url: fix for boolean querystring parameters
Without this fix then the querystring looks like ?abool=true which causes
a mismatch with the angular routing. This results in a redirect and messes
up the browser history and back button.
2018-01-31 09:58:21 +01:00
Patrick O'Carroll
465e701b42 moved icon (#10681) 2018-01-31 09:52:29 +01:00
Marcus Efraimsson
7734df1d18 dashboards: fix links to recently viewed and starred dashboards
Use new property url from dashboard search for linking to dashboards
#7883
2018-01-31 00:48:36 +01:00
Marcus Efraimsson
f2014223b4 dashboards: use new *url* prop from dashboard search for linking to dashboards
#7883
2018-01-31 00:42:17 +01:00
Marcus Efraimsson
8009307c16 dashboards: when saving dashboard redirect if url changes
Redirect if new dashboard created or existing url changes.
#7883
2018-01-31 00:32:51 +01:00
Marcus Efraimsson
aefcff26a6 dashboards: add new default frontend route for loading a dashboard
New default route /d/<uid>/<slug of dashboard title> where dashboard
are loaded by unique identifier.
If old route /dashboard/db/<slug of dashboard tile> are used,
try to lookup dashboard by slug and redirect to new default route.
 #7883
2018-01-31 00:27:51 +01:00
Marcus Efraimsson
369597f7b2 dashboards: return url in response to save dashboard. #7883 2018-01-31 00:09:14 +01:00
Marcus Efraimsson
6ab526881a dashboards: ensure that uid is returned from getSaveModelClone
Without this the uid will not be sent to the backend when saving a
dashboard.
#7883
2018-01-31 00:06:31 +01:00
Daniel Lee
eb765d288c alertlist: disable pause button when user does not have permission 2018-01-30 23:35:27 +01:00
Marcus Efraimsson
fd59241e35 dashboards: revert adding api for retrieving uid by slug
Since we're already have possibility to get a dashboard by slug
it makes little sense to have a separate endpoint in api for
retrieving uid by slug.
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
4829ea0e9f util: remove retry logic in shortid_generator
Use shortid.MustGenerate() instead of shortid.Generate(). Instead
of returning errors it will panic.
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
9fb7b887db dashboards: add url property to dashboard meta and search api responses
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
7ee691dc48 dashboards: api for retrieving uid by slug. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
13d5db7d19 dashboards: add support for retrieving a dashboard by uid
Introduces new url in api /dashboards/<uid> for fetching dashboard by unique id
Leave the old dashboard by slug url /dashboards/db/<slug> for backward
compatibility and for supporting fallback
WIP for #7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
c1cff3849e dashboard: change unique index for uid to include org_id
Make the max length of uid longer in case we want to change it later
#7883
2018-01-30 23:18:34 +01:00
Marcus Efraimsson
46e1296700 dashboards: return uid in response to creating/updating a dashboard. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
e229f8aea8 dashboards: extract short uid generator to util package. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
fc7bab8bf0 dashboard: fix failing test. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
5b35c694dc dashboard: generate and include uid in dashboard model. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
025a14ec24 db: add migrations for creating a unique index for uid. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
50aa9ec69c db: add migrations for generating uid for existing dashboards. #7883 2018-01-30 23:18:34 +01:00
Marcus Efraimsson
401b01e1e6 db: add new column uid to the dashboard table. #7883 2018-01-30 23:18:34 +01:00
Patrick O'Carroll
2c8e448559 moved icon (#10681) 2018-01-30 20:01:12 +01:00
Daniel Lee
4bc5945c17 dashfolders: remove inline styles 2018-01-30 17:26:44 +01:00
Torkel Ödegaard
7cd379ac9f docs: fixed order of sidemenu 2018-01-30 16:14:28 +01:00
bergquist
8c8328eac5 test: fixes failing test in go1.10 2018-01-30 16:00:32 +01:00
Torkel Ödegaard
cca050ea14 docs: updated versions.json 2018-01-30 15:07:52 +01:00
Daniel Lee
f5107d5023 alerting: add permission check in api for pausing alerts 2018-01-30 14:41:25 +01:00
Daniel Lee
87d6d791d5 dashfolders: adds comment for dashboard api tests 2018-01-30 14:09:30 +01:00
Torkel Ödegaard
b4aa92e7ff docs: added versions file 2018-01-30 13:28:16 +01:00
Daniel Lee
2b7984355a dashfolders: adds comment for dashboard acl test 2018-01-30 13:28:00 +01:00
Daniel Lee
a00a42d9ee api: extract api test code to common_test.go 2018-01-30 13:17:48 +01:00
Alexander Zobnin
f8faa7dbba Merge branch 'ilgizar-10672_outside_the_row' 2018-01-30 14:20:24 +03:00
Alexander Zobnin
526960058a repeat panel: minor refactor 2018-01-30 14:19:10 +03:00
Daniel Lee
0fb05bcf59 Merge remote-tracking branch 'upstream/master' into dashboard_permissions 2018-01-30 09:26:23 +01:00
ilgizar
1c95da8f23 Fix horizontal panel repeat. Fix #10672. 2018-01-30 09:52:30 +05:00
Johannes Schill
ee57ed10f9 dashfolders: Add min-width to align icons in permissions list and some margin between icon and text #10275 2018-01-29 17:10:25 +01:00
Johannes Schill
0573545d5a ui: Fix Firefox align issue in dropdowns #10527 (#10662) 2018-01-29 17:06:16 +01:00
Torkel Ödegaard
b1cf4cf01c fix: InfluxDB Query Editor and selecting template variable in where clause caused issue, fixes #10402, fixes #10663 2018-01-29 17:04:29 +01:00
Daniel Lee
d74a98feff dashfolders: link to folder for inherited permissions
In the permissions view in dashboard settings, this adds a
link to the parent folder for inherited permissions. Which
allows the user to easily navigate to the folder and change
inherited permissions.
2018-01-29 16:10:47 +01:00
Johannes Schill
7900fd4a79 test: Update Tooltip test to check for className support 2018-01-29 15:54:59 +01:00
Alexander Zobnin
479658489a fix: remove repeated rows when repeat was disabled. (#10653) 2018-01-29 15:17:27 +01:00
Johannes Schill
e6c161d897 test: Update Popover test to check for className support 2018-01-29 15:10:05 +01:00
Johannes Schill
51b0f2b0c8 dashfolders: Get rid of unused import #10275 2018-01-29 14:53:10 +01:00
Johannes Schill
787b493c00 dashfolders: Use grafana's question mark instead of FA's and use the react tooltip instead of angular's #10275 2018-01-29 14:53:10 +01:00
Johannes Schill
d9460d0b2b dashfolders: Add className to Tooltip component 2018-01-29 14:51:28 +01:00
Alexander Zobnin
04053ec56c fix: don't show manually hidden sidemenu after view mode toggle (#10659) 2018-01-29 14:33:41 +01:00
Daniel Lee
146af8595d dashfolders: css class as parameter for Picker
For the permissions picker, pass in an extra class to decide
if the description should be aligned left or right.
2018-01-29 14:30:01 +01:00
Daniel Lee
5ee2d1de05 dashfolders: select with description for permissions
The dropdown for selecting permission is a new component built on
react-select that includes a description for the permission for
every option in the select.
2018-01-29 13:56:12 +01:00
Alexander Zobnin
b3ac85766e fix: show sidebar after mouse wheel scrolling (#10657) 2018-01-29 13:38:37 +01:00
Torkel Ödegaard
a0323e96fa fix: tweak of PR #10635 2018-01-29 10:46:05 +01:00
Torkel Ödegaard
dd4374cc65 Merge remote-tracking branch 'origin/10612_table-date-format' 2018-01-29 10:41:57 +01:00
Torkel Ödegaard
9363c40a0c Merge branch 'master' of github.com:grafana/grafana 2018-01-29 10:41:28 +01:00
Torkel Ödegaard
b6ce16ebae ux: minor tweak of #10634 2018-01-29 10:41:06 +01:00
bergquist
2782ad0955 plugins: only set error if errorstring is not empty 2018-01-29 09:53:18 +01:00
Torkel Ödegaard
c5a75ab84a Merge remote-tracking branch 'origin/10628_search_media_break' 2018-01-29 09:29:46 +01:00
Torkel Ödegaard
cd2161e796 Revert "Fix typeahead to avoid generating new backend request on each keypress. (#10596)"
This reverts commit 475febd004.
2018-01-29 08:38:23 +01:00
Daniel Lee
a7fba593df dashfolders: add help popover. Add folder title for inherited permissions 2018-01-27 18:16:21 +01:00
Daniel Lee
50b20a0e5a dashfolders: use react component for dashboard permissions
Switch out the angular component for the new react component on the
dashboard permissions editview on the settings page.
2018-01-27 17:26:40 +01:00
Patrick O'Carroll
5f81f401e3 replaced input with gf-form-dropdown 2018-01-26 17:25:12 +01:00
Patrick O'Carroll
ffff75b01a reverted media queries 2018-01-26 16:59:16 +01:00
bergquist
c34d458b94 Merge branch 'go1.9.3'
* go1.9.3:
  tech: upgrade to golang 1.9.3
2018-01-26 16:00:31 +01:00
Alexander Zobnin
e6c19eb8e9 graphite: fix nested alerting queries (#10633) 2018-01-26 15:05:05 +01:00
Patrick O'Carroll
2f891726c3 fix for sm 2018-01-26 14:57:55 +01:00
Patrick O'Carroll
08822fbdca added media break for md and sm 2018-01-26 14:46:52 +01:00
Daniel Lee
83548f98b9 dashfolders: add disabled Admin permission to list
This is a fake entry that is used to signal to the user that an Admin
user always has Admin rights and they cannot be removed.
2018-01-26 14:38:27 +01:00
bergquist
33beacff0a tech: upgrade to golang 1.9.3 2018-01-26 14:34:47 +01:00
Leonard Gram
d85b9c28c1 Locks down prometheus1 to v1.8.2 in live-test. 2018-01-26 14:32:20 +01:00
hannes
eefcb3080a fix typo in parameter. (#10613)
* options.scopedVars was called without 'd', so a undefined was passed
  to the function convertDimensionFormat()
2018-01-26 14:10:17 +01:00
Daniel Lee
ccd86873e7 dashfolders: autosave permissions on change (remove update button) 2018-01-26 14:02:22 +01:00
bergquist
0c6a90db08 changelog: move all 4.7 changes into 5.0 2018-01-26 11:16:09 +01:00
bergquist
a17dbf9af8 changelog: be more explicit about backwards compatibility 2018-01-26 10:51:31 +01:00
Marcus Efraimsson
3d1c624c12 WIP: Protect against brute force (frequent) login attempts (#10031)
* db: add login attempt migrations

* db: add possibility to create login attempts

* db: add possibility to retrieve login attempt count per username

* auth: validation and update of login attempts for invalid credentials

If login attempt count for user authenticating is 5 or more the last 5 minutes
we temporarily block the user access to login

* db: add possibility to delete expired login attempts

* cleanup: Delete login attempts older than 10 minutes

The cleanup job are running continuously and triggering each 10 minute

* fix typo: rename consequent to consequent

* auth: enable login attempt validation for ldap logins

* auth: disable login attempts validation by configuration

Setting is named DisableLoginAttemptsValidation and is false by default
Config disable_login_attempts_validation is placed under security section
#7616

* auth: don't run cleanup of login attempts if feature is disabled

#7616

* auth: rename settings.go to ldap_settings.go

* auth: refactor AuthenticateUser

Extract grafana login, ldap login and login attemp validation together
with their tests to separate files.
Enables testing of many more aspects when authenticating a user.
#7616

* auth: rename login attempt validation to brute force login protection

Setting DisableLoginAttemptsValidation => DisableBruteForceLoginProtection
Configuration disable_login_attempts_validation => disable_brute_force_login_protection
#7616
2018-01-26 10:41:41 +01:00
Daniel Lee
08c78ab8b7 dashfolders: fix tests for ViewStore after merge 2018-01-26 09:55:03 +01:00
James Westover
475febd004 Fix typeahead to avoid generating new backend request on each keypress. (#10596)
* Fix typeahead to not generate new request on each keypress.

* Change to debounce method
2018-01-26 09:27:06 +01:00
Alexander Zobnin
cffbb6afd5 fix vertical panel repeat (#10619) 2018-01-26 09:24:56 +01:00
Alexander Zobnin
b79017e4a4 graph: fix series sorting issue (#10617) 2018-01-26 09:23:56 +01:00
Carl Bergquist
ac2b36c271 Merge pull request #10610 from grafana/phantomjs_fix
fixes broken phantomjs rendering
2018-01-25 21:25:02 +01:00
Johannes Schill
49634593cf dashfolders: New snapshot since we changed from defaultValue to value per latest React documentation #10275 2018-01-25 15:37:49 +01:00
Johannes Schill
1255a0a356 refactor: Replace _.find with Array.prototype.find() 2018-01-25 15:37:27 +01:00
Johannes Schill
34f27f6b15 dashfolders: Convert mobx observable to js objects and remove the observer() since we want to use the component outside the react/mobx world #10275 2018-01-25 15:37:15 +01:00
Johannes Schill
0722ea04a6 dashfolders: Clean up more variables and move newType, aclTypes and permissionOptions to the store #10275 2018-01-25 15:37:05 +01:00
Johannes Schill
4ea9f3027a dashfolders: Remove variables not used and pass in the real dashboardId #10275 2018-01-25 15:36:56 +01:00
Johannes Schill
02a3951f95 dashfolders: Remove those 2-line-components from PageHeader to make it easier to read and make sure components listening to the mobx state are wrapped with observer() #10275 2018-01-25 15:36:45 +01:00
Johannes Schill
766ab69143 dashfolders: Add support for breadcrumbs in NavStore #10275 2018-01-25 15:36:34 +01:00
Johannes Schill
3a94918b8f dashfolders: Rename UserPicker folder => Picker. Inject the permission-store in the FolderPermissions-container instead of the Permissions component, add the PermissionsStore to the RootStore and and the error-message to the Permissions-store #10275 2018-01-25 15:36:04 +01:00
Johannes Schill
126607de83 dashfolders: Add Permissions information box #10275 2018-01-25 15:33:56 +01:00
Johannes Schill
6b421b80a6 dashfolders: Fix page max width #10275 2018-01-25 15:33:45 +01:00
Johannes Schill
c3664e1d87 dashfolders: Update jest tests with backendSrv #10275 2018-01-25 15:33:36 +01:00
Johannes Schill
5a9fe9aff9 dashfolders: Add a Team Picker component and use it on the dashboard permissions page #10275 2018-01-25 15:33:11 +01:00
Johannes Schill
6b9858c1d3 dashfolders: Working user picker on the dashboard permissions page #10275 2018-01-25 15:30:43 +01:00
Johannes Schill
2de0489868 dashfolders: Send down backendSrv to the react components #10275 2018-01-25 15:30:15 +01:00
Johannes Schill
b79a15b057 dashfolders: Re-use the API of the angular user picker instead, which is reusable #10275 2018-01-25 15:29:21 +01:00
bergquist
d62d5c7418 provisioning: delete dashboards from db when file is missing 2018-01-25 15:25:07 +01:00
Johannes Schill
1d8ce3673e dashfolders: Remove the PermissionsInner-strategy since we have a container for this route now #10275 2018-01-25 15:20:56 +01:00
Johannes Schill
a5d441e78e dashfolders: Permissions are injected via MST so it needs to be defined as optional #10275 2018-01-25 15:20:37 +01:00
Johannes Schill
f23fb740a9 dashfolders: Add FolderPermissions container and make sure isFolder is passed to PermissionsStore #10275 2018-01-25 15:20:00 +01:00
Johannes Schill
7e13d0f773 dashfolders: Always get dashboardid and backendsrv from props #10275 2018-01-25 15:19:41 +01:00
Johannes Schill
3490c44636 dashfolders: Rem code to avoid tests to fail #10275 2018-01-25 15:19:30 +01:00
Johannes Schill
44ea8e58e2 wip: More on the permissions. Left are team picker and user picker, tests and error messages #10275 2018-01-25 15:19:17 +01:00
Johannes Schill
460cbe98a1 fix: mobx-react-devtools is a dev dependancy #10275 2018-01-25 15:18:46 +01:00
Johannes Schill
c8193e10b9 dashfolder: wip: More wip on acl.html2permissions.tsx #10275 2018-01-25 15:18:16 +01:00
Johannes Schill
7616cfb5f0 dashfolders: wip - Move Permissions into React #10275 2018-01-25 15:14:59 +01:00
Daniel Lee
bc5fae5367 dashfolders: merge conflict 2018-01-25 14:54:50 +01:00
Daniel Lee
4cfe179f47 variables: lint fix 2018-01-25 14:49:51 +01:00
Daniel Lee
8aa55ee352 variables: fix when datasource returns error 2018-01-25 14:16:06 +01:00
bergquist
49673c509d fixes broken phantomjs rendering
when migrating from govendor to dep we broke the phantomjs rendering.

ref #10602
2018-01-25 13:27:24 +01:00
Patrick O'Carroll
eb2d4b20bc added varibale to table hover, lightend colors for table light theme, fixes #10609 (#10611) 2018-01-25 12:17:16 +01:00
Leonard Gram
1c034b7a73 fixes minor typo 2018-01-25 09:30:37 +01:00
bergquist
c3a768b3ed provsioning: dont stop grafana due to missing 2018-01-25 09:30:37 +01:00
Jonathan McCall
579d2b63f8 Disable prefix and postfix font size when gauge mode is enabled (#10573)
* Disable prefix and postfix font size when gauge mode is enabled

* Use function to hide prefix/postfix size when using gauge

* Rename disableFontSizes to canChangeFontSizes
2018-01-25 09:27:25 +01:00
bergquist
31a5134a0f docs: improve docs for image uploaders 2018-01-24 22:26:00 +01:00
Carl Bergquist
7c9913cb8a Merge pull request #10605 from tsvehagen/haproxy-example
docs: Add haproxy example for running behind reverse-proxy
2018-01-24 22:03:53 +01:00
bergquist
1508755422 cfg: remove local as default image uploader
ref #9967
2018-01-24 21:31:07 +01:00
Tobias Svehagen
f129754a96 docs: Add haproxy example for running behind reverse-proxy 2018-01-24 20:03:46 +01:00
bergquist
57e7048b8f provisioning: enables title changes for dashboards 2018-01-24 19:16:57 +01:00
hannes
43e6ea95e0 Cloudwatch: add support for multi instances (#10570)
* cloudwatch: fix ebs_volume_ids by create a client-session before call ec2:DescribeInstances.

* cloudwatch: add support for multi instanceIds on call ebs_volume_ids.
2018-01-24 15:41:42 +01:00
Torkel Ödegaard
889bc29330 ux: minor change, added import dashboard link to dashboard search side view 2018-01-24 15:29:16 +01:00
Leonard Gram
2d090829d8 Merge pull request #10603 from xlson/pruned-deps
tech: adds/removes in vendor folder according to dep 0.4.0.
2018-01-24 14:04:56 +01:00
Leonard Gram
f6fac03958 tech: adds/removes in vendor folder according to dep 0.4.0. 2018-01-24 14:01:45 +01:00
Marcus Efraimsson
39dd4799f0 docker: sync local time and timezone to mysql_tests block 2018-01-24 11:43:56 +01:00
Marcus Efraimsson
d36fd66dba dashfolder: fix for sqlite test 2018-01-24 11:43:08 +01:00
Marcus Efraimsson
1a5dee3c11 Merge pull request #10600 from grafana/mysql_dep_fix
mysql: pin the mysql dependency
2018-01-24 11:27:45 +01:00
Daniel Lee
9d2a667e8b dashfolder: fix for mysql test 2018-01-24 11:19:26 +01:00
bergquist
6618bff806 mysql: pin the mysql dependency 2018-01-24 11:07:57 +01:00
bergquist
d7f6f11eb1 tech: ignore /public and /node_modules 2018-01-24 11:01:27 +01:00
bergquist
d36e424fe0 tech: ignore /data folder for dep 2018-01-24 10:50:01 +01:00
bergquist
6a6eab5ea1 plugins: map error property on query result 2018-01-24 10:37:04 +01:00
bergquist
ee973a977b stats: send amount of stars as stats 2018-01-23 22:51:05 +01:00
bergquist
ea988a37dd tech: avoid using deprecated functions 2018-01-23 22:30:45 +01:00
bergquist
5a1cf2c793 style: minor code style changes 2018-01-23 22:28:47 +01:00
bergquist
77a4ccb822 dashboards: save provisioning meta data 2018-01-23 21:54:30 +01:00
bergquist
67a9e6a71d provisioing: add lookup table provisioned dashboards 2018-01-23 21:52:55 +01:00
Torkel Ödegaard
dd70710617 refactor: minor css class naming change of #10505 2018-01-23 16:10:04 +01:00
Torkel Ödegaard
12b08b61d7 Merge remote-tracking branch 'origin/graphite-query-editor-enhancements' 2018-01-23 16:02:46 +01:00
Torkel Ödegaard
3662b03d8f Merge branch 'master' of github.com:grafana/grafana 2018-01-23 13:04:09 +01:00
Torkel Ödegaard
dbfaf5dac8 refactor: minor refactoring of PR #10560 2018-01-23 13:03:44 +01:00
hannes
d82af23f1c cloudwatch: fix ebs_volume_ids by create a client-session before call ec2:DescribeInstances. (#10566) 2018-01-23 12:57:05 +01:00
Torkel Ödegaard
a24aa3ae28 Merge branch 'generic-oauth-jwt' of https://github.com/DanCech/grafana 2018-01-23 12:44:27 +01:00
Marcus Efraimsson
1ce6a420cb docker: use mysql and postgres from latest fake-data-gen 2018-01-23 10:51:48 +01:00
Carl Bergquist
e24d9a6224 Merge pull request #10584 from bkaganyildiz/update-opsgenie-notifier
Update OpsGenie Notifier to support different api domains.
2018-01-23 08:57:13 +01:00
bkaganyildiz
97d969bd5c Update OpsGenie Notifier to support different api domains. 2018-01-22 22:27:35 +03:00
Patrick O'Carroll
c611ffa4bc 10583 panel resize icon fix (#10585)
* removed svg, added ::after

* removed unnecessary code
2018-01-22 16:49:45 +01:00
Marcus Efraimsson
f8a03fa3e3 Merge pull request #10587 from grafana/10580_search_bug
dashboards: Fix issue with first click when expanding folder in search
2018-01-22 16:44:31 +01:00
Marcus Efraimsson
b5a6a9ab3b dashboards: Fix issue with first click when expanding folder in search
Fixes #10580
2018-01-22 16:12:52 +01:00
bergquist
5546828b9f cfg: adds info about local img uploader to docs 2018-01-22 11:11:30 +01:00
bergquist
704a198ffa docs: adds info about local img uploader 2018-01-22 11:09:16 +01:00
bergquist
b98dd680e9 changelog: adds note about closing #6922 2018-01-22 11:04:56 +01:00
Carl Bergquist
184e7046df Merge pull request #10059 from FunkyM/local-image-store
Add support for internal image store
2018-01-22 11:03:00 +01:00
bergquist
6780e00c7d changelog: note about closing #9664 2018-01-22 10:47:23 +01:00
Carl Bergquist
89ae4d6685 Merge pull request #9664 from mtanda/prometheus_on_by
(prometheus) show label name in paren after by/without/on/ignoring/group_left/group_right
2018-01-22 10:42:20 +01:00
bergquist
9678be15d9 changelog: adds note about closing #9770 2018-01-22 08:16:31 +01:00
Carl Bergquist
27d103adae Merge pull request #10574 from Jonnymcc/disable-mode-options-line-points-unchecked
Disable instead of hide mode options when line/points is unchecked
2018-01-22 08:11:19 +01:00
Carl Bergquist
397da7a444 Merge pull request #10572 from Jonnymcc/add-lumens-unit
Add lumens unit
2018-01-22 07:35:26 +01:00
Jonathan McCall
f516c82ddc Disable instead of hide mode options when line/points is unchecked 2018-01-20 19:23:26 -05:00
Daniel Lee
94a54248c1 dashfolders: show folders use can save to in picker
Instead of returning all folders a user has some sort of access to,
this change creates a new end point that returns folders the user
has write access to. This new endpoint is used in the folder picker
2018-01-20 01:58:28 +01:00
Daniel Lee
f443cb8229 dashfolders: fix bug in save as modal 2018-01-20 01:58:28 +01:00
Jonathan McCall
88e1ec3382 Add lumens unit 2018-01-19 19:12:30 -05:00
Dan Cech
562aa58029 add docs for configuring OAuth with Auth0 and Azure AD 2018-01-19 14:00:17 -05:00
Carl Bergquist
1de00ded1e Merge pull request #10556 from Ultimation/patch-1
Recommend a limit on database query for influxdb annotations
2018-01-19 13:49:29 +01:00
bergquist
083abff297 Merge branch 'master' into provisioning
* master:
  install dep instead of govendor on setup
  remove unused code from vendor
  migrate from govendor to dep
  fix: cloudwatch corrected error handling so original error is not thrown away
  Generic Oauth Support for ADFS (#9242)
  Adjusted the border color on the buttons in dashboard nav, fixed alert email text area width, fixed padding-top issue on dashboard settings aside
  mysql: convert numbers to text for annotation tooltip
  mysql: update to use ColumnTypes interface in new version
  mysql: update mysql driver to latest master
  gofmt my dear friend
  ux: updated react-layout-grid
2018-01-19 10:36:02 +01:00
bergquist
278337e45a install dep instead of govendor on setup 2018-01-19 10:27:02 +01:00
Carl Bergquist
987a546e74 Merge pull request #10563 from grafana/golang_dep
Migrated from govendor to dep
2018-01-19 10:22:54 +01:00
bergquist
7ed643f302 remove unused code from vendor 2018-01-19 09:54:22 +01:00
bergquist
e023f79c5a migrate from govendor to dep 2018-01-19 09:48:15 +01:00
Torkel Ödegaard
4f59d229fe fix: cloudwatch corrected error handling so original error is not thrown away 2018-01-19 09:24:44 +01:00
Dan Cech
a09044a45a go fmt 2018-01-18 19:17:05 -05:00
Dan Cech
04e17c145f support for decoding JWT id tokens 2018-01-18 18:25:58 -05:00
Torkel Ödegaard
4720b86f5c Merge remote-tracking branch 'origin/mattttt-style-tweaks' 2018-01-18 19:18:34 +01:00
Torkel Ödegaard
2d192f6cc8 Merge branch 'dashboard_permissions' of github.com:grafana/grafana into dashboard_permissions 2018-01-18 18:24:17 +01:00
Torkel Ödegaard
cfa775e012 ds: updated ds nav 2018-01-18 18:17:58 +01:00
Torkel Ödegaard
dc3e943a4e feat: ds edit fix 2018-01-18 17:43:41 +01:00
Torkel Ödegaard
ccde8d9e2f feat: ds edit nav 2018-01-18 17:42:40 +01:00
Dan Cech
5bb22b836d Generic Oauth Support for ADFS (#9242)
* check upn field if email address isn't present, support for adfs

* correctly set login to the user's email address if not specified by the oauth server

* break up GenericOAuth.UserInfo into helper functions
2018-01-18 17:24:04 +01:00
Andrew Cottrell
8368bfeab4 Recommend a limit on database query
Users not putting a limit on can end up causing bad performance. A recommended limit in the placehold is a quick little help.
2018-01-18 14:31:42 +00:00
Matt
0dffb6dbb1 Adjusted the border color on the buttons in dashboard nav, fixed alert email text area width, fixed padding-top issue on dashboard settings aside 2018-01-18 14:40:08 +01:00
Daniel Lee
f64637c2c5 dashfolders: stop user locking themselves out of a folder 2018-01-18 14:30:04 +01:00
Daniel Lee
10018d8455 dashfolders: add breadcrumbs to NavStore 2018-01-18 12:12:07 +01:00
bergquist
7858965117 codestyle: extract code into methods 2018-01-18 12:04:12 +01:00
Daniel Lee
1a019052d5 mysql: convert numbers to text for annotation tooltip 2018-01-18 11:50:16 +01:00
Daniel Lee
6d13645206 mysql: update to use ColumnTypes interface in new version
The custom code in vendor is not needed anymore and most of the
mapping code can be replaced.
2018-01-18 11:50:16 +01:00
Daniel Lee
7bc7af6c39 mysql: update mysql driver to latest master
The latest master implements the ColumnType interface.

See https://github.com/go-sql-driver/mysql/issues/495

This removes the custom code in the vendor folder that
did a ColumnType mapping.
2018-01-18 11:50:16 +01:00
bergquist
a32644198c gofmt my dear friend 2018-01-18 11:49:45 +01:00
Torkel Ödegaard
7dc046d9f5 ux: updated react-layout-grid 2018-01-18 11:33:39 +01:00
Carl Bergquist
d6667c4fa0 Merge pull request #10548 from StevenTobin/follow_symlinks
Make file_reader follow symlinks
2018-01-18 11:29:34 +01:00
bergquist
b6e6935821 plugins: send secureJsonData unencrypted 2018-01-18 11:22:44 +01:00
Carl Bergquist
81bb3e1e27 Merge pull request #10547 from grafana/provisioning
Dashboard provisioning. Replace folder property with path
2018-01-18 10:05:19 +01:00
stobin
f1813ae3a3 Make file_reader follow symlinks 2018-01-17 14:51:17 +00:00
bergquist
34d7f8a44f dashboards as cfg: property path replaces folder 2018-01-17 15:48:24 +01:00
bergquist
9e20004ec8 Merge branch 'plugin_lib'
* plugin_lib:
  moves datasource plugin model to grafana/grafana_plugin_model
2018-01-17 13:47:36 +01:00
bergquist
a183ea97bb moves datasource plugin model to grafana/grafana_plugin_model 2018-01-17 13:21:42 +01:00
Torkel Ödegaard
af9d1cc577 Update package.json
fixed duplicate dev dependency, closes #10542
2018-01-17 11:53:49 +01:00
Torkel Ödegaard
561561d8fe fix: fixed build issue 2018-01-17 10:48:07 +01:00
Torkel Ödegaard
66edb29f53 fix: multi valued query variables did not work correctly, fixes #10539 2018-01-17 09:41:35 +01:00
Dan Cech
c62b0858ae move graphite /functions parsing into gfunc.ts 2018-01-16 18:04:59 -05:00
Dan Cech
50ffe56b60 remove duplicate sass rules 2018-01-16 17:17:58 -05:00
Dan Cech
315ecf8505 fix tests & some display issues 2018-01-16 17:02:03 -05:00
Torkel Ödegaard
e9d33750cb fix: graphite func editor fixes, this component is messy and ugly as hell 2018-01-16 17:02:03 -05:00
Torkel Ödegaard
1a6bf692c6 fix: minor fixes 2018-01-16 17:02:03 -05:00
Torkel Ödegaard
38f4d5d06d fix: restored previous behavior of form_dropdown, this fixes all my observerd bugs with the dropdown behavior 2018-01-16 17:02:03 -05:00
Torkel Ödegaard
7e750cef43 fix: query editor needs to wait for function definitions to load 2018-01-16 17:02:03 -05:00
Dan Cech
b483d42d34 fix issue with metric find & functions being loaded multiple times 2018-01-16 17:02:03 -05:00
Dan Cech
60ba6ee6a2 interpolate variables in tags & values during autocomplete 2018-01-16 17:02:03 -05:00
Dan Cech
92086bc858 fix typo 2018-01-16 17:02:03 -05:00
Dan Cech
1d00c3c72a update rst2html 2018-01-16 17:02:03 -05:00
Dan Cech
da9e1a7e98 fix line length, run jscs & jshint in precommit 2018-01-16 17:02:03 -05:00
Dan Cech
3ddb65fc8b function description formatting 2018-01-16 17:02:03 -05:00
Dan Cech
4d3bac0284 tooltips for function definitions 2018-01-16 17:02:03 -05:00
Dan Cech
80a6e0d8d1 support specifying tag_values("<tag>") as graphite template query 2018-01-16 17:02:03 -05:00
Dan Cech
7c1be021ac use typeahead value in graphite find requests 2018-01-16 17:02:03 -05:00
Dan Cech
ff759b0ef7 send prefix when auto-completing tags 2018-01-16 17:02:03 -05:00
Dan Cech
d8f2a20775 add button to trigger evaluation of tag queries 2018-01-16 17:02:03 -05:00
Dan Cech
a3dba6070e sync function categories with graphite-web 2018-01-16 17:02:03 -05:00
Dan Cech
ebad19b232 work on tag dropdown behavior 2018-01-16 17:02:03 -05:00
Dan Cech
3a4e05133e support for loading function definitions from graphite 2018-01-16 17:02:03 -05:00
Torkel Ödegaard
c4c0e7934b Update building_from_source.md
corrected build instructions, #10532
2018-01-16 20:15:52 +01:00
Torkel Ödegaard
94b0c79631 Update README.md
Simplified build instructions i
2018-01-16 20:14:53 +01:00
Torkel Ödegaard
6edc945e85 Update default_task.js
removed build clean from test task, #10532
2018-01-16 20:13:27 +01:00
Leonard Gram
183507964c Clearer naming for dashboard provisioning config.
Renames folder (in options) to path to make it
different from the grafana folder wherein the
dashboard will be created.
2018-01-16 17:40:14 +01:00
Torkel Ödegaard
307b419f7c ux: dashboard nav and settings tweaks 2018-01-16 14:41:08 +01:00
Torkel Ödegaard
11ba8070b8 Tag filters in search (#10521)
* tag filter: initial react component

* dashboard: move tag filter to filterbox

* tag filter: customize value rendering

* tag filter: get color from name

* tag filter:  custom option renderer

* tag filter: mode with tags in different container

* tag filter: refactor

* refactoring PR #10519

* tag filter: refactor of PR #10521
2018-01-16 12:52:13 +01:00
Torkel Ödegaard
42d7308034 fix: save as enter key now works and folder selection also works, fixes #10464 2018-01-16 12:50:24 +01:00
bergquist
5eb36e65f2 use context over golang.org/x/net/context 2018-01-16 12:32:58 +01:00
Daniel Lee
a5830c6dbc Merge remote-tracking branch 'upstream/master' into dashboard_permissions 2018-01-16 12:02:13 +01:00
Daniel Lee
87064bff79 docs: small update to IIS proxy docs 2018-01-16 09:49:12 +01:00
Patrick O'Carroll
08211eb220 added a variable for grid color and if statment to switch colors, fixes #10509 (#10517) 2018-01-15 12:43:09 +01:00
bergquist
1a6c2ea8d8 dashboards as cfg: logs error when trying to import dashboard with id
dashboard json cannot contain fixed id when importing from
disk. We used to override this but it didnt caught all problems
so now we block dashboards from beeing imported instead.

closes #10504
2018-01-15 12:26:43 +01:00
bergquist
3951df136c Merge branch 'backend_plugins'
* backend_plugins: (34 commits)
  code style fixes
  Adds Table in backend datasource contract.
  Adds Tables types to protobuf
  Review tsdb protobuf contract
  supports windows compatible plugin binaries
  moves plugin proxy to plugin package
  improves name for plugin logger
  uses pluginmanagers log instead of global
  removes commented code
  makes datasource handshake more explicit
  backend plugins: improves logging
  dont spawn new subprocess while shutting down
  plugins: restart killed plugins
  query result should be a map
  test for plugin path builder
  merge backend datasources and datasources
  use int64 for timestamps
  fixes invalid valud/timestamp order
  merge backend-datasource and datasource type
  fixes broken unit test
  ...
2018-01-15 10:48:06 +01:00
bergquist
5499f4910c Merge branch 'master' into backend_plugins
* master: (117 commits)
  fix: share snapshot controller was missing ngInject comment, fixes #10511
  Use URLEncoding instead of StdEncoding to be sure state value will be corectly decoded (#10512)
  Optimize metrics and notifications docs
  Optimize cli and provisioning docs
  docs: Guide for IIS reverse proxy
  changelog: adds note about closing #9645
  telegram: Send notifications with an inline image
  telegram: Switch to using multipart form rather than JSON as a body
  telegram: Fix a typo in variable name
  fix: alert list pause/start toggle was not working properly
  fix template variable selector overlap by the panel (#10493)
  dashboard: Close/hide 'Add Panel' before saving a dashboard (#10482)
  fix: removed unused param
  Fix variables values passing when both repeat rows and panels is used (#10488)
  moved angular-mocks out of dependencies
  ux: minor change to alert list page
  ux: minor word change to alert list
  fix: updated snapshot test
  Add eu-west-3 in cloudwatch datasource default's region (#10477)
  fix: Make sure orig files are not added to git again #10289
  ...
2018-01-15 10:27:12 +01:00
bergquist
b511788c51 code style fixes 2018-01-15 10:26:33 +01:00
Daniel Lee
58293ce5cc dashfolders: bugfix after rename 2018-01-15 10:15:52 +01:00
Daniel Lee
4948d4fd75 dashfolders: bugfix after rename 2018-01-15 10:14:10 +01:00
Leonard Gram
b63c834a4b Adds Table in backend datasource contract. 2018-01-15 09:41:44 +01:00
Torkel Ödegaard
270db4da8b fix: share snapshot controller was missing ngInject comment, fixes #10511 2018-01-15 09:05:26 +01:00
m-pavel
dff66559e4 Use URLEncoding instead of StdEncoding to be sure state value will be corectly decoded (#10512) 2018-01-15 08:49:30 +01:00
Carl Bergquist
baffdb156e Merge pull request #10510 from nir0s/fix-docs
Fix docs
2018-01-15 08:10:59 +01:00
nir0s
b7d4a1887c Optimize metrics and notifications docs 2018-01-14 10:09:49 +02:00
nir0s
71a12c6bb6 Optimize cli and provisioning docs 2018-01-14 08:57:48 +02:00
Martin Szulecki
c82e23d96e imguploader: Add support for new internal image store (#6922) 2018-01-12 21:40:12 +01:00
Daniel Lee
77b5dee408 docs: Guide for IIS reverse proxy 2018-01-12 17:02:10 +01:00
bergquist
594447f5f5 changelog: adds note about closing #9645 2018-01-12 13:20:01 +01:00
Carl Bergquist
a69bdf9432 Merge pull request #9967 from rburchell/master
Add support for inline image uploads to telegram notifier plugin
2018-01-12 13:18:22 +01:00
Robin Burchell
43109dc8ca telegram: Send notifications with an inline image
If image upload is enabled, but there is no public image repository,
fall back to sending an image via telegram's API.
2018-01-11 17:23:50 -05:00
Robin Burchell
b6fcf2b609 telegram: Switch to using multipart form rather than JSON as a body
This is a pre-requisite for uploading inline images.
2018-01-11 17:21:43 -05:00
Robin Burchell
a1a9f339bf telegram: Fix a typo in variable name 2018-01-11 17:21:43 -05:00
Daniel Lee
21b5ded75b dashfolder: refactor breadcrumbs in PageHeader
Combines title and breadcrumbs in PageHeader instead of having to
set title to empty and add it as a breadcrumb.
2018-01-11 17:53:06 +01:00
Daniel Lee
545d7b9477 dashfolders: convert folder settings to React 2018-01-11 15:42:45 +01:00
bergquist
9e942f1a6d Adds Tables types to protobuf 2018-01-11 15:34:07 +01:00
Torkel Ödegaard
f3a66ecbcb fix: alert list pause/start toggle was not working properly 2018-01-11 15:18:38 +01:00
Alexander Zobnin
6a73205b18 fix template variable selector overlap by the panel (#10493) 2018-01-11 15:03:24 +01:00
bergquist
ce4beb730d Review tsdb protobuf contract 2018-01-11 15:01:49 +01:00
Marcus Efraimsson
2843961677 dashboard: Close/hide 'Add Panel' before saving a dashboard (#10482)
Fixes #10472
2018-01-11 08:56:19 +01:00
bergquist
1fd40a48d9 supports windows compatible plugin binaries 2018-01-10 15:07:04 +01:00
Torkel Ödegaard
9606a34e0a fix: removed unused param 2018-01-10 14:34:08 +01:00
Torkel Ödegaard
ae9b3186e3 Merge branch 'master' of github.com:grafana/grafana 2018-01-10 14:30:54 +01:00
Alexander Zobnin
bfd7e1043b Fix variables values passing when both repeat rows and panels is used (#10488)
* dashboard: repeat rows and panels tests

* fix variable values passing when both repeat rows and panels is used
2018-01-10 14:30:43 +01:00
Torkel Ödegaard
d2f866c27c moved angular-mocks out of dependencies 2018-01-10 14:29:19 +01:00
Torkel Ödegaard
b76958f07b ux: minor change to alert list page 2018-01-10 14:18:58 +01:00
Torkel Ödegaard
32df74ffec ux: minor word change to alert list 2018-01-10 13:17:43 +01:00
Torkel Ödegaard
686548a6ed fix: updated snapshot test 2018-01-10 13:16:16 +01:00
Torkel Ödegaard
7854f80f5a Merge remote-tracking branch 'origin/10289_user_picker' 2018-01-10 13:14:43 +01:00
bergquist
ebd8677607 moves plugin proxy to plugin package 2018-01-10 12:11:57 +01:00
nicolasguyomar
66d7884b48 Add eu-west-3 in cloudwatch datasource default's region (#10477)
* Add eu-west-3 as a possible default datasource

* Add eu-west-3 as a possible default datasource
2018-01-10 12:07:04 +01:00
Johannes Schill
0b81117ee2 fix: Make sure orig files are not added to git again #10289 2018-01-10 12:04:46 +01:00
bergquist
acb7d802d1 improves name for plugin logger 2018-01-10 12:01:39 +01:00
Johannes Schill
79bad41843 fix: Remove conflict file #10289 2018-01-10 12:00:28 +01:00
Alexander Zobnin
1fdc24c412 text panel: fix $apply already in progress error (#10486) 2018-01-10 11:56:01 +01:00
Torkel Ödegaard
5d5de23025 refactoring: alert list improvments PR #10452 2018-01-10 11:54:47 +01:00
bergquist
50db9810e8 uses pluginmanagers log instead of global 2018-01-10 11:49:40 +01:00
Johannes Schill
e4a2bda4f2 10389 react tooltip components (#10473)
* poc: Use react-popper for tooltips #10389

* poc: Add popover component and use a hoc() for Tooltip + Popover to avoid code duplication #10389

* jest: Add snapshot tests to Popover and Tooltip #10389

* poc: Move target from hoc into Popover/Tooltip-component #10389

* poc: Clean up unused styles and use the existing Grafana style/colors on popper tooltip #10389

* poc: Remove test code before PR

* poc: Remove imports used in poc but shouldn't be included anymore #10389
2018-01-10 10:27:33 +01:00
Johannes Schill
ffda5eef95 test: Updated snapshot for UserPicker jest test #10289 2018-01-09 15:48:02 +01:00
Johannes Schill
aac1b250af ux: When adding a new panel we should scroll to top until we figure o… (#10417)
* ux: When adding a new panel we should scroll to top until we figure out a better solution #10299

* ux: Use jquery to add smooth scrolling when scrolling up to add a panel, and make sure to pass the scope to the event emitter, #10299

* ux: Add a close button to the "New panel"-box and make sure you scroll to top every time you click "Add panel" #10299
2018-01-09 15:27:53 +01:00
bergquist
e6921a6a01 removes commented code 2018-01-09 15:25:36 +01:00
Patrick O'Carroll
d48be3ca15 naming fixes and added test file 2018-01-09 15:16:55 +01:00
bergquist
dbd1ba465f makes datasource handshake more explicit 2018-01-09 15:04:59 +01:00
bergquist
44e485af41 backend plugins: improves logging 2018-01-09 14:56:23 +01:00
Daniel Lee
e1aff1d5ff dashfolders: show/hide create folder or dashboard buttons
depending on the user role and the permissions the user has for a
folder.
2018-01-09 14:44:36 +01:00
Daniel Lee
a8e9a4995c dashfolders: fix mergeconflict error 2018-01-09 14:44:36 +01:00
Daniel Lee
6f98117641 dashfolders: prettify 2018-01-09 14:44:36 +01:00
Daniel Lee
c27a74bb6b dashfolders: check permissions for new dashboard
ref #10275. Use the parent folder permissions if new dashboard and
it does not have an id yet.
2018-01-09 14:44:36 +01:00
Daniel Lee
ae69c96518 dashfolders: allow any signed in user to get list of teams 2018-01-09 14:44:36 +01:00
Daniel Lee
b7f023bc26 fix gofmt warning 2018-01-09 14:44:36 +01:00
Daniel Lee
3ae1bf0c16 dashfolders: permissions for saving annotations
ref #10275 Use folder permissions instead of hard coded
permissions on the annotations routes.
2018-01-09 14:44:36 +01:00
Daniel Lee
eef37c4071 dashfolders: disable save button after save of acl 2018-01-09 14:44:36 +01:00
Daniel Lee
e77878bba8 dashfolders: on folder page, hide tabs if not has admin permission 2018-01-09 14:44:36 +01:00
Daniel Lee
61ed0b0381 dashfolders: remove role requirements on dashboard routes
and rely on the permission system instead.
2018-01-09 14:44:36 +01:00
Daniel Lee
f7bbfeba28 dashfolders: must have admin permission to save/see dash acl 2018-01-09 14:44:36 +01:00
Daniel Lee
5b6ee6f37b dashfolders: prettify on tests file 2018-01-09 14:44:36 +01:00
Daniel Lee
1e496ec76c dashfolders: permissions tab in dashboard settings 2018-01-09 14:44:36 +01:00
Daniel Lee
5400692cd4 dashfolders: permissions tab for dashboard folders 2018-01-09 14:44:36 +01:00
Daniel Lee
3ea63a1064 fix for unsaved changes popup on tab close/refresh
Incorrect return values in onbeforeunload event handler mean that the
unsaved changes popup is shown despite there being no changes.
2018-01-09 14:42:58 +01:00
Johannes Schill
c62a6aa7df fix: Clean up logging and remove unused css #10289 2018-01-09 14:42:23 +01:00
Johannes Schill
c297a1c5a5 fix: Rename directive user-pickerr (yes two r's) to select-user-picker 2018-01-09 14:42:23 +01:00
Johannes Schill
1a993378bd fix: Accidently added the conflict files (#10289) 2018-01-09 14:39:10 +01:00
Johannes Schill
76ba7d1f8c test: Add snapshot tests for UserPicker and UserPickerOption (#10289) 2018-01-09 14:39:10 +01:00
Johannes Schill
68d43b865f fix: Add interface for props to UserPickerOption (#10289) 2018-01-09 14:39:10 +01:00
Johannes Schill
5931d6c87d ux: POC on new select box for the user picker (#10289) 2018-01-09 14:39:10 +01:00
Alexander Zobnin
04b9752932 dashboard: fix opening links in new tab (#10465) 2018-01-09 13:59:11 +01:00
Alexander Zobnin
51cd3a0d0c alert list: fix rendering timeout when share panel (#10467) 2018-01-09 13:58:24 +01:00
Alexander Zobnin
a4972f44ad fix missing profile icon (#10469) 2018-01-09 13:58:03 +01:00
Marcus Efraimsson
3ecec8e0d2 More fixes for relative urls when running Grafana under a different sub path (#10470)
* Add nginx proxy docker container

Ease test/verification of running Grafana thru a reverse proxy

* Add apache proxy docker container

Ease test/verification of running Grafana thru a reverse proxy

* Fix relative urls for reset password page

* Fix relative urls for signup page

* Fix relative urls for login page

* Fix relative urls edit plugin page
2018-01-09 13:56:41 +01:00
Patrick O'Carroll
48548f0641 put this.props.search in the Highlighter 2018-01-09 13:18:16 +01:00
Patrick O'Carroll
bebcc24f3d moved state handling for search to store 2018-01-09 13:05:50 +01:00
Torkel Ödegaard
776d17458b Delete CopyQuery.png 2018-01-09 12:50:59 +01:00
Torkel Ödegaard
69936057a9 Delete tgr288gear_line6.pdf 2018-01-09 12:50:18 +01:00
Marcus Efraimsson
4af1aca97c Merge pull request #10463 from AnonyV/master
Fixed the subUrl bugs for folder/settings/teams etc. with root_url modified
2018-01-09 12:42:22 +01:00
Torkel Ödegaard
62165f91bf fix: added back colors to rootScope, fixes #10462 2018-01-09 11:13:37 +01:00
AnonyV
6c9554499b fixed the subUrl bugs from https://community.grafana.com/t/suburl-not-work-at-some-links-and-buttons/4701 with folder/settings/teams etc. 2018-01-09 18:03:43 +08:00
Carl Bergquist
044a44757c Merge pull request #10457 from pachico/master
Fix typo in error message
2018-01-09 08:32:51 +01:00
Mariano Benítez Mulet
ec9db318e3 Fix typo in error message 2018-01-09 08:24:14 +01:00
Carl Bergquist
e8704569f0 Merge pull request #10449 from xlson/update-go-stack-dependency
Updates go-stack to v1.7.0.
2018-01-08 21:19:56 +01:00
Patrick O'Carroll
025835c9bf updated snapshot 2018-01-08 17:43:33 +01:00
Patrick O'Carroll
8b00e65a83 styling fix 2018-01-08 17:28:18 +01:00
Patrick O'Carroll
457a02b970 added highlight to search 2018-01-08 17:22:44 +01:00
Leonard Gram
ff766970dc Updates go-stack to v1.7.0.
Closes #10435
2018-01-08 15:28:47 +01:00
Carl Bergquist
42374f9655 docs: adds note about tlsSkipVerify to docs
ref #9504
2018-01-08 13:21:51 +01:00
Patrick O'Carroll
fc6d14127d fixed regex issue 2018-01-05 15:19:25 +01:00
Patrick O'Carroll
3797054eb4 made a view of filtered list 2018-01-05 14:17:50 +01:00
Patrick O'Carroll
5079dcdc62 updated jest file and snapshot 2018-01-05 10:34:01 +01:00
Daniel Lee
ccf1a5124b plugin: fix path for app plugins on windows
This fixes when an app that contains a plugin (which means it has
a filepath with more parts) gets a back slash in the path for the
plugin module. The string replace now replaces all back slashes and
not just the first one.
2018-01-04 17:32:57 +01:00
Patrick O'Carroll
2248bf437c added search function 2018-01-04 15:27:09 +01:00
Patrick O'Carroll
0068e82718 new styling and markup 2018-01-04 13:08:49 +01:00
Torkel Ödegaard
27835f373e cleanup: removed unused typescript typings import 2018-01-04 10:12:02 +01:00
Torkel Ödegaard
c42a232644 Merge branch 'react-mobx' 2018-01-04 09:12:57 +01:00
Trent White
ee05ea8d60 new add alert notification channel icon 2018-01-03 14:23:14 -05:00
Johannes Schill
8abef88b94 mobx: poc in using each store as individual prop on the react containers (#10414)
* mobx: poc in using each store as individual prop on the react containers

* prettier test

* fix: end the war between prettier vs tslint.

* mobx: Move stores into their own folders

* mobx: Refactor the AlertRule into its own file and add a helper-file

* mobx: Move NavItem out of NavStore and remove lodash dependancy

* mobx: Move ResultItem and SearchResultSection models out of the SearchStore

* mobx: ServerStatsStore rename .tsx => .ts. And move ServerStat-model to its own file.

* mobx: Remove lodash and jquery dependancy from ViewStore

* mobx: Remove issue with double question mark
2018-01-03 20:11:07 +01:00
Johannes Schill
d2cdacce40 fix: Change max size of panel JSON editor so button is shown on smaller screens, #10346 (#10415) 2018-01-03 20:04:45 +01:00
Oleksandr Kushchenko
5c94daa011 Add AWS/AmazonMQ namespace metrics to CloudWatch tsdb (#10407) 2018-01-03 11:11:31 +01:00
Dan Cech
f31d6438a2 add docs for using oauth login with OneLogin (#10385) 2018-01-03 10:15:35 +01:00
Patrick O'Carroll
58e0bdd71f added empty list cta to notification channels, fixes 10393 (#10400) 2018-01-02 12:16:38 +01:00
Torkel Ödegaard
f049fc4816 mobx: fixed issue with view store, and added missing snapshot 2018-01-02 11:02:43 +01:00
Torkel Ödegaard
5981f67226 tech: enzyme container test working 2018-01-01 18:54:23 +01:00
Torkel Ödegaard
644adef465 tech: enzyme container test working 2018-01-01 16:04:32 +01:00
Torkel Ödegaard
3301f8f194 react: trying to get enzyme and mobx tests working 2018-01-01 15:39:26 +01:00
Torkel Ödegaard
8f50795a94 tech: url and query mobx store so now react components and containers can read and modify url path and query via mobx store 2017-12-31 22:31:11 +01:00
Torkel Ödegaard
029317ed18 tech: alert list react migration progress 2017-12-31 14:16:19 +01:00
Alexander Zobnin
62df406d7b fix info popover, #10302 (#10377) 2017-12-31 12:26:02 +01:00
Alexander Zobnin
e84b6d189a fix move dashboard variables, #10347 (#10375) 2017-12-31 12:24:42 +01:00
Marcus Efraimsson
11ae7d5964 dashfolders: relative links should work when root_path is specified (#10363)
Fixes #10336
2017-12-31 12:24:21 +01:00
Alexander Zobnin
d210e766e7 fix mixed datasource add query button, #10316 (#10361) 2017-12-31 12:21:49 +01:00
Torkel Ödegaard
5a571f4784 tech: react mobx progress 2017-12-29 17:13:58 +01:00
Carl Bergquist
be93468b58 Merge pull request #10383 from babolivier/enhance/doc-dashboard-version
Doc version and schemaVersion properties of dashboards
2017-12-29 13:56:53 +01:00
Brendan Abolivier
511f7f9000 Doc version and schemaVersion properties of dashboards 2017-12-29 09:45:07 +01:00
Torkel Ödegaard
4c1a67c34e tech: began reworking alerting list to mobx 2017-12-28 18:49:33 +01:00
Torkel Ödegaard
8fd8853770 tech: progress on react pages 2017-12-28 17:03:40 +01:00
bergquist
1f9e2ef6ec prom: fixes broken test 2017-12-28 16:43:48 +01:00
Carl Bergquist
16ef068342 Merge pull request #10373 from bergquist/dashboard_folder_provisioning
Dashboards as cfg: create dashboard folder if missing
2017-12-28 16:13:18 +01:00
bergquist
71272d9076 prom: make $__$interval the first suggested range vector 2017-12-28 16:01:02 +01:00
bergquist
a4e4b76785 fixes log typo 2017-12-28 15:51:31 +01:00
bergquist
b840514797 imguploader: log if the configuration is invalid 2017-12-28 15:48:19 +01:00
bergquist
212bb2a385 changelog: adds note about closing #8955 2017-12-28 15:37:43 +01:00
Carl Bergquist
29f58475a3 Merge pull request #8956 from saada/azure-external-image-store
Azure Blob Storage external image uploader
2017-12-28 15:34:20 +01:00
bergquist
8a5fe5b0df renderer: avoid calling Handle twice 2017-12-28 14:37:10 +01:00
Carl Bergquist
7a8a52a145 Merge pull request #10362 from grafana/cloudwatch-file-to-ts
migrated datasource to ts
2017-12-28 13:44:18 +01:00
bergquist
f5e00e133b dashboards as cfg: moves dashcash into its own file 2017-12-28 13:37:02 +01:00
bergquist
237d469ed4 dashboards as cfg: create dashboard folders if missing
closes #10259
2017-12-28 13:33:11 +01:00
Patrick O'Carroll
54c502ae4d fixed error 2017-12-28 09:44:37 +01:00
bergquist
f4078e1935 tests: for skipping with hidden folders 2017-12-27 15:04:49 +01:00
Mahmoud Saada
af15e3c0d0 Implement Azure Blob external image uploader 2017-12-27 08:53:00 -05:00
Patrick O'Carroll
0c5314cec7 migrated datasource to ts 2017-12-27 13:25:40 +01:00
Torkel Ödegaard
5b91bb9163 tech: minor progress on mobx state tree & react containers, working on unit testing 2017-12-27 13:15:27 +01:00
Torkel Ödegaard
8aff969f70 Merge branch 'master' into react-mobx 2017-12-27 11:00:37 +01:00
Alexander Zobnin
1108101087 Fix tooltip unit when legend isn't shown (#10348)
* graph: fix tooltip unit when legend isn't shown, #10311

* fix broken tests (updateLegendValues() function)
2017-12-27 09:50:51 +01:00
Torkel Ödegaard
c8f87a3d09 refactor: minor refactoring of PR #10236 2017-12-27 09:49:12 +01:00
Alexander Zobnin
77843623b2 don't save dashboard on make editable, #10236 2017-12-27 09:49:12 +01:00
Alexander Zobnin
d4ff603eb0 fix scripted dashboard loader, #10350 (#10351) 2017-12-27 09:36:25 +01:00
Lichun Wei
2559259763 new aws region cn-northwest-1 (#10353)
see http://docs.aws.amazon.com/general/latest/gr/rande.html for regions
2017-12-27 09:34:12 +01:00
Torkel Ödegaard
3e7420320c Merge branch 'master' into react-mobx 2017-12-26 13:53:39 +01:00
Marcus Efraimsson
39eb8f9eba Dashboard: View JSON improvements (#10327)
* dashboard: enable copy to clipboard for view json and panel json

* dashboard: use code editor for view json under settings
2017-12-26 13:52:19 +01:00
Torkel Ödegaard
c11cf18879 refactor: tried to simplify and also minimize scope a bit for #10323 2017-12-26 13:22:01 +01:00
Torkel Ödegaard
b4ab91d651 Merge remote-tracking branch 'origin/10248_copy_panels' 2017-12-26 12:31:46 +01:00
Torkel Ödegaard
8fb0692da6 Merge remote-tracking branch 'origin/migrate-dashboard-files-to-ts' 2017-12-26 12:26:50 +01:00
Torkel Ödegaard
7e55509106 Merge branch 'smallsinglestat' of https://github.com/roidelapluie/grafana into roidelapluie-smallsinglestat 2017-12-26 12:00:08 +01:00
Mitsuhiro Tanda
6d5628f2ea ignore trailing whitespace (#10344) 2017-12-26 11:59:03 +01:00
Mitsuhiro Tanda
e3274d6765 (prometheus) show label name in paren after by/without/on/ignoring/group_left/group_right 2017-12-26 01:57:10 +09:00
bergquist
75a54e85dc dont spawn new subprocess while shutting down 2017-12-25 14:12:25 +01:00
Julien Pivotto
6a6633ab86 Fix small singlestat value display
This fix improves the rendering of singlestats in small boxes in grafana
5. This allows the user to get boxes oh height=1 and still see the value
of the stat entirely.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-12-23 14:57:37 +01:00
Torkel Ödegaard
24723cdb3c fix: fixed issue with optimized build, fixes #10333 2017-12-23 08:34:48 +01:00
Patrick O'Carroll
52f30f6f00 migrated file to ts (#10328) 2017-12-22 20:52:57 +01:00
bergquist
05362a9666 plugins: restart killed plugins 2017-12-22 15:40:45 +01:00
bergquist
4aeef32073 query result should be a map 2017-12-22 14:40:38 +01:00
bergquist
e234cf5b18 prom: removes limitation of one query per tsdb call 2017-12-22 12:22:42 +01:00
bergquist
cd92d219cd changelog: adds note about closing #10222 2017-12-22 11:00:18 +01:00
bergquist
7917efb31a pagerduty: fixes invalid default value
autoResolve incident checkbox was set to disabled by default but
the backend used enabled as default. This commit makes both use
disabled by defualt

fixes #10222
2017-12-22 10:54:48 +01:00
Marcus Efraimsson
281e519fab fix: remove unused code 2017-12-22 10:26:01 +01:00
Marcus Efraimsson
68457f5636 dashboard: copy panel to clipboard
Adds a new menu item to panels, Copy to Clipboard, that will both
copy the panel json to the clipboard and temporarily store the panel object
in the browsers window object. The temporarily stored panel object are
available in Add Panel from any dashboard for as long you don't refresh
the browser.
Fixes #10248, #1004
2017-12-22 10:24:55 +01:00
bergquist
e480a38dc1 pagerduty: adds test for reading auto resolve setting 2017-12-22 09:58:37 +01:00
Patrick O'Carroll
972c3bc635 code formatting fix 2017-12-21 13:44:34 +01:00
Patrick O'Carroll
9b63a81756 migrated files to ts + fixed specfile 2017-12-21 13:22:20 +01:00
Torkel Ödegaard
02ad2e5f0f tech: cleaned up unused stuff 2017-12-21 12:31:04 +01:00
Torkel Ödegaard
9f7560b6f9 ux: removed unused stuff form style guide 2017-12-21 12:20:55 +01:00
Torkel Ödegaard
4181602b78 react: progress on react containers and mobx-state-tree store 2017-12-21 11:56:45 +01:00
Torkel Ödegaard
3a1f52d8a2 prettier: ran on all files again, sorry. now settings are defined in package.json 2017-12-21 08:39:31 +01:00
Torkel Ödegaard
444240dffc tech: mobx tests 2017-12-21 08:27:47 +01:00
Marcus Efraimsson
af34f9977e Add avatar to team and team members page (#10305)
* teams: add db migration for email column in teams table

* teams: /teams should render index page with a 200 OK

* teams: additional backend functionality for team and team members

Possibility to save/update email for teams.
Possibility to retrive avatar url when searching for teams.
Possibility to retrive avatar url when searching for team members.

* teams: display team avatar and team member avatars

Possibility to save and update email for a team

* teams: create team on separate page instead of modal dialog
2017-12-20 21:20:12 +01:00
Marcus Efraimsson
d41ce4f9ca Various dashboard folders improvements (#10309)
* dashfolders: fix url for create dashboard from manage dashboards

Don't include folderId querystring if you don't manage a folder and
creating a new dashboard from there.

* dashfolders: don't store folderId in dashboard model

Use folderId from meta instead
#10307

* dashfolders: minor ux fix

* dashfolders: minor fix for edit folder title
2017-12-20 21:17:55 +01:00
Torkel Ödegaard
354913a704 mobx: progress on poc 2017-12-20 17:24:04 +01:00
Carl Bergquist
d2ea5415da test for plugin path builder 2017-12-20 16:33:53 +01:00
Carl Bergquist
20284f7745 merge backend datasources and datasources 2017-12-20 16:24:49 +01:00
Carl Bergquist
8b37e27dde use int64 for timestamps 2017-12-20 16:03:53 +01:00
Carl Bergquist
8a7c455697 Merge branch 'master' into backend_plugins
* master: (48 commits)
  fix: unit test fixed
  prettier: change to single quoting
  ux: minor name change to search sections
  db: fix postgres regression when comparing boolean columns/values (#10303)
  dashboard: delete row improvements
  fix missing comma in documentation output example
  fix broken link (#10291)
  minor fixes and formatting after review
  dashfolders: use validation service for folder creation and dashboard import. #10197
  dashfolders: support creating new folder when moving dashboards. #10197
  dashfolders: support creating new folder when saving a dashboard. #10197
  dashfolders: support creating new folder in dashboard settings. #10197
  dashfolders: support creating new folder from the folder picker. #10197
  tech: ran prettier on all scss files
  tech: ran pretttier on all typescript files
  search: closes dash search when selecting current dashboard (#10285)
  fix: Original dashboard link from snapshot should be an a-tag, not a button (#10269) (#10283)
  dashboard: fixes #10262
  added new to new dahsboard and folder
  test: Update test with new component signature
  ...
2017-12-20 14:20:33 +01:00
Carl Bergquist
cef3800c33 fixes invalid valud/timestamp order 2017-12-20 14:20:08 +01:00
Torkel Ödegaard
61b4e5ab2d fix: unit test fixed 2017-12-20 13:02:52 +01:00
Torkel Ödegaard
85879a7014 prettier: change to single quoting 2017-12-20 12:33:33 +01:00
Torkel Ödegaard
2a360c45a2 ux: minor name change to search sections 2017-12-20 12:26:52 +01:00
Torkel Ödegaard
06c803405a Merge branch 'master' of github.com:grafana/grafana 2017-12-20 12:24:39 +01:00
Torkel Ödegaard
e683f6afa4 Merge remote-tracking branch 'origin/10277_logout_route_full_page_reload' 2017-12-20 12:20:06 +01:00
Marcus Efraimsson
df3655dd4a db: fix postgres regression when comparing boolean columns/values (#10303)
Use the dialect specific BooleanStr when comparing boolean columns/values.
Fixes #10300
2017-12-20 12:15:49 +01:00
Torkel Ödegaard
4acf6b0eee Merge remote-tracking branch 'origin/10190_fix_select_icon_and_firefox' 2017-12-20 11:22:29 +01:00
Marcus Efraimsson
bbdb1cddd7 dashboard: delete row improvements
Possibility to delete row and all its panels or
only the row which will leave its panels in the dashboard.
2017-12-20 11:13:24 +01:00
Torkel Ödegaard
ee216ba6fb poc: mobx test 2017-12-20 10:53:16 +01:00
Carl Bergquist
07432cb4fa Merge pull request #10297 from m0nhawk/patch-1
fix missing comma in documentation output example
2017-12-20 10:07:50 +01:00
Andrew Prokhorenkov
30e51ad136 fix missing comma in documentation output example 2017-12-19 22:30:35 +02:00
Anastasios Gogos
9dbaca4cc6 fix broken link (#10291)
minor typo:
'(' instead of '/'
2017-12-19 18:40:41 +01:00
Marcus Efraimsson
9184300398 Merge pull request #10278 from grafana/10197_new_folder
Create new folder from the folder picker component
2017-12-19 18:39:47 +01:00
Marcus Efraimsson
1ddcaf5b6f minor fixes and formatting after review 2017-12-19 18:01:09 +01:00
Marcus Efraimsson
0bfedfe4d6 dashfolders: use validation service for folder creation and dashboard import. #10197 2017-12-19 18:00:59 +01:00
Marcus Efraimsson
4846125ec0 dashfolders: support creating new folder when moving dashboards. #10197 2017-12-19 18:00:47 +01:00
Marcus Efraimsson
2d0f5f06e4 dashfolders: support creating new folder when saving a dashboard. #10197 2017-12-19 18:00:38 +01:00
Marcus Efraimsson
7f9c0df464 dashfolders: support creating new folder in dashboard settings. #10197 2017-12-19 18:00:26 +01:00
Marcus Efraimsson
60d7e4308c dashfolders: support creating new folder from the folder picker. #10197 2017-12-19 18:00:06 +01:00
Torkel Ödegaard
af1f3dd77b poc: mobx poc 2017-12-19 17:26:51 +01:00
Torkel Ödegaard
908b6c8d0b tech: ran prettier on all scss files 2017-12-19 16:22:41 +01:00
Torkel Ödegaard
fadfc665e4 tech: ran pretttier on all typescript files 2017-12-19 16:06:54 +01:00
Johannes Schill
143c0022b8 Merge branch 'master' into 10190_fix_select_icon_and_firefox 2017-12-19 15:54:02 +01:00
Marcus Efraimsson
b1621e1e8f Merge pull request #10286 from grafana/10230_new_to_search_popup
added new to new dahsboard and folder
2017-12-19 15:51:04 +01:00
Daniel Lee
6ad06364c7 search: closes dash search when selecting current dashboard (#10285)
Fixes #10231.
2017-12-19 15:28:58 +01:00
Johannes Schill
0bc6f4e2bd fix: Original dashboard link from snapshot should be an a-tag, not a button (#10269) (#10283) 2017-12-19 14:58:12 +01:00
Johannes Schill
bc7462cd04 Merge branch 'master' into 10190_fix_select_icon_and_firefox 2017-12-19 14:55:18 +01:00
Daniel Lee
31fc19c6d7 dashboard: fixes #10262 2017-12-19 14:55:03 +01:00
Patrick O'Carroll
0d283214a0 added new to new dahsboard and folder 2017-12-19 14:52:34 +01:00
Johannes Schill
23cceaecc4 test: Update test with new component signature 2017-12-19 14:45:44 +01:00
Carl Bergquist
326ba11c42 Merge pull request #10280 from bergquist/windows_build
WIP: delete unused icon files
2017-12-19 14:35:22 +01:00
Carl Bergquist
d671f5b404 Merge branch 'devkid-patch-1'
* devkid-patch-1:
  pushover: update default message
  Add default message for Pushover notifications
2017-12-19 14:31:57 +01:00
Carl Bergquist
e2be6a38c4 pushover: update default message 2017-12-19 14:31:26 +01:00
Carl Bergquist
f36aa2e953 Merge branch 'patch-1' of https://github.com/devkid/grafana into devkid-patch-1
* 'patch-1' of https://github.com/devkid/grafana:
  Add default message for Pushover notifications
2017-12-19 14:30:09 +01:00
Johannes Schill
f6163a59af Merge branch 'master' into 10190_fix_select_icon_and_firefox 2017-12-19 14:11:37 +01:00
Carl Bergquist
8055dcae44 delete unused icon files 2017-12-19 14:02:06 +01:00
Carl Bergquist
887af65ca9 Merge pull request #10264 from SteelPhase/patch-2
fix: Extra forward slash added when org redirect middleware is called (#10263)
2017-12-19 13:58:33 +01:00
Johannes Schill
add5df07bf Merge branch 'master' into 10190_fix_select_icon_and_firefox 2017-12-19 13:52:45 +01:00
Johannes Schill
fee3e7c02a Merge branch 'master' into 10277_logout_route_full_page_reload 2017-12-19 13:50:36 +01:00
Johannes Schill
a55b42d11f fix: The /logout route should always full page reload (#10277) 2017-12-19 13:39:11 +01:00
Torkel Ödegaard
75bb511019 tech: added prettier to precommit 2017-12-19 13:27:05 +01:00
Johannes Schill
3e28ce94eb ux: Add icon to selected option in PageHeader navigation on small screens, update select boxes for Firefox so the arrow to the right is aligned with the other select boxes (#10190) 2017-12-19 13:19:44 +01:00
Carl Bergquist
0d9378d18e Merge pull request #10274 from bergquist/alerting_without_rows
Alerting without dashboard rows
2017-12-19 13:19:33 +01:00
Johannes Schill
e1a527a87a ux: Fix color picker positioning when scrolled down to the bottom of a page (#10258) (#10271) 2017-12-19 12:58:55 +01:00
Carl Bergquist
644c2f7fb0 test: remove unused code 2017-12-19 11:23:21 +01:00
Carl Bergquist
66cf224e31 alerting: make alert extractor backwards compatible
closes #10270
2017-12-19 11:20:05 +01:00
Carl Bergquist
1816e89730 alerting: move test json into files 2017-12-19 10:22:26 +01:00
SteelPhase
a320a83138 Use strings.TrimPrefix to make sure relative url doesn't start with forward slash
Closes grafana/grafana#10263
2017-12-19 03:01:33 -05:00
Torkel Ödegaard
dd2192cccc Update README.md 2017-12-18 16:54:09 +01:00
Torkel Ödegaard
0a28def71f Update CHANGELOG.md 2017-12-18 16:52:31 +01:00
Johannes Schill
e569c8ea10 fix: Navigation on small screens when Grafana is installed in a sub directory (#10252) (#10261)
* ux: Add missing icon for login with grafana-com, fixes #10238

* fix: This fix potentially solves installations in sub directories, #10252
2017-12-18 16:22:58 +01:00
Torkel Ödegaard
22643eb109 cloudwatch: fixed optimized build issue, fixes #10174 2017-12-18 14:36:34 +01:00
Mitsuhiro Tanda
3cb841f3db fix text panel rows limit (#10246) 2017-12-18 14:29:48 +01:00
Mitsuhiro Tanda
6bb7f77346 use ace editor in panel edit (#10245) 2017-12-18 14:29:23 +01:00
Daniel Lee
78fb5be2cf docs: mysql example with macro 2017-12-18 14:24:04 +01:00
Daniel Lee
40af84a83f docs: mysql macros update 2017-12-18 14:12:04 +01:00
Torkel Ödegaard
40482d9ada Merge branch 'master' of github.com:grafana/grafana 2017-12-18 13:38:54 +01:00
Torkel Ödegaard
51ec64f872 fix: reduced team name column length, fixes #10244 2017-12-18 13:38:29 +01:00
shankdever
7256884555 ux: Add missing icon for login with grafana-com, fixes #10238 (#10249) 2017-12-18 13:33:28 +01:00
Carl Bergquist
47fb017a5f Merge pull request #10240 from sernst/master
Kinesis Metric Capitalization
2017-12-16 13:16:01 +01:00
Scott Ernst
fcf1ff10d2 Kinesis Metric Capitalization
Fixes the capitalization of the AWS/Kinesis ShardId metric, which
was incorrectly specified as "ShardID" instead of "ShardId" as
specified in the AWS documentation:

http://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html
2017-12-15 12:44:13 -06:00
bergquist
7977d6b669 merge backend-datasource and datasource type 2017-12-15 17:17:58 +01:00
Daniel Lee
77cc546315 dashfolder: nginject fix 2017-12-15 16:36:31 +01:00
Daniel Lee
7dac64354f teams: missing nginject attribute 2017-12-15 16:26:00 +01:00
Torkel Ödegaard
71658d1e76 grid: disable resize and drag on non editable dashboards, closes #10235 2017-12-15 16:23:26 +01:00
Torkel Ödegaard
4112abd699 logging: removed logging from panel loader 2017-12-15 15:43:32 +01:00
Torkel Ödegaard
36fe8f5873 menu: fixed create default url 2017-12-15 15:17:05 +01:00
Torkel Ödegaard
23e0ca5543 Merge branch 'master' of github.com:grafana/grafana 2017-12-15 14:55:50 +01:00
Torkel Ödegaard
d1e0e36996 fix: dont show settings for viewers 2017-12-15 14:51:20 +01:00
bergquist
8573f73d72 Merge branch 'master' into backend_plugins
* master: (584 commits)
  prometheus: change default resolution to 1/1
  fix: viewers can edit now works correctly
  fix: fixed minor ux and firefox issues, fixes #10228
  ux: minor fixes
  profile: use name or fallback for profile page
  fix: sidemenu profile main text is now username instead of name
  build: update master version to 5.0.0-pre1
  dashfolder: change to migration text
  ux:s sidemenu icon rules
  teams: add team count when searching for team
  changed background color for infobox and new blues in light theme, light theme now uses blue-dark in panel query (#10211)
  ux: fixed navbar issue when sidemenu closes
  ux: minor position change for layout selector, fixes #10217
  fix: view json from share modal now works, #10217
  ux: used new add data sources icon
  dashfolders: styling of selected filters
  dashfolders: styling of selected filters
  dashfolders: fix moving plugin dashboard to folder
  changelog: adds note about closing #9170
  dashfolders: fix folder selection dropdown in dashboard settings
  ...
2017-12-15 14:34:55 +01:00
bergquist
ea4ef47982 prometheus: change default resolution to 1/1
this should make the value of the step value more
consistant for most users

ref #9705
2017-12-15 14:24:31 +01:00
Torkel Ödegaard
a8a5f8181b fix: viewers can edit now works correctly 2017-12-15 14:19:49 +01:00
Torkel Ödegaard
ed48d27d85 fix: fixed minor ux and firefox issues, fixes #10228 2017-12-15 13:34:50 +01:00
Torkel Ödegaard
63d4499a2b ux: minor fixes 2017-12-15 13:14:00 +01:00
Torkel Ödegaard
2797e8e2d0 profile: use name or fallback for profile page 2017-12-15 13:06:11 +01:00
Torkel Ödegaard
fdf4bad1b7 fix: sidemenu profile main text is now username instead of name 2017-12-15 13:03:07 +01:00
Torkel Ödegaard
7bec195599 build: update master version to 5.0.0-pre1 2017-12-15 12:09:11 +01:00
Torkel Ödegaard
c395237710 Merge branch Grafana v5 'develop' branch 2017-12-15 12:06:09 +01:00
Torkel Ödegaard
8905c8e5fb Merge branch 'team_member_count' of https://github.com/bergquist/grafana into develop 2017-12-15 11:53:47 +01:00
Torkel Ödegaard
75bfe313d7 Merge remote-tracking branch 'origin/develop-filter-table' into develop 2017-12-15 11:44:51 +01:00
Daniel Lee
2b814738c1 dashfolder: change to migration text
First index for the dashboard_acl table had the word
unique in the migration description even though the
index is not unique
2017-12-15 11:35:14 +01:00
Torkel Ödegaard
ff0c2b496f ux:s sidemenu icon rules 2017-12-15 11:18:22 +01:00
bergquist
256f7176a2 teams: add team count when searching for team
closes #10207
2017-12-15 11:08:06 +01:00
Torkel Ödegaard
68ab11d7bf Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-15 11:01:30 +01:00
Patrick O'Carroll
c78f1834bd changed background color for infobox and new blues in light theme, light theme now uses blue-dark in panel query (#10211) 2017-12-15 11:01:18 +01:00
Torkel Ödegaard
313d20292e ux: fixed navbar issue when sidemenu closes 2017-12-15 10:28:45 +01:00
Torkel Ödegaard
9a711a4fc3 ux: minor position change for layout selector, fixes #10217 2017-12-15 09:58:39 +01:00
Torkel Ödegaard
3300af909a Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-15 09:50:18 +01:00
Torkel Ödegaard
ba3dbac50d fix: view json from share modal now works, #10217 2017-12-15 09:49:57 +01:00
Torkel Ödegaard
69305c20a0 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-15 09:29:41 +01:00
Torkel Ödegaard
25d8f21b64 ux: used new add data sources icon 2017-12-15 09:19:29 +01:00
Marcus Efraimsson
a84e03ddc4 dashfolders: styling of selected filters
#10081
2017-12-15 09:14:10 +01:00
Marcus Efraimsson
bd7837e8d7 dashfolders: styling of selected filters
#10081
2017-12-14 20:20:36 +01:00
Torkel Ödegaard
581257416e Merge remote-tracking branch 'origin/develop-icons' into develop 2017-12-14 19:56:19 +01:00
Marcus Efraimsson
62e6fed5ce dashfolders: fix moving plugin dashboard to folder
If moving a dashboard and the server responds with a plugin-dashboard
error we add the overwrite flag and moving the dashboard again.
Fixes #10183
2017-12-14 16:51:23 +01:00
bergquist
11fd401fad changelog: adds note about closing #9170 2017-12-14 15:59:49 +01:00
Marcus Efraimsson
b1bb012343 dashfolders: fix folder selection dropdown in dashboard settings
Use folder id from meta instead of dashboard object
2017-12-14 15:58:24 +01:00
Carl Bergquist
f5d26bfcc9 Merge pull request #10050 from davkal/davkal/multi-query-table
Add support to render values of multiple queries in the same table
2017-12-14 15:57:07 +01:00
Patrick O'Carroll
780d3e2c8f fix for merge conflict 2017-12-14 15:50:47 +01:00
Carl Bergquist
45eda16a87 Merge pull request #10203 from queeno/dashboard_provisioner_id_validation
Avoid ID validation before provisioning dashboards
2017-12-14 15:43:07 +01:00
Trent White
764992df2a add links for large cta 2017-12-14 09:31:59 -05:00
Patrick O'Carroll
0f62b3e04d resolve merge conflict 2017-12-14 15:15:54 +01:00
Marcus Efraimsson
854d22fa8e dashfolders: bulk move/delete improvements
bulk delete dashboards synchronously
moved bulk delete and move dashboards to backend_srv
better error handling/messages when moving and deleting folders/dashboards
fixes #10181
2017-12-14 15:09:17 +01:00
Torkel Ödegaard
4f56d4ac07 snapshots: fixed snapshot issues, fixes #10214 2017-12-14 14:58:45 +01:00
bergquist
4a433ee630 docs: include all notifiers type 2017-12-14 14:45:17 +01:00
Patrick O'Carroll
33f2e31393 replaced old table with filter-table, removed edit button, made whole rows to links 2017-12-14 14:30:13 +01:00
Torkel Ödegaard
4e38526404 playlist: fixed playlist buttons in dashboard header, fixes #10213 2017-12-14 14:27:47 +01:00
Torkel Ödegaard
66ca8a6621 Update CHANGELOG.md 2017-12-14 13:58:33 +01:00
Torkel Ödegaard
88e9012cef Update CHANGELOG.md 2017-12-14 13:58:11 +01:00
bergquist
f6f9e58d45 docs: update latest version to 4.6.3 2017-12-14 13:45:44 +01:00
Torkel Ödegaard
0085114d4e ux: minor changes to search input 2017-12-14 13:08:32 +01:00
Johannes Schill
b012131050 Magnifying glass on search fields #10188 (#10206)
* ux: Add magnifying glass icon to search input and remove the text label (#10188)

* ux: Add new look on search field to manage dashboards, users, teams, data sources, plugins. Change to use our own icon class instead of .fa (#10188)

* ux: Add new search look on org/users (#10188)
2017-12-14 12:46:00 +01:00
Torkel Ödegaard
776c39fd79 templating: made templateSrv globally accessable as ES6 module, DashboardRow can not interpolate row title 2017-12-14 12:31:57 +01:00
Torkel Ödegaard
9007e26106 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-14 12:10:59 +01:00
Torkel Ödegaard
ff89531849 fix: ignore row clones in schema migration 2017-12-14 12:10:32 +01:00
Robin Gustafsson
cf7a49977f proxyds: delete cookies except those listed in keepCookies 2017-12-14 11:46:44 +01:00
Daniel Lee
bcc85862fe dshttpsettings: Move whitelisted cookies to end of config page 2017-12-14 11:46:44 +01:00
Daniel Lee
f1aa7dcd52 proxyds: failing test for keepCookies
If the cookies are specified in the keepCookies property then they
should not be deleted from proxied requests for data sources
2017-12-14 11:46:44 +01:00
Daniel Lee
592cb386e2 dshttpsettings: add field for cookies that should be kept
The ds proxy strips out cookies. Cookie names specified in
this field will not be stripped out. This is the frontend
change only.
2017-12-14 11:46:44 +01:00
Marcus Efraimsson
e136b7c286 dashfolders: /dashboards should render index page with a 200 OK 2017-12-14 11:30:57 +01:00
bergquist
43ac2b1dba update version for packagecloud 2017-12-14 11:30:10 +01:00
Marcus Efraimsson
196a05d487 dashfolders: bulk move/delete improvements
Use slug and url instead of uri
Check/uncheck a folder will check/uncheck all its children dashboards
Allow to move dashboards when there are both folders and dashboards selected
Hide the header of section when only managing one folder
#10081 #10181
2017-12-14 11:26:16 +01:00
bergquist
294a6a0046 add release date for 4.6.3 2017-12-14 11:20:34 +01:00
Daniel Lee
fcca36a256 fix: after removed file 2017-12-14 09:46:55 +01:00
Daniel Lee
34cffc6b92 dashfolder: fix after backendSrv change
also removes unused create folder modal
2017-12-14 09:35:14 +01:00
Daniel Lee
f1b1dbc6dd dashboard: fix test after merge conflict 2017-12-14 09:34:00 +01:00
Daniel Lee
c5c403b6ef orgswitcher: update test 2017-12-14 09:02:23 +01:00
Simon Aquino
5dbbf1826c Avoid ID validation before provisioning dashboards
Attempting to provision grafana using a previously exported
JSON dashboard with the ID field already set, might result in an error.
In fact, Grafana might believe that a dashboard with that
given ID already exists in the database, throwing an error if it doesn't.
(see pkg/services/sqlstore/dashboard.go#L32)

The dashboard provisioner should set the dashboard id to zero in order to
avoid this behaviour inducing the dashboard to be written to the DB
without ID validation.
2017-12-14 02:07:50 +01:00
Trent White
2c4de364f8 annotation icon fix 2017-12-13 18:18:51 -05:00
Trent White
d23131bbd2 udpate dark json icon 2017-12-13 18:18:15 -05:00
Trent White
1cbd88fc14 dashboard settings icons 2017-12-13 18:17:56 -05:00
Trent White
2a32d01bd5 replace icon on dashboard list (fa-th-large - looked squished) with a smaller version of dashbord icon. This may not be the best way to do the css, so it's a separate commit 2017-12-13 17:51:01 -05:00
Trent White
e2bbb85daa new icons created and added to nav 2017-12-13 17:48:44 -05:00
bergquist
75ecc019d3 changelog: adds note about closing #7481 2017-12-13 19:32:06 +01:00
bergquist
97c5498093 fixes broken unit test 2017-12-13 19:27:53 +01:00
Torkel Ödegaard
00e2413013 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-13 19:18:47 +01:00
Torkel Ödegaard
a7645b710d Merge remote-tracking branch 'origin/master' into develop 2017-12-13 19:18:10 +01:00
bergquist
a7d746375d Merge branch 'Thib17-master'
* Thib17-master:
  alertmanager: endAt should only be used if we have the correct value
  alertmanager: code style
  alerting: reduce log level for notifiers
  Alertmanager notifier: add "metric" labels if no tags
  Alertmanager notifier: make it match the new notifier interface
  support alertmanager
2017-12-13 19:17:10 +01:00
bergquist
ade734168c alertmanager: endAt should only be used if we have the correct value 2017-12-13 19:17:00 +01:00
bergquist
3691faf136 alertmanager: code style 2017-12-13 19:17:00 +01:00
bergquist
1240db31d3 alerting: reduce log level for notifiers 2017-12-13 19:17:00 +01:00
Thibault Chataigner
a8264fe316 Alertmanager notifier: add "metric" labels if no tags
Signed-off-by: Thibault Chataigner <t.chataigner@criteo.com>
2017-12-13 19:17:00 +01:00
Thibault Chataigner
3a7939c930 Alertmanager notifier: make it match the new notifier interface
Signed-off-by: Thibault Chataigner <t.chataigner@criteo.com>
2017-12-13 19:17:00 +01:00
Mitsuhiro Tanda
20d94f9703 support alertmanager 2017-12-13 19:17:00 +01:00
Carl Bergquist
35106537f2 Replace Read Only Editor role with ViewersCanEdit setting (#10166)
* removes readonly editor role

* adds viewersCanEdit setting

This enable you to allow viewers to edit/inspect
dashboards in grafana in their own browser without
allowing them to save dashboards

* remove read only editor option from all dropdowns

* migrates all read only viewers to viewers

* docs: replace readOnlyEditor with viewersCanEdit
2017-12-13 18:53:42 +01:00
Marcus Efraimsson
a583f92d16 dashfolders: bulk move dashboards synchronously
#10181
Also added better error handling when moving dashboards to other folders
2017-12-13 18:21:49 +01:00
Marcus Efraimsson
d736795fe6 dashfolders: remove error message when moving to the same folder. #10135 2017-12-13 18:21:49 +01:00
Torkel Ödegaard
26b8483fb0 teams: Fixes to edit team page 2017-12-13 18:20:49 +01:00
Torkel Ödegaard
529fcc46c0 Merge remote-tracking branch 'origin/10172_team_edit' into develop 2017-12-13 18:13:16 +01:00
Torkel Ödegaard
6254304667 Merge remote-tracking branch 'origin/select-wrapper' into develop 2017-12-13 18:12:35 +01:00
Torkel Ödegaard
9fb5367eea Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-13 18:08:29 +01:00
Torkel Ödegaard
2765c2ecc7 Merge branch 'develop-settings-links' into develop 2017-12-13 18:08:12 +01:00
Torkel Ödegaard
e99f846a6f ux: minor text change to #10177 2017-12-13 18:07:56 +01:00
Patrick O'Carroll
c63569b6ce made template link look like input (#10198) 2017-12-13 18:01:06 +01:00
Torkel Ödegaard
7f0440fded minor tweaks 2017-12-13 18:00:16 +01:00
bergquist
7c0fc59dfb execute process directly instead of creating sub shell 2017-12-13 17:58:50 +01:00
Alexander Zobnin
a48ba7b19e Dashboard grid fixes (#10194)
* grid: fix layout saving after panel move, #10185

* don't allow to drag fullscreen panels, #10171
2017-12-13 17:53:57 +01:00
Torkel Ödegaard
90c5a8435f refactor: minor change to #10199 2017-12-13 17:52:42 +01:00
Torkel Ödegaard
04bb2b8ce8 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-13 17:49:08 +01:00
Alexander Zobnin
3cdf0af398 fix broken 'd r' shortcut (refresh dashboard) (#10199) 2017-12-13 17:48:58 +01:00
Torkel Ödegaard
59ea19e03b Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-13 17:46:51 +01:00
Torkel Ödegaard
1eeb421ddb ux: updated login page 2017-12-13 17:46:14 +01:00
Daniel Lee
fa29ff0d79 fixes switching org when url contains orgId querystring param 2017-12-13 17:29:17 +01:00
Torkel Ödegaard
8ea94817f5 build: fixed build issue 2017-12-13 16:56:24 +01:00
Torkel Ödegaard
db95a01feb Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-13 16:31:11 +01:00
Torkel Ödegaard
3c65015671 ux: refactoring login page change 2017-12-13 16:30:31 +01:00
Daniel Lee
7d0ca63b72 navmodel: fix for signout link on pref page
without a target property on the link, the signout tab on
the preferences page returned a 404.
2017-12-13 16:28:36 +01:00
bergquist
f18eeaa920 change protip to go to manage dashboards 2017-12-13 16:08:32 +01:00
Torkel Ödegaard
aa4f1fa971 Merge remote-tracking branch 'origin/9879-login' into develop-login2 2017-12-13 16:06:17 +01:00
Torkel Ödegaard
d417a625d5 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-13 15:55:16 +01:00
Torkel Ödegaard
313735bd75 search: worked on search results 2017-12-13 15:51:59 +01:00
Patrick O'Carroll
3b783216fa added select-wrapper to where it was missing for unified look 2017-12-13 15:05:43 +01:00
bergquist
dfde6e75ed changelog: adds note about closing #10151 2017-12-13 14:41:28 +01:00
Johannes Schill
c433597f99 Merge branch 'develop' into 9879-login 2017-12-13 14:21:39 +01:00
Johannes Schill
b8bfe51b03 ux: wip - Login animation POC (#9879) 2017-12-13 14:20:07 +01:00
bergquist
ee5f030ded changelog: adds note about closing #9318 2017-12-13 13:53:38 +01:00
Johannes Schill
0be9789364 ux: Move "Sign up" and "Reset password" to its own pages - and remove all inline styling (#9879) 2017-12-13 13:51:52 +01:00
bergquist
bf999a4f82 fixes broken alert eval when first condition is using OR
closes #9318
2017-12-13 13:37:10 +01:00
Torkel Ödegaard
ccbd18006e ux: org user management changes 2017-12-13 13:16:44 +01:00
bergquist
dd3dd407ad removes unused property 2017-12-13 13:12:50 +01:00
Patrick O'Carroll
29d1ec561f fixed edit team header, fixes #10172 2017-12-13 12:48:49 +01:00
Patrick O'Carroll
daf32c579d changed width to input fields (#10184) 2017-12-13 12:42:50 +01:00
Torkel Ödegaard
cacbcb9c99 ux: added search box to ds list page, closes #10106 2017-12-13 11:29:29 +01:00
Torkel Ödegaard
22aa1f7e42 ux: change members to users 2017-12-13 11:21:33 +01:00
Torkel Ödegaard
60e2ba111f plugins: fixed plugin edit page and plugin page 2017-12-13 11:12:35 +01:00
Marcus Efraimsson
c6a02bec81 dashfolders: Minor css fixes for bulk edit 2017-12-13 11:08:28 +01:00
Marcus Efraimsson
a9ba7b912f dashfolders: Minor css fixes for bulk edit 2017-12-13 10:59:29 +01:00
Daniel Lee
02d3a9f365 docs: SSL Mode config settings for Postgres 2017-12-13 10:55:58 +01:00
Daniel Lee
c98e15903e dashfolder: settings page for folder
with rename and delete. Fixes #10120
2017-12-13 10:54:08 +01:00
bergquist
355a12d7cb Merge branch 'Thib17-master'
* Thib17-master:
  removes verbose logging
  Add a per-notifier ShouldNotify()
2017-12-13 10:26:35 +01:00
bergquist
0b6169b3f5 removes verbose logging 2017-12-13 10:21:11 +01:00
Torkel Ödegaard
2465fcbd6b fix: FolderId and IsFolder when saving dashboard 2017-12-13 10:00:54 +01:00
Torkel Ödegaard
d3858d8847 ux: fixed inactive view mode and removed animation 2017-12-13 09:49:24 +01:00
Patrick O'Carroll
afc8948905 removed unused declaration 2017-12-13 09:46:55 +01:00
Patrick O'Carroll
f28a434566 updated dashlink editor, now has list 2017-12-13 09:44:51 +01:00
Johannes Schill
6a2b1e52b2 Merge branch 'develop' into 9879-login 2017-12-13 09:22:48 +01:00
Johannes Schill
1f8c1a5cc3 fix: Handle state when no password is entered on registration page (#9879) 2017-12-13 09:09:58 +01:00
Alexander Zobnin
d85405d5b5 ux: move add member into its own page (#10167) 2017-12-12 20:15:26 +01:00
Thibault Chataigner
fd633a1d5d Add a per-notifier ShouldNotify()
This way we are able to edit notification behavior per notifier.
This would be usefull to let some notifiers send notifications,
even when the state doesn't change, or with custom condition.

Signed-off-by: Thibault Chataigner <t.chataigner@criteo.com>
2017-12-12 17:35:54 +01:00
Torkel Ödegaard
67f1435dc7 minor fix for #10136 2017-12-12 17:18:25 +01:00
Torkel Ödegaard
05cc1f85c3 Merge branch 'refactor-user-group-to-team' of https://github.com/alexanderzobnin/grafana into user-group-to-team 2017-12-12 17:07:00 +01:00
Alexander Zobnin
10fbfcb1d3 Fix graph legend scroll (#10169)
* graph panel: fix legend scroll

* graph panel: enable scroll for table legend

* graph panel: fix legend right side toggle
2017-12-12 17:02:19 +01:00
Alexander Zobnin
8aaaee5e16 fix colorpicker colors order (width issue) (#10170) 2017-12-12 17:00:56 +01:00
Torkel Ödegaard
a02086814e graphite: remove check so that query is sent even for possible non leaf nodes 2017-12-12 17:00:00 +01:00
Torkel Ödegaard
e88bd67d5b fix: fixed build failure 2017-12-12 16:31:24 +01:00
Johannes Schill
8624414657 ux: Use the previously renamed classes (#9879) 2017-12-12 16:29:45 +01:00
Torkel Ödegaard
89db9cc976 fix: fixed dashboard api tests 2017-12-12 16:15:24 +01:00
Torkel Ödegaard
de91d68402 fix: don't detect graphite version before it's saved 2017-12-12 15:28:41 +01:00
Torkel Ödegaard
cfd755eb93 updated new dashboard folder 2017-12-12 15:19:59 +01:00
Torkel Ödegaard
271c597c9b ux: style tweaks 2017-12-12 15:13:47 +01:00
Johannes Schill
01e9053625 ux: Update ui of login buttons via third parties and add link to sign up page (#9879) 2017-12-12 15:00:04 +01:00
Patrick O'Carroll
9b9ac45295 redesigning links editor 2017-12-12 14:05:24 +01:00
Torkel Ödegaard
d379b501aa ux: search look update 2017-12-12 13:55:32 +01:00
Torkel Ödegaard
df25c9f0fa tech: updated version for react-grid item 2017-12-12 13:27:56 +01:00
Torkel Ödegaard
8a61e0967e Merge branch 'master' into develop 2017-12-12 13:22:13 +01:00
Torkel Ödegaard
a00af85f36 build: fixed unit test failure 2017-12-12 13:21:50 +01:00
Torkel Ödegaard
cafed8ce8f Merge branch 'master' into develop 2017-12-12 13:19:07 +01:00
David Kaltschmidt
edb2dcf1b0 Extracted row matching function and added comments 2017-12-12 13:18:06 +01:00
bergquist
ff1b71bc20 allow overriding dashboards from api 2017-12-12 13:18:00 +01:00
Patrick O'Carroll
a69c260173 redesigning links editor 2017-12-12 13:06:32 +01:00
Torkel Ödegaard
871b98c06b graphite: minor fix for PR #10142 the query was being sent for every segmen t you selected before you completed the metric path 2017-12-12 12:56:40 +01:00
Torkel Ödegaard
bb52f3670e Merge branch 'parseTarget' of https://github.com/DanCech/grafana into DanCech-parseTarget 2017-12-12 12:38:58 +01:00
Torkel Ödegaard
e98f573732 build: fixed broken test 2017-12-12 12:31:41 +01:00
Torkel Ödegaard
35c8cdf3a5 refactor: minor change to panel json fix PR #10156 2017-12-12 12:10:19 +01:00
Alexander Zobnin
86204abbfe Move panel JSON editor to modal dialog (#10156)
* panel: fix JSON edit, #10149

* panel: show JSON editor in modal, #10149
2017-12-12 12:04:08 +01:00
Torkel Ödegaard
bbd0b98be9 Merge branch 'develop-settings' into develop 2017-12-12 12:03:10 +01:00
Torkel Ödegaard
7b0bbefb96 ux: minor updates to dashboard settings 2017-12-12 12:02:44 +01:00
Torkel Ödegaard
0a8bd5d289 ux: dashboard settings updated 2017-12-12 11:49:01 +01:00
Patrick O'Carroll
515faa9ec5 new dashboard and folder in search (#10152)
* new dashboard and folder in search

* code formatting fixes
2017-12-12 11:26:15 +01:00
bergquist
c68e7c7283 avatar: avoid concurrent map writes 2017-12-12 11:25:47 +01:00
Patrick O'Carroll
6ae94dda87 redesign dashlinks 2017-12-12 11:21:32 +01:00
Torkel Ödegaard
79d9b64f82 fix: fixed issue with optimized build grid directive missing ngInject comment, fixes #10161 2017-12-12 11:00:16 +01:00
Carl Bergquist
ea2f65b4c3 Merge pull request #10110 from bwhaley/master
Fixes bug in cloudwatch regarding credentials
2017-12-12 10:16:53 +01:00
Alfred Krohmer
72e686457c Add default message for Pushover notifications
If the message field is left empty for Pushover notifications, the API will return an error. This adds a default message if the message would otherwise be empty.

This fixes #8006.
2017-12-11 22:14:38 +01:00
Alexander Zobnin
26281dd9d8 refactor: format files by gofmt 2017-12-11 19:46:05 +03:00
Johannes Schill
097596a336 ux: Adjust margins when external auth providers are enabled (#9879) 2017-12-11 17:22:40 +01:00
Torkel Ödegaard
cc046f03aa ux: dashboard settings progress 2017-12-11 17:19:17 +01:00
Torkel Ödegaard
97bd00c520 ux: dashboard settings work progress 2017-12-11 16:46:10 +01:00
Daniel Lee
a37f1b77f1 dashfolders: new dashboard with folder selected
Fixes #10133
2017-12-11 16:37:40 +01:00
Johannes Schill
f77d34f7c9 ux: wip - Push pixels for new login, remove inline styling, change so we use media queries using min-width instead of max-width and make sure it looks ok across all screen sizes (#9879) 2017-12-11 16:31:50 +01:00
Torkel Ödegaard
008b9bb3e9 ux: dashboard settings work progress 2017-12-11 16:28:57 +01:00
bergquist
411e8a16c2 backend plugins: manage plugins lifecycle with context 2017-12-11 15:05:06 +01:00
Torkel Ödegaard
c4b759fe6d ux: dashboard settings progress 2017-12-11 15:04:48 +01:00
Torkel Ödegaard
7f597283e8 ux: dashboard settings progress 2017-12-11 13:47:04 +01:00
Torkel Ödegaard
61dbcfd35b ux: dashboard settings progress 2017-12-11 13:29:23 +01:00
bergquist
1af4f7a1b4 backend plugins: dont swallow errors 2017-12-11 13:16:16 +01:00
Torkel Ödegaard
a682475152 fix: fixed failing test 2017-12-11 13:09:25 +01:00
bergquist
026eb9ac36 backend plugins: cleanup protobuf files 2017-12-11 13:09:10 +01:00
Torkel Ödegaard
05ec7541c8 ux: dashboard settings progress 2017-12-11 13:04:06 +01:00
bergquist
7f68c2a53d backend plugins: add more datasource params 2017-12-11 12:53:01 +01:00
David Kaltschmidt
8d70f13393 Type-agnostic row merge in table transform for multiple queries
* moved unique value naming to datasource (credit: @bergquist)
* merge rows based on same column-values and empty values
* expanded tests
2017-12-11 12:42:53 +01:00
Torkel Ödegaard
8354c64ff5 Merge branch 'develop' into develop-settings 2017-12-11 12:15:59 +01:00
Torkel Ödegaard
09cc60ffe4 ux: dashboard settings progress 2017-12-11 12:13:45 +01:00
Torkel Ödegaard
795d9c0362 ux: fixed navbar and sidemenu z-index issue and improved responsive rules 2017-12-11 11:42:13 +01:00
bergquist
48e7f866f6 code style 2017-12-11 11:26:36 +01:00
bergquist
55a39dd2ad implement upstream changes 2017-12-11 11:14:03 +01:00
Torkel Ödegaard
2ce4a8e4c5 fix: fixed build failure 2017-12-11 10:52:38 +01:00
bergquist
a4748d82ab Merge branch 'master' into backend_plugins
* master:
  changelog: adds note about closing #10131
  Explicitly specify default region in CloudWatch datasource (#9440)
  wait for all sub routines to finish
  changelog: adds ntoe about closing #10111
  postgres: change $__timeGroup macro to include "AS time" column alias (#10119)
  fixes broken test
  Solves problem with Github authentication restriction by organization membership when the organization's access policy is set to "Access restricted". "Access restricted" policy should not stop user to authenticate.
2017-12-11 10:43:41 +01:00
Carl Bergquist
5d70a36ad8 Merge pull request #10150 from jomenxiao/jomenxiao/render_setting_lang
[render image]add encoding param
2017-12-11 10:36:38 +01:00
Torkel Ödegaard
84aa1e89c0 Merge branch 'develop' into develop-login 2017-12-11 10:29:37 +01:00
Carl Bergquist
43cff3a2bd Merge pull request #10146 from noakup/master
hyphen
2017-12-11 10:18:00 +01:00
bergquist
66bc1fea2d changelog: adds note about closing #10131 2017-12-11 09:45:47 +01:00
Carl Bergquist
a5b3f2b891 Merge pull request #10132 from bergquist/go_routine_management
Wait for all sub routines to finish before closing Grafana
2017-12-11 09:43:37 +01:00
Mikael Olenfalk
8e7166b5c4 Explicitly specify default region in CloudWatch datasource (#9440)
The datasource uses the default region in the query if the region
is "" in the settings. However setting the region to an empty string
is almost impossible and rendered incorrectly.

This commit introduces a special value "default" for region which
is shown in the drop down and is translated to the default region
of the data source when performing queries.
2017-12-11 09:37:27 +01:00
Torkel Ödegaard
502171fff1 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-11 09:18:03 +01:00
jomenxiao
ad2a69bff4 add encoding param 2017-12-11 16:01:17 +08:00
bergquist
f7ed24475c wait for all sub routines to finish
simple solution for waiting for all go sub routines to
finish before closing Grafana. We would use errGroup
here as well but I dont like spreading context's all
over the place.

closes #10131
2017-12-11 08:53:06 +01:00
Dan Cech
588ce6606c fix function re-ordering broken in #9436 2017-12-10 21:20:38 -05:00
noakup
e6bdccbb05 hyphenhyphen 2017-12-10 18:38:48 +02:00
Dan Cech
525ae4fdf5 support metric trees of varying depth, never send '.select metric' to graphite 2017-12-10 10:48:12 -05:00
Dan Cech
8dcfa18761 simplify function parameter addition 2017-12-10 10:45:41 -05:00
Torkel Ödegaard
511fa7dec1 ux: dashboard settings progress 2017-12-10 12:41:11 +01:00
Torkel Ödegaard
00c723f04a ux: minor changes 2017-12-10 12:21:04 +01:00
Torkel Ödegaard
e1440dcc44 ux: navbar progress 2017-12-09 22:45:33 +01:00
Dan Cech
3a1700cbee improve handling of query references 2017-12-09 16:27:05 -05:00
Torkel Ödegaard
1e5983b46c Merge branch 'develop' into develop-settings 2017-12-09 21:50:26 +01:00
Torkel Ödegaard
47ecbbab8d build: fix for tslint 2017-12-09 21:47:59 +01:00
Torkel Ödegaard
7f73fae6ae ux: form styles polish, improvement but can be better 2017-12-09 21:46:30 +01:00
Dan Cech
4fcf79a3a6 demonstrate parseTarget issue 2017-12-09 11:17:34 -05:00
Torkel Ödegaard
55609382f1 fix: fixed panel size rerendering issues 2017-12-09 13:53:03 +01:00
Torkel Ödegaard
fbe9f759ad ux: work on dashboard settings views 2017-12-08 18:15:24 +01:00
Marcus Efraimsson
47014ddb65 dashfolders: Do not allow loading a folder as a dashboard 2017-12-08 17:50:37 +01:00
Marcus Efraimsson
70b0165835 fix: Remove console.log 2017-12-08 17:49:33 +01:00
Marcus Efraimsson
1985027549 dashfolders: Folder picker should set correct default values. Fixes #10135 2017-12-08 17:46:52 +01:00
Alexander Zobnin
e4675ca5c1 refactor: user groups to teams, replace rest mentions 2017-12-08 19:01:10 +03:00
Alexander Zobnin
5d3bfee2f1 refactor: user groups to teams, rename backend files 2017-12-08 18:51:59 +03:00
Alexander Zobnin
9e62a777c7 refactor: user groups to teams, rename frontend files 2017-12-08 18:47:55 +03:00
Alexander Zobnin
d8612380e9 refactor: rename User Groups to Teams 2017-12-08 18:25:45 +03:00
bergquist
0506cfdc1d changelog: adds ntoe about closing #10111 2017-12-08 16:09:32 +01:00
Carl Bergquist
2408d8f09a Merge pull request #10112 from adiletmaratov/master
Solves problem with Github authentication restriction by organization
2017-12-08 16:05:27 +01:00
Torkel Ödegaard
7a2e886e70 Merge branch 'develop' into develop-settings 2017-12-08 16:02:42 +01:00
Torkel Ödegaard
10a77b0353 ux: forms style font size change 2017-12-08 15:59:51 +01:00
Torkel Ödegaard
1b6be031e5 ux: dashboard settings progress 2017-12-08 15:53:26 +01:00
Sven Klemm
ce809de1ed postgres: change $__timeGroup macro to include "AS time" column alias (#10119)
* change $__timeGroup macro to include column alias

* update docs and help text for $__timeGroup macro
2017-12-08 15:14:10 +01:00
Torkel Ödegaard
db663c380b new timepicker is working 2017-12-08 14:38:33 +01:00
Torkel Ödegaard
9369a87e93 Merge branch 'develop' into develop-settings 2017-12-08 14:32:15 +01:00
Marcus Efraimsson
b03b360414 dashfolders: Create nav model for folder page client side #10083 2017-12-08 14:08:16 +01:00
Torkel Ödegaard
63b717f607 ux: minor change to new folder page 2017-12-08 13:54:11 +01:00
Patrick O'Carroll
9cae579c75 fix for search dropdown on small screen + icon overlapping fix (#10091)
* fix for search dropdown on small screen + icon overlapping fix

* fixing search filter for small screen

* hid tags and filter box

* iphone input zoom fix

* moved input styling to old-responsive
2017-12-08 13:37:37 +01:00
Torkel Ödegaard
77b537f45f ux: added react scrollbar component and added it to add panel panel 2017-12-08 13:30:16 +01:00
Torkel Ödegaard
2bc23d2063 tech: updated ngreact and with custom PR applied 2017-12-08 12:26:19 +01:00
Torkel Ödegaard
e03abde778 refactoring: #10130 2017-12-08 12:17:09 +01:00
Torkel Ödegaard
974d4d9739 Revert "Don't animate panels on initial render (#10130)"
This reverts commit e0c173c5af.
2017-12-08 11:53:51 +01:00
Torkel Ödegaard
b59d06cab6 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-08 11:49:28 +01:00
Alexander Zobnin
e0c173c5af Don't animate panels on initial render (#10130)
* grid: dont animate panels on initial render

* grid: dont animate panels on initial render
2017-12-08 11:49:14 +01:00
Torkel Ödegaard
9f87d8d344 Merge branch 'develop-graph-legend' into develop 2017-12-08 11:47:50 +01:00
Torkel Ödegaard
35a7109a6a refactoring: fixing bug when all values are null 2017-12-08 11:45:44 +01:00
bergquist
0c5ef1453d fixes broken test 2017-12-08 11:33:15 +01:00
Marcus Efraimsson
f78f86d0ab dashfolders: Hide search input area when showing CTA. #10083 2017-12-08 11:23:57 +01:00
bergquist
f0abe696b5 Merge branch 'master' into backend_plugins
* master:
  improve error handling for datasources as cfg
  improve sample datasource.yaml
2017-12-08 10:55:55 +01:00
Torkel Ödegaard
4aad4a069c ux: graph legend refactoring 2017-12-08 10:54:53 +01:00
bergquist
5f5cdad97a improve error handling for datasources as cfg 2017-12-08 10:50:11 +01:00
bergquist
c766802325 improve sample datasource.yaml 2017-12-08 10:28:38 +01:00
bergquist
7f6e028850 Merge branch 'master' into backend_plugins
* master:
  make gitignore more generic
  fixes issue with datasource/dash as cfg and gitignore
2017-12-08 10:26:26 +01:00
bergquist
80a852b00a make gitignore more generic 2017-12-08 09:35:46 +01:00
Alexander Zobnin
cd3cf5d19b grid css transforms: minor refactor (#10128) 2017-12-08 08:43:47 +01:00
Alexander Zobnin
3de17ecda7 dashboard grid: enable CSS transforms (#10125) 2017-12-08 08:21:00 +01:00
bergquist
79d7213e11 fixes issue with datasource/dash as cfg and gitignore 2017-12-08 06:52:47 +01:00
Torkel Ödegaard
8415ea6c71 refactoring: changing how graph height and legend height is calculated, using flex box seems to actually work, #10079 2017-12-07 19:53:32 +01:00
Marcus Efraimsson
017b337f00 dashfolders: create folder page
Fixes #10085
2017-12-07 19:32:38 +01:00
Torkel Ödegaard
c629a58b6d refactor: removed graph height from legend decimal calc 2017-12-07 18:13:56 +01:00
Marcus Efraimsson
ff535a5e9a dashfolders: css fix 2017-12-07 18:05:47 +01:00
bergquist
9edd7701b2 fixes failing tests 2017-12-07 18:05:11 +01:00
Marcus Efraimsson
2ea663df78 dashfolders: New Dashboard Folder page
Fixes #10083. Permissions page is just a placeholder
for now.
2017-12-07 17:30:54 +01:00
Marcus Efraimsson
10b0fc79f3 fix: move components tests to specs folder 2017-12-07 17:30:54 +01:00
Ben Whaley
51854ff4fa Fix go fmt 2017-12-07 16:10:13 +00:00
Torkel Ödegaard
a7897b945b Merge branch 'graph-legend-v5' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-graph-legend-v5 2017-12-07 17:09:46 +01:00
bergquist
e1d4bf2607 kill plugin processes when grafana shuts down 2017-12-07 16:59:35 +01:00
Torkel Ödegaard
87ceeb0898 fix: v5 sidemenu & link to shortcuts now works, fixes #10087 2017-12-07 16:58:57 +01:00
bergquist
a2d47427ba separate plugin impl and proto files 2017-12-07 16:33:36 +01:00
bergquist
0bc5bf53ce correct comments 2017-12-07 16:33:36 +01:00
bergquist
3f5daa5e58 add hclog wrapper for grafanas logger in plugins 2017-12-07 16:33:36 +01:00
bergquist
0f6c470e03 add go-plugin deps to vendor 2017-12-07 16:33:36 +01:00
bergquist
a97360ab27 initial version of proto files 2017-12-07 16:32:17 +01:00
bergquist
7b81ebc991 changelog: breaking regardless what your running 2017-12-07 16:29:56 +01:00
bergquist
f39b40c2dd changelog: better styling 2017-12-07 16:29:00 +01:00
bergquist
5aab6b5c20 removes last pieces of dashboard.json 2017-12-07 16:26:07 +01:00
Torkel Ödegaard
68dab71275 refactor: sidemenu toggle & hiding logic 2017-12-07 16:25:21 +01:00
bergquist
5fb8b37241 changelog: note about closing #5269 and #9654 2017-12-07 16:13:08 +01:00
Carl Bergquist
fb386f3c8d Merge pull request #10052 from bergquist/dashboards_from_disk
Load dashboards from disk into the database at regular interval
2017-12-07 16:12:02 +01:00
bergquist
5006f9e4c5 dashboards as cfg: update docs to use /provisioning 2017-12-07 15:55:00 +01:00
bergquist
2e610cb256 dashboards as cfg: move dash/ds config files to /provisioning/* 2017-12-07 15:27:01 +01:00
bergquist
50bc801f1c dashboards as cfg: copy dash/ds files if missing 2017-12-07 15:27:01 +01:00
bergquist
361acd3fa1 dashboards as cfg: include cfg files in dist packages 2017-12-07 15:27:01 +01:00
bergquist
1dfa529941 dashboards as cfg: avoid walking fs in parallel 2017-12-07 15:27:01 +01:00
bergquist
b28ea0b407 dashboards as cfg: type 2017-12-07 15:27:01 +01:00
bergquist
2a18345eb2 dashboards as cfg: disable loading dashboards from disk by default 2017-12-07 15:27:01 +01:00
bergquist
099178466d dashboards as cfg: wire up dashboard repo 2017-12-07 15:27:01 +01:00
bergquist
288cc35529 dashboards as cfg: use gocache for caching 2017-12-07 15:27:01 +01:00
bergquist
f5eac2e91d dashboards as cfg: expose dashboard service as interface 2017-12-07 15:27:01 +01:00
bergquist
16f072b320 dashboards as cfg: move saving logic for dashboards into its own service 2017-12-07 15:27:01 +01:00
bergquist
9cebb23e01 dashboards as cfg: revert minor changes 2017-12-07 15:27:01 +01:00
bergquist
74e12c260f dashboards as cfg: move dashboard saving into its own service 2017-12-07 15:27:01 +01:00
bergquist
09cb0f378b dashboards as cfg: minor tweaks 2017-12-07 15:27:01 +01:00
bergquist
93e1d8a19c dashboards as cfg: make dashboard none editable by default 2017-12-07 15:27:01 +01:00
bergquist
7f3a7ea128 dashboards as cfg: more tests 2017-12-07 15:27:01 +01:00
bergquist
dc0fb8be06 dashboards as cfg: code cleanup 2017-12-07 15:27:01 +01:00
bergquist
d69b63cbc0 dashboards as cfg: read first cfg version 2017-12-07 15:27:01 +01:00
Torkel Ödegaard
955dcf2418 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-07 14:15:35 +01:00
Torkel Ödegaard
beb9f8ee74 Merge remote-tracking branch 'origin/master' into develop 2017-12-07 14:14:50 +01:00
Patrick O'Carroll
1542e8c1b2 removed row to center footer (#10115)
* removed row to center footer

* code formatting fix
2017-12-07 14:07:16 +01:00
Torkel Ödegaard
548652aab1 ux: minor cleanup 2017-12-07 13:33:46 +01:00
Sven Klemm
a62ebb3e59 mysql: pass timerange for template variable queries (#10071)
* mysql: pass timerange for template variable queries

* mysql: document time range macro usage in template variables

* mysql: docs for on time range change refresh mode for template queries

* Revert "mysql: docs for on time range change refresh mode for template queries"

This reverts commit 5325972aa4.
2017-12-07 11:18:36 +01:00
Marcus Efraimsson
d0a9770b8b dashboard: fix edge case with keyboard nav in dashboard search. #10100
If expanding a folder using mouse, unselect current keyboard selection
2017-12-07 11:14:43 +01:00
Adilet Maratov
50daf7463d Solves problem with Github authentication restriction by organization membership when the organization's access policy is set to "Access restricted". "Access restricted" policy should not stop user to authenticate.
How it is solved:
* Take organizations_url field data from user basic data response
* Make another request to get all organization the user is a member of (public membership)
* Authenticate user if appropriate organization found in that list
2017-12-07 16:13:49 +06:00
Alexander Zobnin
9bff005faf Merge remote-tracking branch 'upstream/develop' into graph-legend-v5 2017-12-07 12:45:08 +03:00
Alexander Zobnin
58d40eb6a0 graph: fix legend height calculation 2017-12-07 12:39:10 +03:00
Sven Klemm
b44c599410 postgres: pass timerange for template variable queries (#10069)
* pass timerange for template queries when refresh is set to timerange
change

* document on time range change refresh mode for template queries
2017-12-07 10:05:04 +01:00
Alexander Zobnin
3cdf0dce56 graph: move auto decimals calc to ticks.ts and use it for legend values format. 2017-12-07 10:49:00 +03:00
Ben Whaley
fe88658bdd Resolves grafana/grafana:#9309 2017-12-07 03:43:32 +00:00
Marcus Efraimsson
58fb35c5cb dashboard: fix linting and formating - #10100 2017-12-06 23:51:39 +01:00
Marcus Efraimsson
cb0dac11a3 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-06 20:35:16 +01:00
Marcus Efraimsson
f87b9aaa8a dashboard: keyboard nav in dashboard search - closes #10100
Pressing enter/return for a folder toggles it.
Pressing enter/return for a dashboard navigates to it.
2017-12-06 20:34:41 +01:00
Alexander Zobnin
2cf1c29eae graph: refactor (don't render twice) 2017-12-06 21:30:14 +03:00
Sven Klemm
c80eadcdf4 handle native postgres datetime types in annotation queries (#9986) 2017-12-06 18:12:24 +01:00
Sven Klemm
373389c920 treat any text column in timeseries query as metric name unless column (#9985)
named metric is present
2017-12-06 18:04:33 +01:00
Johannes Schill
e8807f4bce Fixing tabs for Grafana 5 - #10082 (#10103)
* ux: Make new tabs responsive #10082

* ux: Add possibility to manipulate url in angular router outside of angular - and use it in the responsive navigation #10082
2017-12-06 17:36:44 +01:00
Patrick O'Carroll
8adaf99bff other panels now hidden, fixes 10088 (#10102) 2017-12-06 16:55:12 +01:00
Patrick O'Carroll
ea3447fbfd fixed 404 for grafana5 + now responsive (#10101)
* fixed 404 for grafana5 + now resonsive

* code formatting fixes
2017-12-06 16:54:24 +01:00
Marcus Efraimsson
fe177f198b dashboard: fix search results tests #10083 2017-12-06 14:32:22 +01:00
Marcus Efraimsson
0029d96579 dashboard: Show CTA for empty lists/folders #10083 2017-12-06 14:27:29 +01:00
Marcus Efraimsson
dd3c9da009 dashboard: Dashboard folder page wip #10083 2017-12-06 14:11:25 +01:00
bergquist
48d9d0d356 prom: enable min interval per panel
This commit makes it possible to set min interval per panel.
Overrides the value configured on the datasource.

ref #9705
2017-12-06 13:51:19 +01:00
David Kaltschmidt
011b2cd1b2 Fix merge issue on multi-query table transforms
* after a match has been found the merger should keep looking for more
2017-12-06 13:12:16 +01:00
Alexander Zobnin
6b4b7969fe graph: fix karma tests 2017-12-06 14:55:57 +03:00
Alexander Zobnin
0c3e04ca60 graph: render legend before graph 2017-12-06 14:14:00 +03:00
Patrick O'Carroll
3aa1cb012a added tooltip, fixes #10092 (#10097)
* added tooltip, fixes #10092

* fixed code formatting
2017-12-06 12:13:17 +01:00
Alexander Zobnin
ae80a589c1 graph: refactor 2017-12-06 12:22:35 +03:00
Alexander Zobnin
36b3309961 graph: convert legend.js to typescript 2017-12-06 11:29:13 +03:00
bergquist
bbc8aa0525 docs: link from cfg page to provisioning 2017-12-05 18:44:31 +01:00
Trent White
5894b8f4e0 reduce app icon by 3px on home dashboard - wasn't lining up properly with starred/recently viewed dasboard list properly 2017-12-05 12:30:49 -05:00
Torkel Ödegaard
46c8b36244 ux: minor style tweaks to cards and sidemenu icons for white theme 2017-12-05 15:50:15 +01:00
Torkel Ödegaard
2414074c94 Merge branch 'develop-light-theme' into develop 2017-12-05 15:16:42 +01:00
Torkel Ödegaard
8085182121 ux: tweaked light theme and made page container more fluid 2017-12-05 15:16:06 +01:00
Marcus Efraimsson
8e8c3d2eeb Merge branch 'develop' into develop_searchresults 2017-12-05 14:25:20 +01:00
Daniel Lee
781349d360 dashboard: dashboard search results component. closes #10080 2017-12-05 14:20:44 +01:00
Torkel Ödegaard
16fbefbbc5 Merge branch 'develop' into develop-light-theme 2017-12-05 13:31:05 +01:00
Torkel Ödegaard
35f97c9a2f docs: added utm_source for link from ds list page to docs page 2017-12-05 13:28:20 +01:00
Patrick O'Carroll
df5fd3cd1d fixed grey colors in light-theme, added new variables, played a bit with blue 2017-12-05 12:48:16 +01:00
Torkel Ödegaard
282d830ff4 v5: removed permissions from dashboard cog dropdown, closes #10068 2017-12-05 12:28:47 +01:00
Torkel Ödegaard
90bcec8178 nav: updated nav item id for manage dashboards 2017-12-05 12:25:59 +01:00
Torkel Ödegaard
90da964a14 refactoring PR #10068 2017-12-05 12:19:01 +01:00
Torkel Ödegaard
cc2349f6aa Merge branch 'feat-10064' of https://github.com/alexanderzobnin/grafana into develop 2017-12-05 12:03:33 +01:00
Torkel Ödegaard
31bb2f8006 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-05 12:03:28 +01:00
Alexander Zobnin
afc036492c dashboard: migrations for repeat rows (#10070) 2017-12-05 11:46:58 +01:00
David Kaltschmidt
eb31833d52 Backwards-compat for multi-query table transform
* treat single-query table panels like they were before
* adjusted test cases
2017-12-05 11:25:10 +01:00
Alexander Zobnin
deebaabfc8 graph: make legend scrollable 2017-12-05 13:07:33 +03:00
Torkel Ödegaard
6fae999f62 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-12-05 10:23:03 +01:00
bergquist
35232a77e6 removes unused properties
the dsType property caused some confusion about what datasource is
beeing used. I just removed it since it not beeing used.

closes #10072
2017-12-05 08:26:43 +01:00
David Kaltschmidt
1dd90c8105 Making the multi-query table transform the default table transform 2017-12-04 17:55:00 +01:00
Torkel Ödegaard
9be6f9734d ux: updated padding 2017-12-04 16:29:46 +01:00
Johannes Schill
d5023d0073 Merge branch 'develop' of https://github.com/grafana/grafana into develop 2017-12-04 16:19:07 +01:00
Johannes Schill
ba3a81aba5 ux: Add CTA for empty lists 2017-12-04 16:18:46 +01:00
Alexander Zobnin
4d7ff4de15 move import menu item to the original place 2017-12-04 18:00:22 +03:00
Alexander Zobnin
4403d919c1 move DashboardImportCtrl tests to jest 2017-12-04 16:51:37 +03:00
Alexander Zobnin
44ea0ff71d Move import dashboard from modal to the page 2017-12-04 15:55:37 +03:00
Torkel Ödegaard
d29c695d44 refactor: minor refactoring of #10027 2017-12-04 13:38:38 +01:00
Torkel Ödegaard
df693134bd Merge branch 'feat-10008' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-feat-10008 2017-12-04 13:23:38 +01:00
Patrick O'Carroll
a16cfb4b3b Merge branch 'develop' into develop-light-theme 2017-12-04 13:17:19 +01:00
Patrick O'Carroll
5fb3ce1be7 new grays for light theme 2017-12-04 13:12:32 +01:00
Daniel Lee
66657d24b8 sidemenu: responsive sidemenu view for smallest breakpoint
For the smallest breakpoint, expands the sidemenu to be width 100% and
to be toggled on or off rather than visible all the time.
2017-12-04 12:37:00 +01:00
Carl Bergquist
f327e7c818 Merge pull request #10055 from paulfantom/master
add Cloud Alchemy Ansible role
2017-12-04 11:26:34 +01:00
Torkel Ödegaard
15f46b8534 ux: tabs update 2017-12-03 16:22:59 +01:00
David Kaltschmidt
b6867891f0 Tests for multi-query table transform 2017-12-03 14:32:02 +01:00
Torkel Ödegaard
a47bf7dfd9 ux: updated modal header design 2017-12-03 08:11:07 +01:00
Torkel Ödegaard
d7337432ac ux: progress on time picker dropdown version 2017-12-03 07:53:47 +01:00
Mitsuhiro Tanda
e8a6af7b22 fix templating undefined error (#10004) 2017-12-02 17:21:21 +01:00
Torkel Ödegaard
f7babd392b Merge branch 'develop' into develop-settings 2017-12-02 15:45:10 +01:00
Torkel Ödegaard
a98b0024fc tweaks to add panel panels 2017-12-02 15:40:38 +01:00
Torkel Ödegaard
dae5110db0 ux: updated dashboard nav 2017-12-02 15:35:59 +01:00
Torkel Ödegaard
1c27df97d6 ux: dashboard setings progres 2017-12-02 07:05:58 +01:00
paulfantom
3e94d80430 add Cloud Alchemy Ansible role 2017-12-01 21:26:14 +01:00
Torkel Ödegaard
c8ead22722 started on dashboard settings refactor 2017-12-01 21:04:48 +01:00
Torkel Ödegaard
e871e56522 ux: add new panel and dash nav improvements 2017-12-01 20:11:55 +01:00
David Kaltschmidt
85eb2aaa80 Added basic table transformer test 2017-12-01 19:03:47 +01:00
bergquist
d6d64c53cd typo 💥 2017-12-01 16:23:55 +01:00
Carl Bergquist
89fb60a956 Merge pull request #10020 from jomenxiao/master
fix render http[get] params error
2017-12-01 16:22:47 +01:00
bergquist
9282182805 influxdb: pass tags to alerting from influxdb client
closes #10046
2017-12-01 16:16:49 +01:00
Torkel Ödegaard
126257845c ux: dashboard nav update 2017-12-01 15:58:12 +01:00
Torkel Ödegaard
289ba74ede ux: new dashnav design 2017-12-01 15:56:08 +01:00
bergquist
5e9f0771c5 ignore /conf/**/custom.yaml files 2017-12-01 15:49:54 +01:00
Alexander Zobnin
8593ca001d repeat row: refactor 2017-12-01 16:34:49 +03:00
Alexander Zobnin
8bd3d106a2 Fix dashboard menu overlapping (#10044)
* dashboard menu: fix overlap by singlestat and panel link icon

* refactor: navbar z-index

* hide grafana icon in solo panel mode
2017-12-01 14:31:55 +01:00
David Kaltschmidt
91e866f145 Add multiquery_table table transform
The current table transform renders only the first query.
This PR adds a new transform to render all query results in a JOIN-ish
semantic.

* new table transform: Multi-Query table
* columns is the union of all non-value fields
* one value column per query is added
* rows that share all the same label values are merged into one
2017-12-01 14:27:22 +01:00
bergquist
17bf87fb62 typo 💥 2017-12-01 14:05:47 +01:00
bergquist
7a497fd617 move systemd ready notification to server.go 2017-12-01 14:02:05 +01:00
bergquist
94446fb85c changelog: adds note about closing #10024 2017-12-01 13:54:31 +01:00
Torkel Ödegaard
68580f06a3 page header now on 99% of pages 2017-12-01 13:49:15 +01:00
Carl Bergquist
820abef82d Merge pull request #10025 from jgrassler/systemd-sdnotify
Use systemd notification where applicable
2017-12-01 13:26:13 +01:00
Torkel Ödegaard
6bff416430 navigation: more progress on new page header 2017-12-01 12:51:46 +01:00
Torkel Ödegaard
e348ec8c3b Merge branch 'develop-new-page-header' into develop 2017-12-01 11:33:27 +01:00
Torkel Ödegaard
75bb894485 ux: new page-header design, most pages beside admin done 2017-12-01 11:32:00 +01:00
Torkel Ödegaard
92d9093fca fixed sass warnings 2017-12-01 10:48:55 +01:00
Torkel Ödegaard
e53b55479a ux: made plugins page work 2017-12-01 10:47:21 +01:00
Johannes Grassler
d28ca54129 Use systemd notification where applicable
With this change in place, the grafana service will signal
readiness to serve by writing "READY=1" to the path specified
through the NOTIFY_SOCKET environment variable. If this
environment variable is not present or empty, no notification
will happen. This notification is the standard systemd
mechanism for indicating a service is ready to serve. For
Grafana this may be a couple of seconds from startup due to
database migrations. This change also adjusts the Grafana
systemd service definition to make use of this feature.
2017-12-01 10:31:58 +01:00
Torkel Ödegaard
32ffb2d544 progress on page header 2017-12-01 10:27:05 +01:00
Trent White
d29bf0816d tweaked color on heatmap. still not there, but more vibrant 2017-11-30 14:19:48 -05:00
Torkel Ödegaard
6f5a9bf768 ux: new page header progress 2017-11-30 17:28:24 +01:00
Torkel Ödegaard
b1a2344be1 added bundled dashboards 2017-11-30 16:51:06 +01:00
Carl Bergquist
142c3a6bc2 Merge pull request #10042 from andrei-kolosok/master
grafana-10039: fix query time range ends in the past
2017-11-30 16:41:43 +01:00
Torkel Ödegaard
b2add1977a ux: progress on new page header 2017-11-30 16:35:27 +01:00
Marcus Efraimsson
d83692aa80 dashboard: when changing route, scroll to top 2017-11-30 15:59:53 +01:00
Andrei Kalasok
68d4211c50 grafana-10039: fix query time range ends in the past 2017-11-30 15:50:35 +01:00
Torkel Ödegaard
74ceb76ec0 ux: work on page header 2017-11-30 15:37:03 +01:00
Carl Bergquist
603725aeb0 Merge pull request #10041 from grafana/revert-9983-prometheus_nested
Revert "prometheus nested query support"
2017-11-30 15:06:16 +01:00
Carl Bergquist
af5ced0e18 Revert "prometheus nested query support" 2017-11-30 15:06:02 +01:00
Carl Bergquist
98f0305e68 Merge pull request #9983 from mtanda/prometheus_nested
prometheus nested query support
2017-11-30 14:57:34 +01:00
Torkel Ödegaard
645f49eda4 ux: updating header design for pages 2017-11-30 11:31:38 +01:00
Marcus Efraimsson
1db9aeaac3 fix: when navigating, scroll to top 2017-11-30 10:50:10 +01:00
Alexander Zobnin
88760983ab repeat row: add more tests 2017-11-30 10:42:53 +03:00
Torkel Ödegaard
47f11c26c0 ux: new page header design 2017-11-30 08:18:23 +01:00
Trent White
66831fb0cd tweak background size 2017-11-29 16:43:06 -05:00
Trent White
583a4f5314 new test svg background, minor form tweaks 2017-11-29 16:41:48 -05:00
Torkel Ödegaard
3d2d789ca2 ux: search filter box 2017-11-29 17:15:27 +01:00
Torkel Ödegaard
8141987303 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-29 15:26:37 +01:00
Torkel Ödegaard
c9be5c21ae ux: changed body default font size to 13px 2017-11-29 15:26:16 +01:00
Marcus Efraimsson
1e10fcad83 test: fix failing postgres test
Should use case insensitive matching when searching for users
2017-11-29 15:17:31 +01:00
Matt
ce494fbedb Added border radius and tightened up the folder boxes. Still needs to have the bottom margin expanded to 8px when in opened state (this needs @torkelo) 2017-11-29 14:45:12 +01:00
Marcus Efraimsson
c8ac6add16 test: speedup mysql and postgres integration tests by 10-20x
Use docker tmpfs mounts for mysql and postgres data volumes
2017-11-29 14:40:23 +01:00
Alexander Zobnin
36ef186587 repeat row: expose scopedVars to row panels 2017-11-29 16:40:13 +03:00
Torkel Ödegaard
d981fe4f04 ux: search design update 2017-11-29 13:21:42 +01:00
Alexander Zobnin
dd9c727e60 repeat row: handle collapsed rows 2017-11-29 14:14:43 +03:00
Daniel Lee
554c7ba96f notifier: Fixes path for uploaded image for Slack notifier
Fixes #10012
2017-11-29 11:16:45 +01:00
Daniel Lee
e6bf266c4b formatting in build file 2017-11-29 11:15:27 +01:00
Alexander Zobnin
08d470d76a dashboard: initial repeat row implementation 2017-11-29 12:51:14 +03:00
Mitsuhiro Tanda
98bb8bf761 prometheus nested query support 2017-11-29 18:34:44 +09:00
jomenxiao
3f95180c98 fix render http[get] params error 2017-11-28 22:20:22 +08:00
bergquist
c0e087640b test: close file before deleting 2017-11-28 15:05:53 +01:00
Carl Bergquist
2bc91c8660 Merge pull request #10013 from grafana/view-json-template
export view json now templatized, fixes #10001
2017-11-28 15:02:26 +01:00
Marcus Efraimsson
6c5748203d Restore Page Footer after migration to new scrollbar #9652 2017-11-28 14:17:53 +01:00
Patrick O'Carroll
afd0fc3652 export view json now templatized, fixes #10001 2017-11-28 13:27:43 +01:00
Marcus Efraimsson
a335150ad1 dashfolders: Add a helper for creating a dashboard folder 2017-11-28 12:51:40 +01:00
Marcus Efraimsson
82cd24491e dashfolders: revert automatic creation of folders for plugins 2017-11-28 12:51:40 +01:00
Patrick O'Carroll
b19b68df08 styling changes for light theme 2017-11-28 11:27:29 +01:00
Alexander Zobnin
852218e834 grid: use single column layout for mobile devices (#9999) 2017-11-28 09:38:35 +01:00
Alexander Zobnin
b97ad93be1 fix panel solo mode (#10002) 2017-11-28 09:38:28 +01:00
Marcus Efraimsson
8f4ad1e496 dashlist: handle recent dashboards removed from backend 2017-11-28 09:07:28 +01:00
Marcus Efraimsson
368a4d7aed dashfolders: don't create app folder on dashboard import if already exists 2017-11-27 18:23:57 +01:00
Daniel Lee
4356e980f0 dashfolders: create app folder on dashboard import 2017-11-27 17:08:39 +01:00
Daniel Lee
07cd182617 datasource: fix merge conflict - restore dashboards tab 2017-11-27 15:17:50 +01:00
Torkel Ödegaard
7f3a3b9e55 search fix and update buttons on dashboard list page 2017-11-27 14:49:31 +01:00
Torkel Ödegaard
c38a64e4cc Merge remote-tracking branch 'origin/migrate-view-state' into develop 2017-11-27 13:37:12 +01:00
Torkel Ödegaard
734aa37434 fix: removed table background 2017-11-27 13:36:25 +01:00
Torkel Ödegaard
fdb217c283 build: fixed lint issue 2017-11-27 13:19:33 +01:00
Patrick O'Carroll
be74957a60 fixed link i specs-file 2017-11-27 12:29:20 +01:00
Alexander Zobnin
24fe3af20f Improve dashboard grid layout migration WIP (#9943)
* grid: fix small panels migration and make panel height closer to row height

* grid: migrate rows

* grid: increase min panel height

* grid: fix panel placement for complex layouts

* dashboard migration: refactor

* dashboard migration: add tests for grid layout

* dashboard: fix complex layout migration

* dashboard migration fix: fill current row if it possible

* test: fix karma tests by setting default panel span

* dashboard: fix migration when panel height more than row height

* dashboard: fix migration for collapsed rows

* grid: add all rows if even one collapsed or titled row is present
2017-11-27 12:22:52 +01:00
Torkel Ödegaard
adfb87e811 Merge branch 'develop' into alexanderzobnin-feat-9932 2017-11-27 12:19:07 +01:00
Torkel Ödegaard
df2d49da33 test fix 2017-11-27 12:16:40 +01:00
Torkel Ödegaard
0a1c8fdac4 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-27 12:15:58 +01:00
Torkel Ödegaard
e98af1b3fa updated libs and fixed new typescript errors 2017-11-27 12:14:57 +01:00
Marcus Efraimsson
7ce766d9d4 dashlist: Support for clear all filters 2017-11-27 11:33:54 +01:00
Patrick O'Carroll
e3f45546d1 migrated viewstatesrv to ts 2017-11-27 11:23:15 +01:00
Torkel Ödegaard
415526ce45 added yarn.lock file back 2017-11-27 11:14:07 +01:00
Torkel Ödegaard
517c454f8b Merge branch 'feat-9932' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-feat-9932 2017-11-27 09:50:01 +01:00
Carl Bergquist
4a2941dc90 Merge pull request #9981 from grafana/more-js-to-ts-migration
migrated four files from js to ts
2017-11-27 09:41:27 +01:00
Torkel Ödegaard
ac17684f50 ux: table design work 2017-11-26 22:07:34 +01:00
Alexander Zobnin
0c7bf42dd6 panel: open panel menu by click on header 2017-11-24 21:44:47 +03:00
Torkel Ödegaard
00df24b348 ux: search progress 2017-11-24 16:54:55 +01:00
Torkel Ödegaard
bc81298d4c worked on search 2017-11-24 16:18:56 +01:00
Patrick O'Carroll
015932fd02 migrated four files from js to ts 2017-11-24 13:38:54 +01:00
Patrick O'Carroll
b752cfee1f migrated four files to ts, addd some code to config to make it work (#9980) 2017-11-24 12:59:36 +01:00
Torkel Ödegaard
93d21bec75 Merge branch 'master' into develop 2017-11-24 09:25:14 +01:00
Torkel Ödegaard
8ce05a7c24 Update NOTICE.md 2017-11-24 09:14:14 +01:00
Torkel Ödegaard
3ff362e446 Update LICENSE.md 2017-11-24 09:11:10 +01:00
Torkel Ödegaard
02e2d5da2b ux breadcrumb work 2017-11-23 21:50:20 +01:00
Torkel Ödegaard
b3ddcc8077 ux: sass fixes and polish 2017-11-23 20:41:16 +01:00
Marcus Efraimsson
d9ecb59dae dashlist: Support for check/uncheck all 2017-11-23 18:32:44 +01:00
Patrick O'Carroll
4ce1ee4120 Migrate gfunc to ts (#9973)
* migrated gfunc from js to ts

* deleted gfunc.js, small fixes in gfunc.ts
2017-11-23 17:05:27 +01:00
Patrick O'Carroll
3acf106303 migrated admin files to ts (#9975) 2017-11-23 17:05:08 +01:00
Patrick O'Carroll
b94839574c migration of org files from js to ts (#9974)
* migration of org files from js to ts

* more migration of org files to ts

* minor fix to change_password

* renamed files
2017-11-23 17:04:50 +01:00
Torkel Ödegaard
99e52143df sass tweaks 2017-11-23 16:50:22 +01:00
Marcus Efraimsson
7ee57b774a dashlist: When searching should reset checked state to false 2017-11-23 14:59:52 +01:00
Patrick O'Carroll
b7956ef499 More js to ts (#9966)
* four files js to ts, fixed ng_model_on_blur

* added /** @ngInject */
2017-11-23 14:53:23 +01:00
Carl Bergquist
c3699d8259 Merge pull request #9952 from seuf/log_file_count_lines
Optimized number of lines fetching in log file initialisation
2017-11-23 14:22:50 +01:00
Daniel Lee
9ba9043d64 dashlist: change scrollbar to new perfect scroll directive 2017-11-23 13:31:35 +01:00
Marcus Efraimsson
5b05941dec docs: Improve delete snapshot documentation 2017-11-23 13:08:44 +01:00
Torkel Ödegaard
84c46f0cd3 ux: fixed sass issue 2017-11-23 13:01:19 +01:00
Torkel Ödegaard
2b1371c4b8 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-23 12:54:35 +01:00
Torkel Ödegaard
458f6fc4b2 sass refactoring and updating styles for list item elements 2017-11-23 12:54:12 +01:00
Daniel Lee
245cebedde dashlist: style list to be same as dash search 2017-11-23 11:53:55 +01:00
Torkel Ödegaard
a1d47d36f6 css tweaks and cleanup 2017-11-23 11:37:59 +01:00
Torkel Ödegaard
d9a913afe1 Merge branch 'develop-scrollable-panels' into develop 2017-11-23 11:13:21 +01:00
Torkel Ödegaard
f18f1a1093 removing gemini scrollbar and replacing with perfect scrollbar, muuuch better 2017-11-23 11:12:32 +01:00
Torkel Ödegaard
856a0393ab Merge branch 'develop' into develop-scrollable-panels 2017-11-23 10:27:16 +01:00
Daniel Lee
41a3431c4e dashlist: starred filter search 2017-11-22 18:44:57 +01:00
Torkel Ödegaard
2d2015d3dd ux: tweaked panel color and dashboard background is same as page background 2017-11-22 17:18:04 +01:00
Torkel Ödegaard
c94331cd20 Merge branch 'develop' into develop-color-tweaks 2017-11-22 14:54:57 +01:00
Torkel Ödegaard
b7a8db4937 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-22 14:51:53 +01:00
Torkel Ödegaard
905553052a removed call to unused function in panel_ctrl 2017-11-22 14:47:26 +01:00
Torkel Ödegaard
85e81959f2 scrollable panels works better with perfect-scrollbar 2017-11-22 14:46:17 +01:00
Torkel Ödegaard
5ab72f48fc Update latest.json 2017-11-22 14:44:18 +01:00
THIERRY SALLE
658109e0d6 Optimized number of lines fetching in log file initialisation
Added unit tests for file logging line counting

Remove file after unit test
2017-11-22 14:25:39 +01:00
Torkel Ödegaard
68bd17bd0e work on scrollable panels 2017-11-22 13:32:54 +01:00
Carl Bergquist
d8d44224f5 Merge pull request #9950 from seuf/es_56_max_concurrent_shards_request
Elasticsearch max_concurrent_shard_requests parameter for es 5.6+
2017-11-22 10:49:46 +01:00
Patrick O'Carroll
27e486d678 converted 3 .js files to .ts (#9958)
* converted files from .js to .ts
2017-11-22 10:11:50 +01:00
bergquist
ca940c2ae5 docs: adds docs for pausing all alerts 2017-11-22 09:31:23 +01:00
Daniel Lee
400bd205a8 Removing file that got committed by accident 2017-11-22 09:30:49 +01:00
Alexander Zobnin
18ca7a53aa scrollable panels: fix initial content size (#9960) 2017-11-22 07:05:33 +01:00
Matt Toback
3f2a510568 Delete LICENSE.txt 2017-11-21 17:16:35 -05:00
Carl Bergquist
79e788e46f Merge pull request #9937 from saady/gcs-path
[GCS] Support for gcs path
2017-11-21 19:46:53 +01:00
Daniel Lee
ba511f3e24 dashlist: adds tag filter select (GitHub style) 2017-11-21 18:53:49 +01:00
saady
767b460ff1 [GCS] Support for gcs path 2017-11-21 17:22:40 +00:00
Daniel Lee
121d48ec26 dashlist: toggle folders 2017-11-21 17:06:30 +01:00
Daniel Lee
3dc2e06a33 dashboard: fix test for folderIds 2017-11-21 16:41:08 +01:00
Torkel Ödegaard
9fc22e5a66 Merge branch 'master' of github.com:grafana/grafana into develop 2017-11-21 16:05:18 +01:00
bergquist
3a772c7f7f allows head requests for /api/health endpoint
closes #9955
2017-11-21 15:03:04 +01:00
Daniel Lee
bd2b26e9f5 dashlist: fix tag filtering and some css 2017-11-21 14:47:19 +01:00
Torkel Ödegaard
43a6a65f8b fix: fixed issue with metric segment introduced in graphite tags query editor PR 2017-11-21 14:39:09 +01:00
Torkel Ödegaard
830c307bba progress on scrollable panels work 2017-11-21 14:30:33 +01:00
Daniel Lee
5dd9582520 mysql: add data source support for Azure MySql
Fixes #9649
2017-11-21 13:21:19 +01:00
Torkel Ödegaard
741e5a38bd Merge branch 'feat-9887' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-feat-9887 2017-11-21 11:55:07 +01:00
Torkel Ödegaard
ccbdb29f07 fixed unit tests 2017-11-21 11:53:56 +01:00
Torkel Ödegaard
0d12b37dfd fix: alert list panel now works correctly after adding manual annotation on dashboard, fixes #9951 2017-11-21 11:28:17 +01:00
THIERRY SALLE
bd4d665d54 Elasticsearch max_concurrent_shard_requests parameter for es 5.6+ 2017-11-21 10:56:34 +01:00
bergquist
14b8bd35ed Merge branch 'Fresh-Tracks-add-p8s-2-db' 2017-11-21 10:12:33 +01:00
bergquist
0390b4187b prom: add prom2 dashboard as bundled dashboard 2017-11-21 10:12:24 +01:00
Cody Boggs
999b1211b6 show top 5 max scrape durations by job, and fix legend format 2017-11-21 10:12:24 +01:00
Cody Boggs
9151a2468d fix scrape duration, add rule eval iteration stats, and reorg a bit 2017-11-21 10:12:24 +01:00
Cody Boggs
29de4e7c53 fix data source var and remove node_exporter dependency 2017-11-21 10:12:24 +01:00
Cody Boggs
d5ef0403af First draft of a Prometheus 2.0 Stats dashboard 2017-11-21 10:12:24 +01:00
bergquist
d7321cd89c prom: initial docker block for prometheus 2 2017-11-21 09:55:42 +01:00
Carl Bergquist
c83975f2e1 Merge pull request #9936 from grafana/js-to-ts-migration
Js to ts migration
2017-11-21 09:21:22 +01:00
Trent White
56118b9fa4 tweak tabs: 2017-11-20 13:59:21 -05:00
Trent White
8fe8a62645 color fix 2017-11-20 13:31:04 -05:00
Trent White
ec49dd9231 make grays cooler 2017-11-20 13:27:20 -05:00
Daniel Lee
8daff73ba2 dashlist: started fixing js/css after design changes 2017-11-20 18:15:59 +01:00
Torkel Ödegaard
afa226bec3 updated search 2017-11-20 16:31:23 +01:00
Torkel Ödegaard
a8552bac21 more work on search 2017-11-20 16:21:50 +01:00
Torkel Ödegaard
c1539b90b7 minor update to dashboard search 2017-11-20 15:46:16 +01:00
Patrick O'Carroll
25f63e0581 converted test-files to jest 2017-11-20 15:25:42 +01:00
Torkel Ödegaard
9ace21b689 improved search srv 2017-11-20 15:11:32 +01:00
Patrick O'Carroll
59cebca4b2 converted influx-series to TS, converted test to jest 2017-11-20 14:31:51 +01:00
Alexander Zobnin
10e3b63ddb Merge remote-tracking branch 'upstream/develop' into feat-9887 2017-11-20 15:51:49 +03:00
Torkel Ödegaard
6c5e19c1e0 dashboard search 2017-11-20 13:37:26 +01:00
Torkel Ödegaard
fc1d8416a7 working on dashboard search 2017-11-20 12:47:03 +01:00
Ryan McKinley
b1de1e6f26 Move the loading flag to PanelCtrl (#9929) 2017-11-20 11:27:18 +01:00
Alexander Zobnin
f54547776d graph: disable zoom in non-timeseries modes (#9914) 2017-11-20 10:06:34 +01:00
Patrick O'Carroll
66e4297816 changed padding to pixels, fixes #9916 (#9924) 2017-11-20 10:05:18 +01:00
Maytee Chinavanichkit
c1e5f5be87 Use correct moments format for Showing last us time instead of value test (#9923)
Fixes this issue:
PhantomJS 2.1.1 (Mac OS X 0.0.0) SingleStatCtrl showing last us time
instead of value should set formatted value FAILED
	expected '09/17/2017 4:56:37 pm' to equal '09/17/2017 16:56:37 pm'
2017-11-20 10:00:56 +01:00
Carl Bergquist
3351f959d0 Merge pull request #9913 from tomwilkie/dashboard-json-configmaps
Don't import JSON dashboards from hidden directories.
2017-11-20 08:31:05 +01:00
Tom Wilkie
0015183a7b Don't import JSON dashboards from hidden directories. 2017-11-17 17:21:49 +00:00
Patrick O'Carroll
5356605e1a new design for login 2017-11-17 16:42:56 +01:00
Torkel Ödegaard
0fe4229023 Merge branch 'develop' into develop-search 2017-11-17 16:37:09 +01:00
Torkel Ödegaard
8160e68f93 fix: build & tests 2017-11-17 16:18:30 +01:00
Torkel Ödegaard
7b17d134fc Merge branch 'develop' of github.com:grafana/grafana into develop 2017-11-17 15:49:47 +01:00
Torkel Ödegaard
0e44fe082b Merge branch 'master' into develop 2017-11-17 15:49:17 +01:00
Daniel Lee
7c74111187 search: add expanded folders 2017-11-17 15:30:21 +01:00
Torkel Ödegaard
6595be95eb influxdb: another minor refactor of #9474 2017-11-17 15:23:45 +01:00
Torkel Ödegaard
37409163b9 refactor: refactoring InfluxDB query builder with policy PR #9473 2017-11-17 15:16:36 +01:00
Torkel Ödegaard
bcb52417db refactor: refactoring InfluxDB query builder with policy PR #9473 2017-11-17 15:16:04 +01:00
Torkel Ödegaard
4b76c6d652 Merge branch 'master' of https://github.com/omki2005/grafana into omki2005-master 2017-11-17 14:57:44 +01:00
Torkel Ödegaard
153a9bf43a docs: added versions_to_keep to config docs, #9671 2017-11-17 14:53:08 +01:00
Torkel Ödegaard
36c9b7df53 Update CHANGELOG.md 2017-11-17 14:45:38 +01:00
Torkel Ödegaard
98b4074c16 refactoring: minor refactor of clean up dashboard history PR #9882 2017-11-17 14:41:44 +01:00
Torkel Ödegaard
aaa465a100 Merge branch 'feat-9671' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-feat-9671 2017-11-17 14:16:49 +01:00
Torkel Ödegaard
908be13c03 Update CHANGELOG.md 2017-11-17 13:26:36 +01:00
Torkel Ödegaard
b481ff27b2 Update CHANGELOG.md 2017-11-17 13:22:49 +01:00
Torkel Ödegaard
303e3de488 fix: fix for avatar images when gzip is turned on, fixes #5952 2017-11-17 13:13:58 +01:00
Torkel Ödegaard
7ccc8ae298 elasticsearch: default version to 5.x 2017-11-17 12:23:40 +01:00
Torkel Ödegaard
f591bea696 Merge branch 'graphite-series-by-tags' 2017-11-17 12:15:21 +01:00
Alexander Zobnin
490b8fc50f panels: add css tweaks for scrollable panels 2017-11-17 12:13:56 +03:00
Alexander Zobnin
a55be07ea5 dashboard history clean up: avoid potential SQL injections 2017-11-17 10:51:50 +03:00
Daniel Lee
f47673ab5c search: refactor search sql into a builder class 2017-11-17 00:16:33 +01:00
bergquist
fe42f81441 changelog: note about closing #9798 2017-11-16 16:55:02 +01:00
bergquist
0f69e06fcf removes invalid comment 2017-11-16 16:55:02 +01:00
Carl Bergquist
03c23dd9c1 Merge pull request #9901 from grafana/fix_annotations_api
fix: return id from api when creating new annotation, fixes #9798
2017-11-16 16:51:41 +01:00
Marcus Efraimsson
909601d6ab api: fix so that datasources functions returns Response 2017-11-16 16:29:05 +01:00
bergquist
dcffcbb6d3 changelog: note about closing #1789 2017-11-16 16:21:14 +01:00
Torkel Ödegaard
26577ab600 Merge branch 'master' into graphite-series-by-tags 2017-11-16 16:20:44 +01:00
Marcus Efraimsson
89b27b35ba fix: Use Response as return type 2017-11-16 16:19:01 +01:00
Marcus Efraimsson
540d540ea9 fix: return id from api when creating new annotation/graphite annotation, fixes #9798
When creating a region annotation the response will include both
id (region start id) and endId (region end id), if not only id.
2017-11-16 16:19:01 +01:00
Carl Bergquist
9ea5af578e Merge pull request #9504 from grafana/datasource_as_cfg
Datasources as configuration
2017-11-16 16:13:02 +01:00
bergquist
c60915c146 datasources as cfg: adds docs for all jsondata and secure_json fields 2017-11-16 14:22:52 +01:00
Torkel Ödegaard
3ae0cfa1d0 graphite: minor changes 2017-11-16 14:16:37 +01:00
Alexander Zobnin
126f3703dc text panel: make scrollable 2017-11-16 15:43:04 +03:00
Alexander Zobnin
4b88cc0226 panels: general property which makes panel scrollable 2017-11-16 15:38:52 +03:00
bergquist
87983021e2 datasources as cfg: convert yaml map into json for jsonData 2017-11-16 13:23:42 +01:00
Torkel Ödegaard
119f5427af fix: fix cloudwatch metricFindQuery error that stopped it working completely, fixes #9876 2017-11-16 13:06:24 +01:00
Alexander Zobnin
fd046428b4 dashlist: css adjustments for scrollbar 2017-11-16 14:41:42 +03:00
Alexander Zobnin
e89e64e94e dashlist: fix resizing after mode switching 2017-11-16 14:40:09 +03:00
Alexander Zobnin
7d8b2cb05f dashlist: add scrollbar 2017-11-16 14:11:01 +03:00
Alexander Zobnin
06622088a1 dashlist: fix panel resizing 2017-11-16 14:10:28 +03:00
bergquist
5b674ce29c docs: release 4.6.2 2017-11-16 11:22:09 +01:00
bergquist
bfd8afaf13 docs: update metrics api path 2017-11-16 09:38:37 +01:00
bergquist
e15fed10e2 changelog: adds note about closing #1871 2017-11-15 15:04:29 +01:00
Patrick O'Carroll
d800e64368 fixes: #1871 Dropdown starred (#9490)
adding the ability to star dashboard in search and dashboard-list

closes #1871
2017-11-15 15:01:44 +01:00
Sven Klemm
26ab25b7c0 dont loose subsecond precision when dealing with timestamp or (#9851)
timestamptz
2017-11-15 14:50:32 +01:00
Torkel Ödegaard
3b18adfe1a graphite: progress on new query editor 2017-11-15 14:35:22 +01:00
bergquist
6267ef1391 datasource as cfg: fixes typos 2017-11-15 14:30:32 +01:00
bergquist
6e82dbafbc docs: format cfg mgt tools as table 2017-11-15 14:30:32 +01:00
bergquist
29dff8b6cd docs: adds more info about provisioning 2017-11-15 14:30:32 +01:00
bergquist
b4a89128b6 datasource as cfg: update docs to include globbig 2017-11-15 14:30:32 +01:00
bergquist
06a37d0023 datasource as cfg: show deletes first in example 2017-11-15 14:30:32 +01:00
bergquist
ebbfc529e0 datasource as cfg: support globbing 2017-11-15 14:30:32 +01:00
bergquist
0f136a940c datasource as cfg: enable editable ds's 2017-11-15 14:30:32 +01:00
bergquist
b72cdae563 datasource as cfg: add org_id to example config 2017-11-15 14:30:32 +01:00
Dan Cech
0b6b5bac30 tweak docs 2017-11-15 14:30:32 +01:00
bergquist
36676e23c1 datasource as cfg: adds readonly datasources 2017-11-15 14:30:32 +01:00
bergquist
c6a6ae261f datasource as cfg: refactor to use bus 2017-11-15 14:30:32 +01:00
bergquist
dc002abe4c datasource as cfg: test for reading all properties 2017-11-15 14:30:32 +01:00
bergquist
5d49846e1d datasource as cfg: adds provisioning docs 2017-11-15 14:30:32 +01:00
bergquist
665df676a5 datasource as cfg: rename feature to provisioning 2017-11-15 14:30:32 +01:00
bergquist
c9bfa781fd datasource as cfg: improve name for this feature 2017-11-15 14:30:32 +01:00
bergquist
ba4bbd1d47 datasource as cfg: refactor tests to use yaml files 2017-11-15 14:30:32 +01:00
bergquist
3f0eb52389 datasource as cfg: ignore datasource all ready exist for inserts 2017-11-15 14:30:32 +01:00
bergquist
5910411845 datasource as cfg: add support for securedata field 2017-11-15 14:30:32 +01:00
bergquist
930da63173 datasource as cfg: setting for purging datasources not in cfg 2017-11-15 14:30:32 +01:00
bergquist
0f29b8ac83 datasources as cfg: tests for insert/updating datasources 2017-11-15 14:30:32 +01:00
bergquist
39b6c04643 datasource as cfg: basic implementation 2017-11-15 14:30:32 +01:00
Bruno Binet
014f6d5a75 More energy units (#9743)
* Add mA, mV, mW energy units

* Update case to be consistent with other energy units
2017-11-15 14:23:42 +01:00
Ryan McKinley
41be15ee4e Add feet to the length menu (#9889) 2017-11-15 14:06:17 +01:00
Daniel Lee
0d85c63fff middleware: recovery handles panics in all handlers
Also, changes the order of the middleware so that recovery is after the
gzip middleware. Otherwise, a 200 OK is returned instead of a 500 error.
2017-11-15 13:57:33 +01:00
Daniel Lee
b2fbb2691b sql: small fix to error handling 2017-11-15 13:57:33 +01:00
Torkel Ödegaard
acede1d5f9 graphite: progress on new query editor 2017-11-15 13:45:51 +01:00
bergquist
4301463c82 changelog: make prom fixes more explicit 2017-11-15 11:42:53 +01:00
Alexander Zobnin
59d89e422b dashboard history clean up: add tests 2017-11-15 13:38:44 +03:00
Alexander Zobnin
d4e2f850b8 tech: ignore debug.test file created by VS Code 2017-11-15 13:37:45 +03:00
Alexander Zobnin
a0a1f4aacd dashboard history: refactor after review 2017-11-15 13:36:36 +03:00
bergquist
7834eca394 changelog: adds note about closing #9777 2017-11-15 11:27:11 +01:00
Carl Bergquist
5d6ed6c45f prom: add support for default step param (#9866)
Alerting for prometheus have been depending on the step parameter from each query.
In https://github.com/grafana/grafana/pull/9226 we changed the behavior for step in the
frontend which caused problems for alerting. This commit fixes that by introducing a default
min interval value so alerting always have something to depend on. 

closes #9777
2017-11-15 11:22:00 +01:00
Torkel Ödegaard
b5b93a68fc Merge branch 'master' into graphite-series-by-tags 2017-11-15 11:12:11 +01:00
Sven Klemm
9e6a7dcb90 properly escape components of connection string (#9850) 2017-11-15 10:55:08 +01:00
Torkel Ödegaard
af9941e50a Merge branch 'graphite-seriesbytag' of https://github.com/alexanderzobnin/grafana into graphite-series-by-tags 2017-11-15 10:51:05 +01:00
Torkel Ödegaard
1a3170373a Merge branch 'alertList-notOK' 2017-11-15 10:48:20 +01:00
Torkel Ödegaard
ba8c02f594 refactor: changed string slicing to strings.TrimPrefix, #9862 2017-11-15 10:48:03 +01:00
Alexander Zobnin
08e2bbef83 dashboard history: clean up dashboard version history 2017-11-14 18:22:18 +03:00
Torkel Ödegaard
a534ac4948 build: fixed jshint error 2017-11-14 12:42:45 +01:00
Sven Klemm
108f582ec4 sync documentation, add remark about to_timestamp and redshift (#9841) 2017-11-14 11:33:55 +01:00
Torkel Ödegaard
b1a6c7814d Update CHANGELOG.md 2017-11-14 11:30:39 +01:00
Torkel Ödegaard
6a976a3f48 Merge branch 'master' of github.com:grafana/grafana 2017-11-14 11:27:57 +01:00
Torkel Ödegaard
012b72cdbf fix: Html escaping caused issue in InfluxDB query editor, could not pick greater than or less then operators, fixes #9871 2017-11-14 11:27:36 +01:00
bergquist
9fc7303ddf changelog: adds note about closing #8523 2017-11-14 11:14:27 +01:00
bergquist
0e67d5e327 Merge branch 'anthu-master' 2017-11-14 11:05:09 +01:00
bergquist
3bb704144d teams: removes print statement 2017-11-14 11:05:01 +01:00
Anton Huck
fd2451823b Add Microsoft Teams notifier 2017-11-14 11:05:01 +01:00
Daniel Lee
6d7eacfa81 docs: update building from source doc with node-gyp
Adds dependencies for node-gyp to the building from source
docs page. ref #9861
2017-11-13 23:42:05 +01:00
Torkel Ödegaard
81102ccee1 Update CHANGELOG.md 2017-11-13 16:41:02 +01:00
Alexander Zobnin
e7f3480803 heatmap: fix tooltip in "Time series bucket" mode, #9332 (#9867) 2017-11-13 15:20:12 +01:00
Marcus Efraimsson
ecbe7d06a6 fix: Table panel now renders annotations correctly. Fixes #9842 (#9868) 2017-11-13 15:18:39 +01:00
Daniel Lee
ac8b20a60c Merge branch 'windows_build_9790' 2017-11-13 14:20:18 +01:00
Daniel Lee
b51b681400 build: fixes build and jest tests on Windows
Fixes #9790
2017-11-13 13:48:48 +01:00
Torkel Ödegaard
9073587705 Update CHANGELOG.md 2017-11-13 13:11:30 +01:00
Mitsuhiro Tanda
52e1c4113b fix cloudwatch ec2_instance_attribute (#9718)
* fix cloudwatch ec2_instance_attribute

* add test

* minor fix
2017-11-13 13:07:46 +01:00
Torkel Ödegaard
685ee393af graph: the stack & legend sort sync was not working correctly, the z-index sorting that happened in after the legend sort order was applied and messed with the order even though the sort function returned zero for all entries, combined the sort function to one sort function, fixes #9789 (#9797) 2017-11-13 12:09:26 +01:00
Patrick O'Carroll
9ad186bcc9 not ok option to alert list, fixes: #9754 2017-11-13 10:30:11 +01:00
Carl Bergquist
c44f6e2ec2 Merge pull request #9854 from drenalin23/drenalin-add-networkelb-cloudwatch
Add AWS/NetworkELB to cloudwatch definitions
2017-11-13 07:50:45 +01:00
bergquist
ba18a5866c changelog: note about closing #9661 2017-11-13 07:47:14 +01:00
Carl Bergquist
c30947df61 Merge pull request #9855 from mtanda/cw_inspector
(cloudwatch) fix query inspector
2017-11-13 07:43:21 +01:00
Carl Bergquist
6a485f3016 Merge pull request #9856 from mtanda/cw_null_for_no_datapoint
(cloudwatch) return empty array for no datapoints
2017-11-13 07:41:08 +01:00
Mitsuhiro Tanda
6488ccd113 return empty array for no datapoints 2017-11-12 00:48:54 +09:00
Mitsuhiro Tanda
ae4bcdd54b fix query inspector for cloudwatch 2017-11-12 00:41:14 +09:00
Scott Nelson Windels
343143e95f Add AWS/NetworkELB to cloudwatch definitions 2017-11-10 15:13:09 -08:00
bergquist
5e11f1a2a1 changelog: note about closing #9784 2017-11-09 18:13:23 +01:00
Carl Bergquist
48d77ea2a8 Merge pull request #9785 from certusoft/mysql_performance
MySQL Performance when using GF_DATABASE_URL
2017-11-09 18:07:22 +01:00
Carl Bergquist
56fe1308ce Merge pull request #9826 from agnivade/hexencoding
Use hex.EncodeToString to encode to hex
2017-11-09 17:58:35 +01:00
bergquist
d4e8e22fda test: adds tests for password encodiing 2017-11-09 17:55:12 +01:00
Dan Cech
5b38c230db use SHOW RETENTIONS to test influxdb connection (#9824) 2017-11-08 20:33:15 +01:00
Agniva De Sarker
143b56b5ac Use hex.EncodeToString to encode to hex
Using the EncodeToString function from the encoding/hex package
is much faster than calling the fmt.Sprintf with %x

Benchmark results below with the following code

func BenchmarkHexPrint(b *testing.B) {
  data := []byte("hellothere")
  for n := 0; n < b.N; n++ {
    // _ = fmt.Sprintf("%x", data)
    _ = hex.EncodeToString(data)
  }
}

name        old time/op    new time/op    delta
HexPrint-4     188ns ± 1%      99ns ± 1%  -47.40%  (p=0.008 n=5+5)

name        old alloc/op   new alloc/op   delta
HexPrint-4     64.0B ± 0%     64.0B ± 0%     ~     (all equal)

name        old allocs/op  new allocs/op  delta
HexPrint-4      2.00 ± 0%      2.00 ± 0%     ~     (all equal)
2017-11-08 22:44:31 +05:30
Seuf
b3a53b8c56 Added missing documentation for auth.proxy (#9796) 2017-11-08 11:03:18 +01:00
Mitsuhiro Tanda
e46814ba05 fix date test (#9811) 2017-11-08 11:01:19 +01:00
Daniel Lee
799aaf720a docker: expose statsd endpoint for graphite block 2017-11-07 15:14:39 +01:00
Sven Klemm
f8698dc49b update lib/pq (#9788) 2017-11-06 19:51:49 +01:00
Furtchet
a51b1e8951 Update the config key to database_log_queries so it is more descriptive, as suggested in #9785. 2017-11-06 08:01:31 -06:00
Carl Bergquist
b65ea57f97 Merge pull request #9787 from nadezhdamosunova/patch-2
Update postgres.md
2017-11-06 07:59:44 +01:00
Alexander Zobnin
f5c5c4b88b graph: don't change original series name in histogram mode, #8886 (#9782) 2017-11-04 08:09:41 +01:00
Furtchet
5fdfa3ff7e MySQL Performance when using GF_DATABASE_URL
Set MaxIdleConn and MaxOpenConn when using the GF_DATABASE_URL configuration. Also added GF_DATABASE_DEBUG flag to print SQL statements and SQL execution times.
See #9784 for the details.
2017-11-03 14:05:32 -05:00
Nadezhda Mosunova
5b1e6513e6 Update postgres.md
'Annotations' is a plural noun, so it doesn't require adding ‑s to the end of the verb
2017-11-03 17:57:03 +03:00
Torkel Ödegaard
b8f9edaea3 Update CHANGELOG.md 2017-11-03 13:40:55 +01:00
Alexander Zobnin
a3bf38cc21 colorpicker: fix color string change #9769 (#9780) 2017-11-03 13:29:00 +01:00
Torkel Ödegaard
f18de7e6a0 Merge branch 'alertList-no-alerts' 2017-11-03 10:17:07 +01:00
Torkel Ödegaard
cd95f5bcc2 refactor: alert list panel fixes and no alerts message, rewrite of PR #9721 2017-11-03 10:16:25 +01:00
Torkel Ödegaard
72783785a8 Merge branch 'disable-timepicker' 2017-11-03 09:14:00 +01:00
Torkel Ödegaard
bf82d166bc feat: refactoring hide time picker PR #9756 2017-11-03 09:13:40 +01:00
Torkel Ödegaard
c1fcfdb536 search: began writing test for new search 2017-11-02 16:54:33 +01:00
Torkel Ödegaard
27acaf3830 Merge branch 'develop-search' of github.com:grafana/grafana into develop-search 2017-11-02 16:36:54 +01:00
Torkel Ödegaard
564b74cb7b Merge branch 'develop' into develop-search 2017-11-02 16:00:50 +01:00
Torkel Ödegaard
10fcf2f5be Merge branch 'master' into develop 2017-11-02 15:56:09 +01:00
Patrick O'Carroll
a433698ddf changed class name for no-alerts 2017-11-02 08:44:09 +01:00
Carl Bergquist
bf85735a36 Merge pull request #9765 from RatnadeepSimhadri/patch-1
chore(docs): update the search Query Example
2017-11-02 07:50:08 +01:00
Carl Bergquist
17492c091a Merge pull request #9752 from mtanda/cw_alias_fix
[bug fix] (cloudwatch) fix default alias format
2017-11-02 07:45:26 +01:00
Ratna Deep Simhadri
538a8cff1e chore(docs): update the search Query Example
- Updated the last  Search Dashboards Example , so that the Example Request and Response seem related
2017-11-01 23:04:51 -07:00
Torkel Ödegaard
f4d0e2caee ux: search progress 2017-11-01 20:26:14 +01:00
Daniel Lee
84b277d5c0 dashfolders: fix for dashlist nav 2017-11-01 20:12:32 +01:00
bergquist
6292d7c204 reduce docker-compose header version 2017-11-01 19:28:28 +01:00
Torkel Ödegaard
b9d6c97147 ux: progress on new search 2017-11-01 16:59:20 +01:00
Torkel Ödegaard
97cc454ded ux: minor changes 2017-11-01 14:23:46 +01:00
Carl Bergquist
c783bdac39 Merge pull request #9753 from mtanda/cw_period
(cloudwatch) add period alias
2017-11-01 14:02:41 +01:00
bergquist
8b10fe1abc ignore docker-compose.yaml 2017-11-01 13:43:39 +01:00
bergquist
4dae217afc docs: update latest release to 4.6.1 2017-11-01 13:31:10 +01:00
bergquist
d5d42c046d packages: update published package version 2017-11-01 12:54:35 +01:00
Patrick O'Carroll
63c79f066a option to hide Time picker, fixes #2013 2017-11-01 12:26:45 +01:00
Torkel Ödegaard
894951c7d4 fix: panel view now wraps, no scrolling required, fixes #9746 2017-11-01 11:24:26 +01:00
bergquist
575f746baa changelog: set release date for 4.6.1 2017-11-01 11:03:10 +01:00
bergquist
d854abccad changelog: adds note about closing #9707 2017-11-01 11:00:47 +01:00
Torkel Ödegaard
f46b7560e8 Update CHANGELOG.md 2017-11-01 10:50:24 +01:00
Mitsuhiro Tanda
4a63d696ff fix default alias 2017-11-01 18:48:30 +09:00
Mitsuhiro Tanda
ebcb8be19a add period alias 2017-11-01 18:47:21 +09:00
Torkel Ödegaard
e19b4a9291 plugins: fix for loading external plugins behind auth proxy, fixes #9509 2017-11-01 10:45:20 +01:00
Torkel Ödegaard
c3bd07f9b4 testdata: added manual entry mode to test data 2017-11-01 09:59:24 +01:00
Patrick O'Carroll
5a26fc252e new design for no alerts in alert-list, fixes #9721 2017-11-01 09:44:51 +01:00
Torkel Ödegaard
fec37f22b8 fix: fixed compiler error from #9676 2017-11-01 08:08:16 +01:00
Patrick O'Carroll
c8f7361e3f converted ng_model_on_blur.js to ts, deletedkeyboard_manager.js (#9676) 2017-11-01 07:51:40 +01:00
Daniel Lee
624b75b58c docs: update testdata enable explanantion 2017-10-31 18:25:35 +01:00
Carl Bergquist
d4f40eac6f Merge pull request #9745 from cglewis/master
MAINTAINER is deprecated, now using LABEL
2017-10-31 18:24:34 +01:00
cglewis
f5d2ce2a72 MAINTAINER is deprecated, now using LABEL 2017-10-31 10:21:20 -07:00
Charlie Lewis
dbc0ff9739 Merge pull request #1 from grafana/master
sync
2017-10-31 10:19:28 -07:00
Torkel Ödegaard
84b10df887 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-31 16:14:40 +01:00
Torkel Ödegaard
ae367db377 Update ROADMAP.md 2017-10-31 16:07:45 +01:00
Carl Bergquist
8ed1d935df Merge pull request #9741 from akshaychhajed/docker-compose-v3
Transitioning fig to docker-compose v3
2017-10-31 15:23:59 +01:00
Ryan McKinley
a1c1704d1f Adding energy, area, and acceleration units (#9336)
* Adding more units

* move changes to kbn.ts

* remove accidental commits
2017-10-31 14:57:57 +01:00
Torkel Ödegaard
9d020ea1e2 Merge branch 'master' of github.com:grafana/grafana 2017-10-31 14:30:26 +01:00
Torkel Ödegaard
7f83460f42 tests: migrated tests for link_srv to jest, #9666 2017-10-31 14:30:06 +01:00
Torkel Ödegaard
9aa6a6b4c4 Merge branch 'linkSrv-js-to-ts' 2017-10-31 14:29:42 +01:00
Akshay Chhajed
38ec8ddefc Transitioning fig to docker-compose v3 2017-10-31 18:59:27 +05:30
Torkel Ödegaard
ec94dfa890 tests: migrated tests for link_srv to jest, #9666 2017-10-31 14:29:25 +01:00
Patrick O'Carroll
1206ce261c fix for dashboard tag link bug, fixes #9737 (#9739) 2017-10-31 14:29:10 +01:00
bergquist
ae5b3fd4b5 github: dont require bug/fr in title 2017-10-31 14:14:50 +01:00
bergquist
3c572aece6 changelog: adds note about closing #9713 2017-10-31 14:11:13 +01:00
Patrick O'Carroll
c3a9a04dad converted confirm_click.js to .ts (#9674)
* converted confirm_click.js to .ts

* deleted confirm_click.ts

* removed import of confirm_click
2017-10-31 13:58:38 +01:00
Torkel Ödegaard
afd4f37f39 Update codecov.yml 2017-10-31 13:58:01 +01:00
Torkel Ödegaard
7336a98bb1 Update CHANGELOG.md 2017-10-31 13:56:00 +01:00
Sven Klemm
a503c1d39c change default sslmode for postgres to verify-full (#9736) 2017-10-31 13:55:32 +01:00
Alexander Zobnin
948a5259a2 fix: color picker bug at series overrides page, #9715 (#9738) 2017-10-31 13:53:45 +01:00
Torkel Ödegaard
497993e2b2 Update ROADMAP.md 2017-10-31 13:04:10 +01:00
bergquist
1be476b5f5 tech: switch to golang 1.9.2 2017-10-31 12:36:52 +01:00
Sven Klemm
b6fafb13f5 always quote template variables for mysql when multi-value is allowed (#9712)
* always quote template variables for mysql when multi-value is allowed

* handle include all option similar to multi value

* declare type

* adjust tests to quoting change

* dont specify type but let it be inferred

* fix test for variable with includeAll
2017-10-31 12:23:50 +01:00
Sven Klemm
caa8b6100e always quote template variables for postgres when multi-value or include (#9714)
all is allowed
2017-10-31 12:23:21 +01:00
Torkel Ödegaard
ae11bf7c14 fix: dashboard links dropdown toggle did not update view, fixes #9732 2017-10-31 09:22:45 +01:00
Torkel Ödegaard
3ff2dc2850 Merge branch 'master' of github.com:grafana/grafana 2017-10-31 09:17:44 +01:00
bergquist
d23c77119e docs: adds prom grafana dashboard 2017-10-31 09:13:35 +01:00
Torkel Ödegaard
8838e43088 Merge branch 'master' of github.com:grafana/grafana 2017-10-31 09:01:10 +01:00
Alexander Zobnin
ac2e72f22a graphite: tag is required for values autocomplete 2017-10-31 10:20:01 +03:00
Daniel Lee
a366b137a2 dashfolders: bulk edit tag filtering
Still ugly though
2017-10-30 19:34:55 +01:00
Carl Bergquist
7583b78c3a Merge pull request #9723 from boeboe/master
Correct help message of api_dataproxy_request_all_milliseconds
2017-10-30 13:08:32 +01:00
Bart Van Bos
1a8d05bbcb Correct help message of api_dataproxy_request_all_milliseconds 2017-10-30 12:50:57 +01:00
bergquist
e7b604f538 changelog: adds note about closing #9645 2017-10-30 11:17:30 +01:00
Carl Bergquist
1a3373e049 Merge pull request #9699 from it-teaching-abo-akademi/master
Alertlist: Inform when no alerts in current time range
2017-10-30 11:12:11 +01:00
bergquist
92d8b3f095 changelog: adds note about closing #9698 2017-10-30 11:09:48 +01:00
Carl Bergquist
d83f0fb266 Merge pull request #9698 from mtanda/text_ace_editor
[Feature Request] ace editor for text panel
2017-10-30 11:07:53 +01:00
Mitsuhiro Tanda
e9645045a0 ace editor for text panel 2017-10-30 11:05:09 +09:00
Daniel Lee
e85abf6810 dashboards: bulk edit delete
If both a parent folder and a child is chosen then
only sends the parent folder for deletion as the
child folder will be deleted anyway.
2017-10-29 22:08:26 +01:00
bergquist
e1765e360e tech: add missing include 2017-10-29 20:21:41 +01:00
Daniel Lee
752453f204 dashboards: fix link to bulk edit 2017-10-29 20:20:51 +01:00
Daniel Lee
e541e60bc3 sql: remove title from annotation help
Fixes #9710
2017-10-29 20:03:23 +01:00
bergquist
7dcfd800b3 changelog: adds note about closing #9681 2017-10-29 19:32:49 +01:00
Carl Bergquist
e5ec357625 Merge pull request #9697 from bergquist/fix_removed_threshols
save as should only delete threshold for panels with alerts
2017-10-28 23:48:31 +02:00
Torkel Ödegaard
d03b0d664b Merge branch 'master' of github.com:grafana/grafana 2017-10-28 13:28:30 +02:00
Torkel Ödegaard
3e3cef28ec fix: undefined is not an object evaluating this., #9538 2017-10-28 13:28:06 +02:00
pkarmaka
cdd17f4871 [Bug Fix] Opentsdb Alias issue (#9613) 2017-10-28 13:10:18 +02:00
Torkel Ödegaard
43d45f9fae fix: graphite annotation tooltip included undefined, fixes #9707 2017-10-28 12:59:32 +02:00
Tomas Strand
357d394c66 Alertlist: Inform when no alerts in current time range
Shows info that no alerts are found for the currently selected interval in Alertlist.
Fixes #9624
2017-10-27 17:20:07 +03:00
bergquist
728471eef4 save as should only delete threshold for panels with alerts
closes #9681
2017-10-27 15:41:53 +02:00
Alexander Zobnin
2374e91bfa graphite: tags and values autocomplete based on @DanCech PR to graphite-web 2017-10-27 13:15:54 +03:00
Daniel Lee
71d9126bb6 changelog: note for #9596 2017-10-27 11:28:04 +02:00
Sven Klemm
34da0711ab add __timeGroup macro for mysql (#9596)
* add __timeGroup macro for mysql

* put example __timeGroup query in frontend help

* do __timeGroup interval parsing in go similar to mysql

* ignore whitespace around interval
2017-10-27 11:26:25 +02:00
Torkel Ödegaard
cae852a1a2 updated icons 2017-10-27 08:33:04 +02:00
Daniel Lee
6aa0f35012 docs: fix link 2017-10-26 17:39:54 +02:00
Torkel Ödegaard
9b4e1aa0e7 ux: testing 3px panel border radius 2017-10-26 16:06:28 +02:00
Torkel Ödegaard
9605ab4475 Merge branch 'master' into develop 2017-10-26 15:59:50 +02:00
Torkel Ödegaard
9d5e4bee56 Merge branch 'master' of github.com:grafana/grafana 2017-10-26 15:27:46 +02:00
Patrick O'Carroll
f097bce565 more link fixes 2017-10-26 14:47:07 +02:00
Patrick O'Carroll
e654f80e4b fixed link issues 2017-10-26 14:25:43 +02:00
Patrick O'Carroll
a228bb2308 renamed file 2017-10-26 13:34:41 +02:00
Patrick O'Carroll
0f2989e19b converted inspect_ctrl.js to ts (#9673) 2017-10-26 13:27:17 +02:00
Patrick O'Carroll
bb1097b7c9 converted dashboard_loaders.js to .ts (#9672)
* converted dashboard_loaders.js to .ts

* class name change
2017-10-26 13:26:03 +02:00
Patrick O'Carroll
2f4744ca71 declared any to info in declaration 2017-10-26 13:25:47 +02:00
Patrick O'Carroll
c84e3c00fe converted analytics.js to ts, minor code formatting fix to timer.ts (#9663) 2017-10-26 13:22:45 +02:00
Torkel Ödegaard
c78a9368f0 docs: updated download links 2017-10-26 13:17:51 +02:00
Daniel Lee
a7d7f0d9f8 docs: update alerting with new data sources 2017-10-26 12:32:37 +02:00
Daniel Lee
e33faac63b changelog: spelling 2017-10-26 12:15:59 +02:00
Torkel Ödegaard
01f16ece3e plugins: added backward compatible path for rxjs 2017-10-26 12:07:23 +02:00
Torkel Ödegaard
bf680acae5 ux: updated singlestat default colors 2017-10-26 11:57:48 +02:00
Torkel Ödegaard
74fcb2494a prometheus: fixed unsaved changes warning when changing time range due to step option on query model was changed in datasource.query code, fixes #9675 2017-10-26 11:46:33 +02:00
Torkel Ödegaard
77331e92b6 docs: updated changelog 2017-10-26 10:57:41 +02:00
Torkel Ödegaard
0c2aa91e61 fix: firefox can now create region annotations, fixes #9638 2017-10-26 10:56:10 +02:00
bergquist
b80b5e0317 changelog: adds note about closing #9639 2017-10-26 10:44:09 +02:00
bergquist
261a832460 set release date for 4.6.0 2017-10-26 10:41:06 +02:00
Torkel Ödegaard
9718fa7c03 grid: work in progress on row repeats 2017-10-26 09:53:48 +02:00
Daniel Lee
7f3293ce80 dashfolders: rough draft of bulk edit 2017-10-25 16:12:03 +02:00
Patrick O'Carroll
2dd49e6e50 converted linkSrv.js to linkSrv.ts 2017-10-25 15:29:13 +02:00
Daniel Lee
80903c162e docs: update docker installation docs 2017-10-25 14:21:32 +02:00
Carl Bergquist
c91a1e994b Merge pull request #9594 from bergquist/datasources_optimistic_concurrency
datasources: change to optimistic concurrency
2017-10-25 12:44:36 +02:00
Torkel Ödegaard
7559982b05 grid: minor changes 2017-10-25 12:38:08 +02:00
Patrick O'Carroll
aa3fc9f45f converted outline.js to outline.ts (#9658) 2017-10-25 12:32:33 +02:00
Patrick O'Carroll
4b5929d577 converted timer.js to timer.ts (#9656) 2017-10-25 12:32:19 +02:00
bergquist
d68bfaa8be datasource as cfg: typo 2017-10-25 12:21:06 +02:00
Torkel Ödegaard
17d95dc848 Create codecov.yml 2017-10-25 11:23:47 +02:00
bergquist
da6430ac01 datasource as cfg: explain why cmd.version can be higher 2017-10-25 09:39:27 +02:00
zhengkai
2848773ab4 #edit_grafana_organisation_apis_doc (#9651) 2017-10-25 08:15:51 +02:00
xjewer
bddebf4c82 add a phantomjs execution status to log if errors happens, e.g. OOM killer kills it (#9644)
fixes #9643
2017-10-25 08:14:14 +02:00
Torkel Ödegaard
a299118c92 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-24 20:29:53 +02:00
Torkel Ödegaard
38f97d5cc9 grid: worked on row options modal and row removal 2017-10-24 20:13:34 +02:00
Daniel Lee
f70fb7dbf3 dashboard: fix home dashboard getting started panel 2017-10-24 19:22:56 +02:00
Carl Bergquist
89a070029f Merge pull request #9648 from jasonodonnell/master
Fix typo in template help tab
2017-10-24 16:54:05 +02:00
Jason O'Donnell
577478baff Fix typo in template help tab 2017-10-24 10:48:49 -04:00
Patrick O'Carroll
95250e4ea3 replace store.js with store.ts, test for store.ts (#9646) 2017-10-24 16:13:49 +02:00
Torkel Ödegaard
df12cbc4a7 tests: added test for DashboardRow 2017-10-24 15:46:03 +02:00
Daniel Lee
676a113966 docs: update first page with data source guides 2017-10-24 15:23:19 +02:00
Daniel Lee
fc76530577 docs: document annotations for postgres/mysql 2017-10-24 15:13:04 +02:00
Daniel Lee
f48703502d docs: update for template variables
ref #9030
2017-10-24 14:44:34 +02:00
Daniel Lee
201e93b7f9 changelog: spelling 2017-10-24 14:41:17 +02:00
Alin Sinpalean
d99f4f95c0 Allow for multiple auto interval template variables (#9216)
* Allow for multiple auto interval template variables without them overwriting each other's value.

* Add test for multiple auto interval template variables.

* Correctly handle old links with .
2017-10-24 14:39:10 +02:00
bergquist
834446260f changelog: adds note about closing #9645 2017-10-24 14:19:53 +02:00
bergquist
dea631bedc tech: remove rabbitmq event publisher
closes #9645
2017-10-24 14:10:23 +02:00
Daniel Lee
8334b24b42 changelog: note for #9030 2017-10-24 14:09:33 +02:00
Sven Klemm
56e53b8343 dont quote variables for mysql and postgres datasource (#9611) 2017-10-24 14:05:41 +02:00
bergquist
2f35759346 asscoiate comment with name 2017-10-24 13:40:38 +02:00
Carl Bergquist
5701b73ab2 Merge pull request #9642 from nadezhdamosunova/patch-1
Update development.md
2017-10-24 13:24:16 +02:00
Nadezhda Mosunova
8070a7ca35 Update development.md 2017-10-24 14:18:47 +03:00
Torkel Ödegaard
15024e96e4 ux: row collapse / expand starting to work 2017-10-24 12:33:14 +02:00
bergquist
5a53051f72 changelog: adds note about closing #9640 2017-10-24 11:08:34 +02:00
Torkel Ödegaard
68562a2077 Merge branch 'master' into develop 2017-10-24 11:02:48 +02:00
bergquist
9b6535cca1 alerting: only editors can pause rules
closes #9640
2017-10-24 11:01:08 +02:00
bergquist
beb203209b prom: adds pre built grafana dashboard 2017-10-24 11:01:08 +02:00
bergquist
5f0a86be4c changelog: adds note about closing #9636 2017-10-24 11:01:08 +02:00
Torkel Ödegaard
7861c27557 fix: another fix for playlist view state, #9639 2017-10-24 10:58:14 +02:00
Torkel Ödegaard
3e89ec4ff2 ux: updated icons 2017-10-24 10:47:24 +02:00
Patrick O'Carroll
a8285d0eb4 shore: migrating config/settings.js to typescript 2017-10-24 10:45:46 +02:00
Patrick O'Carroll
8afb84a5e5 fix: fixed playlist controls and view state, fixes #9639 2017-10-24 10:43:48 +02:00
Carl Bergquist
e91b00c355 Merge pull request #9637 from utkarshcmu/singlestat_fix
Fixed #9636
2017-10-24 10:19:05 +02:00
utkarshcmu
a4a10f2b03 Fixed #9636 2017-10-24 00:49:03 -07:00
Torkel Ödegaard
b44daaabf2 Merge branch 'master' into develop 2017-10-24 09:06:09 +02:00
Torkel Ödegaard
4d72323623 shore: removed unused old system conf file 2017-10-23 20:31:23 +02:00
Alexander Zobnin
396eadc5ac Use d3 from node_modules (#9625)
* tech: annotations refactor, add tests for regions processing

* tech: move d3 to npm and webpack, #9480

* tech: move color scale functions to separate module

* fix opacity legend rendering
2017-10-23 20:30:43 +02:00
stuart nelson
93ac6680ab update log15 (#9622)
* Update log15 and go-isatty

* Update usage in pkg log
2017-10-23 19:57:19 +02:00
Daniel Lee
9e697a1f6e docs: update whats-new-in 2017-10-23 16:40:57 +02:00
Daniel Lee
cda359e844 changelog: small text change 2017-10-23 16:32:23 +02:00
Daniel Lee
884e85fc81 changelog: v4.6.0-beta3 released 2017-10-23 16:29:13 +02:00
Alexander Zobnin
2b78c47a5a tech: annotations refactor, add tests for regions processing (#9618)
* tech: annotations refactor, add tests for regions processing

* tech: remove unused imports from annotations tests
2017-10-23 15:46:36 +02:00
Daniel Lee
c3b90f2028 Move #9527 to 4.6.0-beta3 2017-10-23 15:31:21 +02:00
Daniel Lee
c22097c95e build: disable jest on precommit hook -windows fix
Temporary fix until we get jest tests working on Windows
2017-10-23 13:03:06 +02:00
Daniel Lee
0ba4c161c3 build: fix all npm run commands for Windows
Adds node before each command otherwise Windows does not understand
commands starting with ./
2017-10-23 13:03:06 +02:00
Daniel Lee
7863a0417c plugins: fixes path issue on Windows
When loading a plugin and setting the path, an extra backslash sneaks
when running on Windows. Fixes #9597
2017-10-23 13:03:06 +02:00
Torkel Ödegaard
4fdb351c32 build: tryingt of fix windows build issue 2017-10-23 12:33:30 +02:00
bergquist
d25d689efa tests: removes commented tests 2017-10-23 11:32:34 +02:00
bergquist
fcd5d581a8 graph: invert order when sorting by legend
sort order have now been inverted. Biggest values should
be at bottom of the graph.

ref #9538
2017-10-23 11:32:09 +02:00
Torkel Ödegaard
b986f744e4 fix: escape series name in graph legend, added aliasEscaped to time series model to reuse escape, fixes #9615 2017-10-23 10:15:58 +02:00
Torkel Ödegaard
9cce5217d0 build: fixed gofmt issue and addd mock response feature 2017-10-23 09:57:28 +02:00
bergquist
139f077453 prometheus: enable gzip for /metrics endpoint
closes #9464
2017-10-23 09:35:46 +02:00
Torkel Ödegaard
1fd2270a93 build: split circle test shell scripts 2017-10-23 09:06:50 +02:00
bergquist
89923bf77a datasources: change to optimisic concurrency
prerequisite for #9504
2017-10-23 07:55:16 +02:00
Torkel Ödegaard
48f384dcf1 build: reduced webpack log output and remove race flag from go tests 2017-10-22 20:16:32 +02:00
Torkel Ödegaard
b6184a71bd build: set max workers to 2 for jest 2017-10-22 19:22:06 +02:00
Torkel Ödegaard
76b9b792b4 build: log heap usage 2017-10-22 19:19:29 +02:00
Torkel Ödegaard
4632b8daa5 build: another build fix 2017-10-22 18:10:22 +02:00
Torkel Ödegaard
7a277c69ac tests: migrated two more tests to jest 2017-10-22 17:36:50 +02:00
Torkel Ödegaard
c6feb903b1 build: fixed build failure 2017-10-22 17:31:10 +02:00
Torkel Ödegaard
2de439c5a1 build: reworking pre commit hook 2017-10-22 15:19:06 +02:00
Torkel Ödegaard
cde87d9adc build: added precommit 2017-10-22 15:11:37 +02:00
Torkel Ödegaard
34edea4ac7 fix: fixed tslint validation error 2017-10-22 14:56:20 +02:00
Torkel Ödegaard
adb9d92082 test: added first react snapshot test 2017-10-22 12:48:20 +02:00
Torkel Ödegaard
a06ccaa428 docs: another docs fix 2017-10-22 12:00:35 +02:00
Torkel Ödegaard
974d38583d docs: fix docs redirect for older datasources index page, fixes #9609 2017-10-22 11:53:30 +02:00
Torkel Ödegaard
fff0fa2aee Merge branch 'master' into develop 2017-10-22 11:51:14 +02:00
Torkel Ödegaard
4aa227dd84 [Tech]: Start migrating to Jest for tests (#9610)
* tech: investigating karma + jest mix

* tech: migrating tests to jest

* tech: moved anoter test file to jest

* test: migrated two more test files to jest

* test: updated readme and made test fail to verify that it causes CI build failure

* tech: added code coverage for jest tests

* tech: testing codecov coverage

* tech: migrated more tests

* tech: migrated template srv to typescript and the tests to jest

* tech: minor build fix

* tech: build fixes

* build: another attempt at fixing go test with coverage
2017-10-22 07:03:26 +02:00
Carl Bergquist
c4365e225c Merge pull request #9605 from jasonodonnell/master
Fix typos in init.d comment
2017-10-20 20:12:51 +02:00
Jason O'Donnell
b51476f18a Fix typo in init.d script 2017-10-20 13:31:52 -04:00
Alexander Zobnin
6114f63d7c graphite: auto detect version 2017-10-20 16:26:00 +03:00
Alexander Zobnin
89aea278a9 graphite: improved version comparison 2017-10-20 15:50:44 +03:00
Alexander Zobnin
c22a192bb8 graphite: split tags and functions into 2 rows when seriesByTag used 2017-10-20 12:32:20 +03:00
Alexander Zobnin
968ce15e7f graphite: add tags to dropdown and switch to tag editor if selected 2017-10-20 12:07:31 +03:00
Daniel Lee
90ef877e6e plugins: expose dashboard impression store 2017-10-20 10:38:52 +02:00
Torkel Ödegaard
a56287c2dc ux: minor ux tweaks 2017-10-19 13:42:49 +02:00
Carl Bergquist
1d7a0db54b Sort series in the same order as legend in graph panel (#9563)
* graph: sort series in the same order as legend

closes #9538

* style: use function arrows

* graph: remove sort by legend option

sort series based on legend by default is sort order
is set and stack is enabled

* graph: remove useless sort

* graph: make code simpler
2017-10-19 13:04:02 +02:00
Torkel Ödegaard
d58a560fda Update CHANGELOG.md 2017-10-19 12:55:52 +02:00
Torkel Ödegaard
1e61eae9f4 fix: fixed save to file button in export modal, fixes #9586 2017-10-19 12:52:26 +02:00
Carl Bergquist
e8141b48d2 Merge pull request #9555 from mtanda/prometheus_46_improve_minor_fix
(prometheus) minor fix of auto complete
2017-10-19 10:42:34 +02:00
bergquist
b3a8d93dca mysql: add usage stats for mysql 2017-10-19 10:30:54 +02:00
Daniel Lee
6bb4abc0ac note for #9527 2017-10-18 18:21:22 +02:00
Sven Klemm
b2d880c6de modify $__timeGroup macro so it can be used in select clause (#9527)
* modify $__timeGroup macro so it can be used in select clause

* fix $__interval_ms for postgres datasource

* use $__timeGroup macro in documentation

* fix annotation template query
remove title since its no longer used and add tags instead

* change __timeFilter macro to work on postgresql < 8.1 and redshift
2017-10-18 18:10:01 +02:00
Torkel Ödegaard
6c01125416 Update CHANGELOG.md 2017-10-18 15:22:34 +02:00
Alexander Zobnin
92c67e8c83 Fix heatmap Y axis rendering (#9580)
* heatmap: fix Y axis rendering, #9576

* heatmap: fix color legend rendering
2017-10-18 15:19:20 +02:00
bergquist
c2c5f529f3 prometheus: add builtin template variable as range vectors
add $__interval and $__interval_ms as range vectors to
prometheus editor
2017-10-18 14:03:23 +02:00
Daniel Lee
9ae3938136 Note for #5457 2017-10-18 13:43:51 +02:00
Carl Bergquist
e8da084baf Merge pull request #9561 from mtanda/prometheus_46_fix_range
(prometheus) fix to show vector range popup
2017-10-18 13:39:57 +02:00
Torkel Ödegaard
8d68bd6bb9 fix: fixed prometheus step issue that caused browser crash, fixes #9575 2017-10-18 13:28:18 +02:00
bergquist
1797e2221a changelog: adds note about closing #9551 2017-10-18 12:13:54 +02:00
Carl Bergquist
43f039859a Merge pull request #9573 from cjchand/master
When Messasge field is set for an alert, map it to the output field i…
2017-10-18 12:10:42 +02:00
Torkel Ödegaard
039fc2964a fix: getting started panel and mark adding data source as done, fixes #9568 2017-10-18 12:02:57 +02:00
Daniel Lee
7cbb4020e9 pluginloader: esModule true for systemjs config
Supports importing a module's contents with the
'* as module' syntax. The latest version of SystemJS turns
it off per default which broke several plugins.
2017-10-18 11:16:18 +02:00
Alexander Zobnin
74e90d01ec Fixes for annotations API (#9577)
* annotations: throw error if no text specified and set default time to Now() if empty, #9571

* annotations: fix saving graphite event with empty string tags

* docs: add /api/annotations/graphite endpoint docs, #9571
2017-10-18 10:13:02 +02:00
Torkel Ödegaard
6f71af449b ux: new fixes 2017-10-18 09:48:37 +02:00
Patrick O'Carroll
148a4c6c2d Grafana5 light (#9559)
* variable for theme name for icons

* changes to navbar, sidemenu, breadcrumb, form-labels, dashlistlinks, searchitems etc

* fixed some missed issues with breadcrumbs
2017-10-18 07:49:52 +02:00
Chris Chandler
204fe007b7 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" 2017-10-17 16:22:56 -05:00
Torkel Ödegaard
bc8c2409c0 ux: work on rows 2017-10-17 14:53:52 +02:00
Mitsuhiro Tanda
8a43d4e25c fix vector range 2017-10-17 21:27:04 +09:00
Carl Bergquist
5910453e8a Merge pull request #9560 from mtanda/prometheus_46_metric_name_matching
(prometheus) allow ":" character for metric name
2017-10-17 13:34:25 +02:00
Mitsuhiro Tanda
ebebbddb2d allow ":" character for metric name 2017-10-17 19:44:59 +09:00
Torkel Ödegaard
eda3cffe22 build: added imports of rxjs utility functions 2017-10-17 12:14:54 +02:00
Torkel Ödegaard
e375159eec grid: row work 2017-10-17 12:04:18 +02:00
Torkel Ödegaard
d8230f8fa7 Merge branch 'master' into develop 2017-10-17 11:17:28 +02:00
Carl Bergquist
4cc9f4f075 Merge pull request #9558 from mtanda/cw_fix_expand_46
(cloudwatch) fix template variable expanding
2017-10-17 11:15:44 +02:00
Mitsuhiro Tanda
0f87279ab8 fix template variable expanding 2017-10-17 18:11:21 +09:00
Torkel Ödegaard
233062229a Update CHANGELOG.md 2017-10-17 11:08:43 +02:00
krise3k
45a572ebd8 annotations: quote reserved fields (#9550) 2017-10-17 11:03:19 +02:00
Carl Bergquist
c144dc86f2 Update CHANGELOG.md 2017-10-17 10:59:23 +02:00
Carl Bergquist
7923864935 Update CHANGELOG.md 2017-10-17 10:57:33 +02:00
Carl Bergquist
702c9f7cc5 Update CHANGELOG.md 2017-10-17 10:53:13 +02:00
Torkel Ödegaard
574afe8568 fix: fixed color pickers that were broken in minified builds, fixes #9549 2017-10-17 10:51:42 +02:00
Torkel Ödegaard
b86ae3f0e8 ux: align alert and btn colors 2017-10-17 09:35:14 +02:00
Torkel Ödegaard
8ff7e1d05d docs: doc updates 2017-10-17 09:35:14 +02:00
Torkel Ödegaard
00c2153edd Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-17 09:21:45 +02:00
Carl Bergquist
24a0eb909c Merge pull request #9553 from ryantxu/typo
Fix typo in PLUGIN_DEV.md
2017-10-17 07:05:06 +02:00
Mitsuhiro Tanda
c4c64365f1 remove duplicative prometheus function 2017-10-17 12:24:29 +09:00
Mitsuhiro Tanda
c51f84a12e remove label match operator from keyword.operator 2017-10-17 12:19:56 +09:00
Mitsuhiro Tanda
8580b78ce6 remove label match operator from keyword.operator 2017-10-17 12:19:42 +09:00
Mitsuhiro Tanda
cc1e69ace3 remove extra state push 2017-10-17 11:50:33 +09:00
ryan
85e3ed623a fix typo 2017-10-17 01:10:40 +02:00
Carl Bergquist
11e3876a16 Update CHANGELOG.md 2017-10-16 21:27:30 +02:00
Torkel Ödegaard
cd10be0f52 newgrid: row progress 2017-10-16 16:09:23 +02:00
Daniel Lee
5f6ab1e370 styleguide: fix link in index 2017-10-16 14:11:52 +02:00
Daniel Lee
b866383ec0 api: fix for dashboard version history 2017-10-16 14:09:52 +02:00
Daniel Lee
14241404ff textpanel: fixes #9491 2017-10-16 13:39:16 +02:00
Alexander Zobnin
199d0d152e graphite: datasource refactor 2017-10-16 14:23:29 +03:00
Daniel Lee
f3ec139eab csv: fix import for saveAs shim
After switch from systemjs to webpack, needed to import the
file-saver saveAs shim for it work. Fixes #9525
2017-10-16 13:20:37 +02:00
Torkel Ödegaard
a979767439 grid: minor progress on new row concept 2017-10-16 10:58:08 +02:00
Torkel Ödegaard
2ff4b86781 ux: add panel progress 2017-10-16 10:39:50 +02:00
bergquist
9de4d0fa6b alert_tab: clear test result when testing rules
closes #9539
2017-10-16 10:31:09 +02:00
Torkel Ödegaard
772ab7812f ux: worked on add panel function 2017-10-16 09:55:55 +02:00
Daniel Lee
eb4e71e2c6 plugins: expose more util and flot dependencies
Also, fix for coremodules export. Have to add the __esModule
attribute to fool SystemJS.
2017-10-16 09:06:34 +02:00
Carl Bergquist
c215f0b5ec Merge pull request #9528 from ericdahl/tsdb_cloudwatch_req_per_target
CloudWatch: Add ALB RequestCountPerTarget metric
2017-10-16 08:41:31 +02:00
Mitsuhiro Tanda
7edc95cc35 (cloudwatch) fix cloudwatch query error over 24h (#9536)
fix cloudwatch query error over 24h
2017-10-16 08:31:05 +02:00
Carl Bergquist
2d840f12e0 Merge pull request #9534 from mtanda/cw_improve_err_msg
(cloudwatch) show error message when cloudwatch datasource can't add
2017-10-16 08:08:35 +02:00
Joaquin Casares
fa68eb9be6 Add autofocus tag for username field on login.html (#9526) 2017-10-16 07:25:30 +02:00
Mitsuhiro Tanda
40b11654fd show error message when cloudwatch datasource can't add 2017-10-16 13:05:53 +09:00
Torkel Ödegaard
48b6692491 ux: minor button changes 2017-10-15 12:25:31 +02:00
Eric Dahl
888d608090 CloudWatch: Add ALB RequestCountPerTarget metric
This commit adds the new ALB metric `RequestCountPerTarget` which was
released in July 2017.
2017-10-14 21:50:23 -07:00
Torkel Ödegaard
9b7d346d3f ux: color tweaks 2017-10-14 21:51:36 +02:00
Torkel Ödegaard
a3bd761b0c ux: testing out new icons 2017-10-14 21:17:16 +02:00
Torkel Ödegaard
7e16254b1a Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-14 08:21:55 +02:00
bergquist
91f60bb6c4 set nightly version to v4.7.0-pre1 2017-10-13 17:12:40 +02:00
bergquist
86b2048d3b changelog: adds release date for v4.6.0-beta1 2017-10-13 17:12:40 +02:00
Torkel Ödegaard
825cac38b4 ux: minor fixes 2017-10-13 17:01:38 +02:00
Torkel Ödegaard
0c31d23086 grid: fixed grid width issues 2017-10-13 15:11:05 +02:00
Torkel Ödegaard
70005d3e37 grid: repeat refactoring and unit tests 2017-10-13 14:50:16 +02:00
Carl Bergquist
a316b5fb80 Merge pull request #9519 from Foxboron/patch-1
Missing dot in aws credentials path
2017-10-13 14:22:21 +02:00
Morten Linderud
4a22d22857 Missing dot in aws credentials path
As far as i know the path hasn't changed, but the dot is missing in one place.
2017-10-13 14:08:37 +02:00
Torkel Ödegaard
e5a6cb6241 newgrid: added constants, changed grid to 24 cols, added tests for panel repeats 2017-10-13 13:51:05 +02:00
Torkel Ödegaard
9fb4f61975 Merge branch 'master' into develop 2017-10-13 10:49:55 +02:00
Torkel Ödegaard
7bfd8e2a56 docs: doc updates 2017-10-13 10:31:34 +02:00
Alexander Zobnin
a834812e13 Merge branch 'master' into graphite-seriesbytag 2017-10-13 10:26:20 +03:00
Torkel Ödegaard
8bb9d92a73 grid: minor progress on panel repeats 2017-10-12 21:37:27 +02:00
Torkel Ödegaard
215d59865e changed name back to use underscore instead of camelcase, need to think more about this 2017-10-12 20:02:07 +02:00
Torkel Ödegaard
83e496606e fixed dashboard sorting 2017-10-12 19:55:52 +02:00
Torkel Ödegaard
770a21b368 newgrid: worked panel duplicate 2017-10-12 19:01:02 +02:00
Torkel Ödegaard
48c8e4d627 fix: various fixes for new grid 2017-10-12 17:38:49 +02:00
Torkel Ödegaard
88ceb19d96 Merge branch 'master' into develop 2017-10-12 16:32:44 +02:00
Daniel Lee
4c5bf76829 dashgrid: fix or skip tests for repeat rows 2017-10-12 12:01:13 +02:00
Daniel Lee
5272dd6605 dashboardgrid: disable dynamic_dashboard_srv for now
The row concept is probably going to change a lot so disabling
the repeating panels and repeating rows code and tests for now.
2017-10-12 11:04:38 +02:00
Torkel Ödegaard
98b582bead ux: style tweaks 2017-10-11 22:10:33 +02:00
Torkel Ödegaard
3a089dd04c newgrid: various fixes 2017-10-11 21:36:03 +02:00
Omkar Wagh
209f2debe6 If retention policy is set for influxDB, preprend that to the measurement name
for exploration queries.
2017-10-11 13:22:48 -04:00
Torkel Ödegaard
0d9ac4d5a4 newgrid: fixed migration code to new grid 2017-10-11 16:58:11 +02:00
Torkel Ödegaard
9358d0c6f7 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-11 16:48:30 +02:00
Torkel Ödegaard
ad1d69861e Merge branch 'master' of github.com:grafana/grafana into develop 2017-10-11 16:47:16 +02:00
Torkel Ödegaard
3471e262a5 docker: updated our graphite docker container 2017-10-11 16:40:15 +02:00
Torkel Ödegaard
85405a2e8d Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-11 16:32:14 +02:00
Torkel Ödegaard
331b50dcaa grid: edit/view now works 2017-10-11 16:32:05 +02:00
Daniel Lee
0f6270098b dashboard: fixes for panels without rows 2017-10-11 16:09:05 +02:00
Daniel Lee
5e8f253ff8 webpack: changed devtools setting to stop exceptions 2017-10-11 16:09:05 +02:00
Torkel Ödegaard
9785e6b630 fix: ignore upgrading dashboard grid when there are no rows 2017-10-11 14:40:18 +02:00
Torkel Ödegaard
d8e4decc60 grid: fixed migration for rows without height 2017-10-11 14:36:25 +02:00
Torkel Ödegaard
d4ebcc82b4 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-10-11 13:52:59 +02:00
Torkel Ödegaard
18f58ea36c ux: minor fix sidemenu 2017-10-11 13:52:36 +02:00
Torkel Ödegaard
087b55aece newgrid: progress on fullscreen/edit view modes 2017-10-11 11:42:49 +02:00
Torkel Ödegaard
4c8310c2bf Merge branch 'graphite-seriesbytag' of https://github.com/alexanderzobnin/grafana into alexanderzobnin-graphite-seriesbytag 2017-10-11 11:35:07 +02:00
Daniel Lee
cd6a18ec62 search: fix search to limit dashboards better
Change the query to first select the dashboards, apply the limit then
join with tags. Means the limit will apply to the number of dashboards
returned in the search. The disadvantage is that the query will return
more rows than the limit, no. of dashboards x no. of tags. So hard limit
set to 5000 for all rows.
2017-10-10 20:56:05 +02:00
Torkel Ödegaard
df61558018 grid: fixed geting started panel pos 2017-10-10 19:48:06 +02:00
Torkel Ödegaard
2e77bd0cb1 grid: progress on react grid 2017-10-10 17:57:53 +02:00
Torkel Ödegaard
10a3504309 grid: progress on new grid, resize & saving layouts works 2017-10-10 14:20:53 +02:00
Torkel Ödegaard
207773e07e grid: minor progress 2017-10-10 09:34:14 +02:00
Torkel Ödegaard
a867dc069b tech: got angular component to load inside react grid 2017-10-09 20:38:48 +02:00
Torkel Ödegaard
63bf2a0278 grid: need to find a way to add angular component inside react 2017-10-09 17:52:25 +02:00
Torkel Ödegaard
6cd2624caf ux: initial react grid poc 2017-10-09 17:24:10 +02:00
Torkel Ödegaard
647a3cc5ae Merge branch 'master' into develop 2017-10-09 16:01:54 +02:00
Alexander Zobnin
2f1c14fc98 graphite-tags: refactor, improve performance - remove unnecessary parseTarget() calls 2017-10-05 16:30:20 +03:00
Alexander Zobnin
055f21f1e8 graphite-tags: add tests 2017-10-05 15:17:46 +03:00
Alexander Zobnin
63d51d0db3 graphite-tags: refactor, use <gf-form-dropdown> instead of <metric-segment> 2017-10-05 14:43:20 +03:00
Alexander Zobnin
a4daba63ea graphite-tags: initial tag editor 2017-10-05 10:47:32 +03:00
Torkel Ödegaard
d38c891fac merge with master 2017-10-02 14:14:45 +02:00
Torkel Ödegaard
c5e6344a2c fixes 2017-09-28 11:05:14 +02:00
Torkel Ödegaard
5849fbf04e Merge branch 'master' of github.com:grafana/grafana into develop 2017-09-28 10:37:57 +02:00
Torkel Ödegaard
18337f610d Merge branch 'master' into develop 2017-09-22 08:42:07 +02:00
Torkel Ödegaard
41e01184aa Merge branch 'master' into develop 2017-09-18 12:32:29 +02:00
Torkel Ödegaard
a9e3130ef6 Merge branch 'master' into develop 2017-09-13 16:06:34 +02:00
Torkel Ödegaard
6ed1b084ce develop: fixed more broken tests, couple still failing 2017-09-07 15:21:26 +02:00
Torkel Ödegaard
a38ded9e7e Merge branch 'master' into develop-newgrid-row-design2 2017-09-07 15:05:41 +02:00
Torkel Ödegaard
ba1fbe0786 ux: alternative row design 2017-08-25 18:53:35 +02:00
Torkel Ödegaard
4819e50441 newgrid: fixes to default home dashboard 2017-08-25 14:47:57 +02:00
Torkel Ödegaard
1aa5ed0cde ux: minor fixes 2017-08-25 10:41:24 +02:00
Torkel Ödegaard
d87653b079 ux: new grid progress 2017-08-25 10:19:08 +02:00
Torkel Ödegaard
160d8cec92 grid: minor progres on new grid 2017-08-24 16:37:00 +02:00
Torkel Ödegaard
47cf8e6337 grid: minor progres on new grid 2017-08-24 14:08:05 +02:00
Torkel Ödegaard
4639fe68f4 Merge branch 'develop' into develop-newgrid-row-panels 2017-08-21 12:29:20 +02:00
Torkel Ödegaard
23b0795dcc ux: minor button changes 2017-08-21 11:08:58 +02:00
Torkel Ödegaard
a3eaa7f178 Merge branch 'develop' into develop-newgrid-row-panels 2017-08-21 10:16:50 +02:00
Torkel Ödegaard
a95d587c96 ux: minor updates 2017-08-20 21:23:41 +02:00
Torkel Ödegaard
21a7f57248 ux: changed cta button style 2017-08-20 21:16:40 +02:00
Torkel Ödegaard
3e3501b57d minor fix 2017-08-19 21:45:15 +02:00
Torkel Ödegaard
cf7c65d36e ux: added scroll to two pages 2017-08-19 11:22:47 +02:00
Torkel Ödegaard
9ba2fb4889 minor fix for page-h1 2017-08-19 11:09:11 +02:00
Torkel Ödegaard
afe0137c66 grid work 2017-08-18 17:39:07 +02:00
Torkel Ödegaard
da9c8c814f progress on rows as panelsW 2017-08-18 16:33:36 +02:00
Torkel Ödegaard
a0bb58867a Merge branch 'develop' into develop-newgrid-row-panels 2017-08-18 15:02:17 +02:00
Torkel Ödegaard
dc249cf945 fixed unit tests 2017-08-18 15:01:29 +02:00
Torkel Ödegaard
011c582ebb minor user avatar stuff 2017-08-18 14:49:04 +02:00
Torkel Ödegaard
55c6b4b99c started on rows as panels in single grid 2017-08-18 13:25:51 +02:00
Torkel Ödegaard
301ae2ea05 Merge branch 'develop' into develop-newgrid-rows 2017-08-18 08:57:33 +02:00
Torkel Ödegaard
d452d3ce93 minor user list cahnge 2017-08-18 08:34:10 +02:00
Torkel Ödegaard
02dc3c063c Merge branch 'develop' of github.com:grafana/grafana into develop 2017-08-18 08:17:44 +02:00
Torkel Ödegaard
bb7b55277c users view update 2017-08-18 08:17:35 +02:00
Torkel Ödegaard
02bb92a126 Merge branch 'develop-ux-wip' of github.com:grafana/grafana into develop-newgrid-rows 2017-08-18 08:13:05 +02:00
Torkel Ödegaard
8817cc9aaf ux: color tweaks 2017-08-17 21:32:23 +02:00
Matt
e79dbc7cec Moved around the columns a bit 2017-08-17 19:02:48 +02:00
Torkel Ödegaard
7ed2ed71f0 ux: dashboard stuff 2017-08-17 18:50:46 +02:00
Torkel Ödegaard
637ff61f90 Merge branch 'develop' into develop-newgrid-rows 2017-08-17 15:56:38 +02:00
Torkel Ödegaard
11f6c4eb28 ux: minor changes 2017-08-17 15:52:22 +02:00
Torkel Ödegaard
4e66fd72d3 ux: sidemenu animation duration 2017-08-17 15:36:50 +02:00
Torkel Ödegaard
d4a231fe09 ux: fixed sidenav issues 2017-08-17 14:59:10 +02:00
Torkel Ödegaard
4dd4631b87 ux: sidemenu toggling 2017-08-17 14:00:41 +02:00
Torkel Ödegaard
6609dbff90 ux: sidenav fixes and dashboard search changes 2017-08-17 12:06:51 +02:00
Torkel Ödegaard
a4da0adf38 ux: switching orgs now works through modal 2017-08-16 15:37:13 +02:00
Torkel Ödegaard
95f5c84a57 ux: making org visibile in profile view 2017-08-16 15:03:49 +02:00
Torkel Ödegaard
7f0f0eb617 ux: more nav work 2017-08-16 11:28:52 +02:00
Torkel Ödegaard
5405736321 ux: nav fixes & polish 2017-08-15 23:17:34 +02:00
Torkel Ödegaard
d659a5d79f ux: more nav work 2017-08-15 20:53:31 +02:00
Torkel Ödegaard
0bc226d760 ux: more nav work 2017-08-15 20:24:16 +02:00
Torkel Ödegaard
1eab771231 ux: navigation work 2017-08-15 17:52:52 +02:00
Torkel Ödegaard
db54416deb ux: sidenav fixes and dashboard search changes 2017-08-15 15:25:18 +02:00
Torkel Ödegaard
6a1075cd02 Merge branch 'develop-ux-wip' of github.com:grafana/grafana into develop-ux-wip 2017-08-15 14:49:35 +02:00
Torkel Ödegaard
63424f9866 ux: more work on sidemenu 2017-08-15 14:49:12 +02:00
Matt
9aa8648736 Silly gradient added a placeholder. no more experimentation to be done here until Trent has a pass at it 2017-08-15 14:43:10 +02:00
Torkel Ödegaard
c65d92779f Merge branch 'develop-ux-wip' of github.com:grafana/grafana into develop-ux-wip 2017-08-15 11:51:55 +02:00
Torkel Ödegaard
7bf6904119 ux: scrollbar stuff 2017-08-15 11:51:47 +02:00
Matt
b949f019cf Added drop shadown for sticky scrolling, moved colors into dark and light variables 2017-08-15 11:04:26 +02:00
Matt
588f35ef4f Reduced size of breadcrumbs, additional form styling. Colors still need to be adjusted 2017-08-15 10:54:13 +02:00
Matt
f68dc5ca23 Starting to play with new form styles 2017-08-15 09:48:35 +02:00
Torkel Ödegaard
547c61dc1a ux: minor scroll fix 2017-08-15 09:46:38 +02:00
Torkel Ödegaard
27d6492f40 ux: removed custom scrollbar look 2017-08-15 09:10:39 +02:00
Torkel Ödegaard
521c33a7e6 ux: reduced size of sidemenu icons a bit 2017-08-14 22:47:04 +02:00
Torkel Ödegaard
e81cb9c929 ux: testing fixed sidemenu and breadcrumbs 2017-08-14 22:44:01 +02:00
Torkel Ödegaard
097fa74390 ux: minor navbar update 2017-08-14 21:43:24 +02:00
Torkel Ödegaard
8aa73401a9 ux: new breadcrumb progress 2017-08-14 19:47:40 +02:00
Torkel Ödegaard
8d6a1cdbb4 ux: wip 2017-08-14 18:11:35 +02:00
Torkel Ödegaard
78ea1dc87d ux: new page header look wip 2017-08-14 16:06:20 +02:00
Torkel Ödegaard
8b87964344 ux: testing roboto font 2017-08-14 13:57:16 +02:00
Torkel Ödegaard
f02be0251b ux: use flexbox for sidenav, put logo in sidenav 2017-08-14 12:26:24 +02:00
Torkel Ödegaard
1dab313ca3 Merge branch 'master' into develop 2017-08-14 10:30:36 +02:00
Torkel Ödegaard
8f2975c69b moving panels betwen rows are starting to work 2017-08-11 12:12:17 +02:00
Torkel Ödegaard
9f945578b8 grid: progress on row support 2017-08-10 17:17:15 +02:00
Torkel Ödegaard
61459b287c grid: new grid fixes 2017-08-10 15:29:40 +02:00
Torkel Ödegaard
7cb6093dba new-grid: fixed destory issues 2017-08-10 15:08:53 +02:00
Torkel Ödegaard
23666c0f78 grid: remove panel works 2017-08-10 14:54:56 +02:00
Torkel Ödegaard
8356871636 grid: updated gridstack to use grafana fork 2017-08-09 16:02:00 +02:00
Torkel Ödegaard
a2a4325b6e Merge branch 'develop-newgrid' of github.com:grafana/grafana into develop-newgrid 2017-08-09 15:35:06 +02:00
Torkel Ödegaard
77b42220f4 feat: new grid fixes 2017-08-09 15:33:19 +02:00
Torkel Ödegaard
d25dae9b58 Merge branch 'master' into develop-newgrid 2017-08-09 14:07:06 +02:00
Torkel Ödegaard
95f67ed79d minor fixes 2017-08-05 08:51:57 +02:00
Torkel Ödegaard
8563e5801e updated 2017-08-04 13:46:32 +02:00
Torkel Ödegaard
957e1c188a Merge branch 'develop' into develop-newgrid 2017-08-04 13:26:05 +02:00
Torkel Ödegaard
a0a2eda5c6 Merge branch 'master' into gridstack 2017-08-04 13:09:26 +02:00
Torkel Ödegaard
de7bb8cb62 feat: new grid system progressW 2017-08-04 10:47:23 +02:00
Torkel Ödegaard
eb18bfea07 ux: minor panel menu fix 2017-08-03 15:19:06 +02:00
Torkel Ödegaard
d862b64b1b ux: minor panel menu tweaks 2017-08-03 13:26:30 +02:00
Torkel Ödegaard
148c24aa18 ux: tweaks to new panel menu 2017-08-03 10:35:27 +02:00
Torkel Ödegaard
7395bbda78 Merge remote-tracking branch 'origin/master' into develop 2017-08-02 09:57:34 +02:00
Torkel Ödegaard
9fb60c2fc8 Merge branch 'develop' into panel-title-menu-ux 2017-08-02 09:56:08 +02:00
Torkel Ödegaard
e312408855 updated 2017-08-02 09:22:22 +02:00
Torkel Ödegaard
21a3f443f2 Merge branch 'master' into panel-title-menu-ux 2017-08-01 11:43:00 +02:00
Daniel Lee
ebcbcdc27a dashfolders: inherited permissions for dashboards
Allow duplicate permissions if the original is an
inherited permission from a parent folder.

If a dashboard has permissions but the parent folder
does not, return the default permissions for the
editor and view role combined with the permissions
for the child dashboard.
2017-06-24 03:50:22 +02:00
Daniel Lee
86a7266f5f dashfolders: handle permission changes when saving/moving dashboards 2017-06-23 23:31:58 +02:00
Torkel Ödegaard
3066280216 added code from #8504, and #8021 2017-06-23 17:13:58 -04:00
Torkel Ödegaard
1833c65559 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-06-23 16:07:16 -04:00
Torkel Ödegaard
fc69d59cae dashboard folder search fix 2017-06-23 16:00:26 -04:00
Daniel Lee
01ac3a49bd dashfolders: fix user group picker + cleanup 2017-06-23 20:56:02 +02:00
Torkel Ödegaard
456225365f Merge branch 'develop' of github.com:grafana/grafana into develop 2017-06-23 12:59:14 -04:00
Torkel Ödegaard
e854fadb67 Merge branch 'master' into develop 2017-06-23 12:56:59 -04:00
Daniel Lee
c6965ce6f4 dashfolders: rename refactor 2017-06-23 18:00:49 +02:00
Daniel Lee
97ff245ad0 dashfolders: validation for duplicates in acl modal 2017-06-23 17:45:55 +02:00
Torkel Ödegaard
ff4a79df06 minor update 2017-06-23 11:01:55 -04:00
Torkel Ödegaard
b7255723ea ux: style tweaks, trying out non italic headers 2017-06-23 09:18:39 -04:00
Torkel Ödegaard
876bb08b05 Merge branch 'develop' of github.com:grafana/grafana into develop 2017-06-22 19:05:49 -04:00
Torkel Ödegaard
5360303ad4 ux: nav changes 2017-06-22 19:05:33 -04:00
Torkel Ödegaard
12270022e3 added sidemeu stuff 2017-06-22 18:41:39 -04:00
Daniel Lee
6d86afd472 dashfolders: use canadmin permission in settings menu 2017-06-23 00:36:17 +02:00
Daniel Lee
82cfa29c00 dashfolders: tests for permission modal 2017-06-23 00:36:08 +02:00
Torkel Ödegaard
a4910c7aea merging new-sidenav 2017-06-22 18:11:29 -04:00
Torkel Ödegaard
aa634402d9 dashboard acl fixes 2017-06-22 17:43:55 -04:00
Torkel Ödegaard
545b02139d Merge branch 'dashboard_folders' of github.com:grafana/grafana into dashboard_folders 2017-06-22 17:11:39 -04:00
Torkel Ödegaard
9c6c8c0f3f acl fixes 2017-06-22 17:10:43 -04:00
Daniel Lee
1d43bfbf3f dashfolders: new admin permission needed to view/change acl 2017-06-22 23:01:04 +02:00
Torkel Ödegaard
f6b52cd6d7 Merge branch 'dashboard_folders' of github.com:grafana/grafana into dashboard_folders 2017-06-22 15:16:57 -04:00
Torkel Ödegaard
a82b25eb79 acl: more acl work 2017-06-22 15:16:41 -04:00
Daniel Lee
46c5625b59 dashfolders: filter search based on child dash permissions 2017-06-22 20:10:49 +02:00
Daniel Lee
446104d120 dashfolders: allows phantomjs rendering for alerting
Makes the alerting user an admin when rendering a png
for emails
2017-06-22 02:43:33 +02:00
Daniel Lee
691ff32ae9 dashfolders: allow overflow-y for modals 2017-06-22 02:07:49 +02:00
Daniel Lee
f68d2816ab dashfolders: security for png rendering 2017-06-22 01:23:48 +02:00
Torkel Ödegaard
659a59107e dashboard acl stuff 2017-06-21 19:23:24 -04:00
Torkel Ödegaard
2257c1f874 dashboard acl work 2017-06-21 19:02:03 -04:00
Torkel Ödegaard
aab6c98e45 Merge branch 'dashboard-acl' into dashboard_folders 2017-06-21 17:57:57 -04:00
Torkel Ödegaard
a37c441193 dashboard acl 2017-06-21 17:57:04 -04:00
Torkel Ödegaard
945302ba52 working on dashbord acl stuff 2017-06-21 17:14:06 -04:00
Daniel Lee
1e064f6c19 WIP: first draft of permissionlist panel
for folder home page
2017-06-21 22:28:10 +02:00
Torkel Ödegaard
48305b5789 dashboard acl 2017-06-21 14:19:08 -04:00
Torkel Ödegaard
fcc8557dbb dashboard acl work 2017-06-21 14:11:16 -04:00
Daniel Lee
38142b371f WIP: fix js tests for acl 2017-06-21 01:19:30 +02:00
Daniel Lee
ca1f429831 WIP: fix folder-picker for dashlist 2017-06-21 01:07:14 +02:00
Torkel Ödegaard
43ffe826fa dashboard acl work 2017-06-20 17:18:20 -04:00
Torkel Ödegaard
408c37170f refactoring: dashboard folders 2017-06-20 14:45:00 -04:00
Torkel Ödegaard
3edd209736 dashboard acl modal 2017-06-20 12:36:07 -04:00
Daniel Lee
cb8b5c0d42 WIP: adding roles - not finished 2017-06-20 01:08:04 +02:00
Torkel Ödegaard
212a66ae5f Merge branch 'dashboard_folders' of github.com:grafana/grafana into dashboard_folders 2017-06-19 18:55:34 -04:00
Torkel Ödegaard
93bc588dae refactoring: moving dashboards acl migrations to its own folder 2017-06-19 18:48:15 -04:00
Daniel Lee
812112f2f6 WIP: fix acl route 2017-06-20 00:34:25 +02:00
Torkel Ödegaard
e290015887 refactoring: renaming 2017-06-19 18:19:58 -04:00
Torkel Ödegaard
aaf2a897b0 folders: changed api urls for dashboard acls 2017-06-19 18:11:30 -04:00
Torkel Ödegaard
c4a1803060 refactoring more renaming 2017-06-19 17:30:54 -04:00
Torkel Ödegaard
e0b9ba7554 refactoring renaming dashboard folder operations 2017-06-19 17:15:25 -04:00
Torkel Ödegaard
34cf305d2c Merge branch 'master' into dashboard_folders 2017-06-19 16:40:30 -04:00
Torkel Ödegaard
04da97bffb dashboard_folders refactoring 2017-06-19 15:37:22 -04:00
Torkel Ödegaard
74840178cf refactoring dashboard folder security checks 2017-06-19 15:22:42 -04:00
Torkel Ödegaard
f7194878fe dashboard guardian refactoring starting to work 2017-06-19 13:47:44 -04:00
Torkel Ödegaard
d6341162cb refactoring dashboad folder acl checks 2017-06-19 11:54:37 -04:00
Torkel Ödegaard
b494fd7689 dashboard folders acl work 2017-06-19 11:03:54 -04:00
Torkel Ödegaard
cbbbccf12a refactoring dashoard folder guardian 2017-06-17 18:24:38 -04:00
Daniel Lee
d1e1c4be93 WIP: refactor user group modal 2017-06-18 00:16:33 +02:00
Torkel Ödegaard
3fe031d25d refactoring: Dashboard guardian 2017-06-16 21:25:24 -04:00
Daniel Lee
5cf63e3726 WIP: remove unused test file 2017-06-17 03:21:08 +02:00
Daniel Lee
d89c1260c6 WIP: refactor dash search and remove extra query 2017-06-17 03:00:13 +02:00
Daniel Lee
5cf40cbd12 WIP: move guardian logic for search into the sql query 2017-06-17 02:34:05 +02:00
Daniel Lee
84ff62d773 WIP: remove dashboard children on delete 2017-06-17 02:34:05 +02:00
Torkel Ödegaard
d9dca72ee4 dashboard_folders: refactoring picker and folder selection in dashboard settings & save as menu 2017-06-16 16:57:37 -04:00
Torkel Ödegaard
5b35a21d6f Merge branch 'dashboard_folders' of github.com:grafana/grafana into dashboard_folders 2017-06-16 14:56:46 -04:00
Torkel Ödegaard
0ad4a0faa9 Merge branch 'master' into dashboard_folders 2017-06-16 13:08:45 -04:00
Daniel Lee
dd02bf7c9b WIP: adds API check to stop folders being included in folders 2017-06-16 02:45:47 +02:00
Torkel Ödegaard
7a39578f33 use gf-form-dropdown in user picker 2017-06-15 16:38:00 -04:00
Torkel Ödegaard
e63fa9c83c Merge branch 'master' into dashboard_folders 2017-06-15 16:23:10 -04:00
Daniel Lee
29ec05298e WIP: add test for add user group permission 2017-06-15 20:39:27 +02:00
Daniel Lee
0e853163fd WIP: can edit dashboard permission 2017-06-15 20:21:14 +02:00
Daniel Lee
9e7aa65fb7 WIP: clean up after user and org user delete 2017-06-15 20:19:54 +02:00
Daniel Lee
699f9095e2 WIP: remove permissions when deleting global user 2017-06-14 23:45:30 +02:00
Torkel Ödegaard
41662b8540 dashboard_folders: updated 2017-06-14 12:55:21 -04:00
Daniel Lee
222a938cdf WIP: delete dependent permissions on user group delete 2017-06-14 18:40:08 +02:00
Torkel Ödegaard
210813f126 dashboard_folders: fixes to user picker & group picker 2017-06-14 12:32:43 -04:00
Torkel Ödegaard
908eb24d3a dashboard_folders: fixes to user & group picker 2017-06-14 12:21:05 -04:00
Torkel Ödegaard
3e8937e53b Merge branch 'master' into new-sidemenu 2017-06-14 10:00:43 -04:00
Torkel Ödegaard
81abfd4ca4 minor update 2017-06-14 10:00:40 -04:00
Daniel Lee
92717ccafb WIP: permission checking for dash version api methods 2017-06-14 00:28:34 +02:00
Torkel Ödegaard
a6bbcb8fef ux: gridstack poc 2017-06-13 16:10:56 -04:00
Torkel Ödegaard
35c440eb79 Gridstack: testing 2017-06-13 12:59:37 -04:00
Daniel Lee
a861b1b9ba WIP: check permissions for delete/post dashboard 2017-06-12 23:05:32 +02:00
Daniel Lee
88e1fcb910 WIP: fixes after version history merge 2017-06-12 22:51:50 +02:00
Torkel Ödegaard
5061b3c691 ux: nav experiments 2017-06-12 21:11:22 +02:00
Daniel Lee
3913f16550 WIP: add permission check for GetDashboard 2017-06-12 16:48:51 +02:00
Torkel Ödegaard
f341a21b01 ux: side nav experiments 2017-06-12 16:46:02 +02:00
Daniel Lee
ef0facc987 WIP: fix test after merge conflict 2017-06-12 15:49:09 +02:00
Daniel Lee
9f79b9b8c5 WIP: fix go fmt error 2017-06-12 15:49:09 +02:00
Daniel Lee
18269a5886 WIP: user + user-group pickers for permissions 2017-06-12 15:49:09 +02:00
Daniel Lee
9eccb4e79f WIP: API - add dash permission 2017-06-12 15:49:09 +02:00
Daniel Lee
bc6aa74439 WIP: user-picker directive 2017-06-12 15:49:09 +02:00
Daniel Lee
2097ed0bb8 WIP: Permission Type as string in permission query 2017-06-12 15:49:09 +02:00
Daniel Lee
96afb91ac4 WIP: fixes after navbar changes
Fixes for merge conflicts and navbar metadata
added for user group pages.
2017-06-12 15:49:09 +02:00
Daniel Lee
5c89c4b2bd WIP: dashlist in template for new folder 2017-06-12 15:49:09 +02:00
Daniel Lee
533f2d3d72 WIP: refactor folder-picker for dashlist 2017-06-12 15:49:09 +02:00
Daniel Lee
c602afb9c6 WIP: dashboard search by folder + toggle for list or tree mode 2017-06-12 15:49:09 +02:00
Daniel Lee
7381d2565d WIP: adds folder-picker to save as dialog 2017-06-12 15:49:09 +02:00
Daniel Lee
d081f85289 WIP: use metric-segment for folder picker 2017-06-12 15:49:09 +02:00
Daniel Lee
6c736e002a WIP: add dummy root folder to folder picker
Can move a dash from a folder back to root level as well
2017-06-12 15:49:09 +02:00
Daniel Lee
1e865211c9 WIP: Create new dashboard button in dash search 2017-06-12 15:49:09 +02:00
Daniel Lee
06a15eec5c WIP: permissions moved to settings tab. Adds folder dropdown to general settings tab 2017-06-12 15:49:09 +02:00
Daniel Lee
82afe8228f WIP: add parentid to getdashboard query result 2017-06-12 15:49:09 +02:00
Daniel Lee
68b9342de3 WIP: dashboard search by type (folder or dash) 2017-06-12 15:49:09 +02:00
Daniel Lee
b4576edc90 WIP: fix after upstream sqlstore refactoring 2017-06-12 15:49:09 +02:00
Daniel Lee
764d25f007 WIP: rollback 2017-06-12 15:49:09 +02:00
Daniel Lee
fa18b0053d WIP: delete permission in API 2017-06-12 15:49:09 +02:00
Daniel Lee
fff7b706d6 WIP: user group additions 2017-06-12 15:49:09 +02:00
Daniel Lee
53d11d50fc WIP: remove browse mode for dashboard search
Dashboard folders included in all searches. If a dashboard matches
a search and has a parent folder then the parent folder is appended
to the search result. A hierarchy is then returned in the result
with child dashboards under their parent folders.
2017-06-12 15:49:09 +02:00
Daniel Lee
f1e1da39e3 WIP: get Dashboard Permissions
The guardian class checks if the user is allowed to get the
permissions for a dashboard.
2017-06-12 15:49:09 +02:00
Daniel Lee
074ef7ce4e WIP: add open/closed folders icons for dash search
If browsing, then show open folder icon. If searching, show
the closed folder icon
2017-06-12 15:49:09 +02:00
Daniel Lee
13314f23ba WIP: Can remove dashboard permission - sql 2017-06-12 15:49:09 +02:00
Daniel Lee
890ebcbb7b WIP: limit GetAllowedDashboards sql query with a where in 2017-06-12 15:49:09 +02:00
Daniel Lee
97c13b77bf WIP: Add or update Dashboard ACL
SQL Integration Tests for the guardian class too.
2017-06-12 15:49:09 +02:00
Daniel Lee
3785894b40 WIP: guardian service for search
Removes restricted dashboards from search result.
2017-06-12 15:49:09 +02:00
Daniel Lee
2e010b920b dashboard: sort search with dash folder first 2017-06-12 15:49:09 +02:00
Daniel Lee
9cbaf0722b WIP: add some TS types 2017-06-12 15:49:09 +02:00
Daniel Lee
cbbe90ee79 WIP: edit user group page 2017-06-12 15:49:09 +02:00
Daniel Lee
552935031b WIP: API methods for add/remove members to user group 2017-06-12 15:49:09 +02:00
Daniel Lee
0a1df0905e WIP: add update user group command 2017-06-12 15:49:09 +02:00
Daniel Lee
00ac446b2b WIP: add new group, needs to be redone 2017-06-12 15:49:09 +02:00
Daniel Lee
233cd7af4a WIP: add user group search 2017-06-12 15:49:09 +02:00
Daniel Lee
af67aea2a9 WIP: add usergroup commands and queries 2017-06-12 15:49:09 +02:00
Daniel Lee
1248728d7f WIP: rough prototype of dashboard folders
Breaks some stuff like selected dash in the search result.
In dashboard search, if the user is not searching then the result is
returned as a tree structure. No ACL's or user group ux yet.
2017-06-12 15:49:09 +02:00
Torkel Ödegaard
ff2394709d ux: very early start to new sidemenu 2017-06-08 23:13:38 +02:00
Torkel Ödegaard
ef9fa7b0cc ux: very early start to new sidemenu 2017-06-08 22:17:43 +02:00
Torkel Ödegaard
f3fe664f24 ux: minor tweak to faintness of icons of panel menu caret 2017-06-08 16:57:37 +02:00
Torkel Ödegaard
25683c688f ux: minor progress on panel title menu makover 2017-06-08 16:22:51 +02:00
Torkel Ödegaard
4206f98ba4 Merge branch 'master' into panel-title-menu-ux 2017-06-08 14:50:03 +02:00
Torkel Ödegaard
702978eff7 ux: more work on panel menu 2017-04-11 10:05:30 +02:00
Torkel Ödegaard
a47183f740 ux: panel title ux improvements poc 2017-04-11 07:43:40 +02:00
3277 changed files with 406090 additions and 212842 deletions

View File

@@ -7,6 +7,7 @@ indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120
[*.go]
indent_style = tab

View File

@@ -4,8 +4,6 @@ Read before posting:
- Checkout FAQ: https://community.grafana.com/c/howto/faq
- Checkout How to troubleshoot metric query issues: https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50
Please prefix your title with [Bug] or [Feature request].
Please include this information:
- What Grafana version are you using?
- What datasource are you using?

13
.gitignore vendored
View File

@@ -10,8 +10,10 @@ awsconfig
/public_gen
/public/vendor/npm
/tmp
vendor/phantomjs/phantomjs
vendor/phantomjs/phantomjs.exe
tools/phantomjs/phantomjs
tools/phantomjs/phantomjs.exe
profile.out
coverage.txt
docs/AWS_S3_BUCKET
docs/GIT_BRANCH
@@ -36,19 +38,26 @@ public/css/*.min.css
conf/custom.ini
fig.yml
docker-compose.yml
docker-compose.yaml
/conf/provisioning/**/custom.yaml
profile.cov
/grafana
.notouch
/pkg/cmd/grafana-cli/grafana-cli
/pkg/cmd/grafana-server/grafana-server
/pkg/cmd/grafana-server/debug
debug.test
/examples/*/dist
/packaging/**/*.rpm
/packaging/**/*.deb
# Ignore OSX indexing
.DS_Store
/vendor/**/*.py
/vendor/**/*.xml
/vendor/**/*.yml
/vendor/**/*_test.go
/vendor/**/.editorconfig
/vendor/**/appengine*
*.orig

View File

@@ -1,10 +0,0 @@
#!/usr/bin/env bash
test -z "$(gofmt -s -l . | grep -v vendor/src/ | tee /dev/stderr)"
if [ $? -gt 0 ]; then
echo "Some files aren't formatted, please run 'go fmt ./pkg/...' to format your source code before committing"
exit 1
fi
grunt test

View File

@@ -4,7 +4,7 @@
"bitwise":false,
"curly": true,
"eqnull": true,
"strict": true,
"strict": false,
"devel": true,
"eqeqeq": true,
"forin": false,

View File

@@ -1,20 +1,156 @@
# 5.0.0 (unreleased)
# 5.0.0-beta2 (2018-02-15)
### WIP (in develop branch currently as its unstable or unfinished)
- Dashboard folders
- User groups
- Dashboard permissions (on folder & dashboard level), permissions can be assigned to groups or individual users
- UX changes to nav & side menu
- New dashboard grid layout system
### Fixes
- **Permissions** Fixed search permissions issues [#10822](https://github.com/grafana/grafana/issues/10822)
- **Permissions** Fixed problem issues displaying permissions lists [#10864](https://github.com/grafana/grafana/issues/10864)
- **PNG-Rendering** Fixed problem rendering legend to the right [#10526](https://github.com/grafana/grafana/issues/10526)
- **Reset password** Fixed problem with reset password form [#10870](https://github.com/grafana/grafana/issues/10870)
- **Light theme** Fixed problem with light theme in safari, [#10869](https://github.com/grafana/grafana/issues/10869)
- **Provisioning** Now handles deletes when dashboard json files removed from disk [#10865](https://github.com/grafana/grafana/issues/10865)
- **MySQL** Fixed issue with schema migration on old mysql (index too long) [#10779](https://github.com/grafana/grafana/issues/10779)
- **Github OAuth** Fixed fetching github orgs from private github org [#10823](https://github.com/grafana/grafana/issues/10823)
- **Embedding** Fixed issues embedding panel [#10787](https://github.com/grafana/grafana/issues/10787)
# 5.0.0-beta1 (2018-02-05)
Grafana v5.0 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=Izr0IBgoTZQ) of Grafana v5.
### 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).
- **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)
- **Persistent dashboard url's**: New url's for dashboards that allows renaming dashboards without breaking links. [#7883](https://github.com/grafana/grafana/issues/7883)
## Breaking changes
* **[dashboard.json]** have been replaced with [dashboard provisioning](http://docs.grafana.org/administration/provisioning/).
Config files for provisioning datasources as configuration have changed from `/conf/datasources` to `/conf/provisioning/datasources`.
From `/etc/grafana/datasources` to `/etc/grafana/provisioning/datasources` when installed with deb/rpm packages.
* **Pagerduty** The notifier now defaults to not auto resolve incidents. More details at [#10222](https://github.com/grafana/grafana/issues/10222)
* **HTTP API**
- `GET /api/alerts` property dashboardUri renamed to url and is now the full url (that is including app sub url).
## New Dashboard Grid
The new grid engine is a major upgrade for how you can position and move panels. It enables new layouts and a much easier dashboard building experience. The change is backward compatible. So you can upgrade your current version to 5.0 without breaking dashboards, but you cannot downgrade from 5.0 to previous versions. Grafana will automatically upgrade your dashboards to the new schema and position panels to match your existing layout. There might be minor differences in panel height. If you upgrade to 5.0 and for some reason want to rollback to the previous version you can restore dashboards to previous versions using dashboard history. But that should only be seen as an emergency solution.
Dashboard panels and rows are positioned using a gridPos object `{x: 0, y: 0, w: 24, h: 5}`. Units are in grid dimensions (24 columns, 1 height unit 30px). Rows and Panels objects exist (together) in a flat array directly on the dashboard root object. Rows are not needed for layouts anymore and are mainly there for backward compatibility. Some panel plugins that do not respect their panel height might require an update.
## New Features
* **Alerting**: Add support for internal image store [#6922](https://github.com/grafana/grafana/issues/6922), thx [@FunkyM](https://github.com/FunkyM)
* **Data Source Proxy**: Add support for whitelisting specified cookies that will be passed through to the data source when proxying data source requests [#5457](https://github.com/grafana/grafana/issues/5457), thanks [@robingustafsson](https://github.com/robingustafsson)
* **Postgres/MySQL**: add __timeGroup macro for mysql [#9596](https://github.com/grafana/grafana/pull/9596), thanks [@svenklemm](https://github.com/svenklemm)
* **Text**: Text panel are now edited in the ace editor. [#9698](https://github.com/grafana/grafana/pull/9698), thx [@mtanda](https://github.com/mtanda)
* **Teams**: Add Microsoft Teams notifier as [#8523](https://github.com/grafana/grafana/issues/8523), thx [@anthu](https://github.com/anthu)
* **Datasources**: Its now possible to configure datasources with config files [#1789](https://github.com/grafana/grafana/issues/1789)
* **Graphite**: Query editor updated to support new query by tag features [#9230](https://github.com/grafana/grafana/issues/9230)
* **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)
* **Security**: Protect against brute force (frequent) login attempts [#7616](https://github.com/grafana/grafana/issues/7616)
## Minor
* **Graph**: Don't hide graph display options (Lines/Points) when draw mode is unchecked [#9770](https://github.com/grafana/grafana/issues/9770), thx [@Jonnymcc](https://github.com/Jonnymcc)
* **Prometheus**: Show label name in paren after by/without/on/ignoring/group_left/group_right [#9664](https://github.com/grafana/grafana/pull/9664), thx [@mtanda](https://github.com/mtanda)
* **Alert panel**: Adds placeholder text when no alerts are within the time range [#9624](https://github.com/grafana/grafana/issues/9624), thx [@straend](https://github.com/straend)
* **Mysql**: MySQL enable MaxOpenCon and MaxIdleCon regards how constring is configured. [#9784](https://github.com/grafana/grafana/issues/9784), thx [@dfredell](https://github.com/dfredell)
* **Cloudwatch**: Fixes broken query inspector for cloudwatch [#9661](https://github.com/grafana/grafana/issues/9661), thx [@mtanda](https://github.com/mtanda)
* **Dashboard**: Make it possible to start dashboards from search and dashboard list panel [#1871](https://github.com/grafana/grafana/issues/1871)
* **Annotations**: Posting annotations now return the id of the annotation [#9798](https://github.com/grafana/grafana/issues/9798)
* **Systemd**: Use systemd notification ready flag [#10024](https://github.com/grafana/grafana/issues/10024), thx [@jgrassler](https://github.com/jgrassler)
* **Github**: Use organizations_url provided from github to verify user belongs in org. [#10111](https://github.com/grafana/grafana/issues/10111), thx
[@adiletmaratov](https://github.com/adiletmaratov)
* **Backend**: Fixed bug where Grafana exited before all sub routines where finished [#10131](https://github.com/grafana/grafana/issues/10131)
* **Azure**: Adds support for Azure blob storage as external image stor [#8955](https://github.com/grafana/grafana/issues/8955), thx [@saada](https://github.com/saada)
* **Telegram**: Add support for inline image uploads to telegram notifier plugin [#9967](https://github.com/grafana/grafana/pull/9967), thx [@rburchell](https://github.com/rburchell)
## Fixes
* **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)
* **Cloudwatch**: Fix for multi-valued templated queries. [#9903](https://github.com/grafana/grafana/issues/9903)
## Tech
* **RabbitMq**: Remove support for publishing events to RabbitMQ [#9645](https://github.com/grafana/grafana/issues/9645)
## Deprecation notes
### HTTP API
The following operations have been deprecated and will be removed in a future release:
- `GET /api/dashboards/db/:slug` -> Use `GET /api/dashboards/uid/:uid` instead
- `DELETE /api/dashboards/db/:slug` -> Use `DELETE /api/dashboards/uid/:uid` instead
The following properties have been deprecated and will be removed in a future release:
- `uri` property in `GET /api/search` -> Use new `url` or `uid` property instead
- `meta.slug` property in `GET /api/dashboards/uid/:uid` and `GET /api/dashboards/db/:slug` -> Use new `meta.url` or `dashboard.uid` property instead
# 4.6.3 (2017-12-14)
## Fixes
* **Gzip**: Fixes bug gravatar images when gzip was enabled [#5952](https://github.com/grafana/grafana/issues/5952)
* **Alert list**: Now shows alert state changes even after adding manual annotations on dashboard [#9951](https://github.com/grafana/grafana/issues/9951)
* **Alerting**: Fixes bug where rules evaluated as firing when all conditions was false and using OR operator. [#9318](https://github.com/grafana/grafana/issues/9318)
* **Cloudwatch**: CloudWatch no longer display metrics' default alias [#10151](https://github.com/grafana/grafana/issues/10151), thx [@mtanda](https://github.com/mtanda)
# 4.6.2 (2017-11-16)
## Important
* **Prometheus**: Fixes bug with new prometheus alerts in Grafana. Make sure to download this version if your using Prometheus for alerting. More details in the issue. [#9777](https://github.com/grafana/grafana/issues/9777)
## Fixes
* **Color picker**: Bug after using textbox input field to change/paste color string [#9769](https://github.com/grafana/grafana/issues/9769)
* **Cloudwatch**: Fix for cloudwatch templating query `ec2_instance_attribute` [#9667](https://github.com/grafana/grafana/issues/9667), thanks [@mtanda](https://github.com/mtanda)
* **Heatmap**: Fixed tooltip for "time series buckets" mode [#9332](https://github.com/grafana/grafana/issues/9332)
* **InfluxDB**: Fixed query editor issue when using `>` or `<` operators in WHERE clause [#9871](https://github.com/grafana/grafana/issues/9871)
# 4.6.1 (2017-11-01)
* **Singlestat**: Lost thresholds when using save dashboard as [#9681](https://github.com/grafana/grafana/issues/9681)
* **Graph**: Fix for series override color picker [#9715](https://github.com/grafana/grafana/issues/9715)
* **Go**: build using golang 1.9.2 [#9713](https://github.com/grafana/grafana/issues/9713)
* **Plugins**: Fixed problem with loading plugin js files behind auth proxy [#9509](https://github.com/grafana/grafana/issues/9509)
* **Graphite**: Annotation tooltip should render empty string when undefined [#9707](https://github.com/grafana/grafana/issues/9707)
# 4.6.0 (2017-10-26)
## Fixes
* **Alerting**: Viewer can no longer pause alert rules [#9640](https://github.com/grafana/grafana/issues/9640)
* **Playlist**: Bug where playlist controls was missing [#9639](https://github.com/grafana/grafana/issues/9639)
* **Firefox**: Creating region annotations now work in firefox [#9638](https://github.com/grafana/grafana/issues/9638)
# 4.6.0-beta3 (2017-10-23)
## Fixes
* **Prometheus**: Fix for browser crash for short time ranges. [#9575](https://github.com/grafana/grafana/issues/9575)
* **Heatmap**: Fix for y-axis not showing. [#9576](https://github.com/grafana/grafana/issues/9576)
* **Save to file**: Fix for save to file in export modal. [#9586](https://github.com/grafana/grafana/issues/9586)
* **Postgres**: modify group by time macro so it can be used in select clause [#9527](https://github.com/grafana/grafana/pull/9527), thanks [@svenklemm](https://github.com/svenklemm)
# 4.6.0-beta2 (2017-10-17)
## Fixes
* **ColorPicker**: Fix for color picker not showing [#9549](https://github.com/grafana/grafana/issues/9549)
* **Alerting**: Fix for broken test rule button in alert tab [#9539](https://github.com/grafana/grafana/issues/9539)
* **Cloudwatch**: Provide error message when failing to add cloudwatch datasource [#9534](https://github.com/grafana/grafana/pull/9534), thx [@mtanda](https://github.com/mtanda)
* **Cloudwatch**: Fix unused period parameter [#9536](https://github.com/grafana/grafana/pull/9536), thx [@mtanda](https://github.com/mtanda)
* **CSV Export**: Fix for broken CSV export [#9525](https://github.com/grafana/grafana/issues/9525)
* **Text panel**: Fix for issue with break lines in Firefox [#9491](https://github.com/grafana/grafana/issues/9491)
* **Annotations**: Fix for issue saving annotation event in MySQL DB [#9550](https://github.com/grafana/grafana/issues/9550), thanks [@krise3k](https://github.com/krise3k)
# 4.6.0-beta1 (2017-10-13)
## New Features
* **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)
@@ -32,11 +168,11 @@
* **OAuth**: Verify TLS during OAuth callback [#9373](https://github.com/grafana/grafana/issues/9373), thx [@mattbostock](https://github.com/mattbostock)
## Minor
* **SMTP**: Make it possible to set specific EHLO for smtp client. [#9319](https://github.com/grafana/grafana/issues/9319)
* **Dataproxy**: Allow grafan to renegotiate tls connection [#9250](https://github.com/grafana/grafana/issues/9250)
* **SMTP**: Make it possible to set specific HELO for smtp client. [#9319](https://github.com/grafana/grafana/issues/9319)
* **Dataproxy**: Allow grafana to renegotiate tls connection [#9250](https://github.com/grafana/grafana/issues/9250)
* **HTTP**: set net.Dialer.DualStack to true for all http clients [#9367](https://github.com/grafana/grafana/pull/9367)
* **Alerting**: Add diff and percent diff as series reducers [#9386](https://github.com/grafana/grafana/pull/9386), thx [@shanhuhai5739](https://github.com/shanhuhai5739)
* **Slack**: Allow images to be uploaded to slack when Token is precent [#7175](https://github.com/grafana/grafana/issues/7175), thx [@xginn8](https://github.com/xginn8)
* **Slack**: Allow images to be uploaded to slack when Token is present [#7175](https://github.com/grafana/grafana/issues/7175), thx [@xginn8](https://github.com/xginn8)
* **Opsgenie**: Use their latest API instead of old version [#9399](https://github.com/grafana/grafana/pull/9399), thx [@cglrkn](https://github.com/cglrkn)
* **Table**: Add support for displaying the timestamp with milliseconds [#9429](https://github.com/grafana/grafana/pull/9429), thx [@s1061123](https://github.com/s1061123)
* **Hipchat**: Add metrics, message and image to hipchat notifications [#9110](https://github.com/grafana/grafana/issues/9110), thx [@eloo](https://github.com/eloo)

636
Gopkg.lock generated Normal file
View File

@@ -0,0 +1,636 @@
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
[[projects]]
name = "cloud.google.com/go"
packages = ["compute/metadata"]
revision = "767c40d6a2e058483c25fa193e963a22da17236d"
version = "v0.18.0"
[[projects]]
name = "github.com/BurntSushi/toml"
packages = ["."]
revision = "b26d9c308763d68093482582cea63d69be07a0f0"
version = "v0.3.0"
[[projects]]
branch = "master"
name = "github.com/Unknwon/com"
packages = ["."]
revision = "7677a1d7c1137cd3dd5ba7a076d0c898a1ef4520"
[[projects]]
name = "github.com/apache/thrift"
packages = ["lib/go/thrift"]
revision = "b2a4d4ae21c789b689dd162deb819665567f481c"
version = "0.10.0"
[[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"
]
revision = "decd990ddc5dcdf2f73309cbcab90d06b996ca28"
version = "v1.12.67"
[[projects]]
branch = "master"
name = "github.com/benbjohnson/clock"
packages = ["."]
revision = "7dc76406b6d3c05b5f71a86293cbcf3c4ea03b19"
[[projects]]
branch = "master"
name = "github.com/beorn7/perks"
packages = ["quantile"]
revision = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9"
[[projects]]
branch = "master"
name = "github.com/bmizerany/assert"
packages = ["."]
revision = "b7ed37b82869576c289d7d97fb2bbd8b64a0cb28"
[[projects]]
branch = "master"
name = "github.com/bradfitz/gomemcache"
packages = ["memcache"]
revision = "1952afaa557dc08e8e0d89eafab110fb501c1a2b"
[[projects]]
branch = "master"
name = "github.com/codahale/hdrhistogram"
packages = ["."]
revision = "3a0bb77429bd3a61596f5e8a3172445844342120"
[[projects]]
name = "github.com/codegangsta/cli"
packages = ["."]
revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1"
version = "v1.20.0"
[[projects]]
name = "github.com/davecgh/go-spew"
packages = ["spew"]
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
version = "v1.1.0"
[[projects]]
name = "github.com/fatih/color"
packages = ["."]
revision = "570b54cabe6b8eb0bc2dfce68d964677d63b5260"
version = "v1.5.0"
[[projects]]
name = "github.com/go-ini/ini"
packages = ["."]
revision = "32e4c1e6bc4e7d0d8451aa6b75200d19e37a536a"
version = "v1.32.0"
[[projects]]
name = "github.com/go-ldap/ldap"
packages = ["."]
revision = "bb7a9ca6e4fbc2129e3db588a34bc970ffe811a9"
version = "v2.5.1"
[[projects]]
branch = "master"
name = "github.com/go-macaron/binding"
packages = ["."]
revision = "ac54ee249c27dca7e76fad851a4a04b73bd1b183"
[[projects]]
branch = "master"
name = "github.com/go-macaron/gzip"
packages = ["."]
revision = "cad1c6580a07c56f5f6bc52d66002a05985c5854"
[[projects]]
branch = "master"
name = "github.com/go-macaron/inject"
packages = ["."]
revision = "d8a0b8677191f4380287cfebd08e462217bac7ad"
[[projects]]
branch = "master"
name = "github.com/go-macaron/session"
packages = [
".",
"memcache",
"mysql",
"postgres",
"redis"
]
revision = "b8e286a0dba8f4999042d6b258daf51b31d08938"
[[projects]]
name = "github.com/go-sql-driver/mysql"
packages = ["."]
revision = "2cc627ac8defc45d65066ae98f898166f580f9a4"
[[projects]]
name = "github.com/go-stack/stack"
packages = ["."]
revision = "259ab82a6cad3992b4e21ff5cac294ccb06474bc"
version = "v1.7.0"
[[projects]]
branch = "master"
name = "github.com/go-xorm/builder"
packages = ["."]
revision = "488224409dd8aa2ce7a5baf8d10d55764a913738"
[[projects]]
name = "github.com/go-xorm/core"
packages = ["."]
revision = "e8409d73255791843585964791443dbad877058c"
[[projects]]
name = "github.com/go-xorm/xorm"
packages = ["."]
revision = "6687a2b4e824f4d87f2d65060ec5cb0d896dff1e"
[[projects]]
branch = "master"
name = "github.com/golang/protobuf"
packages = [
"proto",
"ptypes",
"ptypes/any",
"ptypes/duration",
"ptypes/timestamp"
]
revision = "c65a0412e71e8b9b3bfd22925720d23c0f054237"
[[projects]]
branch = "master"
name = "github.com/gopherjs/gopherjs"
packages = ["js"]
revision = "178c176a91fe05e3e6c58fa5c989bad19e6cdcb3"
[[projects]]
name = "github.com/gorilla/websocket"
packages = ["."]
revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b"
version = "v1.2.0"
[[projects]]
name = "github.com/gosimple/slug"
packages = ["."]
revision = "e9f42fa127660e552d0ad2b589868d403a9be7c6"
version = "v1.1.1"
[[projects]]
branch = "master"
name = "github.com/grafana/grafana_plugin_model"
packages = ["go/datasource"]
revision = "dfe5dc0a6ce05825ba7fe2d0323d92e631bffa89"
[[projects]]
branch = "master"
name = "github.com/hashicorp/go-hclog"
packages = ["."]
revision = "5bcb0f17e36442247290887cc914a6e507afa5c4"
[[projects]]
name = "github.com/hashicorp/go-plugin"
packages = ["."]
revision = "3e6d191694b5a3a2b99755f31b47fa209e4bcd09"
[[projects]]
branch = "master"
name = "github.com/hashicorp/go-version"
packages = ["."]
revision = "4fe82ae3040f80a03d04d2cccb5606a626b8e1ee"
[[projects]]
branch = "master"
name = "github.com/hashicorp/yamux"
packages = ["."]
revision = "683f49123a33db61abfb241b7ac5e4af4dc54d55"
[[projects]]
name = "github.com/inconshreveable/log15"
packages = ["."]
revision = "0decfc6c20d9ca0ad143b0e89dcaa20f810b4fb3"
version = "v2.13"
[[projects]]
name = "github.com/jmespath/go-jmespath"
packages = ["."]
revision = "0b12d6b5"
[[projects]]
name = "github.com/jtolds/gls"
packages = ["."]
revision = "77f18212c9c7edc9bd6a33d383a7b545ce62f064"
version = "v4.2.1"
[[projects]]
name = "github.com/klauspost/compress"
packages = [
"flate",
"gzip"
]
revision = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf"
version = "v1.2.1"
[[projects]]
name = "github.com/klauspost/cpuid"
packages = ["."]
revision = "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da"
version = "v1.1"
[[projects]]
name = "github.com/klauspost/crc32"
packages = ["."]
revision = "cb6bfca970f6908083f26f39a79009d608efd5cd"
version = "v1.1"
[[projects]]
branch = "master"
name = "github.com/kr/pretty"
packages = ["."]
revision = "cfb55aafdaf3ec08f0db22699ab822c50091b1c4"
[[projects]]
branch = "master"
name = "github.com/kr/text"
packages = ["."]
revision = "7cafcd837844e784b526369c9bce262804aebc60"
[[projects]]
branch = "master"
name = "github.com/lib/pq"
packages = [
".",
"oid"
]
revision = "61fe37aa2ee24fabcdbe5c4ac1d4ac566f88f345"
[[projects]]
name = "github.com/mattn/go-colorable"
packages = ["."]
revision = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"
version = "v0.0.9"
[[projects]]
name = "github.com/mattn/go-isatty"
packages = ["."]
revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"
version = "v0.0.3"
[[projects]]
name = "github.com/mattn/go-sqlite3"
packages = ["."]
revision = "6c771bb9887719704b210e87e934f08be014bdb1"
version = "v1.6.0"
[[projects]]
name = "github.com/matttproud/golang_protobuf_extensions"
packages = ["pbutil"]
revision = "3247c84500bff8d9fb6d579d800f20b3e091582c"
version = "v1.0.0"
[[projects]]
branch = "master"
name = "github.com/mitchellh/go-testing-interface"
packages = ["."]
revision = "a61a99592b77c9ba629d254a693acffaeb4b7e28"
[[projects]]
name = "github.com/opentracing/opentracing-go"
packages = [
".",
"ext",
"log"
]
revision = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38"
version = "v1.0.2"
[[projects]]
name = "github.com/patrickmn/go-cache"
packages = ["."]
revision = "a3647f8e31d79543b2d0f0ae2fe5c379d72cedc0"
version = "v2.1.0"
[[projects]]
name = "github.com/prometheus/client_golang"
packages = [
"api",
"api/prometheus/v1",
"prometheus",
"prometheus/promhttp"
]
revision = "967789050ba94deca04a5e84cce8ad472ce313c1"
version = "v0.9.0-pre1"
[[projects]]
branch = "master"
name = "github.com/prometheus/client_model"
packages = ["go"]
revision = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"
[[projects]]
branch = "master"
name = "github.com/prometheus/common"
packages = [
"expfmt",
"internal/bitbucket.org/ww/goautoneg",
"model"
]
revision = "89604d197083d4781071d3c65855d24ecfb0a563"
[[projects]]
branch = "master"
name = "github.com/prometheus/procfs"
packages = [
".",
"internal/util",
"nfsd",
"xfs"
]
revision = "85fadb6e89903ef7cca6f6a804474cd5ea85b6e1"
[[projects]]
branch = "master"
name = "github.com/rainycape/unidecode"
packages = ["."]
revision = "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c"
[[projects]]
branch = "master"
name = "github.com/sergi/go-diff"
packages = ["diffmatchpatch"]
revision = "1744e2970ca51c86172c8190fadad617561ed6e7"
[[projects]]
name = "github.com/smartystreets/assertions"
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"
]
revision = "9e8dc3f972df6c8fcc0375ef492c24d0bb204857"
version = "1.6.3"
[[projects]]
branch = "master"
name = "github.com/teris-io/shortid"
packages = ["."]
revision = "771a37caa5cf0c81f585d7b6df4dfc77e0615b5c"
[[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"
]
revision = "3ac96c6e679cb60a74589b0d0aa7c70a906183f7"
version = "v2.11.2"
[[projects]]
name = "github.com/uber/jaeger-lib"
packages = ["metrics"]
revision = "7f95f4f7e80028096410abddaae2556e4c61b59f"
version = "v1.3.1"
[[projects]]
name = "github.com/yudai/gojsondiff"
packages = [
".",
"formatter"
]
revision = "7b1b7adf999dab73a6eb02669c3d82dbb27a3dd6"
version = "1.0.0"
[[projects]]
branch = "master"
name = "github.com/yudai/golcs"
packages = ["."]
revision = "ecda9a501e8220fae3b4b600c3db4b0ba22cfc68"
[[projects]]
branch = "master"
name = "golang.org/x/crypto"
packages = ["pbkdf2"]
revision = "3d37316aaa6bd9929127ac9a527abf408178ea7b"
[[projects]]
branch = "master"
name = "golang.org/x/net"
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"
]
revision = "b28fcf2b08a19742b43084fb40ab78ac6c3d8067"
[[projects]]
branch = "master"
name = "golang.org/x/sync"
packages = ["errgroup"]
revision = "fd80eb99c8f653c847d294a001bdf2a3a6f768f5"
[[projects]]
branch = "master"
name = "golang.org/x/sys"
packages = ["unix"]
revision = "af50095a40f9041b3b38960738837185c26e9419"
[[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"
]
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"
]
revision = "150dc57a1b433e64154302bdc40b6bb8aefa313a"
version = "v1.0.0"
[[projects]]
branch = "master"
name = "google.golang.org/genproto"
packages = ["googleapis/rpc/status"]
revision = "a8101f21cf983e773d0c1133ebc5424792003214"
[[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"
]
revision = "6b51017f791ae1cfbec89c52efdf444b13b550ef"
version = "v1.9.2"
[[projects]]
branch = "v3"
name = "gopkg.in/alexcesaro/quotedprintable.v3"
packages = ["."]
revision = "2caba252f4dc53eaf6b553000885530023f54623"
[[projects]]
name = "gopkg.in/asn1-ber.v1"
packages = ["."]
revision = "379148ca0225df7a432012b8df0355c2a2063ac0"
version = "v1.2"
[[projects]]
name = "gopkg.in/bufio.v1"
packages = ["."]
revision = "567b2bfa514e796916c4747494d6ff5132a1dfce"
version = "v1"
[[projects]]
branch = "v2"
name = "gopkg.in/gomail.v2"
packages = ["."]
revision = "81ebce5c23dfd25c6c67194b37d3dd3f338c98b1"
[[projects]]
name = "gopkg.in/ini.v1"
packages = ["."]
revision = "32e4c1e6bc4e7d0d8451aa6b75200d19e37a536a"
version = "v1.32.0"
[[projects]]
name = "gopkg.in/macaron.v1"
packages = ["."]
revision = "75f2e9b42e99652f0d82b28ccb73648f44615faa"
version = "v1.2.4"
[[projects]]
name = "gopkg.in/redis.v2"
packages = ["."]
revision = "e6179049628164864e6e84e973cfb56335748dea"
version = "v2.3.2"
[[projects]]
branch = "v2"
name = "gopkg.in/yaml.v2"
packages = ["."]
revision = "d670f9405373e636a5a2765eea47fac0c9bc91a4"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "4de68f1342ba98a637ec8ca7496aeeae2021bf9e4c7c80db7924e14709151a62"
solver-name = "gps-cdcl"
solver-version = 1

199
Gopkg.toml Normal file
View File

@@ -0,0 +1,199 @@
# Gopkg.toml example
#
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
# for detailed Gopkg.toml documentation.
#
# required = ["github.com/user/thing/cmd/thing"]
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
#
# [[constraint]]
# name = "github.com/user/project"
# version = "1.0.0"
#
# [[constraint]]
# name = "github.com/user/project2"
# branch = "dev"
# source = "github.com/myfork/project2"
#
# [[override]]
# name = "github.com/x/y"
# version = "2.4.0"
ignored = [
"github.com/grafana/grafana/data/*",
"github.com/grafana/grafana/public/*",
"github.com/grafana/grafana/node_modules/*"
]
[[constraint]]
name = "github.com/BurntSushi/toml"
version = "0.3.0"
[[constraint]]
branch = "master"
name = "github.com/Unknwon/com"
#version = "1.0.0"
[[constraint]]
name = "github.com/aws/aws-sdk-go"
version = "1.12.65"
[[constraint]]
branch = "master"
name = "github.com/benbjohnson/clock"
[[constraint]]
branch = "master"
name = "github.com/bmizerany/assert"
[[constraint]]
name = "github.com/codegangsta/cli"
version = "1.20.0"
[[constraint]]
name = "github.com/davecgh/go-spew"
version = "1.1.0"
[[constraint]]
name = "github.com/fatih/color"
version = "1.5.0"
[[constraint]]
name = "github.com/go-ldap/ldap"
version = "2.5.1"
[[constraint]]
branch = "master"
name = "github.com/go-macaron/binding"
[[constraint]]
branch = "master"
name = "github.com/go-macaron/gzip"
[[constraint]]
branch = "master"
name = "github.com/go-macaron/session"
[[constraint]]
name = "github.com/go-sql-driver/mysql"
revision = "2cc627ac8defc45d65066ae98f898166f580f9a4"
#version = "1.3.0" //keeping this since we would rather depend on version then commit
[[constraint]]
name = "github.com/go-stack/stack"
version = "1.7.0"
[[constraint]]
name = "github.com/go-xorm/core"
revision = "e8409d73255791843585964791443dbad877058c"
#version = "0.5.7" //keeping this since we would rather depend on version then commit
[[constraint]]
name = "github.com/go-xorm/xorm"
revision = "6687a2b4e824f4d87f2d65060ec5cb0d896dff1e"
#version = "0.6.4" //keeping this since we would rather depend on version then commit
[[constraint]]
name = "github.com/gorilla/websocket"
version = "1.2.0"
[[constraint]]
name = "github.com/gosimple/slug"
version = "1.1.1"
[[constraint]]
branch = "master"
name = "github.com/grafana/grafana_plugin_model"
[[constraint]]
branch = "master"
name = "github.com/hashicorp/go-hclog"
[[constraint]]
branch = "master"
name = "github.com/hashicorp/go-version"
[[constraint]]
name = "github.com/inconshreveable/log15"
version = "2.13.0"
[[constraint]]
branch = "master"
name = "github.com/lib/pq"
[[constraint]]
name = "github.com/mattn/go-isatty"
version = "0.0.3"
[[constraint]]
name = "github.com/mattn/go-sqlite3"
version = "1.6.0"
[[constraint]]
name = "github.com/opentracing/opentracing-go"
version = "1.0.2"
[[constraint]]
name = "github.com/patrickmn/go-cache"
version = "2.1.0"
[[constraint]]
name = "github.com/prometheus/client_golang"
version = "0.9.0-pre1"
[[constraint]]
branch = "master"
name = "github.com/prometheus/client_model"
[[constraint]]
branch = "master"
name = "github.com/prometheus/common"
[[constraint]]
name = "github.com/smartystreets/goconvey"
version = "1.6.3"
[[constraint]]
name = "github.com/uber/jaeger-client-go"
version = "2.11.2"
[[constraint]]
name = "github.com/yudai/gojsondiff"
version = "1.0.0"
[[constraint]]
branch = "master"
name = "golang.org/x/net"
[[constraint]]
branch = "master"
name = "golang.org/x/oauth2"
[[constraint]]
branch = "master"
name = "golang.org/x/sync"
[[constraint]]
name = "gopkg.in/gomail.v2"
branch = "v2"
[[constraint]]
name = "gopkg.in/ini.v1"
version = "1.32.0"
[[constraint]]
name = "gopkg.in/macaron.v1"
version = "1.2.4"
[[constraint]]
branch = "v2"
name = "gopkg.in/yaml.v2"
[prune]
non-go = true
go-tests = true
unused-packages = true
[[constraint]]
branch = "master"
name = "github.com/teris-io/shortid"

View File

@@ -22,9 +22,10 @@ module.exports = function (grunt) {
}
}
config.coverage = grunt.option('coverage');
config.phjs = grunt.option('phjsToRelease');
config.pkg.version = grunt.option('pkgVer') || config.pkg.version;
console.log('Version', config.pkg.version);
// load plugins

View File

@@ -1,14 +1,202 @@
Copyright 2014-2017 Torkel Ödegaard, Raintank Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this file except in compliance with the License. You may
obtain a copy of the License at
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
http://www.apache.org/licenses/LICENSE-2.0
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -26,3 +26,6 @@ test: test-go test-js
run:
./bin/grafana-server
protoc:
protoc -I pkg/tsdb/models pkg/tsdb/models/*.proto --go_out=plugins=grpc:pkg/tsdb/models/.

View File

@@ -1,16 +1,6 @@
This software is based on Kibana:
========================================
Copyright 2014-2017 Grafana Labs
This software is based on Kibana:
Copyright 2012-2013 Elasticsearch BV
Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this file except in compliance with the License. You may
obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.

View File

@@ -23,6 +23,6 @@ If you think we missed exposing a crucial lib or Grafana component let us know b
### Deprecated components
The angular directive `<spectrum-picker>` is no deprecated (will still work for a version more) but we recommend plugin authors
The angular directive `<spectrum-picker>` is now deprecated (will still work for a version more) but we recommend plugin authors
to upgrade to new `<color-picker color="ctrl.color" onChange="ctrl.onSparklineColorChange"></color-picker>`

View File

@@ -1,4 +1,4 @@
[Grafana](https://grafana.com) [![Circle CI](https://circleci.com/gh/grafana/grafana.svg?style=svg)](https://circleci.com/gh/grafana/grafana) [![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana)
[Grafana](https://grafana.com) [![Circle CI](https://circleci.com/gh/grafana/grafana.svg?style=svg)](https://circleci.com/gh/grafana/grafana) [![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana) [![codecov](https://codecov.io/gh/grafana/grafana/branch/master/graph/badge.svg)](https://codecov.io/gh/grafana/grafana)
================
[Website](https://grafana.com) |
[Twitter](https://twitter.com/grafana) |
@@ -9,6 +9,9 @@ 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.
@@ -19,7 +22,7 @@ If you have any problems please read the [troubleshooting guide](http://docs.gra
Be sure to read the [getting started guide](http://docs.grafana.org/guides/gettingstarted/) and the other feature guides.
## Run from master
If you want to build a package yourself, or contribute. Here is a guide for how to do that. You can always find
If you want to build a package yourself, or contribute - Here is a guide for how to do that. You can always find
the latest master builds [here](https://grafana.com/grafana/download)
### Dependencies
@@ -42,23 +45,17 @@ For this you need nodejs (v.6+).
```bash
npm install -g yarn
yarn install --pure-lockfile
npm run build
```
To rebuild frontend assets (typescript, sass etc) as you change them start the watcher via.
```bash
npm run watch
```
Run tests
Run tests
```bash
npm run test
npm run jest
```
Run tests in watch mode
Run karma tests
```bash
npm run watch-test
npm run karma
```
### Recompile backend on source change
@@ -81,16 +78,45 @@ You only need to add the options you want to override. Config files are applied
In your custom.ini uncomment (remove the leading `;`) sign. And set `app_mode = development`.
### Running tests
#### Frontend
Execute all frontend tests
```bash
npm run test
```
Writing & watching frontend tests (we have two test runners)
- jest for all new tests that do not require browser context (React+more)
- Start watcher: `npm run jest`
- Jest will run all test files that end with the name ".jest.ts"
- karma + mocha is used for testing angularjs components. We do want to migrate these test to jest over time (if possible).
- Start watcher: `npm run karma`
- Karma+Mocha runs all files that end with the name "_specs.ts".
#### Backend
```bash
# Run Golang tests using sqlite3 as database (default)
go test ./pkg/...
# Run Golang tests using mysql as database - convenient to use /docker/blocks/mysql_tests
GRAFANA_TEST_DB=mysql go test ./pkg/...
# Run Golang tests using postgres as database - convenient to use /docker/blocks/postgres_tests
GRAFANA_TEST_DB=postgres go test ./pkg/...
```
## Contribute
If you have any idea for an improvement or found a bug do not hesitate to open an issue.
If you have any idea for an improvement or found a bug, do not hesitate to open an issue.
And if you have time clone this repo and submit a pull request and help me make Grafana
the kickass metrics & devops dashboard we all dream about!
## Plugin development
Checkout the [Plugin Development Guide](http://docs.grafana.org/plugins/developing/development/) and checkout the [PLUGIN_DEV.md](https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) file for changes in Grafana that relate to
plugin development.
Checkout the [Plugin Development Guide](http://docs.grafana.org/plugins/developing/development/) and checkout the [PLUGIN_DEV.md](https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md) file for changes in Grafana that relate to
plugin development.
## License

View File

@@ -1,29 +1,36 @@
# Roadmap (2017-08-29)
# Roadmap (2017-10-31)
This roadmap is a tentative plan for the core development team. Things change constantly as PRs come in and priorities change.
But it will give you an idea of our current vision and plan.
### Short term (1-4 months)
- Release Grafana v4.5 with fixes and minor enhancements
- Release Grafana v5
- User groups
- Teams
- Dashboard folders
- Dashboard permissions (on folders as well), permissions on groups or users
- Dashboard & folder permissions (assigned to users or groups)
- New Dashboard layout engine
- New sidemenu & nav UX
- Elasticsearch alerting
- React migration foundation (core components)
- Graphite 1.1 Tags Support
### Long term
### Long term (4 - 8 months)
- Backend plugins to support more Auth options, Alerting data sources & notifications
- Universal time series transformations for any data source (meta queries)
- Reporting
- Web socket & live data streams
- Migrate to Angular2 or react
- Alerting improvements (silence, per series tracking, etc)
- Dashboard as configuration and other automation / provisioning improvements
- Progress on React migration
- Change visualization (panel type) on the fly.
- Multi stat panel (vertical version of singlestat with bars/graph mode with big number etc)
- Repeat panel by query results
### In a distant future far far away
- Meta queries
- Integrated light weight TSDB
- Web socket & live data sources
### Outside contributions
We know this is being worked on right now by contributors (and we hope to merge it when it's ready).
- Clustering for alert engine (load distribution)

View File

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

View File

@@ -95,9 +95,9 @@ func main() {
case "package":
grunt(gruntBuildArg("release")...)
if runtime.GOOS != "windows" {
createLinuxPackages()
}
if runtime.GOOS != "windows" {
createLinuxPackages()
}
case "pkg-rpm":
grunt(gruntBuildArg("release")...)
@@ -347,11 +347,11 @@ func ChangeWorkingDir(dir string) {
}
func grunt(params ...string) {
if runtime.GOOS == "windows" {
runPrint(`.\node_modules\.bin\grunt`, params...)
} else {
runPrint("./node_modules/.bin/grunt", params...)
}
if runtime.GOOS == "windows" {
runPrint(`.\node_modules\.bin\grunt`, params...)
} else {
runPrint("./node_modules/.bin/grunt", params...)
}
}
func gruntBuildArg(task string) []string {
@@ -371,7 +371,7 @@ func gruntBuildArg(task string) []string {
}
func setup() {
runPrint("go", "get", "-v", "github.com/kardianos/govendor")
runPrint("go", "get", "-v", "github.com/golang/dep")
runPrint("go", "install", "-v", "./pkg/cmd/grafana-server")
}

View File

@@ -1,6 +1,6 @@
machine:
node:
version: 6.9.2
version: 6.11.4
python:
version: 2.7.3
services:
@@ -9,7 +9,7 @@ machine:
GOPATH: "/home/ubuntu/.go_workspace"
ORG_PATH: "github.com/grafana"
REPO_PATH: "${ORG_PATH}/grafana"
GODIST: "go1.9.1.linux-amd64.tar.gz"
GODIST: "go1.9.3.linux-amd64.tar.gz"
post:
- mkdir -p ~/download
- mkdir -p ~/docker
@@ -30,10 +30,10 @@ dependencies:
- sudo apt-get update; sudo apt-get install rpm; sudo apt-get install expect
- ./scripts/build/build_container.sh
test:
override:
- bash scripts/circle-test.sh
- bash scripts/circle-test-frontend.sh
- bash scripts/circle-test-backend.sh
deployment:
gh_branch:

13
codecov.yml Normal file
View File

@@ -0,0 +1,13 @@
coverage:
precision: 2
round: down
range: "50...100"
status:
project: yes
patch: yes
changes: no
comment:
layout: "diff"
behavior: "once"

View File

@@ -12,17 +12,17 @@ instance_name = ${HOSTNAME}
#################################### Paths ###############################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
#
data = data
#
# Directory where grafana can store logs
#
logs = data/log
#
# Directory where grafana will automatically scan and look for plugins
#
plugins = data/plugins
# folder that contains provisioning config files that grafana will apply on startup and while running.
provisioning = conf/provisioning
#################################### Server ##############################
[server]
# Protocol (http, https, socket)
@@ -82,6 +82,9 @@ max_idle_conn = 2
# Max conn setting default is 0 (mean not set)
max_open_conn =
# Set to true to log the sql calls and execution times.
log_queries =
# For "postgres", use either "disable", "require" or "verify-full"
# For "mysql", use either "true", "false", or "skip-verify".
ssl_mode = disable
@@ -171,6 +174,10 @@ disable_gravatar = false
# data source proxy whitelist (ip_or_domain:port separated by spaces)
data_source_proxy_whitelist =
# disable protection against brute force login attempts
disable_brute_force_login_protection = false
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
external_enabled = true
@@ -183,7 +190,13 @@ snapshot_remove_expired = true
# remove snapshots after 90 days
snapshot_TTL_days = 90
#################################### Users ####################################
#################################### Dashboards ##################
[dashboards]
# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
versions_to_keep = 20
#################################### Users ###############################
[users]
# disable user signup / registration
allow_sign_up = false
@@ -211,6 +224,9 @@ external_manage_link_url =
external_manage_link_name =
external_manage_info =
# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
viewers_can_edit = false
[auth]
# Set to true to disable (hide) the login form, useful if you use OAuth
disable_login_form = false
@@ -311,7 +327,7 @@ allow_sign_up = true
enabled = false
host = localhost:25
user =
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password =
cert_file =
key_file =
@@ -381,18 +397,6 @@ facility =
# Syslog tag. By default, the process' argv[0] is used.
tag =
#################################### AMQP Event Publisher ################
[event_publisher]
enabled = false
rabbitmq_url = amqp://localhost/
exchange = grafana_events
#################################### Dashboard JSON files ################
[dashboards.json]
enabled = false
path = /var/lib/grafana/dashboards
#################################### Usage Quotas ########################
[quota]
enabled = false
@@ -436,7 +440,7 @@ enabled = true
execute_alerts = true
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP API Url /api/metrics
# Metrics available at HTTP API Url /metrics
[metrics]
enabled = true
interval_seconds = 10
@@ -472,7 +476,7 @@ sampler_param = 1
#################################### External Image Storage ##############
[external_image_storage]
# You can choose between (s3, webdav, gcs)
# You can choose between (s3, webdav, gcs, azure_blob, local)
provider =
[external_image_storage.s3]
@@ -492,3 +496,12 @@ public_url =
[external_image_storage.gcs]
key_file =
bucket =
path =
[external_image_storage.azure_blob]
account_name =
account_key =
container_name =
[external_image_storage.local]
# does not require any configuration

View File

@@ -19,7 +19,7 @@ ssl_skip_verify = false
# Search user bind dn
bind_dn = "cn=admin,dc=grafana,dc=org"
# Search user bind password
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
bind_password = 'grafana'
# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"

View File

@@ -0,0 +1,13 @@
# This file is only an example.
# Grafana will never read sample.yaml files
# # config file version
# apiVersion: 1
#providers:
# - name: 'default'
# orgId: 1
# folder: ''
# type: file
# options:
# path: /var/lib/grafana/dashboards

View File

@@ -0,0 +1,54 @@
# This file is only an example.
# Grafana will never read sample.yaml files
# # config file version
# apiVersion: 1
# # list of datasources that should be deleted from the database
#deleteDatasources:
# - name: Graphite
# orgId: 1
# # list of datasources to insert/update depending
# # on what's available in the datbase
#datasources:
# # <string, required> name of the datasource. Required
# - name: Graphite
# # <string, required> datasource type. Required
# type: graphite
# # <string, required> access mode. direct or proxy. Required
# access: proxy
# # <int> org id. will default to orgId 1 if not specified
# orgId: 1
# # <string> url
# url: http://localhost:8080
# # <string> database password, if used
# password:
# # <string> database user, if used
# user:
# # <string> database name, if used
# database:
# # <bool> enable/disable basic auth
# basicAuth:
# # <string> basic auth username
# basicAuthUser:
# # <string> basic auth password
# basicAuthPassword:
# # <bool> enable/disable with credentials headers
# withCredentials:
# # <bool> mark as default datasource. Max one per org
# isDefault:
# # <map> fields that will be converted to json and stored in json_data
# jsonData:
# graphiteVersion: "1.1"
# tlsAuth: true
# tlsAuthWithCACert: true
# # <string> json object of data that will be encrypted.
# secureJsonData:
# tlsCACert: "..."
# tlsClientCert: "..."
# tlsClientKey: "..."
# version: 1
# # <bool> allow users to edit datasources from the UI.
# editable: false

View File

@@ -12,18 +12,17 @@
#################################### Paths ####################################
[paths]
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
#
;data = /var/lib/grafana
#
# Directory where grafana can store logs
#
;logs = /var/log/grafana
#
# Directory where grafana will automatically scan and look for plugins
#
;plugins = /var/lib/grafana/plugins
#
# folder that contains provisioning config files that grafana will apply on startup and while running.
; provisioning = conf/provisioning
#################################### Server ####################################
[server]
# Protocol (http, https, socket)
@@ -72,7 +71,7 @@
;host = 127.0.0.1:3306
;name = grafana
;user = root
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
;password =
# Use either URL or the previous fields to configure the database
@@ -91,6 +90,8 @@
# Max conn setting default is 0 (mean not set)
;max_open_conn =
# Set to true to log the sql calls and execution times.
log_queries =
#################################### Session ####################################
[session]
@@ -161,6 +162,10 @@
# data source proxy whitelist (ip_or_domain:port separated by spaces)
;data_source_proxy_whitelist =
# disable protection against brute force login attempts
;disable_brute_force_login_protection = false
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
;external_enabled = true
@@ -173,7 +178,12 @@
# remove snapshots after 90 days
;snapshot_TTL_days = 90
#################################### Users ####################################
#################################### Dashboards History ##################
[dashboards]
# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
;versions_to_keep = 20
#################################### Users ###############################
[users]
# disable user signup / registration
;allow_sign_up = true
@@ -198,6 +208,9 @@
;external_manage_link_name =
;external_manage_info =
# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
;viewers_can_edit = false
[auth]
# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
;disable_login_form = false
@@ -360,17 +373,6 @@
;tag =
#################################### AMQP Event Publisher ##########################
[event_publisher]
;enabled = false
;rabbitmq_url = amqp://localhost/
;exchange = grafana_events
;#################################### Dashboard JSON files ##########################
[dashboards.json]
;enabled = false
;path = /var/lib/grafana/dashboards
#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features
@@ -379,7 +381,7 @@
;execute_alerts = true
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP API Url /api/metrics
# Metrics available at HTTP API Url /metrics
[metrics]
# Disable / Enable internal metrics
;enabled = true
@@ -418,7 +420,7 @@
#################################### External image storage ##########################
[external_image_storage]
# Used for uploading images to public servers so they can be included in slack/email messages.
# you can choose between (s3, webdav, gcs)
# you can choose between (s3, webdav, gcs, azure_blob, local)
;provider =
[external_image_storage.s3]
@@ -437,3 +439,12 @@
[external_image_storage.gcs]
;key_file =
;bucket =
;path =
[external_image_storage.azure_blob]
;account_name =
;account_key =
;container_name =
[external_image_storage.local]
# does not require any configuration

View File

@@ -0,0 +1,4 @@
FROM jmferrer/apache2-reverse-proxy:latest
COPY ports.conf /etc/apache2/sites-enabled
COPY proxy.conf /etc/apache2/sites-enabled

View File

@@ -0,0 +1,9 @@
# This will proxy all requests for http://localhost:10081/grafana/ to
# http://localhost:3000 (Grafana running locally)
#
# Please note that you'll need to change the root_url in the Grafana configuration:
# root_url = %(protocol)s://%(domain)s:/grafana/
apacheproxy:
build: blocks/apache_proxy
network_mode: host

View File

@@ -0,0 +1 @@
Listen 10081

View File

@@ -0,0 +1,4 @@
<VirtualHost *:10081>
ProxyPass /grafana/ http://localhost:3000/
ProxyPassReverse /grafana/ http://localhost:3000/
</VirtualHost>

View File

@@ -0,0 +1,11 @@
collectd:
build: blocks/collectd
environment:
HOST_NAME: myserver
GRAPHITE_HOST: graphite
GRAPHITE_PORT: 2003
GRAPHITE_PREFIX: collectd.
REPORT_BY_CPU: 'false'
COLLECT_INTERVAL: 10
links:
- graphite

View File

@@ -1,11 +0,0 @@
collectd:
build: blocks/collectd
environment:
HOST_NAME: myserver
GRAPHITE_HOST: graphite
GRAPHITE_PORT: 2003
GRAPHITE_PREFIX: collectd.
REPORT_BY_CPU: 'false'
COLLECT_INTERVAL: 10
links:
- graphite

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,16 @@
graphite09:
build: blocks/graphite
ports:
- "8080:80"
- "2003:2003"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
fake-graphite-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: graphite
FD_PORT: 2003

View File

@@ -1,16 +0,0 @@
graphite:
build: blocks/graphite
ports:
- "8080:80"
- "2003:2003"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
fake-graphite-data:
image: grafana/fake-data-gen
net: bridge
environment:
FD_DATASOURCE: graphite
FD_PORT: 2003

View File

@@ -1,9 +1,10 @@
FROM phusion/baseimage:0.9.22
MAINTAINER Denys Zhdanov <denis.zhdanov@gmail.com>
RUN apt-get -y update \
&& apt-get -y upgrade \
&& apt-get -y --force-yes install vim \
&& apt-get -y install vim \
nginx \
python-dev \
python-flup \
@@ -22,38 +23,67 @@ RUN apt-get -y update \
nodejs \
&& rm -rf /var/lib/apt/lists/*
# choose a timezone at build-time
# use `--build-arg CONTAINER_TIMEZONE=Europe/Brussels` in `docker build`
ARG CONTAINER_TIMEZONE
ENV DEBIAN_FRONTEND noninteractive
RUN if [ ! -z "${CONTAINER_TIMEZONE}" ]; \
then ln -sf /usr/share/zoneinfo/$CONTAINER_TIMEZONE /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata; \
fi
# fix python dependencies (LTS Django and newer memcached/txAMQP)
RUN pip install django==1.8.18 \
RUN pip install --upgrade pip && \
pip install django==1.8.18 \
python-memcached==1.53 \
txAMQP==0.6.2 \
&& pip install --upgrade pip
txAMQP==0.6.2
ARG version=1.0.2
ARG whisper_version=${version}
ARG carbon_version=${version}
ARG graphite_version=${version}
RUN echo "Building Version: $version"
ARG whisper_repo=https://github.com/graphite-project/whisper.git
ARG carbon_repo=https://github.com/graphite-project/carbon.git
ARG graphite_repo=https://github.com/graphite-project/graphite-web.git
ARG statsd_version=v0.8.0
ARG statsd_repo=https://github.com/etsy/statsd.git
# install whisper
RUN git clone -b 1.0.2 --depth 1 https://github.com/graphite-project/whisper.git /usr/local/src/whisper
RUN git clone -b ${whisper_version} --depth 1 ${whisper_repo} /usr/local/src/whisper
WORKDIR /usr/local/src/whisper
RUN python ./setup.py install
# install carbon
RUN git clone -b 1.0.2 --depth 1 https://github.com/graphite-project/carbon.git /usr/local/src/carbon
RUN git clone -b ${carbon_version} --depth 1 ${carbon_repo} /usr/local/src/carbon
WORKDIR /usr/local/src/carbon
RUN pip install -r requirements.txt \
&& python ./setup.py install
# install graphite
RUN git clone -b 1.0.2 --depth 1 https://github.com/graphite-project/graphite-web.git /usr/local/src/graphite-web
RUN git clone -b ${graphite_version} --depth 1 ${graphite_repo} /usr/local/src/graphite-web
WORKDIR /usr/local/src/graphite-web
RUN pip install -r requirements.txt \
&& python ./setup.py install
# install statsd
RUN git clone -b ${statsd_version} ${statsd_repo} /opt/statsd
# config graphite
ADD conf/opt/graphite/conf/*.conf /opt/graphite/conf/
ADD conf/opt/graphite/webapp/graphite/local_settings.py /opt/graphite/webapp/graphite/local_settings.py
ADD conf/opt/graphite/webapp/graphite/app_settings.py /opt/graphite/webapp/graphite/app_settings.py
# ADD conf/opt/graphite/webapp/graphite/app_settings.py /opt/graphite/webapp/graphite/app_settings.py
WORKDIR /opt/graphite/webapp
RUN mkdir -p /var/log/graphite/ \
&& PYTHONPATH=/opt/graphite/webapp django-admin.py collectstatic --noinput --settings=graphite.settings
# install statsd
RUN git clone -b v0.7.2 https://github.com/etsy/statsd.git /opt/statsd
ADD conf/opt/statsd/config.js /opt/statsd/config.js
# config statsd
ADD conf/opt/statsd/config.js /opt/statsd/
# config nginx
RUN rm /etc/nginx/sites-enabled/default
@@ -63,8 +93,7 @@ ADD conf/etc/nginx/sites-enabled/graphite-statsd.conf /etc/nginx/sites-enabled/g
# init django admin
ADD conf/usr/local/bin/django_admin_init.exp /usr/local/bin/django_admin_init.exp
ADD conf/usr/local/bin/manage.sh /usr/local/bin/manage.sh
RUN chmod +x /usr/local/bin/manage.sh \
&& /usr/local/bin/django_admin_init.exp
RUN chmod +x /usr/local/bin/manage.sh && /usr/local/bin/django_admin_init.exp
# logging support
RUN mkdir -p /var/log/carbon /var/log/graphite /var/log/nginx
@@ -86,8 +115,10 @@ RUN apt-get clean\
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# defaults
EXPOSE 80 2003-2004 2023-2024 8125/udp 8126
EXPOSE 80 2003-2004 2023-2024 8125 8125/udp 8126
VOLUME ["/opt/graphite/conf", "/opt/graphite/storage", "/etc/nginx", "/opt/statsd", "/etc/logrotate.d", "/var/log"]
WORKDIR /
ENV HOME /root
ENV STATSD_INTERFACE udp
CMD ["/sbin/my_init"]

View File

@@ -12,7 +12,7 @@ graphite_conf_dir_contents=$(find /opt/graphite/conf -mindepth 1 -print -quit)
graphite_webapp_dir_contents=$(find /opt/graphite/webapp/graphite -mindepth 1 -print -quit)
graphite_storage_dir_contents=$(find /opt/graphite/storage -mindepth 1 -print -quit)
if [[ -z $graphite_dir_contents ]]; then
git clone -b 1.0.2 --depth 1 https://github.com/graphite-project/graphite-web.git /usr/local/src/graphite-web
# git clone -b 1.0.2 --depth 1 https://github.com/graphite-project/graphite-web.git /usr/local/src/graphite-web
cd /usr/local/src/graphite-web && python ./setup.py install
fi
if [[ -z $graphite_storage_dir_contents ]]; then

View File

@@ -8,18 +8,18 @@
# Defaults to ../
# GRAPHITE_CONF_DIR - Configuration directory (where this file lives).
# Defaults to $GRAPHITE_ROOT/conf/
# GRAPHITE_STORAGE_DIR - Storage directory for whipser/rrd/log/pid files.
# GRAPHITE_STORAGE_DIR - Storage directory for whisper/rrd/log/pid files.
# Defaults to $GRAPHITE_ROOT/storage/
#
# To change other directory paths, add settings to this file. The following
# configuration variables are available with these default values:
#
# STORAGE_DIR = $GRAPHITE_STORAGE_DIR
# LOCAL_DATA_DIR = STORAGE_DIR/whisper/
# WHITELISTS_DIR = STORAGE_DIR/lists/
# CONF_DIR = STORAGE_DIR/conf/
# LOG_DIR = STORAGE_DIR/log/
# PID_DIR = STORAGE_DIR/
# LOCAL_DATA_DIR = %(STORAGE_DIR)s/whisper/
# WHITELISTS_DIR = %(STORAGE_DIR)s/lists/
# CONF_DIR = %(STORAGE_DIR)s/conf/
# LOG_DIR = %(STORAGE_DIR)s/log/
# PID_DIR = %(STORAGE_DIR)s/
#
# For FHS style directory structures, use:
#
@@ -30,20 +30,30 @@
#
#LOCAL_DATA_DIR = /opt/graphite/storage/whisper/
# Enable daily log rotation. If disabled, a kill -HUP can be used after a manual rotate
# Specify the database library used to store metric data on disk. Each database
# may have configurable options to change the behaviour of how it writes to
# persistent storage.
#
# whisper - Fixed-size database, similar in design and purpose to RRD. This is
# the default storage backend for carbon and the most rigorously tested.
#
# ceres - Experimental alternative database that supports storing data in sparse
# files of arbitrary fixed-size resolutions.
DATABASE = whisper
# Enable daily log rotation. If disabled, a new file will be opened whenever the log file path no
# longer exists (i.e. it is removed or renamed)
ENABLE_LOGROTATION = True
# Specify the user to drop privileges to
# If this is blank carbon runs as the user that invokes it
# If this is blank carbon-cache runs as the user that invokes it
# This user must have write access to the local data directory
USER =
#
# NOTE: The above settings must be set under [relay] and [aggregator]
# to take effect for those daemons as well
# Limit the size of the cache to avoid swapping or becoming CPU bound.
# Sorts and serving cache queries gets more expensive as the cache grows.
# Use the value "inf" (infinity) for an unlimited cache size.
# value should be an integer number of metric datapoints.
MAX_CACHE_SIZE = inf
# Limits the number of whisper update_many() calls per second, which effectively
@@ -60,14 +70,30 @@ MAX_UPDATES_PER_SECOND = 500
# MAX_UPDATES_PER_SECOND_ON_SHUTDOWN = 1000
# Softly limits the number of whisper files that get created each minute.
# Setting this value low (like at 50) is a good way to ensure your graphite
# Setting this value low (e.g. 50) is a good way to ensure that your carbon
# system will not be adversely impacted when a bunch of new metrics are
# sent to it. The trade off is that it will take much longer for those metrics'
# database files to all get created and thus longer until the data becomes usable.
# Setting this value high (like "inf" for infinity) will cause graphite to create
# the files quickly but at the risk of slowing I/O down considerably for a while.
# sent to it. The trade off is that any metrics received in excess of this
# value will be silently dropped, and the whisper file will not be created
# until such point as a subsequent metric is received and fits within the
# defined rate limit. Setting this value high (like "inf" for infinity) will
# cause carbon to create the files quickly but at the risk of increased I/O.
MAX_CREATES_PER_MINUTE = 50
# Set the minimum timestamp resolution supported by this instance. This allows
# internal optimisations by overwriting points with equal truncated timestamps
# in order to limit the number of updates to the database. It defaults to one
# second.
MIN_TIMESTAMP_RESOLUTION = 1
# Set the minimum lag in seconds for a point to be written to the database
# in order to optimize batching. This means that each point will wait at least
# the duration of this lag before being written. Setting this to 0 disable the feature.
# This currently only works when using the timesorted write strategy.
# MIN_TIMESTAMP_LAG = 0
# Set the interface and port for the line (plain text) listener. Setting the
# interface to 0.0.0.0 listens on all interfaces. Port can be set to 0 to
# disable this listener if it is not required.
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2003
@@ -78,11 +104,23 @@ ENABLE_UDP_LISTENER = False
UDP_RECEIVER_INTERFACE = 0.0.0.0
UDP_RECEIVER_PORT = 2003
# Set the interface and port for the pickle listener. Setting the interface to
# 0.0.0.0 listens on all interfaces. Port can be set to 0 to disable this
# listener if it is not required.
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2004
# Set to false to disable logging of successful connections
LOG_LISTENER_CONNECTIONS = True
# Set the interface and port for the protobuf listener. Setting the interface to
# 0.0.0.0 listens on all interfaces. Port can be set to 0 to disable this
# listener if it is not required.
# PROTOBUF_RECEIVER_INTERFACE = 0.0.0.0
# PROTOBUF_RECEIVER_PORT = 2005
# Limit the number of open connections the receiver can handle as any time.
# Default is no limit. Setting up a limit for sites handling high volume
# traffic may be recommended to avoid running out of TCP memory or having
# thousands of TCP connections reduce the throughput of the service.
#MAX_RECEIVER_CONNECTIONS = inf
# Per security concerns outlined in Bug #817247 the pickle receiver
# will use a more secure and slightly less efficient unpickler.
@@ -98,13 +136,19 @@ CACHE_QUERY_PORT = 7002
# data until the cache size falls below 95% MAX_CACHE_SIZE.
USE_FLOW_CONTROL = True
# By default, carbon-cache will log every whisper update and cache hit. This can be excessive and
# degrade performance if logging on the same volume as the whisper data is stored.
LOG_UPDATES = False
LOG_CACHE_HITS = False
LOG_CACHE_QUEUE_SORTS = True
# If enabled this setting is used to timeout metric client connection if no
# metrics have been sent in specified time in seconds
#METRIC_CLIENT_IDLE_TIMEOUT = None
# The thread that writes metrics to disk can use on of the following strategies
# By default, carbon-cache will log every whisper update and cache hit.
# This can be excessive and degrade performance if logging on the same
# volume as the whisper data is stored.
LOG_UPDATES = False
LOG_CREATES = False
LOG_CACHE_HITS = False
LOG_CACHE_QUEUE_SORTS = False
# The thread that writes metrics to disk can use one of the following strategies
# determining the order in which metrics are removed from cache and flushed to
# disk. The default option preserves the same behavior as has been historically
# available in version 0.9.10.
@@ -114,6 +158,12 @@ LOG_CACHE_QUEUE_SORTS = True
# moment of the list's creation. Metrics will then be flushed from the cache to
# disk in that order.
#
# timesorted - All metrics in the list will be looked at and sorted according
# to the timestamp of there datapoints. The metric that were the least recently
# written will be written first. This is an hybrid strategy between max and
# sorted which is particularly adapted to sets of metrics with non-uniform
# resolutions.
#
# max - The writer thread will always pop and flush the metric from cache
# that has the most datapoints. This will give a strong flush preference to
# frequently updated metrics and will also reduce random file-io. Infrequently
@@ -152,12 +202,61 @@ WHISPER_FALLOCATE_CREATE = True
# Enabling this option will cause Whisper to lock each Whisper file it writes
# to with an exclusive lock (LOCK_EX, see: man 2 flock). This is useful when
# multiple carbon-cache daemons are writing to the same files
# multiple carbon-cache daemons are writing to the same files.
# WHISPER_LOCK_WRITES = False
# On systems which has a large number of metrics, an amount of Whisper write(2)'s
# pageback sometimes cause disk thrashing due to memory shortage, so that abnormal
# disk reads occur. Enabling this option makes it possible to decrease useless
# page cache memory by posix_fadvise(2) with POSIX_FADVISE_RANDOM option.
# WHISPER_FADVISE_RANDOM = False
# By default all nodes stored in Ceres are cached in memory to improve the
# throughput of reads and writes to underlying slices. Turning this off will
# greatly reduce memory consumption for databases with millions of metrics, at
# the cost of a steep increase in disk i/o, approximately an extra two os.stat
# calls for every read and write. Reasons to do this are if the underlying
# storage can handle stat() with practically zero cost (SSD, NVMe, zRAM).
# Valid values are:
# all - all nodes are cached
# none - node caching is disabled
# CERES_NODE_CACHING_BEHAVIOR = all
# Ceres nodes can have many slices and caching the right ones can improve
# performance dramatically. Note that there are many trade-offs to tinkering
# with this, and unless you are a ceres developer you *really* should not
# mess with this. Valid values are:
# latest - only the most recent slice is cached
# all - all slices are cached
# none - slice caching is disabled
# CERES_SLICE_CACHING_BEHAVIOR = latest
# If a Ceres node accumulates too many slices, performance can suffer.
# This can be caused by intermittently reported data. To mitigate
# slice fragmentation there is a tolerance for how much space can be
# wasted within a slice file to avoid creating a new one. That tolerance
# level is determined by MAX_SLICE_GAP, which is the number of consecutive
# null datapoints allowed in a slice file.
# If you set this very low, you will waste less of the *tiny* bit disk space
# that this feature wastes, and you will be prone to performance problems
# caused by slice fragmentation, which can be pretty severe.
# If you set this really high, you will waste a bit more disk space (each
# null datapoint wastes 8 bytes, but keep in mind your filesystem's block
# size). If you suffer slice fragmentation issues, you should increase this or
# run the ceres-maintenance defrag plugin more often. However you should not
# set it to be huge because then if a large but allowed gap occurs it has to
# get filled in, which means instead of a simple 8-byte write to a new file we
# could end up doing an (8 * MAX_SLICE_GAP)-byte write to the latest slice.
# CERES_MAX_SLICE_GAP = 80
# Enabling this option will cause Ceres to lock each Ceres file it writes to
# to with an exclusive lock (LOCK_EX, see: man 2 flock). This is useful when
# multiple carbon-cache daemons are writing to the same files.
# CERES_LOCK_WRITES = False
# Set this to True to enable whitelisting and blacklisting of metrics in
# CONF_DIR/whitelist and CONF_DIR/blacklist. If the whitelist is missing or
# empty, all metrics will pass through
# CONF_DIR/whitelist.conf and CONF_DIR/blacklist.conf. If the whitelist is
# missing or empty, all metrics will pass through
# USE_WHITELIST = False
# By default, carbon itself will log statistics (such as a count,
@@ -203,16 +302,25 @@ WHISPER_FALLOCATE_CREATE = True
# Example: store everything
# BIND_PATTERNS = #
# URL of graphite-web instance, this is used to add incoming series to the tag database
GRAPHITE_URL = http://127.0.0.1:80
# Tag update interval, this specifies how frequently updates to existing series will trigger
# an update to the tag index, the default setting is once every 100 updates
# TAG_UPDATE_INTERVAL = 100
# To configure special settings for the carbon-cache instance 'b', uncomment this:
#[cache:b]
#LINE_RECEIVER_PORT = 2103
#PICKLE_RECEIVER_PORT = 2104
#CACHE_QUERY_PORT = 7102
# and any other settings you want to customize, defaults are inherited
# from [carbon] section.
# from the [cache] section.
# You can then specify the --instance=b option to manage this instance
#
# In order to turn off logging of successful connections for the line
# receiver, set this to False
# LOG_LISTENER_CONN_SUCCESS = True
[relay]
LINE_RECEIVER_INTERFACE = 0.0.0.0
@@ -220,9 +328,6 @@ LINE_RECEIVER_PORT = 2013
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2014
# Set to false to disable logging of successful connections
LOG_LISTENER_CONNECTIONS = True
# Carbon-relay has several options for metric routing controlled by RELAY_METHOD
#
# Use relay-rules.conf to route metrics to destinations based on pattern rules
@@ -237,12 +342,24 @@ LOG_LISTENER_CONNECTIONS = True
# instance.
# Enable this for carbon-relays that send to a group of carbon-aggregators
#RELAY_METHOD = aggregated-consistent-hashing
#
# You can also use fast-hashing and fast-aggregated-hashing which are in O(1)
# and will always redirect the metrics to the same destination but do not try
# to minimize rebalancing when the list of destinations is changing.
RELAY_METHOD = rules
# If you use consistent-hashing you can add redundancy by replicating every
# datapoint to more than one machine.
REPLICATION_FACTOR = 1
# For REPLICATION_FACTOR >=2, set DIVERSE_REPLICAS to True to guarantee replicas
# across distributed hosts. With this setting disabled, it's possible that replicas
# may be sent to different caches on the same host. This has been the default
# behavior since introduction of 'consistent-hashing' relay method.
# Note that enabling this on an existing pre-0.9.14 cluster will require rebalancing
# your metrics across the cluster nodes using a tool like Carbonate.
#DIVERSE_REPLICAS = True
# This is a list of carbon daemons we will send any relayed or
# generated metrics to. The default provided would send to a single
# carbon-cache instance on the default port. However if you
@@ -261,20 +378,71 @@ REPLICATION_FACTOR = 1
# must be defined in this list
DESTINATIONS = 127.0.0.1:2004
# This defines the maximum "message size" between carbon daemons.
# You shouldn't need to tune this unless you really know what you're doing.
MAX_DATAPOINTS_PER_MESSAGE = 500
# This define the protocol to use to contact the destination. It can be
# set to one of "line", "pickle", "udp" and "protobuf". This list can be
# extended with CarbonClientFactory plugins and defaults to "pickle".
# DESTINATION_PROTOCOL = pickle
# When using consistent hashing it sometime makes sense to make
# the ring dynamic when you don't want to loose points when a
# single destination is down. Replication is an answer to that
# but it can be quite expensive.
# DYNAMIC_ROUTER = False
# Controls the number of connection attempts before marking a
# destination as down. We usually do one connection attempt per
# second.
# DYNAMIC_ROUTER_MAX_RETRIES = 5
# This is the maximum number of datapoints that can be queued up
# for a single destination. Once this limit is hit, we will
# stop accepting new data if USE_FLOW_CONTROL is True, otherwise
# we will drop any subsequently received datapoints.
MAX_QUEUE_SIZE = 10000
# This defines the maximum "message size" between carbon daemons. If
# your queue is large, setting this to a lower number will cause the
# relay to forward smaller discrete chunks of stats, which may prevent
# overloading on the receiving side after a disconnect.
MAX_DATAPOINTS_PER_MESSAGE = 500
# Limit the number of open connections the receiver can handle as any time.
# Default is no limit. Setting up a limit for sites handling high volume
# traffic may be recommended to avoid running out of TCP memory or having
# thousands of TCP connections reduce the throughput of the service.
#MAX_RECEIVER_CONNECTIONS = inf
# Specify the user to drop privileges to
# If this is blank carbon-relay runs as the user that invokes it
# USER =
# This is the percentage that the queue must be empty before it will accept
# more messages. For a larger site, if the queue is very large it makes sense
# to tune this to allow for incoming stats. So if you have an average
# flow of 100k stats/minute, and a MAX_QUEUE_SIZE of 3,000,000, it makes sense
# to allow stats to start flowing when you've cleared the queue to 95% since
# you should have space to accommodate the next minute's worth of stats
# even before the relay incrementally clears more of the queue
QUEUE_LOW_WATERMARK_PCT = 0.8
# To allow for batch efficiency from the pickle protocol and to benefit from
# other batching advantages, all writes are deferred by putting them into a queue,
# and then the queue is flushed and sent a small fraction of a second later.
TIME_TO_DEFER_SENDING = 0.0001
# Set this to False to drop datapoints when any send queue (sending datapoints
# to a downstream carbon daemon) hits MAX_QUEUE_SIZE. If this is True (the
# default) then sockets over which metrics are received will temporarily stop accepting
# data until the send queues fall below 80% MAX_QUEUE_SIZE.
# data until the send queues fall below QUEUE_LOW_WATERMARK_PCT * MAX_QUEUE_SIZE.
USE_FLOW_CONTROL = True
# If enabled this setting is used to timeout metric client connection if no
# metrics have been sent in specified time in seconds
#METRIC_CLIENT_IDLE_TIMEOUT = None
# Set this to True to enable whitelisting and blacklisting of metrics in
# CONF_DIR/whitelist and CONF_DIR/blacklist. If the whitelist is missing or
# empty, all metrics will pass through
# CONF_DIR/whitelist.conf and CONF_DIR/blacklist.conf. If the whitelist is
# missing or empty, all metrics will pass through
# USE_WHITELIST = False
# By default, carbon itself will log statistics (such as a count,
@@ -282,7 +450,40 @@ USE_FLOW_CONTROL = True
# seconds. Set CARBON_METRIC_INTERVAL to 0 to disable instrumentation
# CARBON_METRIC_PREFIX = carbon
# CARBON_METRIC_INTERVAL = 60
#
# In order to turn off logging of successful connections for the line
# receiver, set this to False
# LOG_LISTENER_CONN_SUCCESS = True
# If you're connecting from the relay to a destination that's over the
# internet or similarly iffy connection, a backlog can develop because
# of internet weather conditions, e.g. acks getting lost or similar issues.
# To deal with that, you can enable USE_RATIO_RESET which will let you
# re-set the connection to an individual destination. Defaults to being off.
USE_RATIO_RESET=False
# When there is a small number of stats flowing, it's not desirable to
# perform any actions based on percentages - it's just too "twitchy".
MIN_RESET_STAT_FLOW=1000
# When the ratio of stats being sent in a reporting interval is far
# enough from 1.0, we will disconnect the socket and reconnecto to
# clear out queued stats. The default ratio of 0.9 indicates that 10%
# of stats aren't being delivered within one CARBON_METRIC_INTERVAL
# (default of 60 seconds), which can lead to a queue backup. Under
# some circumstances re-setting the connection can fix this, so
# set this according to your tolerance, and look in the logs for
# "resetConnectionForQualityReasons" to observe whether this is kicking
# in when your sent queue is building up.
MIN_RESET_RATIO=0.9
# The minimum time between resets. When a connection is re-set, we
# need to wait before another reset is performed.
# (2*CARBON_METRIC_INTERVAL) + 1 second is the minimum time needed
# before stats for the new connection will be available. Setting this
# below (2*CARBON_METRIC_INTERVAL) + 1 second will result in a lot of
# reset connections for no good reason.
MIN_RESET_INTERVAL=121
[aggregator]
LINE_RECEIVER_INTERFACE = 0.0.0.0
@@ -291,14 +492,17 @@ LINE_RECEIVER_PORT = 2023
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2024
# Set to false to disable logging of successful connections
LOG_LISTENER_CONNECTIONS = True
# If set true, metric received will be forwarded to DESTINATIONS in addition to
# the output of the aggregation rules. If set false the carbon-aggregator will
# only ever send the output of aggregation.
FORWARD_ALL = True
# Filenames of the configuration files to use for this instance of aggregator.
# Filenames are relative to CONF_DIR.
#
# AGGREGATION_RULES = aggregation-rules.conf
# REWRITE_RULES = rewrite-rules.conf
# This is a list of carbon daemons we will send any relayed or
# generated metrics to. The default provided would send to a single
# carbon-cache instance on the default port. However if you
@@ -330,6 +534,10 @@ MAX_QUEUE_SIZE = 10000
# data until the send queues fall below 80% MAX_QUEUE_SIZE.
USE_FLOW_CONTROL = True
# If enabled this setting is used to timeout metric client connection if no
# metrics have been sent in specified time in seconds
#METRIC_CLIENT_IDLE_TIMEOUT = None
# This defines the maximum "message size" between carbon daemons.
# You shouldn't need to tune this unless you really know what you're doing.
MAX_DATAPOINTS_PER_MESSAGE = 500
@@ -339,6 +547,12 @@ MAX_DATAPOINTS_PER_MESSAGE = 500
# the past MAX_AGGREGATION_INTERVALS * intervalSize seconds.
MAX_AGGREGATION_INTERVALS = 5
# Limit the number of open connections the receiver can handle as any time.
# Default is no limit. Setting up a limit for sites handling high volume
# traffic may be recommended to avoid running out of TCP memory or having
# thousands of TCP connections reduce the throughput of the service.
#MAX_RECEIVER_CONNECTIONS = inf
# By default (WRITE_BACK_FREQUENCY = 0), carbon-aggregator will write back
# aggregated data points once every rule.frequency seconds, on a per-rule basis.
# Set this (WRITE_BACK_FREQUENCY = N) to write back all aggregated data points
@@ -348,8 +562,8 @@ MAX_AGGREGATION_INTERVALS = 5
# WRITE_BACK_FREQUENCY = 0
# Set this to True to enable whitelisting and blacklisting of metrics in
# CONF_DIR/whitelist and CONF_DIR/blacklist. If the whitelist is missing or
# empty, all metrics will pass through
# CONF_DIR/whitelist.conf and CONF_DIR/blacklist.conf. If the whitelist is
# missing or empty, all metrics will pass through
# USE_WHITELIST = False
# By default, carbon itself will log statistics (such as a count,
@@ -357,3 +571,24 @@ MAX_AGGREGATION_INTERVALS = 5
# seconds. Set CARBON_METRIC_INTERVAL to 0 to disable instrumentation
# CARBON_METRIC_PREFIX = carbon
# CARBON_METRIC_INTERVAL = 60
# In order to turn off logging of successful connections for the line
# receiver, set this to False
# LOG_LISTENER_CONN_SUCCESS = True
# In order to turn off logging of metrics with no corresponding
# aggregation rules receiver, set this to False
# LOG_AGGREGATOR_MISSES = False
# Specify the user to drop privileges to
# If this is blank carbon-aggregator runs as the user that invokes it
# USER =
# Part of the code, and particularly aggregator rules, need
# to cache metric names. To avoid leaking too much memory you
# can tweak the size of this cache. The default allow for 1M
# different metrics per rule (~200MiB).
# CACHE_METRIC_NAMES_MAX=1000000
# You can optionally set a ttl to this cache.
# CACHE_METRIC_NAMES_TTL=600

View File

@@ -40,4 +40,3 @@ aggregationMethod = sum
pattern = .*
xFilesFactor = 0.3
aggregationMethod = average

View File

@@ -1,4 +1,23 @@
# Schema definitions for Whisper files. Entries are scanned in order,
# and first match wins. This file is scanned for changes every 60 seconds.
#
# Definition Syntax:
#
# [name]
# pattern = regex
# retentions = timePerPoint:timeToStore, timePerPoint:timeToStore, ...
#
# Remember: To support accurate aggregation from higher to lower resolution
# archives, the precision of a longer retention archive must be
# cleanly divisible by precision of next lower retention archive.
#
# Valid: 60s:7d,300s:30d (300/60 = 5)
# Invalid: 180s:7d,300s:30d (300/180 = 3.333)
#
# Carbon's internal metrics. This entry should match what is specified in
# CARBON_METRIC_PREFIX and CARBON_METRIC_INTERVAL settings
[carbon]
pattern = ^carbon\..*
retentions = 1m:31d,10m:1y,1h:5y

2
docker/blocks/graphite1/conf/usr/local/bin/manage.sh Normal file → Executable file
View File

@@ -1,3 +1,3 @@
#!/bin/bash
PYTHONPATH=/opt/graphite/webapp django-admin.py syncdb --settings=graphite.settings
PYTHONPATH=/opt/graphite/webapp django-admin.py update_users --settings=graphite.settings
# PYTHONPATH=/opt/graphite/webapp django-admin.py update_users --settings=graphite.settings

View File

@@ -0,0 +1,21 @@
graphite:
build:
context: blocks/graphite1
args:
version: master
ports:
- "8080:80"
- "2003:2003"
- "8125:8125/udp"
- "8126:8126"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
fake-graphite-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: graphite
FD_PORT: 2003

View File

@@ -1,16 +0,0 @@
graphite:
build: blocks/graphite1
ports:
- "8080:80"
- "2003:2003"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
fake-graphite-data:
image: grafana/fake-data-gen
net: bridge
environment:
FD_DATASOURCE: graphite
FD_PORT: 2003

View File

@@ -1,76 +0,0 @@
[cache]
LOCAL_DATA_DIR = /opt/graphite/storage/whisper/
# Specify the user to drop privileges to
# If this is blank carbon runs as the user that invokes it
# This user must have write access to the local data directory
USER =
# Limit the size of the cache to avoid swapping or becoming CPU bound.
# Sorts and serving cache queries gets more expensive as the cache grows.
# Use the value "inf" (infinity) for an unlimited cache size.
MAX_CACHE_SIZE = inf
# Limits the number of whisper update_many() calls per second, which effectively
# means the number of write requests sent to the disk. This is intended to
# prevent over-utilizing the disk and thus starving the rest of the system.
# When the rate of required updates exceeds this, then carbon's caching will
# take effect and increase the overall throughput accordingly.
MAX_UPDATES_PER_SECOND = 1000
# Softly limits the number of whisper files that get created each minute.
# Setting this value low (like at 50) is a good way to ensure your graphite
# system will not be adversely impacted when a bunch of new metrics are
# sent to it. The trade off is that it will take much longer for those metrics'
# database files to all get created and thus longer until the data becomes usable.
# Setting this value high (like "inf" for infinity) will cause graphite to create
# the files quickly but at the risk of slowing I/O down considerably for a while.
MAX_CREATES_PER_MINUTE = inf
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2004
CACHE_QUERY_INTERFACE = 0.0.0.0
CACHE_QUERY_PORT = 7002
LOG_UPDATES = False
# Enable AMQP if you want to receve metrics using an amqp broker
# ENABLE_AMQP = False
# Verbose means a line will be logged for every metric received
# useful for testing
# AMQP_VERBOSE = False
# AMQP_HOST = localhost
# AMQP_PORT = 5672
# AMQP_VHOST = /
# AMQP_USER = guest
# AMQP_PASSWORD = guest
# AMQP_EXCHANGE = graphite
# Patterns for all of the metrics this machine will store. Read more at
# http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol#Bindings
#
# Example: store all sales, linux servers, and utilization metrics
# BIND_PATTERNS = sales.#, servers.linux.#, #.utilization
#
# Example: store everything
# BIND_PATTERNS = #
# NOTE: you cannot run both a cache and a relay on the same server
# with the default configuration, you have to specify a distinict
# interfaces and ports for the listeners.
[relay]
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = 0.0.0.0
PICKLE_RECEIVER_PORT = 2004
CACHE_SERVERS = server1, server2, server3
MAX_QUEUE_SIZE = 10000

View File

@@ -1,102 +0,0 @@
import datetime
import time
from django.utils.timezone import get_current_timezone
from django.core.urlresolvers import get_script_prefix
from django.http import HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from pytz import timezone
from graphite.util import json
from graphite.events import models
from graphite.render.attime import parseATTime
def to_timestamp(dt):
return time.mktime(dt.timetuple())
class EventEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return to_timestamp(obj)
return json.JSONEncoder.default(self, obj)
def view_events(request):
if request.method == "GET":
context = { 'events' : fetch(request),
'slash' : get_script_prefix()
}
return render_to_response("events.html", context)
else:
return post_event(request)
def detail(request, event_id):
e = get_object_or_404(models.Event, pk=event_id)
context = { 'event' : e,
'slash' : get_script_prefix()
}
return render_to_response("event.html", context)
def post_event(request):
if request.method == 'POST':
event = json.loads(request.body)
assert isinstance(event, dict)
values = {}
values["what"] = event["what"]
values["tags"] = event.get("tags", None)
values["when"] = datetime.datetime.fromtimestamp(
event.get("when", time.time()))
if "data" in event:
values["data"] = event["data"]
e = models.Event(**values)
e.save()
return HttpResponse(status=200)
else:
return HttpResponse(status=405)
def get_data(request):
if 'jsonp' in request.REQUEST:
response = HttpResponse(
"%s(%s)" % (request.REQUEST.get('jsonp'),
json.dumps(fetch(request), cls=EventEncoder)),
mimetype='text/javascript')
else:
response = HttpResponse(
json.dumps(fetch(request), cls=EventEncoder),
mimetype="application/json")
return response
def fetch(request):
#XXX we need to move to USE_TZ=True to get rid of naive-time conversions
def make_naive(dt):
if 'tz' in request.GET:
tz = timezone(request.GET['tz'])
else:
tz = get_current_timezone()
local_dt = dt.astimezone(tz)
if hasattr(local_dt, 'normalize'):
local_dt = local_dt.normalize()
return local_dt.replace(tzinfo=None)
if request.GET.get("from", None) is not None:
time_from = make_naive(parseATTime(request.GET["from"]))
else:
time_from = datetime.datetime.fromtimestamp(0)
if request.GET.get("until", None) is not None:
time_until = make_naive(parseATTime(request.GET["until"]))
else:
time_until = datetime.datetime.now()
tags = request.GET.get("tags", None)
if tags is not None:
tags = request.GET.get("tags").split(" ")
return [x.as_dict() for x in
models.Event.find_events(time_from, time_until, tags=tags)]

View File

@@ -1,20 +0,0 @@
[
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "admin",
"first_name": "",
"last_name": "",
"is_active": true,
"is_superuser": true,
"is_staff": true,
"last_login": "2011-09-20 17:02:14",
"groups": [],
"user_permissions": [],
"password": "sha1$1b11b$edeb0a67a9622f1f2cfeabf9188a711f5ac7d236",
"email": "root@example.com",
"date_joined": "2011-09-20 17:02:14"
}
}
]

View File

@@ -1,42 +0,0 @@
# Edit this file to override the default graphite settings, do not edit settings.py
# Turn on debugging and restart apache if you ever see an "Internal Server Error" page
#DEBUG = True
# Set your local timezone (django will try to figure this out automatically)
TIME_ZONE = 'UTC'
# Setting MEMCACHE_HOSTS to be empty will turn off use of memcached entirely
#MEMCACHE_HOSTS = ['127.0.0.1:11211']
# Sometimes you need to do a lot of rendering work but cannot share your storage mount
#REMOTE_RENDERING = True
#RENDERING_HOSTS = ['fastserver01','fastserver02']
#LOG_RENDERING_PERFORMANCE = True
#LOG_CACHE_PERFORMANCE = True
# If you've got more than one backend server they should all be listed here
#CLUSTER_SERVERS = []
# Override this if you need to provide documentation specific to your graphite deployment
#DOCUMENTATION_URL = "http://wiki.mycompany.com/graphite"
# Enable email-related features
#SMTP_SERVER = "mail.mycompany.com"
# LDAP / ActiveDirectory authentication setup
#USE_LDAP_AUTH = True
#LDAP_SERVER = "ldap.mycompany.com"
#LDAP_PORT = 389
#LDAP_SEARCH_BASE = "OU=users,DC=mycompany,DC=com"
#LDAP_BASE_USER = "CN=some_readonly_account,DC=mycompany,DC=com"
#LDAP_BASE_PASS = "readonly_account_password"
#LDAP_USER_QUERY = "(username=%s)" #For Active Directory use "(sAMAccountName=%s)"
# If sqlite won't cut it, configure your real database here (don't forget to run manage.py syncdb!)
#DATABASE_ENGINE = 'mysql' # or 'postgres'
#DATABASE_NAME = 'graphite'
#DATABASE_USER = 'graphite'
#DATABASE_PASSWORD = 'graphite-is-awesome'
#DATABASE_HOST = 'mysql.mycompany.com'
#DATABASE_PORT = '3306'

View File

@@ -1 +0,0 @@
grafana:$apr1$4R/20xhC$8t37jPP5dbcLr48btdkU//

View File

@@ -1,70 +0,0 @@
daemon off;
user www-data;
worker_processes 1;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
server_names_hash_bucket_size 32;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
server {
listen 80 default_server;
server_name _;
open_log_file_cache max=1000 inactive=20s min_uses=2 valid=1m;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $host;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, OPTIONS";
add_header Access-Control-Allow-Headers "origin, authorization, accept";
location /content {
alias /opt/graphite/webapp/content;
}
location /media {
alias /usr/share/pyshared/django/contrib/admin/media;
}
}
}

View File

@@ -1,8 +0,0 @@
{
graphitePort: 2003,
graphiteHost: "127.0.0.1",
port: 8125,
mgmt_port: 8126,
backends: ['./backends/graphite'],
debug: true
}

View File

@@ -1,19 +0,0 @@
[min]
pattern = \.min$
xFilesFactor = 0.1
aggregationMethod = min
[max]
pattern = \.max$
xFilesFactor = 0.1
aggregationMethod = max
[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum
[default_average]
pattern = .*
xFilesFactor = 0.5
aggregationMethod = average

View File

@@ -1,16 +0,0 @@
[carbon]
pattern = ^carbon\..*
retentions = 1m:31d,10m:1y,1h:5y
[highres]
pattern = ^highres.*
retentions = 1s:1d,1m:7d
[statsd]
pattern = ^statsd.*
retentions = 1m:7d,10m:1y
[default]
pattern = .*
retentions = 10s:1d,1m:7d,10m:1y

View File

@@ -1,26 +0,0 @@
[supervisord]
nodaemon = true
environment = GRAPHITE_STORAGE_DIR='/opt/graphite/storage',GRAPHITE_CONF_DIR='/opt/graphite/conf'
[program:nginx]
command = /usr/sbin/nginx
stdout_logfile = /var/log/supervisor/%(program_name)s.log
stderr_logfile = /var/log/supervisor/%(program_name)s.log
autorestart = true
[program:carbon-cache]
;user = www-data
command = /opt/graphite/bin/carbon-cache.py --debug start
stdout_logfile = /var/log/supervisor/%(program_name)s.log
stderr_logfile = /var/log/supervisor/%(program_name)s.log
autorestart = true
[program:graphite-webapp]
;user = www-data
directory = /opt/graphite/webapp
environment = PYTHONPATH='/opt/graphite/webapp'
command = /usr/bin/gunicorn_django -b127.0.0.1:8000 -w2 graphite/settings.py
stdout_logfile = /var/log/supervisor/%(program_name)s.log
stderr_logfile = /var/log/supervisor/%(program_name)s.log
autorestart = true

View File

@@ -0,0 +1,17 @@
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "2004:2004"
- "8083:8083"
- "8086:8086"
volumes:
- ./blocks/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
fake-influxdb-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: influxdb
FD_PORT: 8086

View File

@@ -1,17 +0,0 @@
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "2004:2004"
- "8083:8083"
- "8086:8086"
volumes:
- ./blocks/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
fake-influxdb-data:
image: grafana/fake-data-gen
net: bridge
environment:
FD_DATASOURCE: influxdb
FD_PORT: 8086

View File

@@ -0,0 +1,6 @@
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "127.0.0.1:6831:6831/udp"
- "16686:16686"

View File

@@ -1,6 +0,0 @@
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "localhost:6831:6831/udp"
- "16686:16686"

View File

@@ -0,0 +1,5 @@
memcached:
image: memcached:latest
ports:
- "11211:11211"

View File

@@ -1,5 +0,0 @@
memcached:
image: memcached:latest
ports:
- "11211:11211"

View File

@@ -0,0 +1,549 @@
{
"__inputs": [
{
"name": "DS_MYSQL",
"label": "Mysql",
"description": "",
"type": "datasource",
"pluginId": "mysql",
"pluginName": "MySQL"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "5.0.0"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "mysql",
"name": "MySQL",
"version": "1.0.0"
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
}
],
"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": 1518602729468,
"links": [],
"panels": [
{
"aliasColors": {
"total avg": "#6ed0e0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_MYSQL}",
"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",
"hide": false,
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time_sec,\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 1, 3\nORDER BY 1",
"refId": "A",
"target": ""
},
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time_sec,\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 1\nORDER BY 1",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": "1h",
"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": [
{
"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_MYSQL}",
"fill": 2,
"gridPos": {
"h": 18,
"w": 12,
"x": 12,
"y": 0
},
"id": 4,
"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_sec,\n avg(value) as value,\n 'started' as metric\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'payment.started'\nGROUP BY 1, 3\nORDER BY 1",
"refId": "A",
"target": ""
},
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(createdAt,'$summarize') as time_sec,\n avg(value) as value,\n 'ended' as \"metric\"\nFROM \n grafana_metric\nWHERE\n $__timeFilter(createdAt) AND\n measurement = 'payment.ended'\nGROUP BY 1, 3\nORDER BY 1",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": "1h",
"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_MYSQL}",
"fill": 2,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 9
},
"id": 3,
"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_sec,\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 1, 3\nORDER BY 1",
"refId": "A",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": "1h",
"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": "percent",
"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_MYSQL}",
"fontSize": "100%",
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 18
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"link": false,
"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",
"target": ""
}
],
"timeShift": "1h",
"title": "Values",
"transform": "table",
"type": "table"
}
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"fake-data-gen",
"mysql"
],
"templating": {
"list": [
{
"allValue": null,
"current": {},
"datasource": "${DS_MYSQL}",
"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_MYSQL}",
"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": 5,
"auto_min": "10s",
"current": {
"selected": true,
"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 - MySQL",
"uid": "DGsCac3kz",
"version": 6
}

View File

@@ -0,0 +1,21 @@
mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: grafana
MYSQL_USER: grafana
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:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: mysql
FD_PORT: 3306

View File

@@ -1,14 +0,0 @@
mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: grafana
MYSQL_USER: grafana
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb_monitor_enable=all]

View File

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

View File

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

View File

@@ -0,0 +1,13 @@
mysqltests:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: grafana_tests
MYSQL_USER: grafana
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
tmpfs: /var/lib/mysql:rw

View File

@@ -1,9 +0,0 @@
mysqltests:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: grafana_tests
MYSQL_USER: grafana
MYSQL_PASSWORD: password
ports:
- "3306:3306"

View File

@@ -0,0 +1,3 @@
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf

View File

@@ -0,0 +1,9 @@
# This will proxy all requests for http://localhost:10080/grafana/ to
# http://localhost:3000 (Grafana running locally)
#
# Please note that you'll need to change the root_url in the Grafana configuration:
# root_url = %(protocol)s://%(domain)s:/grafana/
nginxproxy:
build: blocks/nginx_proxy
network_mode: host

View File

@@ -0,0 +1,19 @@
events { worker_connections 1024; }
http {
sendfile on;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
server {
listen 10080;
location /grafana/ {
proxy_pass http://localhost:3000/;
}
}
}

View File

@@ -1,6 +1,6 @@
FROM debian:jessie
MAINTAINER Christian Luginbühl <dinke@pimprecords.com>
LABEL maintainer="Christian Luginbühl <dinke@pimprecords.com>"
ENV OPENLDAP_VERSION 2.4.40

View File

@@ -0,0 +1,10 @@
openldap:
build: blocks/openldap
environment:
SLAPD_PASSWORD: grafana
SLAPD_DOMAIN: grafana.org
SLAPD_ADDITIONAL_MODULES: memberof
ports:
- "389:389"

View File

@@ -1,10 +0,0 @@
openldap:
build: blocks/openldap
environment:
SLAPD_PASSWORD: grafana
SLAPD_DOMAIN: grafana.org
SLAPD_ADDITIONAL_MODULES: memberof
ports:
- "389:389"

View File

@@ -0,0 +1,11 @@
opentsdb:
image: opower/opentsdb:latest
ports:
- "4242:4242"
fake-opentsdb-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: opentsdb

View File

@@ -1,11 +0,0 @@
opentsdb:
image: opower/opentsdb:latest
ports:
- "4242:4242"
fake-opentsdb-data:
image: grafana/fake-data-gen
net: bridge
environment:
FD_DATASOURCE: opentsdb

View File

@@ -0,0 +1,547 @@
{
"__inputs": [
{
"name": "DS_POSTGRESQL",
"label": "PostgreSQL",
"description": "",
"type": "datasource",
"pluginId": "postgres",
"pluginName": "PostgreSQL"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "5.0.0"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "postgres",
"name": "PostgreSQL",
"version": "1.0.0"
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
}
],
"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": 1518601837383,
"links": [],
"panels": [
{
"aliasColors": {
"total avg": "#6ed0e0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_POSTGRESQL}",
"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",
"hide": false,
"rawSql": "SELECT\n $__timeGroup(\"createdAt\",'$summarize'),\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 time, metric\nORDER BY time",
"refId": "A",
"target": ""
},
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(\"createdAt\",'$summarize'),\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 time",
"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": [
{
"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_POSTGRESQL}",
"fill": 2,
"gridPos": {
"h": 18,
"w": 12,
"x": 12,
"y": 0
},
"id": 4,
"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'),\n avg(value) as \"value\",\n 'started' as \"metric\"\nFROM \n grafana_metric\nWHERE\n $__timeFilter(\"createdAt\") AND\n measurement = 'payment.started'\nGROUP BY time, metric\nORDER BY time",
"refId": "A",
"target": ""
},
{
"alias": "",
"format": "time_series",
"rawSql": "SELECT\n $__timeGroup(\"createdAt\",'$summarize'),\n avg(value) as \"value\",\n 'ended' as \"metric\"\nFROM \n grafana_metric\nWHERE\n $__timeFilter(\"createdAt\") AND\n measurement = 'payment.ended'\nGROUP BY time, metric\nORDER BY time",
"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_POSTGRESQL}",
"fill": 2,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
"y": 9
},
"id": 3,
"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'),\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 time, metric\nORDER BY time",
"refId": "A",
"target": ""
}
],
"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": "percent",
"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_POSTGRESQL}",
"fontSize": "100%",
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 18
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"link": false,
"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",
"target": ""
}
],
"title": "Values",
"transform": "table",
"type": "table"
}
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"fake-data-gen",
"postgres"
],
"templating": {
"list": [
{
"allValue": null,
"current": {},
"datasource": "${DS_POSTGRESQL}",
"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_POSTGRESQL}",
"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": 5,
"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 - PostgreSQL",
"uid": "JYola5qzz",
"version": 1
}

View File

@@ -0,0 +1,16 @@
postgrestest:
image: postgres:latest
environment:
POSTGRES_USER: grafana
POSTGRES_PASSWORD: password
POSTGRES_DATABASE: grafana
ports:
- "5432:5432"
command: postgres -c log_connections=on -c logging_collector=on -c log_destination=stderr -c log_directory=/var/log/postgresql
fake-postgres-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: postgres
FD_PORT: 5432

View File

@@ -1,9 +0,0 @@
postgrestest:
image: postgres:latest
environment:
POSTGRES_USER: grafana
POSTGRES_PASSWORD: password
POSTGRES_DATABASE: grafana
ports:
- "5432:5432"
command: postgres -c log_connections=on -c logging_collector=on -c log_destination=stderr -c log_directory=/var/log/postgresql

View File

@@ -0,0 +1,8 @@
postgrestest:
image: postgres:latest
environment:
POSTGRES_USER: grafanatest
POSTGRES_PASSWORD: grafanatest
ports:
- "5432:5432"
tmpfs: /var/lib/postgresql/data:rw

View File

@@ -1,7 +0,0 @@
postgrestest:
image: postgres:latest
environment:
POSTGRES_USER: grafanatest
POSTGRES_PASSWORD: grafanatest
ports:
- "5432:5432"

View File

@@ -1,3 +1,3 @@
FROM prom/prometheus
FROM prom/prometheus:v1.8.2
ADD prometheus.yml /etc/prometheus/
ADD alert.rules /etc/prometheus/

View File

@@ -0,0 +1,25 @@
prometheus:
build: blocks/prometheus
network_mode: host
ports:
- "9090:9090"
node_exporter:
image: prom/node-exporter
network_mode: host
ports:
- "9100:9100"
fake-prometheus-data:
image: grafana/fake-data-gen
network_mode: host
ports:
- "9091:9091"
environment:
FD_DATASOURCE: prom
alertmanager:
image: quay.io/prometheus/alertmanager
network_mode: host
ports:
- "9093:9093"

View File

@@ -1,25 +0,0 @@
prometheus:
build: blocks/prometheus
net: host
ports:
- "9090:9090"
node_exporter:
image: prom/node-exporter
net: host
ports:
- "9100:9100"
fake-prometheus-data:
image: grafana/fake-data-gen
net: host
ports:
- "9091:9091"
environment:
FD_DATASOURCE: prom
alertmanager:
image: quay.io/prometheus/alertmanager
net: host
ports:
- "9093:9093"

View File

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

View File

@@ -0,0 +1,10 @@
# Alert Rules
ALERT AppCrash
IF process_open_fds > 0
FOR 15s
LABELS { severity="critical" }
ANNOTATIONS {
summary = "Number of open fds > 0",
description = "Just testing"
}

View File

@@ -0,0 +1,35 @@
# my global config
global:
scrape_interval: 10s # By default, scrape targets every 15 seconds.
evaluation_interval: 10s # By default, scrape targets every 15 seconds.
# scrape_timeout is set to the global default (10s).
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
#rule_files:
# - "alert.rules"
# - "first.rules"
# - "second.rules"
# alerting:
# alertmanagers:
# - scheme: http
# static_configs:
# - targets:
# - "127.0.0.1:9093"
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- 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']

View File

@@ -1,5 +1,5 @@
FROM centos:centos7
MAINTAINER Przemyslaw Ozgo <linux@ozgo.info>
LABEL maintainer="Przemyslaw Ozgo <linux@ozgo.info>"
RUN \
yum update -y && \

View File

@@ -0,0 +1,4 @@
snmpd:
image: namshi/smtp
ports:
- "25:25"

View File

@@ -1,4 +0,0 @@
snmpd:
image: namshi/smtp
ports:
- "25:25"

View File

@@ -0,0 +1,2 @@
version: "2"
services:

View File

@@ -7,8 +7,9 @@ template_dir=templates
grafana_config_file=conf.tmp
grafana_config=config
fig_file=docker-compose.yml
fig_config=fig
compose_header_file=compose_header.yml
fig_file=docker-compose.yaml
fig_config=docker-compose.yaml
if [ "$#" == 0 ]; then
blocks=`ls $blocks_dir`
@@ -23,13 +24,16 @@ if [ "$#" == 0 ]; then
exit 0
fi
for file in $gogs_config_file $fig_file; do
for file in $grafana_config_file $fig_file; do
if [ -e $file ]; then
echo "Deleting $file"
rm $file
fi
done
echo "Adding Compose header to $fig_file"
cat $compose_header_file >> $fig_file
for dir in $@; do
current_dir=$blocks_dir/$dir
if [ ! -d "$current_dir" ]; then
@@ -45,7 +49,7 @@ for dir in $@; do
if [ -e $current_dir/$fig_config ]; then
echo "Adding $current_dir/$fig_config to $fig_file"
cat $current_dir/fig >> $fig_file
cat $current_dir/$fig_config >> $fig_file
echo "" >> $fig_file
fi
done

View File

@@ -9,5 +9,6 @@ FROM grafana/docs-base:latest
COPY config.toml /site
COPY awsconfig /site
COPY versions.json /site/static/js
VOLUME ["/site/content"]

View File

@@ -10,17 +10,17 @@ weight = 8
# Grafana CLI
Grafana cli is a small executable that is bundled with grafana server and is suppose to be executed on the same machine as grafana runs.
Grafana cli is a small executable that is bundled with Grafana-server and is supposed to be executed on the same machine Grafana-server is running on.
## Plugins
The CLI helps you install, upgrade and manage your plugins on the same machine it CLI is running.
You can find more information about how to install and manage your plugins at the
[plugin page]({{< relref "plugins/installation.md" >}}).
The CLI allows you to install, upgrade and manage your plugins on the machine it is running on.
You can find more information about how to install and manage your plugins in the
[plugins page]({{< relref "plugins/installation.md" >}}).
## Admin
> This feature is only available in grafana 4.1 and above.
> This feature is only available in Grafana 4.1 and above.
To show all admin commands:
`grafana-cli admin`
@@ -39,7 +39,7 @@ then there are two flags that can be used to set homepath and the config file pa
`grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" newpass`
If you have not lost the admin password then it is better to set in the Grafana UI. If you need to set the password in a script then the [Grafana API](http://docs.grafana.org/http_api/user/#change-password) can be used. Here is an example with curl using basic auth:
If you have not lost the admin password then it is better to set in the Grafana UI. If you need to set the password in a script then the [Grafana API](http://docs.grafana.org/http_api/user/#change-password) can be used. Here is an example using curl with basic auth:
```bash
curl -X PUT -H "Content-Type: application/json" -d '{

View File

@@ -10,6 +10,6 @@ weight = 8
# Internal metrics
Grafana collects some metrics about it self internally. Currently Grafana supports pushing metrics to graphite and exposing them to be scraped by Prometheus.
Grafana collects some metrics about itself internally. Currently, Grafana supports pushing metrics to Graphite or exposing them to be scraped by Prometheus.
To enabled internal metrics you have to enable it under the [metrics] section in your [grafana.ini](http://docs.grafana.org/installation/configuration/#enabled-6) config file.If you want to push metrics to graphite you have also have to configure the [metrics.graphite](http://docs.grafana.org/installation/configuration/#metrics-graphite) section.
To emit internal metrics you have to enable the option under the [metrics] section in your [grafana.ini](http://docs.grafana.org/installation/configuration/#enabled-6) config file. If you want to push metrics to Graphite, you must also configure the [metrics.graphite](http://docs.grafana.org/installation/configuration/#metrics-graphite) section.

View File

@@ -0,0 +1,85 @@
+++
title = "Permissions"
description = "Grafana user permissions"
keywords = ["grafana", "configuration", "documentation", "admin", "users", "permissions"]
type = "docs"
aliases = ["/reference/admin"]
[menu.docs]
name = "Permissions"
parent = "admin"
weight = 3
+++
# Permissions
Grafana users have permissions that are determined by their:
- **Organization Role** (Admin, Editor, Viewer)
- Via **Team** memberships where the **Team** has been assigned specific permissions.
- Via permissions assigned directly to user (on folders or dashboards)
- The Grafana Admin (i.e. Super Admin) user flag.
## Organization Roles
Users can be belong to one or more organizations. A user's organization membership is tied to a role that defines what the user is allowed to do
in that organization.
### Admin Role
Can do everything scoped to the organization. For example:
- Add & Edit data sources.
- Add & Edit organization users & teams.
- Configure App plugins & set org settings.
### Editor Role
- Can create and modify dashboards & alert rules. This can be disabled on specific folders and dashboards.
- **Cannot** create or edit data sources nor invite new users.
### Viewer Role
- View any dashboard. This can be disabled on specific folders and dashboards.
- **Cannot** create or edit dashboards nor data sources.
This role can be tweaked via Grafana server setting [viewers_can_edit]({{< relref "installation/configuration.md#viewers-can-edit" >}}). If you set this to true users
with **Viewer** can also make transient dashboard edits, meaning they can modify panels & queries but not save the changes (nor create new dashboards).
Useful for public Grafana installations where you want anonymous users to be able to edit panels & queries but not save or create new dashboards.
## Grafana Admin
This admin flag makes a user a `Super Admin`. This means they can access the `Server Admin` views where all users and organizations can be administrated.
### Dashboard & Folder Permissions
> Introduced in Grafana v5.0
{{< docs-imagebox img="/img/docs/v50/folder_permissions.png" max-width="500px" class="docs-image--right" >}}
For dashboards and dashboard folders there is a **Permissions** page that make it possible to
remove the default role based permssions for Editors and Viewers. It's here you can add and assign permissions to specific **Users** and **Teams**.
You can assign & remove permissions for **Organization Roles**, **Users** and **Teams**.
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 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.
### Data source permissions
Permissions on dashboards and folders **do not** include permissions on data sources. A user with `Viewer` role
can still issue any possible query to a data source, not just those queries that exist on dashboards he/she has access to.
We hope to add permissions on data sources in a future release. Until then **do not** view dashboard permissions as a secure
way to restrict user data access. Dashboard permissions only limits what dashboards & folders a user can view & edit not which
data sources a user can access nor what queries a user can issue.

View File

@@ -0,0 +1,199 @@
+++
title = "Provisioning"
description = ""
keywords = ["grafana", "provisioning"]
type = "docs"
aliases = ["/installation/provisioning"]
[menu.docs]
parent = "admin"
weight = 8
+++
# Provisioning Grafana
## Config file
Checkout the [configuration](/installation/configuration) page for more information on what you can configure in `grafana.ini`
### Config file locations
- Default configuration from `$WORKING_DIR/conf/defaults.ini`
- Custom configuration from `$WORKING_DIR/conf/custom.ini`
- The custom configuration file path can be overridden using the `--config` parameter
> **Note.** If you have installed Grafana using the `deb` or `rpm`
> packages, then your configuration file is located at
> `/etc/grafana/grafana.ini`. This path is specified in the Grafana
> init.d script using `--config` file parameter.
### Using environment variables
All options in the configuration file (listed below) can be overridden
using environment variables using the syntax:
```bash
GF_<SectionName>_<KeyName>
```
Where the section name is the text within the brackets. Everything
should be upper case and `.` should be replaced by `_`. For example, given these configuration settings:
```bash
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = 0ldS3cretKey
```
Overriding will be done like so:
```bash
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=true
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
```
<hr />
## 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.
Tool | Project
-----|------------
Puppet | [https://forge.puppet.com/puppet/grafana](https://forge.puppet.com/puppet/grafana)
Ansible | [https://github.com/cloudalchemy/ansible-grafana](https://github.com/cloudalchemy/ansible-grafana)
Chef | [https://github.com/JonathanTron/chef-grafana](https://github.com/JonathanTron/chef-grafana)
Saltstack | [https://github.com/salt-formulas/salt-formula-grafana](https://github.com/salt-formulas/salt-formula-grafana)
## Datasources
> This feature is available from v5.0
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.
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
```yaml
# config file version
apiVersion: 1
# list of datasources that should be deleted from the database
deleteDatasources:
- name: Graphite
orgId: 1
# list of datasources to insert/update depending
# whats available in the database
datasources:
# <string, required> name of the datasource. Required
- name: Graphite
# <string, required> datasource type. Required
type: graphite
# <string, required> access mode. direct or proxy. Required
access: proxy
# <int> org id. will default to orgId 1 if not specified
orgId: 1
# <string> url
url: http://localhost:8080
# <string> database password, if used
password:
# <string> database user, if used
user:
# <string> database name, if used
database:
# <bool> enable/disable basic auth
basicAuth:
# <string> basic auth username
basicAuthUser:
# <string> basic auth password
basicAuthPassword:
# <bool> enable/disable with credentials headers
withCredentials:
# <bool> mark as default datasource. Max one per org
isDefault:
# <map> fields that will be converted to json and stored in json_data
jsonData:
graphiteVersion: "1.1"
tlsAuth: true
tlsAuthWithCACert: true
# <string> json object of data that will be encrypted.
secureJsonData:
tlsCACert: "..."
tlsClientCert: "..."
tlsClientKey: "..."
version: 1
# <bool> allow users to edit datasources from the UI.
editable: false
```
#### 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 |
| ----| ---- | ---- | --- |
| tlsAuth | boolean | *All* | Enable TLS authentication using client cert configured in secure json data |
| tlsAuthWithCACert | boolean | *All* | Enable TLS authtication 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 |
| 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 |
| assumeRoleArn | string | Cloudwatch | ARN of Assume Role |
| defaultRegion | string | Cloudwatch | AWS region |
| customMetricsNamespaces | string | Cloudwatch | Namespaces of Custom Metrics |
| tsdbVersion | string | OpenTsdb | Version |
| tsdbResolution | string | OpenTsdb | Resolution |
| sslmode | string | Postgre | SSLmode. 'disable', 'require', 'verify-ca' or 'verify-full' |
#### Secure Json data
`{"authType":"keys","defaultRegion":"us-west-2","timeField":"@timestamp"}`
Secure json data is a map of settings that will be encrypted with [secret key](/installation/configuration/#secret-key) from the Grafana config. The purpose of this is only to hide content from the users of the application. This should be used for storing TLS Cert and password that Grafana will append to the request on the server side. All of these settings are optional.
| Name | Type | Datasource | Description |
| ----| ---- | ---- | --- |
| tlsCACert | string | *All* |CA cert for out going requests |
| tlsClientCert | string | *All* |TLS Client cert for outgoing requests |
| tlsClientKey | string | *All* |TLS Client key for outgoing requests |
| password | string | Postgre | password |
| user | string | Postgre | user |
### Dashboards
It's possible to manage dashboards in Grafana by adding one or more yaml config files in the [`provisioning/dashboards`](/installation/configuration/#provisioning) directory. Each config file can contain a list of `dashboards providers` that will load dashboards into Grafana from the local filesystem.
The dashboard provider config file looks somewhat like this:
```yaml
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: false
options:
path: /var/lib/grafana/dashboards
```
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.
> **Note.** Provisioning allows you to overwrite existing dashboards
> which leads to problems if you re-use settings that are supposed to be unique.
> Be careful not to re-use the same `title` multiple times within a folder
> or `uid` within the same installation as this will cause weird behaviours.

View File

@@ -13,7 +13,7 @@ weight = 2
> Alerting is only available in Grafana v4.0 and above.
The alert engine publishes some internal metrics about itself. You can read more about how Grafana published [internal metrics](/installation/configuration/#metrics).
The alert engine publishes some internal metrics about itself. You can read more about how Grafana publishes [internal metrics](/installation/configuration/#metrics).
Description | Type | Metric name
---------- | ----------- | ----------

View File

@@ -14,9 +14,9 @@ weight = 2
> Alerting is only available in Grafana v4.0 and above.
When an alert changes state it sends out notifications. Each alert rule can have
multiple notifications. But in order to add a notification to an alert rule you first need
to add and configure a `notification` channel (can be email, Pagerduty or other integration). This is done from the Notification Channels page.
When an alert changes state, it sends out notifications. Each alert rule can have
multiple notifications. In order to add a notification to an alert rule you first need
to add and configure a `notification` channel (can be email, PagerDuty or other integration). This is done from the Notification Channels page.
## Notification Channel Setup
@@ -25,12 +25,12 @@ to add and configure a `notification` channel (can be email, Pagerduty or other
On the Notification Channels page hit the `New Channel` button to go the page where you
can configure and setup a new Notification Channel.
You specify name and type, and type specific options. You can also test the notification to make
sure it's working and setup correctly.
You specify a name and a type, and type specific options. You can also test the notification to make
sure it's setup correctly.
### Send on all alerts
When checked this option will make this notification used for all alert rules, existing and new.
When checked, this option will nofity for all alert rules - existing and new.
## Supported Notification Types
@@ -38,39 +38,39 @@ Grafana ships with the following set of notification types:
### Email
To enable email notification you have to setup [SMTP settings](/installation/configuration/#smtp)
in the Grafana config. Email notification will upload an image of the alert graph to an
external image destination if available or fallback to attaching the image in the email.
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.
### Slack
{{< imgbox max-width="40%" img="/img/docs/v4/slack_notification.png" caption="Alerting Slack Notification" >}}
To set up slack you need to configure an incoming webhook url at slack. You can follow their guide for how
to do that https://api.slack.com/incoming-webhooks If you want to include screenshots of the firing alerts
in the slack messages you have to configure either the [external image destination](#external-image-store) in Grafana,
To set up slack you need to configure an incoming webhook url at slack. You can follow their guide on how
to do that [here](https://api.slack.com/incoming-webhooks). If you want to include screenshots of the firing alerts
in the Slack messages you have to configure either the [external image destination](#external-image-store) in Grafana,
or a bot integration via Slack Apps. Follow Slack's guide to set up a bot integration and use the token provided
https://api.slack.com/bot-users, which starts with "xoxb".
(https://api.slack.com/bot-users), which starts with "xoxb".
Setting | Description
---------- | -----------
Recipient | allows you to override the slack recipient.
Mention | make it possible to include a mention in the slack notification sent by Grafana. Ex @here or @channel
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.
### PagerDuty
To set up PagerDuty, all you have to do is to provide an api key.
To set up PagerDuty, all you have to do is to provide an API key.
Setting | Description
---------- | -----------
Integration Key | Integration key for pagerduty.
Auto resolve incidents | Resolve incidents in pagerduty once the alert goes back to ok
Integration Key | Integration key for PagerDuty.
Auto resolve incidents | Resolve incidents in PagerDuty once the alert goes back to ok
### Webhook
The webhook notification is a simple way to send information about an state change over HTTP to a custom endpoint.
Using this notification you could integrate Grafana into any system you choose, by yourself.
The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint.
Using this notification you could integrate Grafana into a system of your choosing.
Example json body:
@@ -117,45 +117,48 @@ Dingtalk supports the following "message type": `text`, `link` and `markdown`. O
### Kafka
Notifications can be sent to a Kafka topic from Grafana using [Kafka REST Proxy](https://docs.confluent.io/1.0/kafka-rest/docs/index.html).
There are couple of configurations options which need to be set in Grafana UI under Kafka Settings:
Notifications can be sent to a Kafka topic from Grafana using the [Kafka REST Proxy](https://docs.confluent.io/1.0/kafka-rest/docs/index.html).
There are a couple of configuration options which need to be set up in Grafana UI under Kafka Settings:
1. Kafka REST Proxy endpoint.
2. Kafka Topic.
Once these two properties are set, you can send the alerts to Kafka for further processing or throttling them.
Once these two properties are set, you can send the alerts to Kafka for further processing or throttling.
### Other Supported Notification Channels
### All supported notifier
Grafana also supports the following Notification Channels:
Name | Type |Support images
-----|------------ | ------
Slack | `slack` | yes
Pagerduty | `pagerduty` | yes
Email | `email` | yes
Webhook | `webhook` | link
Kafka | `kafka` | no
Hipchat | `hipchat` | yes
VictorOps | `victorops` | yes
Sensu | `sensu` | yes
OpsGenie | `opsgenie` | yes
Threema | `threema` | yes
Pushover | `pushover` | no
Telegram | `telegram` | no
Line | `line` | no
Prometheus Alertmanager | `prometheus-alertmanager` | no
- HipChat
- VictorOps
- Sensu
- OpsGenie
- Threema
- Pushover
- Telegram
- LINE
# 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 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 and Webdav for this. So to set that up you need to configure the [external image uploader](/installation/configuration/#external-image-storage) in your grafana-server ini config file.
Grafana can render the panel associated with the alert rule and include that in the notification. Most Notification Channels require that this image be publicly accessable (Slack and PagerDuty for example). In order to include images in alert notifications, Grafana can upload the image to an image store. It currently supports
Amazon S3, 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.
Currently only the Email Channels attaches images if no external image store is specified. To include images in alert notifications for other channels then you need to set up an external image store.
This is an optional requirement, you can get Slack and email notifications without setting this up.
This is an optional requirement. You can get Slack and email notifications without setting this up.
# Configure the link back to Grafana from alert notifications
All alert notifications contains a link back to the triggered alert in the Grafana instance.
All alert notifications contain a link back to the triggered alert in the Grafana instance.
This url is based on the [domain](/installation/configuration/#domain) setting in Grafana.

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