Compare commits

..

1554 Commits

Author SHA1 Message Date
Marcus Efraimsson
9e40b07fd7 backport parts of #17065 2019-05-27 14:30:34 +02:00
Torkel Ödegaard
99472f9465 Gauge/BarGauge: font size improvements (#17292)
(cherry picked from commit 5358c5fe6b)
2019-05-27 14:30:34 +02:00
Torkel Ödegaard
5169765db3 Chore: Update jquery to 3.4.1 in grafana ui (#17295)
(cherry picked from commit 3dda812f12)
2019-05-27 14:30:34 +02:00
Andrej Ocenas
7b0efb787b CLI: Add command to migrate all datasources to use encrypted password fields (#17118)
closes: #17107
(cherry picked from commit 151b24b95f)
2019-05-27 14:30:34 +02:00
Marcus Efraimsson
efd14ac7db database: retry transaction if sqlite returns busy error (#17297)
Adds an additional sqlite error code 5 (SQLITE_BUSY) to the
transaction retry handler to add retries when sqlite
returns database is locked error.
More info: https://www.sqlite.org/rescode.html#busy
Backports #17276 for v6.2.x
2019-05-27 14:30:34 +02:00
Marcus Efraimsson
b0647a4537 auth proxy: log any error in middleware (#17296)
Backports #17275 for v6.2.x
2019-05-27 14:30:34 +02:00
Marcus Efraimsson
1f0e94b633 Auth Proxy: Resolve database is locked errors (#17274)
The change was originally made in #16950, but that change
was too big to cherry pick. This change adds a major database
performance improvement since the number of selects to fetch
a cached item is drastically decreased and by that removes
sqlite database is locked errors.

Fixes #17247
2019-05-27 14:30:34 +02:00
Marcus Efraimsson
eda28131ef release v6.2.1 2019-05-27 14:30:34 +02:00
Tim Butler
d385a668a9 Tech: Update jQuery to 3.4.1 (#17290)
Fixes #17289

Special notes for your reviewer:
Updates jQuery to 3.4.1 (from 3.4.0) to fix the jQuery bug: https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/
(cherry picked from commit df6a4914c4)
2019-05-27 14:30:34 +02:00
Torkel Ödegaard
ef359424a5 Singlestat: fixes issue with value placement and line wraps (#17249)
Fixes #17237
(cherry picked from commit 6acc7d37da)
2019-05-27 14:30:34 +02:00
Brian Gann
dce4514f7f Build: Fix filter for building msi during release (#17236)
(cherry picked from commit 972df40af8)
2019-05-27 14:30:34 +02:00
Hugo Häggmark
ad7bd8850f Explore: Fixes filtering in Prometheus queries when clicking in Table (#17083)
Fixes: #17071
(cherry picked from commit fdd421e24c)
2019-05-27 14:30:34 +02:00
Torkel Ödegaard
5d16da732f Search: removed old not working search shortcuts (#17226)
(cherry picked from commit e421723992)
2019-05-22 12:28:56 +02:00
Daniel Lee
ee6703fedd azuremonitor: revert to clearing chained dropdowns (#17212)
* azuremonitor: revert to clearing chained dropdowns

After feedback from users, changing back to clearing
dropdowns to the right in the chain. E.g. if the user
changes the subscription dropdown which is first in
the chain then all the dependent dropdowns to the right
should be cleared (reset to default values).

Also, now triggers getting subscriptions every time the
dropdown menu is shown rather than just the first time.
It is apparently common to add subscriptions while
building queries.

(cherry picked from commit 577beebcca)
2019-05-22 12:24:43 +02:00
Torkel Ödegaard
ec8be5bf61 Search: changed how search filter on current folder works (#17219)
(cherry picked from commit a96b522a42)
2019-05-22 12:24:43 +02:00
Torkel Ödegaard
f3c2d03637 codespell: update codespell ignore list 2019-05-21 17:28:57 +02:00
Torkel Ödegaard
eb2b31007d Release: Updated version 2019-05-21 16:58:15 +02:00
Ryan McKinley
98f9dbde95 DataSourceMeta: add an option to get hidden queries (#17124)
* add an option to get hidden queries

* make sure you have meta

* supportsHiddenQueries

* remove spaces

* DataSources: hidden queries flag

(cherry picked from commit 1033f0f905)
2019-05-21 16:46:52 +02:00
Dominik Prokop
7e090ea2a6 Panel: Apply option defaults on panel init and on save model retrieval (#17174)
* Apply panel options defaults on panel init and on save model retrieval

* Remove unnecessary argument, added tests

* Make FieldPropertiesEditor statefull to enable onBlur changes

* Remove unnecessary import

* Post-review updates

Fixes #17154

(cherry picked from commit 73e4178aef)
2019-05-21 16:38:36 +02:00
Torkel Ödegaard
6a02faeeab BarGauge: Fix for negative min values (#17192)
(cherry picked from commit 874039992f)
2019-05-21 15:54:46 +02:00
Daniel Lee
a6a939cfd3 Azuremonitor: multiple subscription support for alerting (#17195)
* fix: azuremonitor adds multi-sub support to alerting

* fix: AzureMonitor missing parameter in metadata func

getMetricMetadata function when called in the query ctrl
was missing a parameter for Subscription Id.

Also, made some tweaks to what happens when a chained
dropdown is changed to not reset all the fields that
are dependent on it.

(cherry picked from commit fa9ffe38d2)
2019-05-21 15:54:46 +02:00
Brian Gann
5a10298bd3 MSI: Generate sha256sum during MSI build process in circleci (#17120)
* build: generate sha256 during msi build

(cherry picked from commit f98095d629)
2019-05-21 15:54:46 +02:00
Torkel Ödegaard
f52f7c101c Release: Improved cherry pick task (#17087)
* Release: Improved cherry pick task

* Minor tweak to formatting

(cherry picked from commit 058f5a1682)
2019-05-21 15:54:10 +02:00
Torkel Ödegaard
7824f66cd3 Explore: fixed cherrypick / merge issue 2019-05-15 13:10:59 +02:00
Torkel Ödegaard
71c1e8a731 Release: Bumped version to v6.2.0-beta2 2019-05-15 12:21:21 +02:00
Carl Bergquist
74bc94bcec Remotecache: Avoid race condition in Set causing error on insert. (#17082)
* remotecache: avoid race condition in set

since set called the database twice without transactions another
operation could insert a value before the first operation completed.
which would raise an error on insert since the data have been inserted
by the other request.

closes #17079

(cherry picked from commit aed3d0d3ad)
2019-05-15 12:14:16 +02:00
Brian Gann
f566da0ff6 Build: Support publishing MSI to grafana.com (#17073)
* add test for msi, and support for publishing msi
* update arch and os in test
* Build: Fixed issues with os naming

(cherry picked from commit d0ea98f6bd)
2019-05-15 12:14:16 +02:00
Torkel Ödegaard
216aff96fd Panels: Fixed alert icon position in panel header (#17070)
(cherry picked from commit 238a929262)
2019-05-15 12:14:15 +02:00
Torkel Ödegaard
9de11c25a6 Gauge: Fix switching orientation issue when switching from BarGauge to Gauge (#17064)
(cherry picked from commit 68ad93f410)
2019-05-15 12:14:15 +02:00
Torkel Ödegaard
599e1030d8 Dashboard: Fixes lazy loading & expanding collapsed rows on mobile (#17055)
* Dashboard: Fixes lazy loading & expanding collapsing rows on mobile

Fixes #16978

* Updated dashboard tags

(cherry picked from commit 74a31bd9b4)
2019-05-15 12:14:15 +02:00
Daniel Lee
d62da61d8a fix: Azure Monitor adds missing closing div tag to query editor (#17057)
(cherry picked from commit 4bc1a66fe4)
2019-05-15 12:14:15 +02:00
Johannes Schill
a2ca973925 Search: Set element height to 100% to avoid Chrome 74's overflow (#17054)
Fixes #16981

(cherry picked from commit ceb21bd653)
2019-05-15 12:14:15 +02:00
Johannes Schill
98da29fd7b Dashboard: Fixes scrolling issues for Edge browser (#17033)
* Fix: Only set scrollTop on CustomScroll element when it's needed and move arrow functions out of the props

* Fix: Update snapshots

* Minor refactoring to reuse same functions when rendering custom scrollbar

Fixes #16796

(cherry picked from commit 1001cd7ac3)
2019-05-15 12:14:15 +02:00
Torkel Ödegaard
888ff61d30 Dashboard: show refresh button in kiosk mode (#17032)
Fixes #16945

(cherry picked from commit 3ce2f3b58d)
2019-05-15 12:14:15 +02:00
Torkel Ödegaard
c1be3adf3b Gauge: tweaks to background color and height usage (#17019)
(cherry picked from commit 597c380ead)
2019-05-15 12:14:15 +02:00
Marcus Efraimsson
ede9d9964d Explore: Fix empty result from datasource should render logs container (#16999)
Make sure to return an empty logs model instead of undefined so that 
the logs container renders an empty graph and log result in Explore.

Fixes #16997

(cherry picked from commit 8eb78ea931)
2019-05-15 12:14:15 +02:00
Hugo Häggmark
5cd69e8d39 Explore: Fixes zoom exception in Loki/Graph (#16991)
Fixes: #16986
(cherry picked from commit d5a35f3631)
2019-05-15 12:14:14 +02:00
Torkel Ödegaard
ceb3672482 Panels: Fixed error panel tooltip (#16993)
Fixes #16989

(cherry picked from commit 5573d28582)
2019-05-15 12:13:29 +02:00
Will Medlar
e519a9d2c4 Docker: Prevent a permission denied error when writing files to the default provisioning directory (#16831)
* build: Grant ownership of provisioning directory to runtime user

(cherry picked from commit 5e44f001fb)
2019-05-15 12:07:59 +02:00
Ryan McKinley
2a3d6604c0 GettingStarted: convert to react panel plugin (#16985)
* getting started

* getting started

(cherry picked from commit f617cd8975)
2019-05-15 11:53:46 +02:00
Marcus Efraimsson
9cf0ea5395 plugins: fix how datemath utils are exposed to plugins (#16976)
Fixes a regression accidentally introduced by #16890 so that datemath 
utils are exposed to plugins in a backward-compatible way.

Fixes #16962

(cherry picked from commit 0c1530c7a8)
2019-05-15 11:53:35 +02:00
Torkel Ödegaard
db37e138bf GettingStarted: Fixes layout issues, fixes #16926 (#16941)
(cherry picked from commit a9e01d8b04)
2019-05-15 11:53:27 +02:00
Torkel Ödegaard
a5a6d43f47 PanelModel: Fix crash after window resize, fixes #16933 (#16942)
(cherry picked from commit f58ab7945b)
2019-05-15 11:52:31 +02:00
Torkel Ödegaard
d9950aa4f1 Singlestat: fixed centering issue for very small panels (#16944)
(cherry picked from commit e97853abc9)
2019-05-15 11:52:23 +02:00
Stephen SORRIAUX
6e9a395063 InfluxDB: Fix HTTP method should default to GET (#16949)
Fixes #16929

(cherry picked from commit e7a9afe983)
2019-05-15 11:52:14 +02:00
Ryan McKinley
7374aafb90 AppPlugin: Menu Edit Url Fix (#16934)
(cherry picked from commit 17ce1273ca)
2019-05-15 11:52:02 +02:00
Ryan McKinley
b54e9880b4 Plugins: update beta notice style (#16928)
(cherry picked from commit b08cf1e7ac)
2019-05-15 11:51:50 +02:00
Brian Gann
09672a287f Plugins: Support templated urls in routes (#16599)
This adds support for using templated/dynamic urls in routes.
* refactor interpolateString into utils and add interpolation support for app plugin routes.
* cleanup and add error check for url parse failure
* add docs for interpolated route urls

Closes #16835

(cherry picked from commit b07d0b1026)
2019-05-15 11:50:34 +02:00
Andrej Ocenas
9d877d670e release 6.2.0-beta1 2019-05-07 16:08:46 +02:00
Andrej Ocenas
1b61344096 Update changelog for 6.2.0-beta1 2019-05-07 16:05:12 +02:00
Daniel Lee
befa40ef3a AzureMonitor: adds support for multiple subscriptions per datasource (#16922)
* chore: AzureMonitor typescript typings

Removes some types and using @grafana/ui types instead.
Adds some typing for the AzureMonitor query.

Also adds a getSubscriptions function that will used in the query
editor.

* fix: AzureMonitor adds back editor for annotation queries

This must have been broken for a month or more. Now possible to
edit annotation queries again.

* feat: Azure Monitor - support for multiple subscriptions

Adds a new dropdown for subscriptions in the query editor.

Defaults to the subscription id in jsonData for queries
that have no subscription id.

* feat: adds Azure Logs multi subscriptions support

The subscription id is needed for fetching the list of
workspaces. Adds support to the Log Analytics datasource
and to the annotations for Log Analytics to be able to
choose between multiple subscriptions.

* feat: AzureMonitor config page with multiple subs

Adds support for multiple subscriptions for the different
variations of configuring Azure Monitor and Azure Logs.

To be able to show a list of subscriptions, the config
has to be saved first - the plugin route fetches the
tenant id, client id and client secret from the database
so a call to get subscriptions requires that those
fields are saved first. If the page has not saved then
the use can manually paste in a subscription id.

* feat: support for multi subs in Azure Monitor variables

Adds an optional subscription parameter to the template
variable macros. Also adds a Subscriptions macro.

* fix: remove some implicit anys from tests
2019-05-07 15:45:15 +02:00
Marcus Efraimsson
70abb19537 docs: what's new in v6.2 (#16909)
Draft of What's new in v6.2 for the beta.

Closes #16902
2019-05-07 13:47:05 +02:00
Dominik Prokop
f397c14db8 Chore: ban importing from @grafana/ui in grafana ui files (#16920) 2019-05-07 12:57:59 +02:00
Torkel Ödegaard
6d6242c153 BarGauge: New multi series enabled gauge like panel with horizontal and vertical layouts and 3 display modes (#16918)
* BarGauge: switched to beta and updated beta notice design

* Updated snapshot
2019-05-07 12:18:08 +02:00
Carl Bergquist
f001815d9d alerting: no notification when going from nodata -> pending (#16905)
ref #16496
2019-05-07 10:34:00 +02:00
Carl Bergquist
b8674f4ec1 rpm: start grafana after mysqld process (#16917)
closes #16850
2019-05-07 09:47:03 +02:00
Dominik Prokop
da4932e7c2 Build: fix failing grafana/ui build (#16913)
* Bump version of @types/react and regenerate yarn.lock
* Fix imports in grafana/ui
2019-05-07 09:07:54 +02:00
Torkel Ödegaard
108eb5f07c BarGauge: Updated test dashboards and threshold fix (#16911) 2019-05-07 06:07:33 +02:00
Torkel Ödegaard
f8393fb339 PanelModel: Clear queryRunner on destroy (#16906)
* PanelModel: Clear queryRunner on destroy

* fix test asumptions
2019-05-06 19:35:10 +02:00
Torkel Ödegaard
48ae93048b Panels: No title will no longer make panel header take up space (#16884)
* Panels: Initial poc of no panel titles

* moving panel-container to DashboardPanel

* Starting to work

* Gauge fix

* Panels: tweaked panel padding and title z-index stuff

* Panels: changed panel padding a bit and simplified it by having same padding in vertical and horizontal

* Lots of tweaks to panel padding related stuff

* Updated snapshot

* Added test dashboard

* Final refactorings

* Trim title befgor applying panel-container--no-title class

* Remove unnecessary type annotation

* Panels: hasTitle no need to trim

* Gauge: fixed font family
2019-05-06 15:26:09 +02:00
Marcus Efraimsson
32a45077e7 Elasticsearch: Fix pre-v7.0 and alerting error (#16904)
This fixes a regression introduced in #16646 where using Elasticsearch 
pre-v7.0 and alerting resulted in an error when trying to deserialize the 
response of total number of hits.
Total number of hits is not in use by the backend so we're removing it 
for now to make ES 6 and 7 being able to deserialize search responses 
without errors.

Closes #15622
2019-05-06 15:12:18 +02:00
Torkel Ödegaard
575fe7ad5a Gauge: Better handling of gauge repeat title (#16886)
* Gauge: began looking at gauge title

* Gauge: title improvements

* Minor progres

* Gauge: title improvements, still needs more tweaking

* Gauge: title is starting to work ok

* Use selectThemeVariant

* Remove unused type
2019-05-06 13:50:17 +02:00
Ryan McKinley
d881976c9d Refactor: move datemath to grafana/ui (#16890)
* move datemath to grafana/ui

* don't reference @grafana/ui from its own component
2019-05-06 12:36:42 +02:00
Ryan McKinley
513c79d392 PanelQueryState: check for existing running query (#16894)
Fixes #16880
2019-05-06 12:09:53 +02:00
Carl Bergquist
ec500ed416 devenv: add alert list panel (#16896) 2019-05-06 10:15:14 +02:00
Marcus Efraimsson
1c1427520d Security: Add new setting allow_embedding (#16853)
When allow_embedding is false (default) the Grafana backend 
will set the http header `X-Frame-Options: deny` in all responses 
to non-static content which will instruct browser to not allow 
Grafana to be embedded in `<frame>`, `<iframe>`, 
`<embed>` or `<object>`.

Closes #14189
2019-05-06 09:56:23 +02:00
Mark Goodwin
44e6da6b41 build: fix integer overflow in pkg/tsdb tests on 32bit platforms (#16818)
Several pkg/tsdb tests fail to compile on 32bit platforms due to
integer overflow.
2019-05-06 09:27:45 +02:00
Marcus Efraimsson
f778c1d971 Security: Responses from backend should not be cached (#16848)
Currently all API requests set Cache-control: no-cache to avoid browsers 
caching sensitive data. This fixes so that all responses returned from 
backend not are cached using http headers. The exception is the data proxy 
where we don't add these http headers in case datasource backend needs 
to control whether data can be cached or not.

Fixes #16845
2019-05-06 09:22:59 +02:00
psschand
d5245a98b1 Alert: Support variables in Alert List filters (#12583) (#16892) 2019-05-06 09:21:08 +02:00
Hugo Häggmark
9a8a6d9dda Chore: Lowered implicit anys limit to 5617
Progress: #14714
2019-05-06 07:08:24 +02:00
Ryan McKinley
073c84179f FieldDisplay: shared options model for singlestat panels (#16703)
* update single stat data model

* update single stat data model

* update single stat data model

* show limit default

* merge master

* change stat selector to single until #15954

* add tooltip

* begin children

* move options under display

* align gauge options

* add migration tests

* Docs: Updated changelog

* SingleStatPanels: show title if manual specified

* FieldPropEditor: Max should change max

* change stats to calcs in config

* remove prefix/suffix

* add test

* abort field cycle when passed the limit

* stub a better test

* move title to Field

* remove title
2019-05-04 10:08:48 +02:00
Ryan McKinley
493bf0c7b3 Refactor: rename statsCalculator to fieldReducer (#16867) 2019-05-03 13:16:33 -07:00
Ryan McKinley
bb64a0673d PanelModel: expose isInView property to PanelModel (#16877) 2019-05-03 12:55:22 -07:00
psschand
2af69ccf0f CSV: escape quotes in toCSV (#16874) 2019-05-03 09:31:13 -07:00
Ryan McKinley
c3a5204933 Dashboard: Lazy load out of view panels (#15554)
* try this again

* use element rather than grid position

* adding back console output to debug gridPos alternative

* less logging

* simplify

* subscribe/unsubscribe to event streams when view changes

* Panels: Minor change to lazy loading
2019-05-03 15:35:37 +02:00
Samuel
846b9327a5 LDAP: Added reload endpoint for LDAP config (#15470)
* 4843 - Added reload endpoint for LDAP config

closes #4843

* Refactor to make the reload work after master drifted
2019-05-03 14:53:07 +02:00
Fernando Kramer
16d5df1cba PluginsList: Removed icons and updated snapshots (#16872)
Fixes #16833
2019-05-03 13:19:01 +02:00
Torkel Ödegaard
40b771c04d Panels: Fixed issue with panel type change and data updates (#16871) 2019-05-03 10:29:22 +02:00
Mark Goodwin
a05ee6cd6e Chore: fix modes for non-executable files (#16864)
Fix file modes for various html, svg and ts files.
These should not be executable (rpmlint complains).
2019-05-03 09:51:53 +02:00
Torkel Ödegaard
20dada0159 DataSourceSettings: Minor fix for uncontrolled input (#16863) 2019-05-03 08:30:09 +02:00
Hugo Häggmark
f3f762065a Chore: Lowered implicit anys limit to 5623
Progress: #14714
2019-05-03 07:11:23 +02:00
Ryan McKinley
86729f37c8 TestData: Add dashboards to testdata (#16855) 2019-05-03 06:57:30 +02:00
Ryan McKinley
0d02ceb452 Input Datasource: convert from angular config to react ConfigEditor (#16856)
* use ConfigEditor

* use ConfigEditor

* update readme

* make the jsondata generic
2019-05-03 06:56:54 +02:00
Ryan McKinley
ece4d2201c DataSources: minor typescript cleanups and comments (#16860)
* datasource interface cleanup

* more types

* use PluginInclude
2019-05-03 06:26:30 +02:00
Ryan McKinley
3e6104f45a TestDataDatasource: Add config editor (#16861) 2019-05-03 06:20:31 +02:00
Ryan McKinley
013f1b8d19 App Plugins: support react pages and tabs (#16586) 2019-05-02 10:15:39 -07:00
Brian Gann
31ea0122a0 Add Windows MSI generation to build process (#16502)
- add MSI generation to build process
2019-05-02 10:47:58 -05:00
Stephen SORRIAUX
3866839b19 Datasources: add support for POST HTTP verb for InfluxDB (#16690)
A new parameter `queryMode` is added to the InfluxDB datasource to provide a way to use POST instead of GET when querying the database. This prevents to get any error when querying the database with a heavy request.
Default configuration is kept to GET for backward compatibility. Tests and documentation have been added for this new behaviour.
2019-05-02 15:30:37 +02:00
Andrej Ocenas
2596ce5076 Add pattern validation in configs (#16837)
Datasources: Add pattern validation for time input on datasource config pages
2019-05-02 11:02:00 +02:00
Dominik Prokop
7194c6d9bf Search: Enable filtering dashboards in search by current folder (#16790)
* Added search-query-parser package

* Migrate search input field to react and enable current folter filtering

* Reveiw changes

* FIx tags

* Fix event handlers  passed to html elements directly

* noImplicitAny fix

* Debounce search method in search controller

* Search: have clear reset query as well
2019-05-02 08:49:03 +02:00
Ryan McKinley
2e326d1cb8 FormLabel: allow any rather than just a string for tooltip (#16841) 2019-05-01 15:47:51 -07:00
Marcus Efraimsson
9d01b216f9 prometheus: fix regression after adding support for tracing headers (#16829)
This fixes a regression introduced by #16724 when datasource is configured
to use HTTP method POST and testing the datasource which results in an
'options.headers is undefined'. Same error probably happens if datasource
is configured to use basic auth and testing datasource.
2019-05-01 17:23:47 +02:00
Brian Gann
157f330cf2 area/circleci: Speed up circleci build process for branches and pr (#16778)
* speed up circleci build
* convert build.sh to functions and add args for different build types
* add yarn cache
* add build latest to packaging step
* fast build should not try to tag non-amd builds
* remove signing step for prs-and-branches
2019-05-01 10:20:01 -05:00
Marcus Efraimsson
e210725d3d DataProxy: Restore Set-Cookie header after proxy request (#16838)
If Grafana rotates the user's auth token during a request to the data 
source proxy it will set the Set-Cookie header with new auth token in 
response before proxying the request to the datasource.
Before this fix the Set-Cookie response header was cleared after the 
proxied request was finished to make sure that proxied datasources 
cannot affect cookies in users browsers. This had the consequence 
of accidentally also clearing the new auth token set in Set-Cookie 
header.
With this fix the original Set-Cookie value in response header is now 
restored after the proxied datasource request is finished. The existing
logic of clearing Set-Cookie response header from proxied request 
have been left intact.

Fixes #16757
2019-05-01 16:32:03 +02:00
Marcus Efraimsson
e5971eef1f docs: clarify page parameter version support for folder/dashboard search (#16836)
Adds a version disclaimer for the page parameter in folder/dashboard search docs.

Fixes #16827
2019-05-01 11:42:03 +02:00
Oleg Gaidarenko
c1289b308f Chore: revise some of the gosec rules (#16713) 2019-05-01 11:36:02 +02:00
Ryan McKinley
51a98565dc Refactor: consistant plugin/meta usage (#16834) 2019-04-30 22:36:46 -07:00
Marcus Efraimsson
fe20dde5db Explore: Use SeriesData format for loki/logs (#16793)
This is the first step moving towards Explore supporting logs for 
more datasources than Loki. In the first step we move all the log 
processing from Loki into Explore.
- Make explore convert logs result returned from datasources to SeriesData, 
if needed, and for now convert SeriesData to LogsModel.
- Loki datasource query now returns SeriesData and all
processing have been moved into explore instead.
- Removed key from LogRowModel and use log row indexes as 
the unique key instead.
- Removed id from LogsModel since it looks like it's not in use.
- Introduced a new class FieldCache which is convenient to use when
looking up multiple fields and/or field types and series values.

Closes #16287
2019-04-30 18:21:22 +02:00
Ryan McKinley
26bd76b4c2 Refactor: move NavModel to @grafana/ui (#16813) 2019-04-30 07:46:46 -07:00
Carl Bergquist
9660356638 Auth: Enable retries and transaction for some db calls for auth tokens (#16785)
the WithSession wrapper handles retries and connection
management so the caller dont have to worry about it.
2019-04-30 14:42:01 +02:00
Andrej Ocenas
eb82a75668 Provisioning: Show file path of provisioning file in save/delete dialogs (#16706)
* Add file path to metadata and show it in dialogs

* Make path relative to config directory

* Fix tests

* Add test for the relative path

* Refactor to use path relative to provisioner path

* Change return types

* Rename attribute

* Small fixes from review
2019-04-30 13:32:18 +02:00
Stanislav Putrya
76ab0aa059 Add tracing headers for prometheus datasource (#16724)
Prometheus: Adds tracing headers for Prometheus datasource
2019-04-30 13:28:35 +02:00
Andrej Ocenas
0433af6385 Config: Fixes bug where timeouts for alerting was not parsed correctly (#16784)
* Fix parsing of the config

* Remove unnecessary conversion

* Remove timeout modification

Co-Authored-By: aocenas <mr.ocenas@gmail.com>

* Remove unused import
2019-04-30 12:05:38 +02:00
Carl Bergquist
fef3638018 build: removes gopkg files from dev docker file (#16817) 2019-04-30 12:01:43 +02:00
Torkel Ödegaard
9b68952482 Provisioning: Trying to fix failing test (#16800)
* Provisioning: Trying to fix test

* Use better sync strategy for test

* Lower the timeout

* Remove commented code

Co-Authored-By: aocenas <mr.ocenas@gmail.com>
2019-04-30 10:35:54 +02:00
Ryan McKinley
af1e2615b2 Table: React table fix rotate support in storybook (#16816) 2019-04-30 09:21:49 +02:00
Ryan McKinley
27dcd0edb1 TestData: add log level in dummy message (#16815) 2019-04-30 09:20:38 +02:00
bergquist
4beed35890 removes gopkg.lock from root folder 2019-04-30 07:52:12 +02:00
Marcus Efraimsson
02cb7ff436 Explore: Support user timezone (#16469)
Explore now uses the timezone of the user to decide if local browser 
time or UTC should be used. 
- Now uses TimeRange instead of RawTimeRange in explore item
state tree and only parsing actual time in a few action
handlers.
- Time picker should now properly handle moving back/forward and
apply time range when both utc and non utc time zone.
- URL range representation is changed from YYYY-MM-DD HH:mm:ss
to epoch ms.
- Now uses AbsoluteTimeRange in graph component instead of moment.
- Makes a copy of the time range passed to timeSrv to make sure immutability
of explore time range when for example elasticsearch test datasources uses
timeSrv and sets a time range of last 1 min.
- Various refactorings and cleanup.

Closes #12812
2019-04-29 18:28:41 +02:00
Ryan McKinley
7dbe719fda Plugins: rename vizPlugin to panelPlugin (#16802) 2019-04-29 09:20:58 -07:00
Ryan McKinley
c5097e2ef3 Plugins: move app/feature/plugin properties into PluginMeta (#16809) 2019-04-29 09:14:39 -07:00
Ryan McKinley
5c2d38126d Plugins: move PanelPluginMeta to grafana/ui (#16804) 2019-04-29 08:17:35 -07:00
Ryan McKinley
7146d576e6 Plugins: move datasource specific meta out of the main meta type (#16803) 2019-04-29 07:38:17 -07:00
bergquist
945cbf4710 updates changelog for 6.1.6 2019-04-29 16:06:01 +02:00
Hugo Häggmark
ddefcb2694 Fix: Fetch histogram series from other api route (#16768)
Closes: #15992
2019-04-29 15:42:58 +02:00
bergquist
f7c8d90d1a phantomjs: set web-security to true 2019-04-29 14:37:52 +02:00
Hugo Häggmark
b803ba2689 Chore: Lowered implicit anys limit to 5668
Progress: #14714
2019-04-29 06:38:48 +02:00
Marcus Efraimsson
decd65671c build: restore postgres integration tests (#16801)
This fixes the CI script for postgres integration tests so that
all tests are run.
2019-04-28 12:28:01 +02:00
Reiner Gerecke
928f9516de docs: explain correct access control model of GCS buckets (#16792) 2019-04-28 11:49:36 +02:00
Torkel Ödegaard
a4f5c54871 Chore: Fixed no implicit any Typescript errors (#16799) 2019-04-28 09:58:12 +02:00
Oleg Gaidarenko
66c9297c36 Feature: introduce LdapActiveSyncEnabled setting (#16787)
* Feature: introduce LdapActiveSyncEnabled setting

We probably remove it after the active sync is done.
But at the moment we do not want to affect the current users
with not fully tested feature

* Chore: move settings in more logical order
2019-04-27 09:03:59 +03:00
Torkel Ödegaard
060e97bea8 Plugins: ReactPanelPlugin to VizPanelPlugin (#16779)
* Plugins: ReactPanelPlugin renamed

* Plugins: renamed PanelPlugin to PanelPluginMeta and VizPanelPlugin to PanelPlugin
2019-04-26 19:16:38 +02:00
Torkel Ödegaard
e38762665b UX: Improve Grafana usage for smaller screens (#16783)
* Mobile: Switch to mobile view already at md or lower breakpoint

* UX: Tweaked breakpoint so that media-breakpoint-up(md) will only apply to screens larger than normal ipad

* Updated snapshots
2019-04-26 19:16:03 +02:00
Torkel Ödegaard
e694fd8fb6 ThresholdEditor: Minor style fix for smaller screens (#16791) 2019-04-26 19:15:37 +02:00
Marcus Efraimsson
c2530be07d Build: Use isolated modules for ts-jest (#16786) 2019-04-26 19:14:48 +02:00
Oleg Gaidarenko
62b85a886e LDAP Refactoring to support syncronizing more than one user at a time. (#16705)
* Feature: add cron setting for the ldap settings

* Move ldap configuration read to special function

* Introduce cron setting (no docs for it yet, pending approval)

* Chore: duplicate ldap module as a service

* Feature: implement active sync

This is very early preliminary implementation of active sync.
There is only one thing that's going right for this code - it works.

Aside from that, there is no tests, error handling, docs, transactions,
it's very much duplicative and etc.

But this is the overall direction with architecture I'm going for

* Chore: introduce login service

* Chore: gradually switch to ldap service

* Chore: use new approach for auth_proxy

* Chore: use new approach along with refactoring

* Chore: use new ldap interface for auth_proxy

* Chore: improve auth_proxy and subsequently ldap

* Chore: more of the refactoring bits

* Chore: address comments from code review

* Chore: more refactoring stuff

* Chore: make linter happy

* Chore: add cron dep for grafana enterprise

* Chore: initialize config package var

* Chore: disable gosec for now

* Chore: update dependencies

* Chore: remove unused module

* Chore: address review comments

* Chore: make linter happy
2019-04-26 15:47:16 +03:00
bergquist
a8326e3e93 build: removes unused vendored files 2019-04-26 13:35:48 +02:00
rrFeng
daea9e9fc0 (fix/explore): remove vertical-align looks better for long logs (#16736) 2019-04-26 11:33:40 +02:00
Carl Bergquist
85e5835ddc Chore: bump jQuery to 3.4.0 in grafana/ui (#16781)
CVE-2019-5428
Vulnerable versions: < 3.4.0
Patched version: 3.4.0
A prototype pollution vulnerability exists in jQuery versions < 3.4.0 that
allows an attacker to inject properties on Object.prototype.

https://nvd.nist.gov/vuln/detail/CVE-2019-5428
2019-04-26 10:29:40 +02:00
Torkel Ödegaard
19fddf556b Devenv: Updated home dashboard and added new influxdb test dashboard 2019-04-26 09:48:00 +02:00
Hugo Häggmark
86a6fa26af Chore: Lowered implicit anys limit to 5946
Progress: #14714
2019-04-26 07:34:01 +02:00
Torkel Ödegaard
ccffe0e9cc RefreshPicker: minor design update (#16774)
Fixes #16627
2019-04-25 22:22:20 +02:00
Ryan McKinley
470634e2d6 Streaming: support streaming and a javascript test datasource (#16729) 2019-04-25 14:01:02 -04:00
Ryan McKinley
ab3860a334 GraphLegendEditor: use stats picker rather than switches (#16759) 2019-04-25 10:29:18 -04:00
Oleg Gaidarenko
78cd9058a3 Feature: add cron setting for the ldap settings (#16673)
* Feature: add cron setting for the ldap settings

* Move ldap configuration read to special function

* Introduce cron setting (no docs for it yet, pending approval)

* Chore: address code review comments
2019-04-25 17:12:56 +03:00
Carl Bergquist
8ca5add4ec Build: Disables gosec until identified performance problems (#16764) 2019-04-25 14:49:32 +02:00
Dominik Prokop
25ea5fcaf2 Chore: bump jQuery to 3.4.0 including prototype pollution vulnerability fix (#16761)
Ref: https://nvd.nist.gov/vuln/detail/CVE-2019-5428
2019-04-25 09:42:32 +02:00
Alcides Viamontes E
cff2be0d66 elasticsearch: add 7.x version support (#16646)
Adds a new version option 7.0+ (70 internally).
Version 7.0+ doesn't include document types in index mappings 
so support for handling this have been added.
Version 7.0+ returns number of hits in a different way so 
support for handling this have been added.
Version 7.0+ doesn't support sending 
max_concurrent_shard_requests in multisearch header so 
support for sending this in query string have been added.
Update elastic6 docker block and dashboards (devenv) to use 
6.7.1 images, filebeat index name is now filebeat-YYYY.MM.DD 
and dashboard include correct tags and links.
Add elastic7 docker block and provisioning (devenv).
Updates documentation regarding new version.

Closes #15622
2019-04-25 09:41:13 +02:00
Andrej Ocenas
42b745a098 Provisioning: Add API endpoint to reload provisioning configs (#16579)
* Add api to reaload provisioning

* Refactor and simplify the polling code

* Add test for the provisioning service

* Fix provider initialization and move some code to file reader

* Simplify the code and move initialization

* Remove unused code

* Update comment

* Add comment

* Change error messages

* Add DashboardProvisionerFactory type

* Update imports

* Use new assert lib

* Use mutext for synchronizing the reloading

* Fix typo

Co-Authored-By: aocenas <mr.ocenas@gmail.com>

* Add docs about the new api
2019-04-25 09:06:44 +02:00
Hofls
b3bfbc6f77 Config: Show user-friendly error message instead of stack trace (#16564)
Fixes #16283
2019-04-25 08:29:07 +02:00
Hugo Häggmark
afd55cb411 Chore: Lowered implicit anys limit to 5954
Progress: #14714
2019-04-25 06:47:19 +02:00
Dominik Prokop
7aeae84c52 Feature: Enable React based options editors for Datasource plugins (#16748) 2019-04-24 23:18:51 +02:00
Tom Petr
2d6b33ab61 sqlstore: use column name in order by (#16583)
Use column name in ORDER BY in GetDashboardAclInfoList().
2019-04-24 16:05:35 +02:00
Mitsuhiro Tanda
1e98c10235 user friendly guide (#16743)
CloudWatch: Update docs for setting auth provider
2019-04-24 15:41:13 +02:00
Andrej Ocenas
fcebd713a5 Provisioning: Interpolate env vars in provisioning files (#16499)
* Add value types with custom unmarshalling logic

* Add env support for notifications config

* Use env vars in json data tests for values

* Add some more complexities to value tests

* Update comment with example usage

* Set env directly in the tests, removing patching

* Update documentation

* Add env var to the file reader tests

* Add raw value

* Post merge fixes

* Add comment
2019-04-24 15:39:47 +02:00
Carl Bergquist
eb8af01a8a admin: add more stats about roles (#16667)
closes #14967
2019-04-24 13:18:16 +02:00
Dominik Prokop
739cdcfb6e Feature: Migrate Legend components to grafana/ui (#16468)
* Introduced Abstract list, List and InlineList components for easier lists generation
* Enable custom item key on abstract list items
* Enable $.flot in storybook
* Expose onOptionsChange to react panel. Allow React panels to be function components
* Update type on graph panel options to group graph draw options
* Introduce GraphPanelController for state and effects handling of new graph panel
* Group visualisation related stories under Visualisations
2019-04-24 10:14:18 +02:00
Marcus Efraimsson
7dadebb3f0 playlist: fix loading dashboards by tag (#16727)
Fixes #16704
2019-04-24 10:10:16 +02:00
Utkarsh Bhatnagar
89a01a680c CloudWatch: Use default alias if there is no alias for metrics (#16732)
Fixes #16605
2019-04-24 10:00:02 +02:00
Josh
fca5ee4bea Provisioning: Support FolderUid in Dashboard Provisioning Config (#16559)
* add folderUid to DashbaordsAsConfig structs and DashbardProviderConfigs struct, set these values in mapping func
look for new folderUid values in config_reader tests
set dashboard folder Uid explicitly in file_reader, which has no affect when not given

* formatting and docstrings

* add folderUid to DashbaordsAsConfig structs and DashbardProviderConfigs struct, set these values in mapping func
look for new folderUid values in config_reader tests
set dashboard folder Uid explicitly in file_reader, which has no affect when not given

* formatting and docstrings

* add folderUid option, as well as documentation for the rest of the fields

* add blank folderUid in devenv example.

* add folderUid to provisioning sample yaml

* instead of just warning, return error if unmarshalling dashboard provisioning file fails

* Removing the error handling and adding comment

* Add duplicity check for folder Uids


Co-authored-by: swtch1 <joshua.thornton@protonmail.com>
2019-04-24 08:57:42 +02:00
Dominik Prokop
19e824006a Refactor: Make SelectOptionItem a generic type to enable select value typing (#16718)
* Make SelectOptionItem a generic type to enable select value typing
* TS ignores added because of optional value on Select items (it's no longer any)
2019-04-23 20:44:16 +02:00
Marcus Efraimsson
f4a8240d0d docs: fix upgrade instructions 2019-04-23 16:53:28 +02:00
Andrej Ocenas
e4f649e2c8 Chore: Small improvements to grafana-cli (#16670)
* Small improvements

* Better error handling
2019-04-23 12:34:34 +02:00
Andrej Ocenas
c429934a66 Chore: Use x/xerrors instead of pkg/errors (#16668)
* Use xerrors instead of pkg/errors

* Add Wrap util func

* Move Wrap to errutil package
2019-04-23 11:50:31 +02:00
Oleg Gaidarenko
54c1bf0cc9 Chore: a bit of spring cleaning (#16710)
* Chore: use early return technic everywhere

And enable "indent-error-flow" revive rule

* Chore: remove if-return rule from revive config

* Chore: improve error messages

And enable "error-strings" revive rule

* Chore: enable "error-naming" revive rule

* Chore: make linter happy

* Chore: do not duplicate gofmt execution

* Chore: make linter happy

* Chore: address the pull review comments
2019-04-23 11:24:47 +03:00
Alex Mabry
5ce5840ae0 Fixes #15863 (#16684) 2019-04-23 08:04:15 +02:00
Timo Schwarzer
5f9dc48fb0 Docs: Update notification services (#16657)
* Update notifications.md

* Update notification services docs
2019-04-23 08:00:55 +02:00
Ryan McKinley
ff870e08b2 PanelQueryRunner: add datasource name to queries (#16712) 2019-04-22 19:14:42 -07:00
Oleg Gaidarenko
db584b3d28 Chore: remove session storage references (#16445)
* Chore: remove session storage references

* Small refactoring of the settings module

* Update docs - remove references for the session storage

* Update config files (sample and default configs)

* Add tests for warning during the config load on defined storage cache

* Remove all references to session storage

* Remove macaron session dependency

* Remove leftovers

* Fix: address review comments

* Fix: remove old deps

* Fix: add skipStaticRootValidation = true to tests

* Fix: improve the docs and warning message

As per discussion in here - https://github.com/grafana/grafana/pull/16445/files#r273026255

* Chore: make linter happy

Fixes #16148
Ref #16114
2019-04-22 18:58:24 +03:00
Patrick O'Carroll
f175046bc1 Dashboard: Minor settings UI Update (#16669)
* removed settings header in aside, added header next to search button, tweaked paddings

* Minor tweak
2019-04-22 16:04:35 +02:00
Roman Khavronenko
532abe2fc2 Templating: Do not copy hide option (#16696)
* Do not override default `hide` value of variables

Some variables like `constant` are configured to
be hidden by default and this setting must be
treated with respect.

* make textBox variable visible by default

Fixes #16695
2019-04-22 13:11:05 +02:00
Christian Franke
6c3f93c974 Docs: Fix advanced variable formatting examples (#16691) 2019-04-21 09:27:04 +02:00
Ryan McKinley
b9ff1923e7 QueryEditors: pass PanelData and filtered PanelData to each editor (#16692) 2019-04-20 12:26:49 -07:00
Ryan McKinley
2bc76471d3 Chore: remove extra logging (#16688) 2019-04-19 17:21:38 -07:00
Ryan McKinley
36d88cc994 DashboardSrv: export getDashboardSrv to react (#16687) 2019-04-19 15:12:35 -07:00
Ryan McKinley
e7f56a74fc Refactor: split PanelQueryRunner into runner and state (#16685)
* check for running

* split out panel state

* adding test file

* remove bad test
2019-04-19 15:11:55 -07:00
Alex Mabry
178ce8eec8 Docs: Googlechat provisioning config example (#16682)
Fixes #1690
2019-04-19 20:50:55 +02:00
Ryan McKinley
544abfd3c5 TestDataDatasource: add the query refId to each result 2019-04-19 11:06:34 -07:00
teajo
80cca9c12e AppPlugin: avoid app plugin navigation slowness (#16675)
navigation between pages in app plugin is slow, due to use of non angular native promise

Fixes #16672
2019-04-19 08:41:59 -07:00
Ryan McKinley
4e54509dde Refactor: improvements to PanelQueryRunner (#16678)
merged DataQueryOptions + DataRequestInfo info: DataQueryRequest
2019-04-18 21:56:27 -07:00
Ryan McKinley
5f474c6328 Refactor: move getQueryRunner() to PanelModel (#16679)
* move queryRunner to panelModel
* Added interval back as prop, not used yet
* PanelQueryRunner: Refactoring, added getQueryRunner to PanelModel
* PanelQueryRunner: interpolatel min interval
2019-04-18 14:10:18 -07:00
Alexander Zobnin
0f1ae76e33 Docs: initial backend plugins development guide (#16631)
* Docs: initial backend plugins development guide

* Some tweaks

* more tweaks

* chore: docs changes to backend plugins guide

* chore: docs tweaks to backend plugins guide
2019-04-18 13:02:19 +02:00
bergquist
b9e148f3ab build: remove dep config files since they are not used anymore 2019-04-18 11:16:16 +02:00
Andrej Ocenas
79299f9bca Fix typo in PULL_REQUEST_TEMPLATE.md 2019-04-18 10:58:11 +02:00
Ryan McKinley
5976b421fe refactor: move timeInfo to DataRequestInfo (#16664)
* use timeInfo from request

* move timeInfo to DataRequestInfo
2019-04-18 00:00:46 -07:00
Ryan McKinley
0643dff2f6 QueryRunner: Move queryRunner to panelModel (#16656)
* move queryRunner to panelModel

* remove isEditing from PanelChrome

* move listener to QueriesTab

* Fixed issue with isFirstLoad set to false before loading state is Done

* QueryRunner: Fixed issue with error and delayed loading state indication

* Anoter fix to issues with multiple setState calls in observable callbacks
2019-04-18 08:22:14 +02:00
Ryan McKinley
f4cd9bc73c PanelQueryRunner: move error handling to QueryRunnerOptions (#16654) 2019-04-17 21:05:57 +02:00
Ryan McKinley
ed0192104c refactor: Merge PanelChrome and DataPanel, do query execution in PanelQueryRunner (#16632)
Moves query execution logic to PanelQueryRunner and structures PanelChrome so it subscribes to the query results rather than necessarily controlling their execution.
2019-04-17 10:51:50 -07:00
Torkel Ödegaard
36d64fecea Search: Fixed search issue introduced in recent PR (#16652) 2019-04-17 19:07:13 +02:00
Carl Bergquist
e4eb0817e4 Cloudwatch: fix for flaky tests (#16649)
The iteration order over maps is not specified and is not guaranteed
to be the same from one iteration to the next. If a map entry that
has not yet been reached is removed during iteration, the corresponding
iteration value will not be produced. If a map entry is created during
iteration, that entry may be produced during the iteration or may be skipped.
The choice may vary for each entry created and from one iteration to
the next. If the map is nil, the number of iterations is 0.

https://golang.org/ref/spec#For_range
2019-04-17 19:06:32 +02:00
Patrick O'Carroll
d040e336c1 UI: Remove old icons (#16335)
* removed unsused grafana-icon classes, replaced grafana-icons with gicons

* replaced old dashboard and datasource icons with gicon, fixed so icons on plugin list are shown

* removed unsused grafana-icon classes, replaced grafana-icons with gicons

* replaced old dashboard and datasource icons with gicon, fixed so icons on plugin list are shown

* replaced fontawesome cog, eye, link and edit with gicons

* updated snapshot

* fixed color of cog in dashboard nav, removed icons from buttons, ran preitterier on some files

* changed opacity on getting started icons and fixed getting started button

* .5 -> 0.5 fix for prettier
2019-04-17 15:18:32 +02:00
Torkel Ödegaard
8b0dd4244b Search: Fixes search limits and adds a page parameter (#16458)
* Search: Fixes search limits and adds a page parameter

This adds a page parameter to search api without adding
any major breaking change.

It does at an api validation error when trying to use
a limit beyond 5000. This is a breaking change. We could
remove this and have it only in the docs and describe that this
is a limit that grafana will apply silently.

Fixes #16049

* Fix: Corrected wrong array slice change

* Docs: minor docs fix

* Search: fixed folder tests

* Fixed: Moved limit to correct inner query

* Search: moving limit check and page check

* Search: limit in handler is no longer needed
2019-04-17 13:07:50 +02:00
Torkel Ödegaard
9cc67e49b4 Chore: Upgrade lodash to v4.17.11 (#16645) 2019-04-17 13:06:31 +02:00
Johannes Schill
4606a6a894 Chore: Lock dependencies (#16644)
* fix: Lock version of dependencies

* fix: Lock version of devDependencies

* fix: Lock down grafana/ui npm versions + regenerate lockfile

* fix: Back some versions i tried to bump

* fix: Bump react and react-dom to latest

* chore: Remove types/react from resolutions

* fix: Lock eventemitter3 version in package.json
2019-04-17 12:43:00 +02:00
Carl Bergquist
3f136e0da9 tech: replace bmizerany/assert with stretchr/testify (#16625)
bmizerany is old and unsupported. so we are replacing it
with stretchr which is an drop in replacement and something
we want to use more in Grafana.
2019-04-17 10:25:58 +02:00
Ryan McKinley
01fbf972aa Chore: update yarn.lock (#16637) 2019-04-17 09:40:42 +02:00
Ryan McKinley
514818f16d Panel Plugins: pass query request/response to react panel plugins (#16577)
* pass query request/response to panel plugins

* rename finishTime to endTime

* move QueryResponseData to a sub variable

* rename to PanelData

* make data not optional

* make data not optional

* missing optional
2019-04-16 13:23:34 -07:00
Hugo Häggmark
7b63913dc1 Explore: Adds logs highlighting in Explore on keypress (#16596)
Fixes: #16277
2019-04-16 16:27:57 +02:00
Torkel Ödegaard
75f9adf44f Build: adding dependency used by extensions (#16622) 2019-04-16 15:26:39 +02:00
Johannes Schill
a0e37a00d2 TimePicker: Re-add apply button in time picker (#16619) 2019-04-16 14:09:57 +02:00
Oleg Gaidarenko
318182ccc9 Chore: refactor auth proxy (#16504)
* Chore: refactor auth proxy

Introduced the helper struct for auth_proxy middleware.
Added couple unit-tests, but it seems "integration" tests already cover
most of the code paths.

Although it might be good idea to test every bit of it, hm.
Haven't refactored the extraction of the header logic that much

Fixes #16147

* Fix: make linters happy
2019-04-16 14:09:18 +02:00
Dominik Prokop
8069a617fe Docs: updated help for changelog cli task (#16615) 2019-04-16 13:30:02 +02:00
Carl Bergquist
68f5ddf18c replace dep with go modules (#16017)
- guide shamelessly stolen from prometheus/prometheus
- updates local interface of oauth exchange
- updates local impl of hclogger
- bump jaeger client version

closes #16088
2019-04-16 12:00:55 +02:00
Dominik Prokop
d6b48ee099 Docs: Updated changelog for 6.1.4 2019-04-16 11:18:52 +02:00
Torkel Ödegaard
057577dcc5 Heatmap: Fixed auto decimals when bucket name is not number but contains dots, fixes #13019 (#16609) 2019-04-16 10:39:12 +02:00
Carl Bergquist
490515aec6 build: partially replace gometalinter with golangci-lint (#16610)
we still use gometalinter for goconst since it doesn't 
report errors for duplicated in test files
2019-04-16 10:27:07 +02:00
Johannes Schill
406ef962fc Explore & Dashboard: New Refresh picker (#16505)
* Added RefreshButton

* Added RefreshSelect

* Added RefreshSelectButton

* Added RefreshPicker

* Removed the magic string Paused

* Minor style changes and using Off instead of Pause

* Added HeadlessSelect

* Added HeadlessSelect story

* Added SelectButton

* Removed RefreshSelectButton

* Added TimePicker and moved ClickOutsideWrapper to ui/components

* Added TimePickerPopOver

* Added react-calendar

* Missed yarn lock file

* Added inputs to popover

* Added TimePicker and RefreshPicker to DashNav

* Moved TimePicker and RefreshPicker to app/core

* Added react-calendar to app and removed from ui/components

* Fixed PopOver onClick

* Moved everything back to ui components because of typings problems

* Exporing RefreshPicker and TimePicker

* Added Apply and inputs

* Added typings

* Added TimePickerInput and logic

* Fixed parsing of string to Moments

* Fixed range string

* Styling and connecting the calendars and inputs

* Changed Calendar styling

* Added backward forward and zoom

* Fixed responsive styles

* Moved TimePicker and RefreshPicker into app core

* Renamed menuIsOpen to isOpen

* Changed from className={} to className=""

* Moved Popover to TimePickerOptionGroup

* Renamed all PopOver to Popover

* Renamed popOver to popover and some minor refactorings

* Renamed files with git mv

* Added ButtonSelect and refactored RefreshPicker

* Refactored TimePicker to use new ButtonSelect

* Removed HeadlessSelect as suggested

* fix: Fix typings and misc errors after rebase

* wip: Enable time picker on dashboard and add tooltip

* Merge branch 'master' into hugoh/new-timepicker-and-unified-component

# Conflicts:
#	packages/grafana-ui/package.json
#	packages/grafana-ui/src/components/Input/Input.test.tsx
#	packages/grafana-ui/src/components/Input/Input.tsx
#	packages/grafana-ui/src/utils/validate.ts
#	public/app/features/dashboard/panel_editor/QueryOptions.tsx
#	yarn.lock

* fix: Snapshot update

* Move TimePicker default options into the TimePicker as statics, pass the tooltipContent down the line when wanted and wrap the button in a tooltip element

* fix: Override internal state prop if we provide one in a prop

* Updated snapshots

* Let dashnav control refreshPicker state

* feat: Add a stringToMs function

* wip: RefreshPicker

* wip: Move RefreshPicker to @grafana/ui

* wip: Move TimePicker to @grafana/ui

* wip: Remove comments

* wip: Add refreshPicker to explore

* wip: Use default intervals if the prop is missing

* wip: Nicer way of setting defaults

* fix: Control the select component

* wip: Add onMoveForward/onMoveBack

* Remove code related to the new time picker and refresh picker from dashnav

* Fix: Typings after merge

* chore: Minor fix after merge

* chore: Remove _.map usage

* chore: Moved refresh-picker logic out of the refresh picker since it will work a little differently in explore and dashboards until we have replaced the TimeSrv

* feat: Add an Interval component to @grafana/ui

* chore: Remove intervalId from redux state and move setInterval logic from ExploreToolbar to its own Interval component

* feat: Add refreshInterval to Explore's URL state

* feat: Pick up refreshInterval from url on page load

* fix: Set default refreshInterval when no value can be retained from URL

* fix: Update test initial state with refreshInterval

* fix: Handle URLs before RefreshPicker

* fix: Move RefreshInterval to url position 3 since the segments can take multiple positions

* fix: A better way of detecting urls without RefreshInterval in Explore

* chore: Some Explore typings

* fix: Attach refresh picker to interval picker

* chore: Sass fix for refresh button border radius

* fix: Remove refreshInterval from URL

* fix: Intervals now start when previous interval is finished

* fix: Use clearTimeout instead of clearInterval

* fix: Make sure there's a delay set before adding a timeout when we have slow explore queries

* wip: Add refresh picker to dashboard

* feat: Add util for removing keys with empty values

* feat: RefreshPicker in dashboards and tmp rem out old RefreshPicker

* fix: Remove the jumpy:ness in the refreshpicker

* Changed placement and made it hide when your in dashboard settings

* chore: Move logic related to refresh picker out of DashNav to its own component

* feat: Add tooltip to refreshpicker

* fix: Fix bug with refreshpicker not updating when setting to 'off'

* fix: Make it possible to override refresh intervals using the dashboard intervals

* chore: Change name of Interval to SetInterval to align with ecmascripts naming since its basically the same but declarative and async

* fix: Use default intervals when auto refresh is empty in dashboard settings

* fix: Hide time/interval picker when hidden is true on the model, such as on the home dashboard

* fix: Interval picker will have to handle location changes since timeSrv wont

* RefreshPicker: Refactoring refresh picker

* RefreshPicker: minor refactoring
2019-04-16 09:15:23 +02:00
Brian Gann
d23f50ab23 Build: Fix missing icon typing (#16601) 2019-04-15 19:55:12 +02:00
Torkel Ödegaard
6724aaeff9 Plugins: added missing prop to type 2019-04-15 17:55:17 +02:00
Mitsuhiro Tanda
864a6262fe CloudWatch: GetMetricData refactoring & fix label handling (#16383)
* fix label handling

* SEARCH() results could have multiple namespace, remove from legend

* divide GetMetricStatistics related code

* divide GetMetricData related code

* divide parseGetMetricDataResponse()

* divide parseGetMetricDataQuery()

* divide test code

* add test for GetMetricData

* add test for GetMetricData parse response

* fix bug of terminating gap

* fix gofmt
2019-04-15 17:55:07 +02:00
Oleg Gaidarenko
b37ee65bd3 Chore: prepare our SQL for cockroach db (#16471)
This is basically implementation of the https://github.com/grafana/grafana/issues/8900#issuecomment-435437167
points, except for the type conversion bit.

I tried to implement idea mentioned in cockroachdb ticket (see below).
And it is possible, but it complicates things as lot - not only we have to
have 4 SQL statements instead of one, but we would have to copy the column
structure as well - PK, FG, indexes and stuff, plus there will
be additional downtime with this approach.

So idea for this pull is to prepare our SQL as much as possible, so when
cockroachdb will add support for full type conversions, we could easilly add
support for it as well.

* Add `CASCADE` to `DROP INDEX` statement

* Make string conversions explicit

Thanks @Luit

Ref #8900
Ref cockroach/cockroach#9851
2019-04-15 18:49:24 +03:00
Ryan McKinley
5a0cf1a83c AppPlugins: fix app support and add an alpha example (#16528)
* app pages

* app pages

* workign example

* started alpha support

* bump controller limit

* bump controller limit

* existing plugin pages work again

* save Plugin in cache

* remove AppPage wip
2019-04-15 16:54:00 +02:00
Patrick O'Carroll
5f1b2691a3 Switch: made minor styling tweaks to switch to align to 4px grid (#16593) 2019-04-15 16:12:03 +02:00
Torkel Ödegaard
d4bb92a3c5 Docs: minor docs update for old urls 2019-04-15 14:13:03 +02:00
Andrej Ocenas
6eb8b29d70 Chore: Add more explicit typing (#16594) 2019-04-15 13:14:52 +02:00
Hugo Häggmark
83e8dedea3 Chore: Lowered implicit anys limit to 5977
Progress: #14714
2019-04-15 12:33:13 +02:00
Hugo Häggmark
7eabc282e9 Chore: Adds typings to lodash (#16590) 2019-04-15 12:11:52 +02:00
Ryan McKinley
b267e96087 PanelEditor: Change Queries heading to Query (#16536) 2019-04-15 11:57:16 +02:00
Andrej Ocenas
66f6e16916 Security: Store datasource passwords encrypted in secureJsonData (#16175)
* Store passwords in secureJsonData

* Revert unnecessary refactors

* Fix for nil jsonSecureData value

* Remove copied encryption code from migration

* Fix wrong field reference

* Remove migration and provisioning changes

* Use password getters in datasource proxy

* Refactor password handling in datasource configs

* Add provisioning warnings

* Update documentation

* Remove migration command, moved to separate PR

* Remove unused code

* Set the upgrade version

* Remove unused code

* Remove double reference
2019-04-15 11:11:17 +02:00
Torkel Ödegaard
844ec82eb0 More development dashboards (#16550)
* Dev: more dev dashboards and structure

* Moving gdev dashboards around into folders and aligning tags
2019-04-15 10:51:17 +02:00
Carl Bergquist
9134251417 build: upgrades to golang 1.12.4 (#16545)
fix govet issue in golang 1.12.4
2019-04-15 09:18:28 +02:00
Dennis Hoppe
15383510c8 Use package libfontconfig1, instead of libfontconfig (#16548) 2019-04-15 08:20:42 +02:00
Šimon Podlipský
16d0693a46 Adjust Send on all alerts to default label (#16554)
Alerting: Adjust label for send on all alerts to default
2019-04-15 08:14:22 +02:00
Hugo Häggmark
b548c6a67f Chore: Lower limit of implicit anys to 6676 2019-04-15 05:57:39 +02:00
Ryan McKinley
08a22c806f DirectInput: new alpha datasource that lets you enter data via CSV
Initial alpha datasource that saves data directly in a panel or in the shared datasource configs.
2019-04-12 10:13:36 -07:00
Ryan McKinley
d27de81a91 Plugins: expose getBackendSrv() to plugins (#15268)
Temporarily expose getBackendSrv while we figure out a long term solution.  This will unblock developing some more complex react external plugins.
2019-04-12 09:45:22 -07:00
Torkel Ödegaard
6a315bd09d DataPanel: Added built-in interval variables to scopedVars (#16556)
For react panels the scopedVars did not contain the built in __interval and __interval_ms
variables.

Fixes #16546
2019-04-12 18:07:00 +02:00
Torkel Ödegaard
514f68ea19 TestData: Add minInterval query option 2019-04-12 18:03:51 +02:00
Hugo Häggmark
3f7aaedd8c Chore: Remove implicit anys for DashboardModel and tests (#16553)
Progress: #14714
2019-04-12 17:05:44 +02:00
Hofls
c17226af95 Pushover alert, support for different sound for OK (#16525)
Closes #15889
2019-04-12 14:57:17 +02:00
Hugo Häggmark
e8d6995737 Chore: Lowered implicit anys limit to 6816 2019-04-12 14:05:15 +02:00
Mitsuhiro Tanda
8f167c47e3 CloudWatch: Fix template variable expand bug (#16405)
CloudWatch: Fix template variable issues
2019-04-12 14:00:41 +02:00
Mitsuhiro Tanda
d7d20a5b10 CloudWatch: fix color order (#16408)
* fix cloudwatch color order

* fix test

* use for-of
2019-04-12 13:57:39 +02:00
Ryan McKinley
3c21a121eb Plugins: Unifying alpha state & options for all plugins (#16530)
* app pages

* app pages

* workign example

* started alpha support

* remove app stuff

* show warning on alpha/beta panels

* put app back on plugin file

* fix go

* add enum for PluginType and PluginIncludeType

* Refactoring and moving settings to plugins section

fixes #16529
2019-04-12 13:46:42 +02:00
Carl Bergquist
30dcf0f6c5 Revert "Build: Upgrades to go 1.12.3 (#16491)" (#16544)
This reverts commit 44b365028f.
2019-04-12 11:17:31 +02:00
Patrick O'Carroll
23535c2bb2 Annotations: Annotation list style improvements (#16541)
moved page-action-bar to top and put header inside it, removed </input> to be able to run prettier
2019-04-12 10:40:48 +02:00
Torkel Ödegaard
e44d049a8e QueryInspector: Now shows error responses (#16514)
While converting this to React we missed subscribing to errors

Fixed #16512
2019-04-12 10:01:50 +02:00
Carl Bergquist
44b365028f Build: Upgrades to go 1.12.3 (#16491)
fixes go vet issue that 1.12.3 detects
2019-04-12 09:44:02 +02:00
Ryan McKinley
6aaaa89a59 Build: Update master version number (#16532) 2019-04-12 09:20:45 +02:00
Ryan McKinley
4a4ee57fab Elasticsearch: Format elasticsearch test dashboard json (#16537) 2019-04-12 09:19:53 +02:00
Dan Cech
b9cc476eb7 Update jwt regexp to include = (#16521)
Fixes #16501
2019-04-11 15:30:55 +02:00
Daniel Lee
80f0be4d5c Chore: docs fixes underscore formatting (#16516)
Fixes #16507

Markdown formatting in VS Code converts from asterisks to underscores but this can be incorrect
in a case like _label_names()_. This fix escapes the underscores that should be kept.
2019-04-11 14:42:03 +02:00
Hugo Häggmark
e5c1cbabb1 Fix: Pass missing maxDataPoints to query in Explore (#16513)
Fixes: #16490
2019-04-11 13:57:04 +02:00
Hugo Häggmark
1341f4517a Fix: Recalculate intervals in Explore on run queries (#16510)
Fixes: #16485
2019-04-11 13:56:09 +02:00
Marcus Efraimsson
276755a0e4 devenv: add elasticsearch v6 filebeat integration (#16493)
Adds filebeat (log collector) to elasticsearch v6 docker block that 
collects Grafana logs.
Also adds a new elasticsearch v6 datasource and test dashboard 
thru provisioning.
2019-04-11 10:53:23 +02:00
Marcus Efraimsson
aaaa39a48e devenv: add worldmap panel panels for elasticsearch (#16313) 2019-04-11 09:58:42 +02:00
Ryan McKinley
d6887bf77f Plugins: Optionally preload some plugins during frontend app boot (#15266)
* auto load

* update comments

* gofmt

* use preload from json

* fix formatting

* change general plugin loader to app

* Refactoring: Plugin preloading #15266
2019-04-11 08:02:22 +02:00
Ryan McKinley
5e48750868 Panels: Add types for DataList and range (#16500) 2019-04-11 07:57:24 +02:00
Hugo Häggmark
ef44a05be3 Chore: Lowered implicit anys limit to 6818 2019-04-11 07:09:31 +02:00
Dominik Prokop
5b1f0bb01d PanelData: Rename ColumnStats type to FieldStats (#16494) 2019-04-10 18:38:41 +02:00
Ryan McKinley
5bc936d2da DataSourceApi: add getCollapsedText(query) to DataSourceApi (#16482)
Add getQueryDisplayText() to DataSourceApi
2019-04-10 09:31:32 -07:00
Ryan McKinley
23d461af13 Graph: Add some typescript types for data (#16484)
* add some types on graph

* set some types in graph

* Fixed typings
2019-04-10 15:23:07 +02:00
Carl Bergquist
4f46e739a2 Build: Updates goconvey to work on go1.12 (#16483) 2019-04-10 14:08:19 +02:00
Andrej Ocenas
2d7fc55df7 Provisioning: Do not allow deletion of provisioned dashboards (#16211)
* Unprovision dashboard in case of DisableDeletion = true

* Rename command struct

* Handle removed provision files

* Allow html in confirm-modal

* Do not show confirm button without onConfirm

* Show dialog on deleting provisioned dashboard

* Changed DeleteDashboard to DeleteProvisionedDashboard

* Remove unreachable return

* Add provisioned checks to API

* Remove filter func

* Fix and add tests for deleting dashboards

* Change delete confirm text

* Added and used pkg/errors for error wrapping
2019-04-10 13:29:10 +02:00
Hugo Häggmark
9f007137b3 Chore: lower limit for implicit anys to 6829 2019-04-10 11:29:46 +02:00
Ryan McKinley
5e7f7e658d Singlestat-v2/Gauge: Show title when repeating (#16477)
* show title in singlestat2

* show title in gauge

* use CSS class for emotion

* use emotion not scss
2019-04-10 10:19:44 +02:00
Scott Leggett
06dfbb382b Docs: fix grammar in query hint, tests, and documentation (#16444)
* Fix use of "monotonically" in explore documentation

* Fix use of "monotonically" in query hints and tests
2019-04-10 10:12:57 +02:00
Alexander Zobnin
180772f169 Heatmap: Fix empty graph if panel is too narrow (#16460)
Fixes #16378
2019-04-10 10:11:17 +02:00
Torkel Ödegaard
c0bb154603 Release: updated latest.json 2019-04-09 20:39:13 +02:00
Torkel Ödegaard
0ce1b83fc5 Docs: Updated changelog 2019-04-09 20:36:49 +02:00
Marcus Efraimsson
3d82c848dd docs: fixes and update current version 2019-04-09 17:30:21 +02:00
Torkel Ödegaard
eba67276d9 Docs: Updated changelog for v6.1.3 2019-04-09 15:32:38 +02:00
Torkel Ödegaard
fed75695a1 Graph: fixed png rendering with legend to the right (#16463) 2019-04-09 15:19:49 +02:00
Hugo Häggmark
a887c344eb Fix: Disables auto open datasource picker on focus (#16398) 2019-04-09 14:59:30 +02:00
Marcus Efraimsson
80a170e62f add some mock/stub guidelines to testing guideline (#16466) 2019-04-09 14:34:34 +02:00
Hugo Häggmark
ed7ad8f6ac Feat: Suggestion list in Explore is virtualized (#16342)
* Wip: virtualize suggestions list

* Refactor: Separate components to different files

* Refactor: Made TypeaheadItem a FunctionComponent using emotion

* Refactor: Use theme to calculate width instead of hardcoded values

* Refactor: Calculate list height and item size

* Style: Adds labels to emotion classes

* Refactor: Flattens CompletionItems to one list

* Chore: merge yarn.lock

* Refactor: Adds documentation popup on the side

* Refactor: Makes position of TypeaheadInfo dynamic

* Refactor: Calculations moved to separate file
2019-04-09 14:25:13 +02:00
Torkel Ödegaard
f0eddcd8a8 Docs: Updated roadmap issue to link to the pinned roadmap issues 2019-04-09 14:22:47 +02:00
Torkel Ödegaard
52c3990412 Graph: Fixed auto decimals in legend values (#16455)
Fixes #16448
2019-04-09 13:04:09 +02:00
Patrick O'Carroll
a96194fab5 Styling: Aligned heading (#16456)
* aligned headings on profile, admin and configuration pages

* fixed snapshot
2019-04-09 12:41:02 +02:00
Mitsuhiro Tanda
d2968c73e6 add PromQL keyword for adhoc filter (#16426) 2019-04-09 09:51:15 +02:00
Torkel Ödegaard
b46b84f156 Singlestat: Use decimal override when manually specified (#16451)
Fixes #16373
2019-04-08 17:32:34 +02:00
Torkel Ödegaard
3c42fece71 Graph: follow-up graph decimals fix, #16414 (#16450) 2019-04-08 16:54:15 +02:00
Oleg Gaidarenko
67cbc7d4cf Chore: use remote cache instead of session storage (#16114)
Replaces session storage in auth_proxy middleware with remote cache

Fixes #15161
2019-04-08 14:31:46 +03:00
Torkel Ödegaard
645a6e5856 Docs: Minor changelog tweak 2019-04-08 12:02:30 +02:00
Torkel Ödegaard
32270c122b Docs: Updated changelog with v6.1.2 release issues 2019-04-08 11:41:47 +02:00
Marcus Efraimsson
4a70056d3c datasource: fix disable query when using mixed datasource (#16409)
This fixes an error that was thrown when one or several queries
was disabled using the mixed datasource.

Fixes #12977
2019-04-08 11:39:54 +02:00
Patrick O'Carroll
70dcb6a22a Graph: Fixed series legend color for hidden series (#16438)
* replaced colors for headingColor, link and linkDisabled with colors from grayscale, replaced colors for linkDisabled and linkHover with colors from grayscale, changed color for sha-modal-in-text to text-color-empahises

* fixed snapshot
2019-04-08 10:52:00 +02:00
Torkel Ödegaard
9630d812b8 Templating: Fixed loading React variable query editor (#16439)
Fixes #16439
2019-04-08 10:46:57 +02:00
Torkel Ödegaard
0968fbed49 Styles: Fixed left menu highlight (#16431)
Upgrades to webpack & css optimization caused changes
in production build that removed the left brand
gradient.

Fixes #16430
2019-04-08 10:41:49 +02:00
Oleg Gaidarenko
99605d1abf Fix: remove test artefact (#16411)
See https://github.com/grafana/grafana/pull/16200#issuecomment-479370356
Thanks @xlson

Ref #16200
2019-04-08 09:52:45 +02:00
Patrick O'Carroll
128fb8fa7e Theme: Reworking button styling (#16362)
* added new variables for height in theme, added height to gui button large, replaced add gicon with regular gicon, replaced + with gicon, changed button display to flex

* set fixed height to large button, removed xlarge button and replaced with large button

* removed button-mini and replaced with button-small, set fixed height to default button and button-small

* fixed padding for default and large button, fixed height for navbar button, fixed snapshots

* fixed padding and margin on navbar buttons

* gave special height to login btn-primary

* readded btn-mini class with same styling as btn-small and a deprecated notice

* fixed add panel widget buttons
2019-04-08 09:48:15 +02:00
Torkel Ödegaard
9b39dbc2fb Graph: Fixed tooltip highlight on white theme (#16429)
Fixes #16359
2019-04-07 19:01:59 +02:00
Torkel Ödegaard
78ef1719e2 BarGauge: Round sizing to avoid float widths
LED cell width needs to be integers
2019-04-07 15:26:21 +02:00
Torkel Ödegaard
6ef35f0a8e Graph: Allow override decimals to fully override (#16414)
Override decimals did not fully override auto scaling logic

Fixes #16068
2019-04-07 14:45:58 +02:00
Torkel Ödegaard
8a4a6b4dc1 Units: Correctly use the override decimals (#16413)
Fixes bugs introduced in PR #14716 and #15146 also restores unit tests that where lost in the
move from kbn units to @grafana/ui units

Fixes #16068
Fixes #16373
2019-04-07 14:42:42 +02:00
Reiner Gerecke
f120f5a737 Docs: Remove broken youtube link in timerange reference (#16415)
The video on youtube got removed.

Fixes #16302
2019-04-07 14:35:28 +02:00
Torkel Ödegaard
59c081e896 BarGauge: Fixed minor margin issue (#16419)
Fixed margin issue that was not accounted for in width calc (#16419)
2019-04-07 14:32:41 +02:00
Torkel Ödegaard
a5a0352dcc Docs: Updated GitHub PR Template 2019-04-05 15:09:48 +02:00
Torkel Ödegaard
566b3d178a Bar Gauge: Show tile (series name) & refactorings & tests (#16397)
* WIP: began work on adding title support to bar gauge

* Feat: BarGauge progress

* wip: trying improve text size handling in bar gauge

* BarGauge: progress on title & value auto sizing

* BarGauge: more auto size handling

* bargauge: minor tweaks

* Added tests

* Refactoring: BarGauge refactoring moving css generation to seperate functions and adding some basic tests

* Refactoring VizRepeater and more

* Fix: updated and fixed tests
2019-04-05 12:59:29 +02:00
Torkel Ödegaard
9530906822 Update CHANGELOG.md 2019-04-05 11:46:17 +02:00
Torkel Ödegaard
35e68b868e Fix: align panel padding between sass & js theme (#16404) 2019-04-05 11:34:24 +02:00
Torkel Ödegaard
6d3b6f3c2f Fix: playlist now preserve the correct url query params (#16403)
Fixes #16377
2019-04-05 11:09:57 +02:00
Torkel Ödegaard
173e7fd839 Fix: Graphite query rendering fix (#16390)
Only interpolate string parameters

Fixes #16367
2019-04-05 09:56:47 +02:00
Sean Lafferty
c2d399b059 Fix: Query editor toggle edit mode fix (#16394)
Increase timeout when waiting for datasource toggleEditorMode check 

Fixes  #16393
2019-04-05 07:36:32 +02:00
Torkel Ödegaard
47e51cb6b3 Refactor: Plugin exports & data source / panel types (#16364)
* wip: began work off removing meta and pluginExports from DataSourceApi interface

* WIP: changing how plugins are exports and loaded

* Down the refactoring rabit hole that keeps expanding

* TestData now returns DataSourcePlugin

* Refactoring: fixed app config page loading, type renamings and more typings

* Refactor: Correct casing on DatasourceStatus => DataSourceStatus
2019-04-04 18:30:15 +02:00
Andrej Ocenas
e04990752c Chore: Update lockfile (#16380) 2019-04-04 18:29:36 +02:00
Marcus Efraimsson
5da1faf454 Alerting: Notification channel http api fixes (#16379)
Fixes so it's possible to create new notification channel and providing uid.
Fixes better error/result handling when updating a notifcation channel.

Fixes #16372
Ref #16219 #16012
2019-04-04 17:52:40 +02:00
Andrej Ocenas
08ce7f6c93 Chore: Add task to find FocusConvey tests (#16381) 2019-04-04 14:48:11 +02:00
The Rock Guy
335aa7c9f2 CloudWatch: Update AWS/IoT metric and dimensions (#16337)
Closes #16334
2019-04-04 12:54:20 +02:00
Benjamin Reed
1e52087ae2 Fix: Table Panel fix to re-render panel when options are updated (#16376)
Re-render panel when date and string options are updated 

Fixes #16375
2019-04-04 10:34:59 +02:00
Kevin Hui
d35e883eac Docs: Fix typo in Prometheus documentation (#16369) 2019-04-03 18:52:54 +02:00
Leonard Gram
6baba64935 build: Fixed incorrect permissions for repo folders in ci-deploy. (#16360) 2019-04-03 15:24:34 +02:00
Torkel Ödegaard
6ef844daa4 Docs: remove embedd info about samesite cookie from app, docs only is better 2019-04-03 14:27:20 +02:00
Hugo Häggmark
99e4bbc23e Chore: Lowered error count limit 2019-04-03 13:48:11 +02:00
Leonard Gram
9b393d8f64 build: fixes bug in verification script. 2019-04-03 12:12:43 +02:00
Johannes Schill
8370a182f7 Tech: Bump typescript and jest (#16354)
* chore: Bump Typescript to 3.4.1

* chore: Bump babel-jest, jest, ts-jest

* fix: Fix tests after typescript upgrade by disabling some typings

* chore: noImplicitAny

* chore: Bump typescript in @grafana/ui
2019-04-03 11:41:08 +02:00
Torkel Ödegaard
85b4b336fd Update CHANGELOG.md 2019-04-03 11:02:56 +02:00
Torkel Ödegaard
67ab8ba521 Update CHANGELOG.md 2019-04-03 11:02:22 +02:00
Torkel Ödegaard
5aea77fc95 Automation: Updates to yarn cli cherrypick & changelog tasks (#16357)
* Automation: Updated cherrypick task to show merge sha

* Fixed changelog milestone filtering
2019-04-03 09:50:24 +02:00
Yariv Amar
c2231854fd Feat: Improve embed panel info text (#16344)
* improving documentation for Embed Panel

Fixes #16345
2019-04-03 09:37:56 +02:00
Mitsuhiro Tanda
58eb74660d Fix: Cloudwatch fix for dimension value (#16356)
Fixes autocomplete suggestion after changing dimension key

Fixes #15984
2019-04-03 09:23:15 +02:00
Leonard Gram
4e547980fb build: Script to check that our repos work and what the latest package version is (#16350)
* build: Easy version check of deb & rpm repos
2019-04-03 08:51:43 +02:00
Torkel Ödegaard
2e59166daa Fix: Autoprefixer is now working (#16351)
The autoprefixer not working broke the phantomjs backend png rendering

Fixes #16345
2019-04-02 18:15:30 +02:00
Daniel Lee
7e149fb4d3 Chore: docs updates to what's new for 6.1 (#16346)
Docs: update what's new article for 6.1
2019-04-02 15:28:03 +02:00
Leonard Gram
b48c18a1c5 build: Fix for renamed package for armv6. 2019-04-02 13:37:57 +02:00
Dominik Prokop
7764f04abf Chore: bump storybook and add build script (#16340) 2019-04-02 13:18:13 +02:00
Ryan McKinley
ede2d54849 Refactor: React Panels to only use SeriesData[] (#16306)
* only use SeriesData[] in react panels
* update target
* Refactor: Added refId filtering for queryResponse and queryError
2019-04-02 07:22:52 +02:00
Pedro Gomes
6e54a7ae05 Docs: Suggest add-apt-repository to install APT repos (#16333)
* Suggest add-apt-repository to install APT repos
* typo
2019-04-02 07:02:58 +02:00
Dripoul
fec7c3e133 Units: Add angle units, Arc Minutes and Seconds (#16271) 2019-04-01 19:19:11 +07:00
Hugo Häggmark
c3816f3a1d Chore: Lowered implicit any limit to 6850 2019-04-01 10:00:36 +02:00
Hugo Häggmark
988b7c4dc3 Feat: Adds reconnect for failing datasource in Explore (#16226)
* Style: made outlined buttons and used it in Alert component

* Refactor: clean up state on load data source failure

* Refactor: test data source thunk created

* Refactor: move logic to changeDatasource and call that from intialize

* Refactor: move load explore datasources to own thunk

* Refactor: move logic to updateDatasourceInstanceAction

* Tests: reducer tests

* Test(Explore): Added tests and made thunkTester async

* Fix(Explore): Fixed so that we do not render StartPage if there is no StartPage

* Fix(Explore): Missed type in merge

* Refactor: Thunktester did not fail tests on async failures and prevented queires from running on datasource failures

* Feat: Fadein error alert to prevent flickering

* Feat: Refresh labels after reconnect

* Refactor: Move useLokiForceLabels into useLokiLabels from PR comments

* Feat: adds refresh metrics to Prometheus languageprovider

* Style: removes padding for connected datasources

* Chore: remove implicit anys
2019-04-01 07:38:00 +02:00
Marcus Efraimsson
e69039d8d1 docs: improve alert notification channel provisioning (#16262) 2019-03-31 20:50:32 +07:00
Torkel Ödegaard
dc4bc426f5 Build: Moved the failing appveyor file so we can get green builds in master 2019-03-30 06:41:27 +01:00
Ryan McKinley
e43aa220c0 Fix: Build report the correct directives before failing (#16312) 2019-03-30 06:21:24 +01:00
Navaneesh Kumar
545da8ffb0 Fix: input elements autofill background (#16295) 2019-03-29 18:21:22 +01:00
Dominik Prokop
6b2c81bcf2 Fix: Bring back styles on Switch components when checked
Fixed bug introduced by replacing native input with @grafana/ui/Input component.

Switch's styling relies on native input checked attribute used in adjacent sibling selector. Because React based Input is wrapped in div, there was no chance for styling to work
2019-03-29 16:50:37 +01:00
Hugo Häggmark
40a1752497 Update CHANGELOG.md
Fix: change from unrelease to 2019-03-27 for 6.1.0-beta1
2019-03-29 15:41:39 +01:00
Hugo Häggmark
8368576249 Chore: breaks build if certain FrontEnd limits are exceeded (#16301)
Build: breaks build if certain FrontEnd limits are exceeded
2019-03-29 15:32:58 +01:00
Torkel Ödegaard
74ae756d02 Fix: Graphite query ast to string fix (#16297)
Fixes #16291
2019-03-29 14:25:44 +01:00
Torkel Ödegaard
5c3a0a624a Fix: Template query editor this bind exception fix (#16299)
Also fixes the default 100% width of inputs.
Fixes #16298
2019-03-29 14:25:11 +01:00
Marcus Efraimsson
79b86466fd Fix: Alerting Notification channel http api fixes (#16288)
Fix so that uid can be changed when updating notification
channels through the http api.
Update documentation
2019-03-29 09:42:38 +01:00
Ryan McKinley
bfba47c6c4 Refactor: Move LogLevel and Labels utils to @grafana/ui (#16285)
* rename Tags to Labels in SeriesData

* move some logs stuff to grafana/ui

* add roundtrip tests
2019-03-29 09:41:37 +01:00
Ryan McKinley
d0d5b38572 Refactor: Rename Tags to Labels in SeriesData (simple) (#16284)
* rename Tags to Labels in SeriesData

* copy timeseries tags to labels
2019-03-29 09:24:16 +01:00
Igor Ratsuk
930fd8b43a Elasticsearch: Fix view percentiles metric in table without date histogram (#15686)
Fix for properly display percentiles metrics in table panel when 
using a query without date histogram and for example grouping by 
terms.

Fixes #3786
2019-03-29 13:22:04 +07:00
kleph
7ddb770e3b Configuration: Improve session_lifetime comments (#16238) 2019-03-29 13:10:20 +07:00
Zzy
1b84a924a3 Alerting: Makes timeouts and retries configurable (#16259)
Adds new alert settings for configuring timeouts and retries named 
evaluation_timeout_seconds, notification_timeout_seconds 
and max_attempts.

Closes #16240
2019-03-29 12:58:37 +07:00
Ryan McKinley
e6d9a524b4 Fix: Correct SnapshotData typing (#16279) 2019-03-28 20:59:59 +01:00
Ryan McKinley
03951c00cb Feat: Angular panels & SeriesData to Table/TimeSeries (#16266)
Similar to how the react panels make sure all data is SeriesData before passing it to the react panels, this makes sure SeriesData is converted to TableData|TimeSeries before passing it to the angular panels.

It also changes the typing to encourage using SeriesData for future development
2019-03-28 18:21:53 +01:00
Ryan McKinley
236074ea47 Fix: React Graph & Show message on no data (#16278) 2019-03-28 18:15:20 +01:00
Dominik Prokop
9fd824960f Feature: added actionable message in Explore when no datasource configured (#16252) 2019-03-28 17:17:01 +01:00
Steven Sheehy
0bc314a47b Feature: Case insensitive Loki search (#15948)
* Case insensitive Loki search
* Make Loki case insensitivity work with highlighting

Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
2019-03-28 15:58:19 +01:00
Ryan McKinley
c8b2102500 Feat: Singlestat panel react progress & refactorings (#16039)
* big value component

* big value component

* editor for font and sparkline

* less logging

* remove sparkline from storybook

* add display value link wrapper

* follow tooltip

* follow tooltip

* merge master

* Just minor refactoring

* use series after last merge

* Refactoring: moving shared singlestat stuff to grafana-ui

* Refactor: Moved final getSingleStatDisplayValues func
2019-03-28 14:57:49 +01:00
Oleg Gaidarenko
1d955a8762 Chore: Implement gosec (#16261)
See https://github.com/securego/gosec for more info.

Disabled a lot of rules. I guess we should go through them
and recheck if we really need to disable some

Fixes #16204
2019-03-28 14:17:07 +01:00
Torkel Ödegaard
ad939b0583 Fix: Updated snapshot unit test that was failing 2019-03-28 11:31:46 +01:00
Patrick O'Carroll
fbcc10994e Refactor: Theme & Removed the last rems (#16245)
* repalced rems with pixels and variables

* replaced rems with pixels and variables

* removed last rems by deleting unused classes or replacing with pixels and variables

* restored edit-sidemenu etc with comment
2019-03-28 11:14:30 +01:00
Patrick O'Carroll
52851a38b8 Refactor: Theme input padding variables (#16048)
* removed input padding variables and replaced with new inset variables, also removed unused class in _gf-form

* removed last input padding variable

* removed table-cell-padding variable

* added input padding variable to template file

* fixed input-padding variable

* removed regualt inset variable(for now), added input-padding to a class

* removed empty line
2019-03-28 11:13:53 +01:00
Ryan McKinley
0112bdeb6a Feat: More robust csv support (#16170)
* stream csv

* merged master

* merged master

* fix test failures

* add csv files

* update boolean parsing

* add toCSV

* add toCSV

* add toCSV

* add streaming datasource

* set time range

* streaming to a graph

* streaming datasource

* streaming table

* add server to the streaming

* remove react streaming
2019-03-28 10:49:09 +01:00
Dennis Hoppe
749c76f2a1 Docs: Fix rpm dependencies example (#16272)
The current version of Grafana requires the package ```urw-fonts```.
2019-03-28 10:12:22 +01:00
flopp999
0bca6bcb27 Fix: HTML meta tags fix for iOS (#16269) 2019-03-28 09:23:43 +01:00
Dominik Prokop
206921d21b Feature: Introduced CallToActionCard to @grafana/ui (#16237)
CallToActionCard is an abstraction to display a card with message, call to action element and a footer. It is used i.e. on datasource add page.
2019-03-27 22:33:20 +01:00
Ryan McKinley
5324bb4f11 Refactor: Rename TimeSeriesVM to GraphSeriesXY (#16216)
* Rename TimeSeriesVM to Trace

* remove TimeSeriesVM from types

* rename to GraphSeriesVM

* rename again

* now GraphSeriesXY
2019-03-27 21:51:10 +01:00
Oleg Gaidarenko
04b3afcd15 Chore: Implement revive (#16200)
Since we do not like some of the default golint rules,
this commit proposes to use https://github.com/mgechev/revive.

And potential revive speed-up should't hurt :).

Right now, presented config (./conf/revive.toml) is permissive,
we might improve it over time however. Fixes for found revive
issues in the code are very limited so it wouldn't be large to review.

Also in this commit:

* Add annotations for makefile commands and declare phony targets

* Rename "gometalinter" script and CI command to "lint"
  since we are doing there a bit more then using gometalinter package

* Add Makefile rules to .editorconfig

* Documentation which mentioned "golint" replaced with revive

Fixes #16109
Ref #16160
2019-03-27 17:53:49 +01:00
Floyd May
33d1d427bc InfluxDB: Fix tag names with periods in alerting (#16255)
Updates regex to match tag names with periods when generating
series names in alerting evaluation (backend).

Fixes #9148
2019-03-27 23:13:12 +07:00
Šimon Podlipský
00a07c855d Fix: Table Panel and string values & numeric formatting (#16249) 2019-03-27 15:18:15 +01:00
Šimon Podlipský
ad6b11c90a Tech: Patch lib updates, update yarn.lock (#16250) 2019-03-27 15:13:45 +01:00
Daniel Lee
0e2d279e3a Chore: docs whats new article for the 6.1 release (#16251) 2019-03-27 13:43:37 +01:00
Dominik Prokop
58109ec5ac Chore: Storybook improvements (#16239)
- Fixed BarGauge story throwing an error
- Added helpers for aligning stories
2019-03-27 12:49:27 +01:00
Dominik Prokop
c9e4fedaa8 Feat: Introduce Button and LinkButton components to @grafana/ui (#16228)
- Bumped Storybook to v5
- Introduced Emotion
- Add additional config for storybook (combinations add-on, default padding in preview pane)
- Added basic react based button components
- Introduced AbstractButton, Button and LinkButton components together with stories
- Exposed button components from @grafana/ui
2019-03-27 11:50:36 +01:00
Daniel Lee
232b7fd698 Chore: changelog adds note for #16234 2019-03-27 11:46:47 +01:00
Daniel Lee
8a8a1b8e11 Fix: Prometheus regex ad-hoc filters w/ wildcards (#16234)
Fixes #14615.

Removes extra escaping for regex filter values when using ad hoc
filters for Prometheus. The extra escaping causes queries with
regex characters to be invalid.
2019-03-27 11:43:17 +01:00
Daniel Lee
bbdc1e6bd8 Chore: changelog notes for #13825,#15205,#14877,#16227 2019-03-27 09:49:23 +01:00
Navaneesh Kumar
5ea823a65a Fix: Alert email variable name typo fixed (#16232) 2019-03-27 09:42:20 +01:00
Daniel Lee
3146500de5 Fix: scripts changelog cli per page set to 100
GitHub pagination was limiting the result to 30 issues.
This fix makes the changelog script return up to 100
issues. Will have to add a loop to fetch more once we
merge more than 100 PR's that should be added to the
changelog.

Also, fixes a bug where issues that were not included
in the milestone were being returned.
2019-03-27 09:38:28 +01:00
Navaneesh Kumar
ab541e2e13 Fix: Dashboard history diff & white theme fix (#16231) 2019-03-27 09:24:44 +01:00
Hugo Häggmark
7f9ad77153 Merge pull request #16241 from grafana/hugoh/no-implicit-any
Chore: Eliminate implicit anys in backend_srv
2019-03-27 09:14:16 +01:00
Patrick O'Carroll
2271471826 Chore: Theme consistency, rems => pixels or variables (#16235)
* repalced rems with pixels and variables

* replaced rems with pixels and variables
2019-03-27 09:14:02 +01:00
Patrick O'Carroll
75e3d3e59a Chore: Theme consistency, rems => pixels (#16145)
* replaced rem with pixels or variables

* replaced rems with pixels or variables

* repalced rems with pixels and variables
2019-03-27 08:48:24 +01:00
Daniel Lee
2637c653ef changelog: adds notes for #16229 and #16227 2019-03-26 17:03:08 +01:00
Daniel Lee
462e0d0c6f Fix: Elasticsearch fix template variables in the alias field (#16629)
Fixes #16040

Fix so that a template variable in the alias field is not interpolated on blur and only the value sent in the query is interpolated. Does a deep clone of the options.targets to avoid changing the original alias field.
2019-03-26 16:15:23 +01:00
Torkel Ödegaard
c02782c0ec Fix: TablePanel column color style now works even after removeing styles, fixes #16162 (#16227) 2019-03-26 15:18:46 +01:00
Torkel Ödegaard
6ef11872f7 Docs: Updated changelog for 6.1 release (#16224)
* Docs: Updated changelog for 6.1 release

Also Updates the changelog cli task to group issues into bug fixes
and not bug fixes.

* Minor changelog fixes
2019-03-26 13:26:20 +01:00
Marcus Efraimsson
2ae63e70c0 Alerting: Notification channel http api enhancements (#16219)
Now returns uid in response to get notification channel by id.
Adds GET/PUT/DELETE support for notification channel by uid, 
  /api/alert-notifications/uid/:uid.
Break apart alerting and alert notification http api docs in two 
  pages and update documentation to make it up to date
  with current implementation.

Fixes #16012
2019-03-26 18:37:02 +07:00
Daniel Lee
9f58b85693 Merge pull request #16210 from grafana/16187_docs
docs: loki provisioning
2019-03-26 09:46:14 +01:00
Ryan McKinley
f963033d2a Upgrades: Patch updates to yarn lock (#16215) 2019-03-26 08:49:09 +01:00
Ryan McKinley
6bec36ea04 Fix: DatasourceApi query response typing fix (#16214) 2019-03-26 08:45:15 +01:00
Marcus Efraimsson
6b8e3122f8 chore(influx): no point of reading response when bad status (#16212)
There's no point in reading the body response without using
the result so removing it.

Fixes #9199
Ref #16207
2019-03-26 12:10:24 +07:00
Marcus Efraimsson
29fc1ed77b docs: loki provisioning 2019-03-26 11:59:12 +07:00
Daniel Lee
fda7e686f3 Merge pull request #15205 from seanlaff/12556-oauth-pass-thru
Add oauth pass-thru option for datasources
2019-03-25 21:52:20 +01:00
Andrej Ocenas
516b7ce845 docs(dev): Update docs about devenv dir (#16208)
* Update readmes

* Fix devenv dasboard query

* Update devenv readme

* Add link to devenv from docs
2019-03-25 21:14:24 +01:00
Marcus Efraimsson
6c9b9b360a fix(dashboard): time regions spanning across midnight (#16201)
Fixes #14590
2019-03-25 23:51:10 +07:00
Ramon Carvalho Maciel
d791a6211d fix(InfluxDB): Reads body and close request body even for error status codes (#16207) 2019-03-25 17:42:26 +01:00
Ryan McKinley
941b770c46 chore: more TableData to SeriesData renaming (#16206) 2019-03-25 17:30:53 +01:00
Torkel Ödegaard
dbc2f2761a fix(panels/graph): Default option name for spaceLength was accidentally changed (#16205) 2019-03-25 17:12:39 +01:00
Dominik Prokop
9655eeda18 fix(explore): only show split close button when split is active (#16203) 2019-03-25 16:44:09 +01:00
Torkel Ödegaard
8ef1c75aa1 fix(react2angular): Fixed react to angular wrapper watching function expressions causing infinte digest loop, fixes #16194 (#16196) 2019-03-25 16:29:09 +01:00
Torkel Ödegaard
7c81f4dfd8 fix(Alerting): Fixed alert rules with eval in day units, fixes #16174 (#16182) 2019-03-25 16:27:58 +01:00
Peter Holmberg
8a396acdb4 fix(panel/table): Fix for white text on white background when value is null 2019-03-25 16:21:07 +01:00
Peter Holmberg
4898502e4e refactor(grafana/ui): Replace <input />with Input component from grafana/ui (#16085)
* replace with Input component from grafana/ui

* removing placeholder classname

* change import

* fix import
2019-03-25 15:53:05 +01:00
Steven Sheehy
dd388ed578 fix(loki): Hide empty labels column
Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
2019-03-25 15:23:54 +01:00
Leonard Gram
8dfa1f4c12 build: fixes publishing version. 2019-03-25 15:01:45 +01:00
Ryan McKinley
77b3da3e8b refactor(data models): Renamed TableData to SeriesData (#16185) 2019-03-25 14:46:16 +01:00
Daniel Lee
c7d108264d Merge pull request #16137 from mtanda/cloudwatch_update_metrics_list
update cloudwatch metrics/dimensions list
2019-03-25 14:42:15 +01:00
Andrej Ocenas
a978e28e7c chore(core/utils): Add typings to datemath.ts (#16195)
* Add typings

* Remove explicit cast
2019-03-25 14:32:55 +01:00
Ryan McKinley
e5c8375ec2 only call onPanelMigration when the version actually changes (#16186)
* set the plugin version if there is a migration handler
* only call panel migration if the version changes
* set the version after change also
* avoid NPE... check that we have options
* destroy is based on the previous panel type, not the next one
* Panels: Minor refactoring on panel plugin version code, #16186
2019-03-25 14:10:23 +01:00
Dominik Prokop
a8c50ed6ba feat(explore): make it possible to close left pane of split view (#16155)
* feat(explore): make it possible to close left pane of split view

* Use action's type prop instead of enum
2019-03-25 12:49:15 +01:00
Dominik Prokop
c2e9daad1e feat(Explore): make sure Loki labels are up to date (#16131)
* Migrated loki syntax and labels logic to useLokiSyntax hook

* Enable loki labels  refresh after specified interval has passed

* Enable periodic loki labels refresh when labels selector is opened

* Fix prettier

* Add react-hooks-testing-library and disable lib check on typecheck

* Add tests for loki syntax/label hooks

* Move tsc's skipLibCheck option to tsconfig for webpack to pick it up

* Set log labels refresh marker variable when log labels fetch start

* Fix prettier issues

* Fix type on activeOption in useLokiLabel hook

* Typo fixes and types in useLokiSyntax hook test fixes

* Make sure effect's setState is not performed on unmounted component

* Extract logic for checking if is component mounted to a separate hook
2019-03-25 12:08:28 +01:00
Leonard Gram
cf7a5b552b build: makes sure grafana.version is available when deploying. 2019-03-25 11:40:56 +01:00
Hugo Häggmark
d563505dd3 fix: added missing event to function signature
Fixes: #16055
2019-03-25 11:23:59 +01:00
Torkel Ödegaard
e578e8d2dc Merge pull request #16189 from grafana/hugoh/explore-graphite-url-not-working
Added target as isMetric property
2019-03-25 10:54:22 +01:00
Leonard Gram
f0c6a480cd build: refactoring 2019-03-25 09:48:45 +01:00
Leonard Gram
768c7b6f4a build: updated build container with support for rpi1. 2019-03-25 09:48:45 +01:00
Leonard Gram
ff977331f4 build: support for publishing armv6. 2019-03-25 09:48:45 +01:00
Leonard Gram
6e802dc94d build: builds armv6 with rpi1 compat gcc. 2019-03-25 09:48:45 +01:00
Hugo Häggmark
b42dec7353 fix: added target and datasource as isMetric property
Fixes: #15862
2019-03-25 09:08:17 +01:00
Torkel Ödegaard
35965e0efd Merge pull request #16184 from grafana/remove-implicit-anys-progress
chore: Removed implicit anys in react container and test helpers
2019-03-25 07:50:00 +01:00
Torkel Ödegaard
e3d33e6c4a chore: Removed implicit anys in react container and test helpers 2019-03-24 20:27:12 +01:00
Torkel Ödegaard
090b3f6c6d Merge pull request #16166 from ryantxu/drop-panel-plugin-setters
Refactor ReactPanelPlugin change hooks -> handler & add panel version to json
2019-03-24 19:07:06 +01:00
Torkel Ödegaard
7b97565550 Merge branch 'master' into drop-panel-plugin-setters 2019-03-24 18:37:14 +01:00
Torkel Ödegaard
f4f5eeeb18 Pamels: Options are always there 2019-03-24 18:34:43 +01:00
Torkel Ödegaard
e03c7bf1a3 Panels: Support angular -> react migration via PanelMigrationHandler 2019-03-24 17:11:00 +01:00
Torkel Ödegaard
20fec4d261 Panels: Added more tests for change panel plugin 2019-03-24 16:39:55 +01:00
Torkel Ödegaard
0d55141a2d Panels: Refactoring how panel plugins sets hooks and components, #16166 2019-03-24 15:56:32 +01:00
Marcus Efraimsson
24ad47aa64 Merge pull request #16179 from paulfantom/patch-1
clarify notifications API docs
2019-03-24 18:22:25 +07:00
Paweł Krupa
2a207d6970 clarify notifications API docs 2019-03-24 11:49:20 +01:00
Torkel Ödegaard
292f54ba37 Merge branch 'drop-panel-plugin-setters' of https://github.com/ryantxu/grafana into ryantxu-drop-panel-plugin-setters 2019-03-24 07:54:07 +01:00
Torkel Ödegaard
5572323581 Merge pull request #16173 from ryantxu/no-process-timeseries
remove TimeSeriesStats and processTimeSeries
2019-03-24 07:43:06 +01:00
ryan
e48767a14a remove processTimeSeries 2019-03-23 13:18:00 -07:00
ryan
d6ae76c8a3 merge master 2019-03-23 13:13:09 -07:00
ryan
009cd086aa merge master 2019-03-23 13:07:46 -07:00
Torkel Ödegaard
5d1450dee1 Merge branch 'master' into no-process-timeseries 2019-03-23 17:59:20 +01:00
Torkel Ödegaard
4db914578c Merge pull request #16171 from ryantxu/pie-display
use displayValue in pie chart
2019-03-23 17:57:05 +01:00
Torkel Ödegaard
0d62d1b47f Merge pull request #16172 from ryantxu/rename-stat-to-show
rename stat to show in UI
2019-03-23 17:56:04 +01:00
Torkel Ödegaard
fa81ba8ffc Merge pull request #16165 from ryantxu/rename-float-test
renamed floatPairs.test.ts
2019-03-23 07:24:21 +01:00
ryan
65476d4044 don't use process timeseries 2019-03-22 15:40:17 -07:00
ryan
56e1528c0e rename stat to show in UI 2019-03-22 15:23:51 -07:00
ryan
2e079659f8 use display value in pie chart 2019-03-22 15:16:04 -07:00
ryan
6da2f132c7 keep plugin versions 2019-03-22 13:45:09 -07:00
ryan
82be27a42a remove panel plugin setters 2019-03-22 13:12:35 -07:00
ryan
47b3fc5e63 renamed float to flot 2019-03-22 12:48:16 -07:00
Torkel Ödegaard
0f0f76b602 Merge pull request #15938 from ryantxu/table-reducer
Calculate stats on TableData
2019-03-22 20:44:05 +01:00
ryan
f9fb1210e9 prevOptions should be optional 2019-03-22 10:55:31 -07:00
ryan
d8595e9f4e moved migration hook to its own function 2019-03-22 10:22:25 -07:00
Torkel Ödegaard
a6c2a8c3cc Merge branch 'master' into table-reducer 2019-03-22 15:55:21 +01:00
Torkel Ödegaard
beba9676f6 Minor refactoring of stats picker / shared singlestat code 2019-03-22 15:25:33 +01:00
Hugo Häggmark
eedbc485dd Makes it possible to navigate back/forward with browser buttons in Explore (#16150)
Make it possible to navigate back/forward with browser buttons in Explore
2019-03-22 15:24:30 +01:00
Torkel Ödegaard
bfc54b6424 Merge pull request #16134 from grafana/auto-decimals-graph-panels
Auto decimals react singlestat panels
2019-03-22 14:57:15 +01:00
Torkel Ödegaard
dba64a4e88 Moved DisplayValueOptions type back, #16134 2019-03-22 14:33:17 +01:00
Torkel Ödegaard
7cae6d5271 Merge pull request #16149 from grafana/graphite-variable-quoting
Graphite: fixed variable quoting when variable value is nummeric
2019-03-22 13:39:48 +01:00
Torkel Ödegaard
0ece3abbd0 Merge pull request #16152 from grafana/mtanda-prometheus_annotation_deduplication
Prometheus: Dedup annotations events with same timestamp
2019-03-22 13:38:47 +01:00
Torkel Ödegaard
e0ecbc4c68 Merge branch 'table-reducer' of https://github.com/ryantxu/grafana into ryantxu-table-reducer 2019-03-22 13:36:49 +01:00
Peter Holmberg
5a5aed10a1 adding check for decimals 2019-03-22 13:35:40 +01:00
Peter Holmberg
94d129e479 add one more test 2019-03-22 13:07:39 +01:00
Torkel Ödegaard
10d46bb61c Merge pull request #16144 from markelog/license-2
Link license corrections
2019-03-22 13:00:22 +01:00
Torkel Ödegaard
732ea8eea5 Graphite: fixed variable quoting when variable value is nummeric, fixes #2078 2019-03-22 12:57:07 +01:00
Torkel Ödegaard
d5a56b0bed Minor refactoring of #16127 2019-03-22 12:51:12 +01:00
Torkel Ödegaard
c7c0ba5a5a Merge branch 'prometheus_annotation_deduplication' of https://github.com/mtanda/grafana into mtanda-prometheus_annotation_deduplication 2019-03-22 12:45:46 +01:00
Torkel Ödegaard
a0d2e5861d Merge pull request #16136 from grafana/rem-removal-2
Replaced rems with pixels or variables (part 2)
2019-03-22 12:30:06 +01:00
Torkel Ödegaard
31dc3cfcf4 Merge pull request #16111 from grafana/graphite-series-by-tag-issue
Graphite: Fixed issue with using series ref and series by tag
2019-03-22 12:24:40 +01:00
Torkel Ödegaard
229d73b609 Update provisioning.md 2019-03-22 11:49:27 +01:00
Torkel Ödegaard
50a10706b0 Graphite: Fixed issue with using series ref and series by tag, fixes #15237 2019-03-22 11:42:09 +01:00
Peter Holmberg
08a4c9f6fa move typings to types, 2019-03-22 10:42:17 +01:00
Oleg Gaidarenko
8ac5c91004 Link license corrections
Follow-up for 7316bdc99f
2019-03-22 09:52:09 +01:00
Torkel Ödegaard
46a75099d8 Merge pull request #16116 from SGI495/master
Don't include non-existing image in MS Teams alert
2019-03-22 09:34:56 +01:00
Dominik Prokop
d3a321cac1 Merge pull request #16138 from grafana/tooling/storybook-sass-theme
Enable sass theme change in Storybook
2019-03-22 09:27:50 +01:00
Torkel Ödegaard
268dca5b3d Merge pull request #16112 from ryantxu/show-all-columns
show all numeric columns in singlestats/graph2
2019-03-22 09:19:18 +01:00
Torkel Ödegaard
ded73c9733 Merge pull request #16140 from markelog/license
Small license correction
2019-03-22 08:33:31 +01:00
ryan
78a9243721 remove logging 2019-03-22 00:21:04 -07:00
ryan
658f419cab add stat picker to single stat 2019-03-22 00:14:50 -07:00
ryan
8e6279cbca removed option to not check strings 2019-03-21 22:25:02 -07:00
ryan
3f44445dd6 drop one level of nesting 2019-03-21 21:58:10 -07:00
ryan
7498de044c cleanup and guess all columns 2019-03-21 21:52:58 -07:00
Oleg Gaidarenko
7316bdc99f Small license correction
It seems the license should be applied little bit differently -
https://github.com/search?l=&o=desc&q=license%3Aapache-2.0&s=stars&type=Repositories.

Also see https://apache.org/licenses/LICENSE-2.0#apply
2019-03-21 16:36:24 +01:00
Mitsuhiro Tanda
4d8eb76dca update cloudwatch metrics/dimensions list 2019-03-22 00:08:17 +09:00
Dominik Prokop
35f6039da7 Enable sass theme change in Storybook 2019-03-21 16:06:55 +01:00
ryan
f8094a6e09 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master: (107 commits)
  another change that didn't come with earlier commit
  change that didn't come with in last commit
  reversed dashboard-padding
  Update CloudWatch metrics/dimension list (#16102)
  brought back dashboard-padding and panel-padding variables, made dashboard-padding more specific
  fix(prometheus): Change aligment of range queries (#16110)
  Minor refactoring of testdata query order PR #16122
  cleaner version
  maintain query order
  Update PLUGIN_DEV.md
  Merge with master, and updated logo and name
  update table data model
  fix(graphite): nonNegativeDerivative argument hidden if 0, fixes #12488
  Correct table names of sql storage for remotecache
  more fixes to snapshot
  more fixes to snapshot
  Fixed gofmt issue in PR #16093
  removed empty space in snapshot
  fix: Update snapshot related to new jest version
  fixed snapshot for test
  ...
2019-03-21 08:01:11 -07:00
ryan
50ebc768c8 Merge remote-tracking branch 'grafana/master' into show-all-columns
* grafana/master: (56 commits)
  another change that didn't come with earlier commit
  change that didn't come with in last commit
  reversed dashboard-padding
  Update CloudWatch metrics/dimension list (#16102)
  brought back dashboard-padding and panel-padding variables, made dashboard-padding more specific
  fix(prometheus): Change aligment of range queries (#16110)
  Minor refactoring of testdata query order PR #16122
  cleaner version
  maintain query order
  Update PLUGIN_DEV.md
  Merge with master, and updated logo and name
  more fixes to snapshot
  more fixes to snapshot
  removed empty space in snapshot
  fixed snapshot for test
  removed dashboard variables, removed headings-font-family variable, created theme variables for links and z-index, removed unused class in _panel_editor and _dashboard
  Tooltip: show percent instead of value
  Right tooltip position
  Add "No data points" message
  Improve tooltip look
  ...
2019-03-21 07:59:58 -07:00
Torkel Ödegaard
f2e1bfcde7 Merge pull request #16099 from grafana/dashboard-variables-and-some-more
Removed dashboard variables + minor things
2019-03-21 15:56:32 +01:00
ijin08
85bfb1dba8 replaced rems with pixels or variables 2019-03-21 15:44:14 +01:00
Peter Holmberg
6e05b9f41c adding test 2019-03-21 14:05:45 +01:00
Peter Holmberg
528f085c96 updating usages in singlestat 2019-03-21 14:03:53 +01:00
Peter Holmberg
205a5baa56 Sorting imports 2019-03-21 13:49:12 +01:00
Peter Holmberg
c0ab877966 adding function 2019-03-21 13:45:50 +01:00
Sean Lafferty
50c5854430 Use grafana's logger implementation 2019-03-21 08:13:03 -04:00
ijin08
eaaa1681e2 another change that didn't come with earlier commit 2019-03-21 12:29:13 +01:00
ijin08
45e361ef13 change that didn't come with in last commit 2019-03-21 12:26:35 +01:00
ijin08
8d03db2474 reversed dashboard-padding 2019-03-21 12:15:13 +01:00
Mitsuhiro Tanda
56251ca546 Update CloudWatch metrics/dimension list (#16102)
update cloudWatch metrics/dimension list
2019-03-21 11:13:06 +01:00
ijin08
29e68ba1fc brought back dashboard-padding and panel-padding variables, made dashboard-padding more specific 2019-03-21 11:10:44 +01:00
ijin08
2db02bd240 replaced rem with pixels or variables 2019-03-21 10:43:06 +01:00
David
9008fcc790 fix(prometheus): Change aligment of range queries (#16110)
- future alignment cause issues with rate charts and the display of last
values
- this change modifies the alignment to use the last available aligned
end date and no longer possibly requests data from the future
2019-03-21 10:25:20 +01:00
Mitsuhiro Tanda
38457fabc1 fix, assign by event.time 2019-03-21 16:39:37 +09:00
Torkel Ödegaard
8847da0d69 Merge pull request #16121 from joshuawoodward/patch-1
Update PLUGIN_DEV.md
2019-03-21 08:36:52 +01:00
Torkel Ödegaard
6b6029d82d Merge pull request #16117 from grafana/very-alpha-pie-chart
Very alpha pie chart
2019-03-21 08:36:25 +01:00
Torkel Ödegaard
85b0df551c Minor refactoring of testdata query order PR #16122 2019-03-21 08:01:44 +01:00
Mitsuhiro Tanda
e868475c5b simplify 2019-03-21 15:48:22 +09:00
Mitsuhiro Tanda
e1a2b258af deduplicate same value annotation 2019-03-21 10:26:46 +09:00
ryan
c91e5a2db4 cleaner version 2019-03-20 14:50:46 -07:00
ryan
80d6475224 maintain query order 2019-03-20 12:50:58 -07:00
Sean Lafferty
b3461c9806 Remove sleeps in test code by overriding time.Now() 2019-03-20 15:34:31 -04:00
Joshua Woodward
742a76e4c5 Update PLUGIN_DEV.md 2019-03-20 12:24:54 -07:00
Sean Lafferty
3b9b6c571a Abstract encrypt/encode and decode/decrypt into their own functions 2019-03-20 15:18:22 -04:00
Sean Lafferty
b696492891 Rename dispatched commands to make them easy to grok 2019-03-20 14:32:41 -04:00
ryan
0558b17b9e show all colums in graph 2019-03-20 11:27:56 -07:00
Sean Lafferty
be6e76ee35 Use structured logging instead of printf 2019-03-20 14:25:26 -04:00
Sean Lafferty
dba2df19e8 Make all http auth setting labels the same width 2019-03-20 14:19:29 -04:00
Torkel Ödegaard
e4e553b5a2 Merge with master, and updated logo and name 2019-03-20 19:17:23 +01:00
ryan
e7a6041d22 Merge remote-tracking branch 'grafana/master' into show-all-columns
* grafana/master:
  flot pairs
2019-03-20 11:16:03 -07:00
Torkel Ödegaard
ac82fc03d9 Merge branch 'piechart-react' of https://github.com/CorpGlory/grafana into CorpGlory-piechart-react 2019-03-20 19:01:37 +01:00
Magnus Berglund
e6623de6b2 Rewrote creation of images tag 2019-03-20 18:59:13 +01:00
Torkel Ödegaard
93677f16d3 Merge pull request #16095 from ryantxu/flot-pairs
calculate flot pairs
2019-03-20 18:52:10 +01:00
Magnus Berglund
0511095303 Added missing commas 2019-03-20 18:42:48 +01:00
ryan
0cfa929d4c incorporate torkels feedback 2019-03-20 10:32:34 -07:00
Magnus Berglund
0de77598d7 Don't include non-existing image in MS Teams alert
If an image section is included in the JSON payload for MS Teams alerts
when no image URL exists, rendering of the alert in the client fails.
This change makes sure that an image section is only included in the
JSON payload if an image URL exists.

Closes #16082
2019-03-20 18:23:36 +01:00
Torkel Ödegaard
3884ac855e Merge pull request #16105 from grafana/graphite-fix-0-arg
Graphite: fixed nonNegativeDerivative argument hidden if 0
2019-03-20 18:18:47 +01:00
Torkel Ödegaard
bb14be9148 Merge pull request #16115 from ryantxu/column-types
update TableData model
2019-03-20 18:12:10 +01:00
ryan
5947c1f76d cast to column 2019-03-20 09:56:53 -07:00
ryan
a9cc8a8992 update table data model 2019-03-20 09:45:19 -07:00
ryan
c4a503dbc5 show all columns in singlestats 2019-03-20 09:07:11 -07:00
ryan
2c8e1cbdb1 merge with master 2019-03-20 08:16:34 -07:00
Torkel Ödegaard
78d93315a9 fix(graphite): nonNegativeDerivative argument hidden if 0, fixes #12488 2019-03-20 15:35:34 +01:00
Oleg Gaidarenko
30f0c35006 Merge pull request #16104 from markelog/remotecache-small-fix
Correct table names of sql storage for remotecache
2019-03-20 14:08:02 +01:00
Oleg Gaidarenko
c5bc723a6e Correct table names of sql storage for remotecache 2019-03-20 13:24:56 +01:00
ijin08
6471f6feb0 more fixes to snapshot 2019-03-20 11:37:45 +01:00
ijin08
67e802c595 more fixes to snapshot 2019-03-20 11:13:19 +01:00
Torkel Ödegaard
e5d84f8c74 Merge pull request #15967 from grafana/bump-webpack
Bump npm packages related to the dev process
2019-03-20 11:00:45 +01:00
Torkel Ödegaard
665f7acade Merge branch 'master' of github.com:grafana/grafana 2019-03-20 10:59:41 +01:00
Torkel Ödegaard
1085055d61 Merge PR https://github.com/grafana/grafana/pull/16093 2019-03-20 10:59:05 +01:00
Torkel Ödegaard
d11695b8b5 Fixed gofmt issue in PR #16093 2019-03-20 10:58:20 +01:00
Torkel Ödegaard
ab5848ca14 Merge pull request #16096 from grafana/fix/15691-refresh-issue-playlists
Fixing issue with refresh playlists
2019-03-20 10:52:16 +01:00
Torkel Ödegaard
fd4ee6b032 Merge branch 'patch-1' of https://github.com/sairam0903/grafana into sairam0903-patch-1 2019-03-20 10:50:11 +01:00
ijin08
7fcb9777c0 removed empty space in snapshot 2019-03-20 10:49:34 +01:00
Johannes Schill
13f70be5f0 fix: Update snapshot related to new jest version 2019-03-20 10:36:33 +01:00
ijin08
2a53be050c fixed snapshot for test 2019-03-20 10:29:28 +01:00
Torkel Ödegaard
0091b86e9c Merge pull request #16078 from grafana/secret-input-field-component
Secret input field component
2019-03-20 10:15:33 +01:00
Johannes Schill
e0e6dd8fb0 Regenerate lockfile due to the amount of merge conflicts. 2019-03-20 09:50:53 +01:00
ijin08
9e57195b1d removed dashboard variables, removed headings-font-family variable, created theme variables for links and z-index, removed unused class in _panel_editor and _dashboard 2019-03-20 09:48:19 +01:00
Johannes Schill
7dec4a9f2d Merge branch 'master' into bump-webpack
# Conflicts:
#	package.json
#	yarn.lock
2019-03-20 09:43:33 +01:00
Andrej Ocenas
a26dc64ebe Remove commented code 2019-03-20 09:20:30 +01:00
Peter Holmberg
81afd68752 Merge branch 'master' into fix/15691-refresh-issue-playlists 2019-03-20 09:17:57 +01:00
Torkel Ödegaard
abd8948478 Merge pull request #15864 from ryantxu/all-data-as-table
Use TableData for all data in react
2019-03-20 09:15:06 +01:00
Torkel Ödegaard
0a2d69c794 Merge pull request #16089 from grafana/no-implicit-any-fixes-p4
Fixed no implicit any for form dropdown & panel model
2019-03-20 07:01:14 +01:00
Torkel Ödegaard
b203868a9f Merge pull request #16034 from ryantxu/table-cell-measure
Don't measure cell widths in react table
2019-03-20 06:59:19 +01:00
ryan
2f8dd898b0 flot pairs 2019-03-19 22:22:38 -07:00
ryan
7e56514c5a add more functions and tests 2019-03-19 21:19:58 -07:00
ryan
37bb5ef790 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master: (101 commits)
  refactor: merged types and updated references
  Remove leftover from first iteration
  Snapshot update
  fix: ts issue on SelectOption test
  chore: Bump react and react-dom to 16.8.4
  Update latest.json
  Update templating.md
  Update CHANGELOG.md
  chore: cleaning up noimplicit anys in search_srv and tests progress: #14714
  Fix threshold editor color picker not working for custom colors
  Updated threshold editor test
  Re-render gauge / singlestat panels when changing options
  fix: refactored so members are loaded by TeamPages and use hideFromTabs instead of filtering out children in navModel
  teams: explains the external property of a team membership.
  fix: fixed snapshots and permission select not beeing able to click
  fix: new team link goes nowhere for viewers
  teams: refactor so that you can only delete teams if you are team admin
  permissions: removes global access to bus from MakeUserAdmin.
  teams: local access to bus, moving away from dep on global.
  teams: better names for api permissions.
  ...
2019-03-19 20:30:11 -07:00
Sai Ram Gupta
6929593eb6 Update org_user.go
Add check for, if current role is ROLE_VIEWER, return true if the role I'm checking for is ROLE_VIEWER. Fixes #16092
2019-03-19 11:31:55 -07:00
Torkel Ödegaard
f69f0c2c31 Merge pull request #16079 from grafana/fix/threshold-custom-color
Fix threshold editor color picker not working for custom colors
2019-03-19 18:39:17 +01:00
Torkel Ödegaard
4f134ea4b8 Merge pull request #16080 from grafana/hugoh/no-implicit-any
Cleaning up no implicit anys in search_srv and tests
2019-03-19 18:26:28 +01:00
Torkel Ödegaard
42c87141a5 Minor progress on fixing no-implicit any issues 2019-03-19 18:24:47 +01:00
Hugo Häggmark
d845aacbdc refactor: merged types and updated references 2019-03-19 17:44:58 +01:00
ryan
08d6540cbb merge master 2019-03-19 09:26:15 -07:00
Torkel Ödegaard
b8be6aa3b8 Merge pull request #16084 from yalhyane/patch-1
Fixing docs typo in templating.md
2019-03-19 17:06:10 +01:00
Torkel Ödegaard
a1a60ceae0 Merge pull request #16087 from grafana/chore/bump-react
chore: Bump react and react-dom to 16.8.4
2019-03-19 17:00:11 +01:00
Dominik Prokop
9205b82f19 Remove leftover from first iteration 2019-03-19 16:38:14 +01:00
Peter Holmberg
5adb923ace Only keep certain query params when going to next playlist 2019-03-19 16:34:33 +01:00
Dominik Prokop
12d452ce92 Snapshot update 2019-03-19 16:31:26 +01:00
Dominik Prokop
1178115d50 fix: ts issue on SelectOption test 2019-03-19 16:15:19 +01:00
Dominik Prokop
512f2dd024 chore: Bump react and react-dom to 16.8.4 2019-03-19 16:11:47 +01:00
Hugo Häggmark
124bedbf24 Update latest.json 2019-03-19 15:44:10 +01:00
yalhyane
9a4a8b0f85 Update templating.md
fix a typo in the example of `percentencode` option
2019-03-19 14:39:26 +00:00
Hugo Häggmark
40978ee08a Update CHANGELOG.md 2019-03-19 15:10:00 +01:00
Leonard Gram
f2b06a89f2 Merge pull request #15977 from grafana/admin-on-create-poc
Editors becomes admin when creating dashboards, folders & teams
2019-03-19 15:02:52 +01:00
Torkel Ödegaard
531176b559 Merge pull request #16077 from grafana/gauge-change-options-render
Re-render gauge / singlestat panels when changing options
2019-03-19 15:01:26 +01:00
Torkel Ödegaard
c19a47d34f Merge pull request #16008 from grafana/bar-gauge-refactoring
Refactoring the bar gauge and the orientation modes
2019-03-19 15:00:30 +01:00
Hugo Häggmark
c1d585b156 chore: cleaning up noimplicit anys in search_srv and tests
progress: #14714
2019-03-19 14:48:35 +01:00
Dominik Prokop
97a000c319 Fix threshold editor color picker not working for custom colors
When user selected Custom as an option for a threshold colors, the Custom color picker did not work. The problem was caused by threshold model not including the default colors for fill and line colors when custom was selected. Now, when changing the type to custom, the default valoues are set.
2019-03-19 14:47:48 +01:00
Andrej Ocenas
aa14d7528c Updated comments 2019-03-19 14:16:01 +01:00
Leonard Gram
95f7a91328 Merge pull request #16069 from xlson/ci-deploy-speedup
build: crcmod speedups rsync to gcp for deploy.
2019-03-19 14:13:15 +01:00
Torkel Ödegaard
2ca5149c67 Updated threshold editor test 2019-03-19 14:12:47 +01:00
Leonard Gram
2ca8d17874 Merge pull request #16071 from xlson/include-build-container
build: migrates the build container into the main repo.
2019-03-19 14:10:02 +01:00
Torkel Ödegaard
d597271844 Re-render gauge / singlestat panels when changing options 2019-03-19 14:07:48 +01:00
Hugo Häggmark
53322a51e2 fix: refactored so members are loaded by TeamPages and use hideFromTabs instead of filtering out children in navModel 2019-03-19 14:01:22 +01:00
Leonard Gram
978c20a604 teams: explains the external property of a team membership. 2019-03-19 14:01:22 +01:00
Hugo Häggmark
e23e6a8bdc fix: fixed snapshots and permission select not beeing able to click 2019-03-19 14:01:21 +01:00
Hugo Häggmark
b71c9803a9 fix: new team link goes nowhere for viewers 2019-03-19 14:01:21 +01:00
Hugo Häggmark
53c74fa2f5 teams: refactor so that you can only delete teams if you are team admin 2019-03-19 14:01:21 +01:00
Leonard Gram
a615b78f8a permissions: removes global access to bus from MakeUserAdmin. 2019-03-19 14:01:20 +01:00
Leonard Gram
adf0390b2c teams: local access to bus, moving away from dep on global. 2019-03-19 14:01:20 +01:00
Leonard Gram
6589a4e55f teams: better names for api permissions. 2019-03-19 14:01:20 +01:00
Leonard Gram
9f33f00343 teams: refactor. 2019-03-19 14:01:19 +01:00
Leonard Gram
9f8e43916d permissions: refactor. 2019-03-19 14:01:19 +01:00
Leonard Gram
b796027bc6 teams: refactor. 2019-03-19 14:01:19 +01:00
Hugo Häggmark
13ed10495a teams: hide tabs settings and groupsync for non team admins 2019-03-19 14:01:18 +01:00
Leonard Gram
d1481cac50 teams: refactored db code. 2019-03-19 14:01:18 +01:00
Hugo Häggmark
8c34f595f0 teams: disable new team button if user is viewer 2019-03-19 14:01:18 +01:00
Hugo Häggmark
e3fc61b326 refactor: moved test from TeamMembers to TeamMemberRow 2019-03-19 14:01:17 +01:00
Hugo Häggmark
178d637b4e refactor: splitted TeamMembers to TeamMemberRow 2019-03-19 14:01:17 +01:00
Hugo Häggmark
6a63725df0 teams: comment explaining input validation
Co-Authored-By: xlson <leo@xlson.com>
2019-03-19 14:01:17 +01:00
Leonard Gram
3f57a81c47 teams: cleanup. 2019-03-19 14:01:16 +01:00
Leonard Gram
ccfd6789ca teams: cleanup. 2019-03-19 14:01:16 +01:00
Leonard Gram
fc0461134f dashboards: simplified code. 2019-03-19 14:01:15 +01:00
Hugo Häggmark
b82b94a247 teams: disable buttons for team members 2019-03-19 14:01:15 +01:00
Hugo Häggmark
b60e71c28b teams: moved logic for searchteams to backend 2019-03-19 14:01:15 +01:00
Hugo Häggmark
782b5b6a3a teams: viewers and editors can view teams 2019-03-19 14:01:14 +01:00
Leonard Gram
c420af16b1 teams: editor/viewer team admin cant remove the last admin. 2019-03-19 14:01:14 +01:00
Hugo Häggmark
246e128048 teams: changed permission to permission type instead of int 2019-03-19 14:01:14 +01:00
Hugo Häggmark
c826f39a8b teams: defaulting invalid permission level to member permission level 2019-03-19 14:01:13 +01:00
Leonard Gram
c823ad5de7 team: uses PermissionType instead of int64 for permissions. 2019-03-19 14:01:13 +01:00
Leonard Gram
21d3d27452 teams: editors can't remove the last admin from a team. 2019-03-19 14:01:13 +01:00
Leonard Gram
8593668ab2 teams: tests use the new message for modifying team members. 2019-03-19 14:01:12 +01:00
Leonard Gram
b783fa7039 team: renames teams.CanUpdate teamguardian.CanAdmin 2019-03-19 14:01:12 +01:00
Hugo Häggmark
96aa4ae19f teams: remov permission select for non admin users 2019-03-19 14:01:12 +01:00
Hugo Häggmark
b9cf09a296 docs: First take on describing feature toggle 2019-03-19 14:01:11 +01:00
Hugo Häggmark
a90b3e331e config: updated feature toggle name 2019-03-19 13:59:39 +01:00
Leonard Gram
a6a3d698da teams: cleanup. 2019-03-19 13:57:30 +01:00
Leonard Gram
0b209de5d1 dashboard: only admin permission added to dashboard in folder. 2019-03-19 13:57:30 +01:00
Leonard Gram
d593ffe3c1 dashboards: better error handling 2019-03-19 13:57:30 +01:00
Leonard Gram
89d4db8eb6 teams: team listing shows only your teams (editors). 2019-03-19 13:57:29 +01:00
Leonard Gram
1f949e58e1 teams: teams guard on all teams update methods. 2019-03-19 13:57:29 +01:00
Leonard Gram
23231e6d51 teams: added delete team guard 2019-03-19 13:57:29 +01:00
Leonard Gram
8e7a8282c1 teams: removed feature toggle as it is already in middleware 2019-03-19 13:57:28 +01:00
Leonard Gram
d668550aa2 teams: added feature toggle and refactor tests 2019-03-19 13:57:28 +01:00
Leonard Gram
0d61f89577 teams: cleanup. 2019-03-19 13:57:28 +01:00
Leonard Gram
3be1d71f1f teams: test refactorings. 2019-03-19 13:57:27 +01:00
Leonard Gram
319879cfa8 teams: bugfix, user pointer. 2019-03-19 13:57:27 +01:00
Leonard Gram
90e9fda90c teams: start of team update guardian for editors 2019-03-19 13:57:26 +01:00
Hugo Häggmark
5adde259d3 teams: team update test 2019-03-19 13:57:26 +01:00
Hugo Häggmark
3c46b786d2 teams: change back to permissionlevel for Member to 0 2019-03-19 13:57:26 +01:00
Hugo Häggmark
1315a67022 teams: make sure we use TeamPermissionLevel enum 2019-03-19 13:57:25 +01:00
Hugo Häggmark
3c74ac3044 teams: update only the selected user 2019-03-19 13:57:25 +01:00
Hugo Häggmark
074ebf0f48 teams: only write error message if error 2019-03-19 13:57:25 +01:00
Hugo Häggmark
eea2dcc605 teams: enabled so that user can update permission for team members 2019-03-19 13:57:24 +01:00
Hugo Häggmark
467b7a40d8 teams: feature toggle component 2019-03-19 13:57:24 +01:00
Leonard Gram
aedc478208 teams: test for update team member. 2019-03-19 13:57:24 +01:00
Leonard Gram
2a88052c14 teams: can update team members permission. 2019-03-19 13:57:23 +01:00
Hugo Häggmark
7888457aae teams: basic ui for permission in team members view 2019-03-19 13:57:23 +01:00
Leonard Gram
af4994ba16 teams: editor added as admin for created teams. 2019-03-19 13:57:22 +01:00
Leonard Gram
22e098b830 teams: editors can work with teams. 2019-03-19 13:57:22 +01:00
Hugo Häggmark
efbd93f824 teams: show teams and plugins for editors that can own 2019-03-19 13:57:22 +01:00
Hugo Häggmark
124fb743e8 teams: make test cases pass again 2019-03-19 13:57:21 +01:00
Leonard Gram
da3dcd1918 folder: uses service to make user admin of created folder. 2019-03-19 13:57:21 +01:00
Leonard Gram
c8c004095c permissions: broken out func for making creator admin. 2019-03-19 13:57:21 +01:00
Leonard Gram
e174f7c20b folders: admin for created folders 2019-03-19 13:57:20 +01:00
Leonard Gram
e294252e92 dashboards: user automatically becomes admin for created dashboards 2019-03-19 13:57:20 +01:00
Torkel Ödegaard
b8c355514d Merge branch 'master' into bar-gauge-refactoring 2019-03-19 13:43:49 +01:00
Torkel Ödegaard
abbb7b81c7 fix(ci): frontend tests was accidentially commented out 2019-03-19 13:42:40 +01:00
Hugo Häggmark
9f6b793563 Update CHANGELOG.md 2019-03-19 13:41:47 +01:00
Andrej Ocenas
150b97692d Use SecretFormField in MSSql and Postgres datasources 2019-03-19 13:40:18 +01:00
Andrej Ocenas
d8167ffb88 Add SecretFormField component 2019-03-19 13:40:17 +01:00
Andrej Ocenas
0d84a3fbe2 Add possibility to pass custom input component to FormField 2019-03-19 13:40:17 +01:00
Andrej Ocenas
8f0d92ef85 Allow angular react bridge to use kebab case attribute names 2019-03-19 13:40:16 +01:00
Torkel Ödegaard
6be416dd93 Merge branch 'master' into bar-gauge-refactoring 2019-03-19 13:40:02 +01:00
Torkel Ödegaard
8af1326a95 Merge pull request #16075 from grafana/fix-thresholds-tests
Fix for Thresholds tests
2019-03-19 13:38:47 +01:00
Peter Holmberg
d075af2b67 adding story and fixing tests 2019-03-19 13:14:32 +01:00
Leonard Gram
4dceb60d20 build: migrates the build container into the main repo. 2019-03-19 11:34:01 +01:00
Leonard Gram
4152e5c16c build: updated deploy container with crcmod. 2019-03-19 10:57:17 +01:00
Leonard Gram
39e75d75b4 build: crcmod speedups rsync to gcp for deploy. 2019-03-19 10:48:41 +01:00
Carl Bergquist
d9db457b87 Merge pull request #16033 from bergquist/backend_codestyle
Adds backend code style guide
2019-03-19 08:16:36 +01:00
Leonard Gram
6673915f2e Update style_guides/backend.md
Co-Authored-By: bergquist <carl@grafana.com>
2019-03-19 08:16:19 +01:00
ryan
9b4d2a5ffa remove the error collector 2019-03-18 15:06:57 -07:00
Torkel Ödegaard
25cd196c09 Merge pull request #16006 from grafana/fix-explore-refId
Explore: Query row using character refId instead of number
2019-03-18 22:59:47 +01:00
Torkel Ödegaard
32d80f2da8 Merge pull request #16045 from grafana/hugoh/no-implicit-any
Cleaning up implicit anys in DashboardExporter and tests
2019-03-18 22:50:23 +01:00
Torkel Ödegaard
89bf94b07c Merge pull request #16054 from grafana/input-to-grafanaui2
Input to grafanaui2
2019-03-18 22:49:40 +01:00
Torkel Ödegaard
5617db36b2 Merge pull request #16014 from alexanderzobnin/fix-15993
Panels: fix loading panels with non-array targets
2019-03-18 22:34:24 +01:00
ryan
ed1b515f82 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master:
  docs: renamed file and added redux framework file
  docs: moved examples to frontend.md
  docs: intial draft for frontend review doc
  Use ora#fail instead of console.log
  Remove .only function
  Add more patterns to no-only-test task
2019-03-18 14:19:50 -07:00
Daniel Lee
8859d16a41 Merge pull request #16052 from markelog/ora-fail
Use ora#fail instead of console.log
2019-03-18 17:35:54 +01:00
Andrej Ocenas
cdced6e43f Merge pull request #16047 from grafana/grunt-no-only-tests-add-patterns
Add patterns to no-only-tests grunt task
2019-03-18 17:14:50 +01:00
Peter Holmberg
384e11fd68 Copied from new timepicker and unified component branch 2019-03-18 15:41:46 +01:00
Hugo Häggmark
ed1b001904 docs: renamed file and added redux framework file 2019-03-18 06:39:34 -07:00
Hugo Häggmark
f251345b68 docs: moved examples to frontend.md 2019-03-18 06:39:34 -07:00
Hugo Häggmark
f3b9ce317e docs: intial draft for frontend review doc 2019-03-18 06:39:34 -07:00
Oleg Gaidarenko
2b9cf1132f Use ora#fail instead of console.log
Since with ora#fail you can stderr it instead of using the stdout,
and it's a bit nicer since it will show that cross sign :)
2019-03-18 13:45:58 +01:00
Peter Holmberg
be7a5dab69 reorder imports 2019-03-18 11:23:40 +01:00
Peter Holmberg
cb9bda810f test 2019-03-18 11:21:40 +01:00
Peter Holmberg
39728c885b rename to char 2019-03-18 11:17:58 +01:00
Peter Holmberg
515fb5903e sorting imports 2019-03-18 10:44:00 +01:00
Peter Holmberg
c0eb140297 moving 2019-03-18 10:41:28 +01:00
Andrej Ocenas
dcc5373e77 Remove .only function 2019-03-18 10:40:04 +01:00
Andrej Ocenas
854644f46c Add more patterns to no-only-test task 2019-03-18 10:39:14 +01:00
Hugo Häggmark
0eb2ca3ffd chore: Cleaning up implicit anys in DashboardExporter and tests
progress: #14714
2019-03-18 07:42:43 +01:00
ryan
c210417736 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master:
  Explore: Fix log stats for long labels
  dont test exists in the test... it will fail if not found
  add random_walk_table scenario
  add test file
  add startAt to random walk scenario
2019-03-17 18:10:35 -07:00
ryan
a0fa5698e0 rename reducer to statsCalculator 2019-03-17 18:02:09 -07:00
ryan
2969507784 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master: (75 commits)
  Explore: Fix log stats for long labels
  dont test exists in the test... it will fail if not found
  add random_walk_table scenario
  add test file
  add startAt to random walk scenario
  get values from base options
  use singlestat base where appropriate
  feature(explore/table): Add tooltips to explore table (#16007)
  Update changelog
  Add check for Env before log
  Update index.md
  chore: Cleaning up implicit anys in manage_dashboard.ts and manage_dashboard.test.ts progress: #14714
  chore: Cleaning up implicit anys in app.ts progress: #14714
  changelog: adds note about closing #15836
  changelog: adds note about closing #6359 and #15931
  add partial
  no inheratance
  improve single stat display
  revert most options sharing
  add migration tests
  ...
2019-03-17 16:48:54 -07:00
Torkel Ödegaard
1303a66725 Great progress on bar gauge look 2019-03-17 13:59:26 +01:00
Torkel Ödegaard
d1e48a07b2 Merge pull request #16031 from ryantxu/random-walk-start-at
add startValue to random_walk testdata scenario and random_walk_table
2019-03-17 13:18:40 +01:00
Torkel Ödegaard
34b6405fd9 Merge pull request #16036 from steven-sheehy/log-stats-overflow
Explore: Fix log stats with long labels
2019-03-17 13:16:43 +01:00
Steven Sheehy
ec34099ea7 Explore: Fix log stats for long labels
Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
2019-03-16 00:55:10 -05:00
ryan
a6132d7648 merge singlestat refactor 2019-03-15 15:37:56 -07:00
Torkel Ödegaard
bfa54d2e26 Merge pull request #15925 from ryantxu/reusable-formatting-options
make value processing/formatting more reusable
2019-03-15 22:13:46 +01:00
ryan
9bcc9b062c calculate the column width 2019-03-15 13:52:32 -07:00
ryan
e6cba97b45 disable react table cell measure 2019-03-15 13:31:40 -07:00
ryan
bd811b4a95 dont test exists in the test... it will fail if not found 2019-03-15 12:36:55 -07:00
ryan
24ead3a4a4 add random_walk_table scenario 2019-03-15 12:33:45 -07:00
bergquist
98911e0708 adds backend code style guide 2019-03-15 20:19:24 +01:00
ryan
2b5ac6bafa add test file 2019-03-15 11:07:20 -07:00
ryan
e787176bca add startAt to random walk scenario 2019-03-15 11:02:41 -07:00
ryan
ff3c25ad79 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master: (57 commits)
  feature(explore/table): Add tooltips to explore table (#16007)
  Update changelog
  Add check for Env before log
  Update index.md
  chore: Cleaning up implicit anys in manage_dashboard.ts and manage_dashboard.test.ts progress: #14714
  chore: Cleaning up implicit anys in app.ts progress: #14714
  changelog: adds note about closing #15836
  changelog: adds note about closing #6359 and #15931
  add partial
  Add check so that header is not sent for anonymous users
  Update config docs
  Add custom header with grafana user and a config switch for it
  changelog: adds note about closing #10816
  use constants for cache type
  makes variables template prettier complient
  white space formating
  changelog: adds note about #15744
  updates old distcache names
  dont allow inifinite expiration
  return error if cache type is invalid
  ...
2019-03-15 09:19:01 -07:00
ryan
0bb772aba7 get values from base options 2019-03-15 09:03:47 -07:00
ryan
b1b5e8d74c use singlestat base where appropriate 2019-03-15 08:38:29 -07:00
ryan
77b78e36e5 Merge remote-tracking branch 'grafana/master' into reusable-formatting-options
* grafana/master: (44 commits)
  feature(explore/table): Add tooltips to explore table (#16007)
  Update changelog
  Add check for Env before log
  Update index.md
  chore: Cleaning up implicit anys in manage_dashboard.ts and manage_dashboard.test.ts progress: #14714
  chore: Cleaning up implicit anys in app.ts progress: #14714
  changelog: adds note about closing #15836
  changelog: adds note about closing #6359 and #15931
  add partial
  Add check so that header is not sent for anonymous users
  Update config docs
  Add custom header with grafana user and a config switch for it
  changelog: adds note about closing #10816
  use constants for cache type
  updates old distcache names
  dont allow inifinite expiration
  return error if cache type is invalid
  use `Get` instead of `Find`
  avoid exposing cache client directly
  add docs about remote cache settings
  ...
2019-03-15 08:23:55 -07:00
Steven Sheehy
fff6e0a522 feature(explore/table): Add tooltips to explore table (#16007)
Longer labels are now viewable as a tooltip in the Explore table

Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
2019-03-15 14:11:40 +01:00
Carl Bergquist
011e8c4a35 Merge pull request #16022 from grafana/connection-string-log-fix-simple
Only log connection string in dev environment
2019-03-15 14:03:01 +01:00
Carl Bergquist
b1b0082e36 Merge pull request #16020 from JacobEriksson/patch-1
Update index.md
2019-03-15 14:00:23 +01:00
Andrej Ocenas
38f82cfb0e Update changelog 2019-03-15 13:34:39 +01:00
Torkel Ödegaard
91ff146d7d Bar gauge gradient mode 2019-03-15 13:34:38 +01:00
Torkel Ödegaard
714e03c162 Bar gauge auto lcd cell count 2019-03-15 12:45:37 +01:00
Andrej Ocenas
09b9b595b2 Add check for Env before log 2019-03-15 11:53:30 +01:00
JacobEriksson
e2fd85854c Update index.md
Added information about Amazon Timestream and Oracle Database
2019-03-15 11:07:22 +01:00
Hugo Häggmark
96af051cb2 chore: Cleaning up implicit anys in manage_dashboard.ts and manage_dashboard.test.ts
progress: #14714
2019-03-15 01:59:16 -07:00
Hugo Häggmark
aa4b593dfa chore: Cleaning up implicit anys in app.ts
progress: #14714
2019-03-15 01:59:16 -07:00
Alexander Zobnin
c028d410ec panels: fix loading panels with non-array targets (add tests) 2019-03-15 11:30:41 +03:00
bergquist
1db7913a1c changelog: adds note about closing #15836 2019-03-15 09:25:58 +01:00
Peter Holmberg
6ca1ae309a set correct return type 2019-03-15 08:52:25 +01:00
Alexander Zobnin
fe798239b2 panels: fix loading panels with non-array targets (refactor) 2019-03-15 10:31:58 +03:00
Torkel Ödegaard
707d188428 Bar gauge styling tweaks 2019-03-15 08:29:11 +01:00
Alexander Zobnin
e3b3b35dca panels: fix loading panels with non-array targets 2019-03-15 10:14:56 +03:00
bergquist
1ddf6dafb6 changelog: adds note about closing #6359 and #15931 2019-03-15 07:32:33 +01:00
Torkel Ödegaard
6a87c9ec7f Merge pull request #16010 from ryantxu/partial-change-hook
use Partial<TOptions> with new PanelTypeChangedHooks
2019-03-15 06:58:05 +01:00
ryan
75710d0f2b add partial 2019-03-14 14:58:46 -07:00
ryan
1fa07a8254 no inheratance 2019-03-14 14:47:01 -07:00
ryan
8be56f8a0e improve single stat display 2019-03-14 13:31:50 -07:00
ryan
985f057ab3 revert most options sharing 2019-03-14 13:20:24 -07:00
Torkel Ödegaard
09eddd1676 Refactoring the bar gauge and the orientation modes 2019-03-14 18:48:12 +01:00
Sean Lafferty
3f9a19dcd5 Merge branch 'master' into 12556-oauth-pass-thru 2019-03-14 13:18:00 -04:00
ryan
8299c95459 add migration tests 2019-03-14 09:51:40 -07:00
ryan
ccf66154bb add migration tests 2019-03-14 09:50:59 -07:00
Peter Holmberg
52dcb9bf00 renaming function 2019-03-14 17:39:56 +01:00
Andrej Ocenas
8221c4273f Merge pull request #15998 from grafana/add-grafana-user-proxy-header
Add custom header with grafana user when using proxy
2019-03-14 17:29:06 +01:00
Peter Holmberg
cf55d68894 using refId from panel model 2019-03-14 17:20:33 +01:00
Carl Bergquist
23852b59c9 Merge pull request #15839 from grafana/15836_revoke_auth_tokens
Support list and revoke of user auth tokens in HTTP API
2019-03-14 17:12:49 +01:00
corpglory-dev
dbec66b3d6 Tooltip: show percent instead of value 2019-03-14 18:40:44 +03:00
Andrej Ocenas
697a87b7b2 Add check so that header is not sent for anonymous users 2019-03-14 16:33:21 +01:00
Andrej Ocenas
6587a967eb Update config docs 2019-03-14 16:33:20 +01:00
Andrej Ocenas
bbdc1c0e64 Add custom header with grafana user and a config switch for it 2019-03-14 16:33:19 +01:00
bergquist
191a7e4b8d changelog: adds note about closing #10816 2019-03-14 16:19:12 +01:00
corpglory-dev
4ba5217a08 Right tooltip position 2019-03-14 18:18:40 +03:00
Carl Bergquist
291ffcb75b Merge pull request #15457 from bergquist/distributed_cache
Distributed cache
2019-03-14 16:16:39 +01:00
corpglory-dev
d36b07bd68 Add "No data points" message 2019-03-14 18:09:24 +03:00
bergquist
6d42d43b22 use constants for cache type 2019-03-14 15:48:20 +01:00
bergquist
5f059038c6 makes variables template prettier complient 2019-03-14 13:52:36 +01:00
Sean Lafferty
f3c52710df Make recently used auth_module test more robust by adding another 'log in' 2019-03-14 08:40:19 -04:00
Torkel Ödegaard
12219a1d7e Merge pull request #15957 from ryantxu/panel-options-init
improve the new PreservePanelOptionsHandler
2019-03-14 13:05:09 +01:00
bergquist
f059c25f95 white space formating 2019-03-14 10:59:13 +01:00
bergquist
7b692c1cfd changelog: adds note about #15744 2019-03-14 10:10:58 +01:00
Carl Bergquist
11d9122cf5 Merge pull request #15916 from zhulongcheng/victorops-noti
Add more info to victorOps alert notifications
2019-03-14 10:02:44 +01:00
bergquist
0a86a1d7b6 updates old distcache names 2019-03-14 09:23:35 +01:00
bergquist
c001cfe1d9 dont allow inifinite expiration 2019-03-14 09:22:03 +01:00
Johannes Schill
df453d15de chore: Upgrade all babel related packages that is lagging behind 2019-03-14 09:01:27 +01:00
bergquist
5186273731 return error if cache type is invalid 2019-03-14 08:57:38 +01:00
zhulongcheng
755f60358b Add more info to victorOps alert notifications 2019-03-14 15:47:11 +08:00
Johannes Schill
8a2865aedf fix: papaparse must have gone missing during rebase 2019-03-14 08:36:56 +01:00
Johannes Schill
8dee1a27bf chore: Bump jest to 24 2019-03-14 08:28:15 +01:00
Johannes Schill
d6a74a5c90 fix: describe() should not be async 2019-03-14 08:26:01 +01:00
Johannes Schill
be3f9fcbfe fix: Use proper syntax for plugin-syntax-dynamic-import 2019-03-14 08:26:00 +01:00
Johannes Schill
1680dbac7d fix: Downgrade ts-node to 8.0.2 due to broken theme generation 2019-03-14 08:26:00 +01:00
Johannes Schill
c41db1325b chore: Bump ora 2019-03-14 08:25:59 +01:00
Johannes Schill
522afc6f99 chore: Bump tslint (again) 2019-03-14 08:25:59 +01:00
Johannes Schill
1d2ffe2b4b chore: Bump axios 2019-03-14 08:25:58 +01:00
Johannes Schill
b4dd476104 chore: Bump npm 2019-03-14 08:25:57 +01:00
Johannes Schill
5c05afea0a chore: Bump glob 2019-03-14 08:25:57 +01:00
Johannes Schill
95382f9920 fix: Invalid css 2019-03-14 08:25:56 +01:00
Johannes Schill
bdce61d02a chore: Bump clean-webpack-plugin, html-webpack-harddisk-plugin, postcss-reporter 2019-03-14 08:25:56 +01:00
Johannes Schill
da644a700f chore: Bump file-loader and css optimizer webpack plugin 2019-03-14 08:25:55 +01:00
Johannes Schill
79f6b4f8e6 chore: Bump css-loader and remove minimize option since its removed in css-loader 2019-03-14 08:25:54 +01:00
Johannes Schill
e29a7b35f5 chore: Bump npm packages and lock down some versions 2019-03-14 08:25:54 +01:00
Johannes Schill
628b4a43ec chore: Bump mini-css-extract-plugin 2019-03-14 08:25:53 +01:00
Johannes Schill
28fe1dc0c7 chore: Lock down versions of expose-loader and html-loader 2019-03-14 08:25:53 +01:00
Johannes Schill
4964627eea chore: Bump fork-ts-checker-webpack-plugin 2019-03-14 08:25:52 +01:00
Johannes Schill
76eff009d2 chore: Prod builds should not cache 2019-03-14 08:25:51 +01:00
Johannes Schill
8eab2bef33 chore: Replace Uglify with Terser 2019-03-14 08:25:51 +01:00
Johannes Schill
51e01eff0a chore: Bump webpack, webpack-bundle-analyzer, webpack-cli and webpack-dev-server to latest 2019-03-14 08:25:50 +01:00
Carl Bergquist
9ac69fefc6 Merge pull request #15987 from fetzerch/tags
docs: Change type of 'tags' in annotationQuery result example to list
2019-03-14 07:48:38 +01:00
Carl Bergquist
89709e34e4 Merge pull request #15989 from utkarshcmu/fix-#15665
Added cloudwatch metric math docs
2019-03-14 07:47:33 +01:00
ryan
c023635780 reuse more gauge settings in bargauge 2019-03-13 22:59:38 -07:00
ryan
4600aac7d5 set the unit on time data 2019-03-13 22:31:54 -07:00
ryan
ff2e238662 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master:
  generic repeater
  generic repeater
  explore/logs: Hide empty duplicates column
  fix for firefox checkboxes not appearing properly, added appearance as none
  used regex instead of string replacing
2019-03-13 21:30:51 -07:00
ryan
c690598557 add error when not found 2019-03-13 17:16:20 -07:00
utkarshcmu
78e08da2ef Added metric math docs 2019-03-13 15:00:41 -07:00
ryan
734a209535 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master:
  generic repeater
  generic repeater
  explore/logs: Hide empty duplicates column
  fix for firefox checkboxes not appearing properly, added appearance as none
  used regex instead of string replacing
2019-03-13 13:28:49 -07:00
ryan
c38000d445 merge 2019-03-13 13:27:08 -07:00
ryan
68f7e046ab check types better 2019-03-13 13:11:49 -07:00
ryan
0c086795e3 check types better 2019-03-13 13:07:01 -07:00
Christian Fetzer
0cd59fdbcc docs: Change type of 'tags' in annotationQuery result example to list
A datasource plugin must return a list of tags in the 'tags' field of
the annotationQuery result. A string 'test' would otherwise result in
4 tags in Grafana: 't','e','s','t'.
2019-03-13 20:48:49 +01:00
ryan
75022ebd63 single hook 2019-03-13 12:46:04 -07:00
Torkel Ödegaard
9c4abc9d0c Merge pull request #15982 from steven-sheehy/hide-duplicate-column
explore/logs: Hide empty duplicates column
2019-03-13 20:38:18 +01:00
Torkel Ödegaard
010b45d75e Merge pull request #15981 from srid12/firefox-checkbox-15854
Fix for firefox checkboxes not appearing properly
2019-03-13 20:36:25 +01:00
Torkel Ödegaard
bfc84c0f2b Merge pull request #15980 from srid12/custom-variable-issue-15921
used regex instead of string replacing
2019-03-13 20:34:56 +01:00
Torkel Ödegaard
614b4251de Merge pull request #15985 from ryantxu/generic-viz-repeat
VisRepeater should not care about the value type
2019-03-13 20:33:16 +01:00
Sean Lafferty
fcc18d8121 Change import path for social in the tests 2019-03-13 14:55:22 -04:00
Sean Lafferty
8d8119aa98 Change import path for social since it has moved 2019-03-13 14:34:55 -04:00
ryan
6472c2bcd9 generic repeater 2019-03-13 11:30:52 -07:00
Sean Lafferty
8d19ca005f Merge branch 'master' into 12556-oauth-pass-thru 2019-03-13 14:25:43 -04:00
ryan
36d67f22e9 generic repeater 2019-03-13 11:24:18 -07:00
ryan
1bc8e7a8d1 merge master, works with bar gauge now 2019-03-13 11:12:11 -07:00
Sean Lafferty
de338338bf Remove todo about index on user_id in user_auth because it exists 2019-03-13 13:46:49 -04:00
Sean Lafferty
7e62394d01 Add function in ds_proxy to handle oauthPassThru headers 2019-03-13 13:45:32 -04:00
Sean Lafferty
f79dc0a89b Remove auth_module settings from oauthPassThru ui 2019-03-13 13:34:10 -04:00
Sean Lafferty
4324a7f51a Remove auth module from ds_proxy oauth test 2019-03-13 13:28:49 -04:00
Sean Lafferty
3b15e110a5 Get most recent oauth token from db, rather than lookup by auth_module 2019-03-13 13:22:22 -04:00
corpglory-dev
2bd64d2c31 Improve tooltip look 2019-03-13 19:44:18 +03:00
corpglory-dev
a550e5388a Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-03-13 19:31:40 +03:00
Steven Sheehy
17184257af explore/logs: Hide empty duplicates column
Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
2019-03-13 11:12:29 -05:00
ryan
011b2cdf09 merge master 2019-03-13 09:10:21 -07:00
sridhar-komati
8acc00aa66 fix for firefox checkboxes not appearing properly, added appearance as none 2019-03-13 21:38:16 +05:30
ryan
b4a3aecbbc merge master 2019-03-13 09:03:32 -07:00
ryan
a17b1912c2 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master: (95 commits)
  Fixed issue with alert links in alert list panel causing panel not found errors, fixes #15680
  Add comments
  Add simple test for the ColorPicker
  Use render props pattern in color picker
  Move ColorPicker trigger to separate component and cleanup css
  Improved error handling when rendering dashboard panels, fixes #15913
  fix return type
  Only send ci metrics to hosted metrics instance
  adding types
  Added back branch guard
  moved delete button from sidebar to general tab and renamed it
  Refactoring the ci metrics a bit more making it easier to re-use
  removed unused and very specific variables, also variables with same value as general variable
  reduce loglevel to debug
  Updated bar gauge snapshot
  added some comments about state of components things
  heatmap: fix for negative values
  move sort to table processing
  onCellClick
  rotate!
  ...
2019-03-13 08:38:25 -07:00
ryan
b933c57c62 merge master 2019-03-13 08:36:51 -07:00
Sean Lafferty
f17307bb97 Always return most recently used auth_module from GetAuthInfo 2019-03-13 11:29:13 -04:00
sridhar-komati
03d4b61208 used regex instead of string replacing 2019-03-13 20:42:19 +05:30
Torkel Ödegaard
4bbd6ab79c Merge pull request #15975 from grafana/fixed-alert-link-issue
Fixed issue with AlertList panel links resulting in panel not found errors
2019-03-13 15:52:14 +01:00
Torkel Ödegaard
91fc73bf82 Fixed issue with alert links in alert list panel causing panel not found errors, fixes #15680 2019-03-13 13:51:22 +01:00
Andrej Ocenas
f7a8df6ebd Merge pull request #15926 from grafana/create-color-picker-trigger-component
Create default ColorPickerTrigger component
2019-03-13 12:47:52 +01:00
Andrej Ocenas
fc199a35ca Add comments 2019-03-13 12:23:41 +01:00
Andrej Ocenas
dfb2dd2500 Add simple test for the ColorPicker 2019-03-13 12:23:40 +01:00
Andrej Ocenas
96285c4f56 Use render props pattern in color picker 2019-03-13 12:23:39 +01:00
Andrej Ocenas
4a2905de97 Move ColorPicker trigger to separate component and cleanup css 2019-03-13 12:23:38 +01:00
Torkel Ödegaard
d6bab53d3b Merge pull request #15626 from grafana/davkal/15607-explore-line-colors
Explore: Make sure line graphs get different colors
2019-03-13 12:21:44 +01:00
Torkel Ödegaard
d8c2264670 Merge pull request #15970 from grafana/dashboard-rendering-error-handling
Improved error handling when rendering dashboard panels
2019-03-13 12:19:58 +01:00
Torkel Ödegaard
2333cf3fd1 Improved error handling when rendering dashboard panels, fixes #15913 2019-03-13 11:43:16 +01:00
Peter Holmberg
1994b18b5a fix return type 2019-03-13 11:37:33 +01:00
Torkel Ödegaard
e31029adaa Merge pull request #14877 from papagian/feature-histogram-min-max
Optionally set histogram x-axis min/max
2019-03-13 11:23:30 +01:00
Torkel Ödegaard
9e7d1f4275 Merge pull request #15466 from grafana/bar-gauge-poc
New Bar Gauge panel
2019-03-13 11:12:33 +01:00
Torkel Ödegaard
7164412d84 Merge pull request #15968 from grafana/move-delete-dashboard
Moved delete button in Dashboard settings
2019-03-13 11:09:41 +01:00
Torkel Ödegaard
6445d6cb64 Merge pull request #15963 from grafana/sass-variable-cleanout
Cleaned out some sass variables
2019-03-13 11:09:18 +01:00
Torkel Ödegaard
78b2978846 Only send ci metrics to hosted metrics instance 2019-03-13 10:55:20 +01:00
Torkel Ödegaard
6f226edcc0 Merge branch 'ci-metrics-take2' 2019-03-13 10:50:34 +01:00
Peter Holmberg
9c33a9410f adding types 2019-03-13 10:50:21 +01:00
Torkel Ödegaard
988cc198d2 Added back branch guard 2019-03-13 10:50:17 +01:00
ijin08
c96b3995e4 moved delete button from sidebar to general tab and renamed it 2019-03-13 10:24:26 +01:00
Torkel Ödegaard
4f6fdd8665 Refactoring the ci metrics a bit more making it easier to re-use 2019-03-13 10:10:46 +01:00
ijin08
e632309ab9 removed unused and very specific variables, also variables with same value as general variable 2019-03-13 09:40:56 +01:00
bergquist
f13263eb54 reduce loglevel to debug 2019-03-13 09:01:45 +01:00
Torkel Ödegaard
613e233440 Updated bar gauge snapshot 2019-03-13 08:50:44 +01:00
Torkel Ödegaard
aa6a9329c3 Merge pull request #15842 from ryantxu/alpha-react-virtualized-table
Alpha react-virtualized table
2019-03-13 08:42:51 +01:00
Torkel Ödegaard
af4de51a9a added some comments about state of components things 2019-03-13 08:39:40 +01:00
Torkel Ödegaard
71159fb606 Merge remote-tracking branch 'origin/master' into bar-gauge-poc 2019-03-13 08:26:06 +01:00
Torkel Ödegaard
6f683a8e9f Merge pull request #15953 from alexanderzobnin/fix-heatmap-negative-values
Heatmap: fix for negative values
2019-03-13 07:27:23 +01:00
ryan
15c111b39d better comments 2019-03-12 21:30:48 -07:00
ryan
8cca611727 comment cleanup 2019-03-12 21:25:35 -07:00
ryan
f5e8734c6b force circleci to try again 2019-03-12 21:11:11 -07:00
ryan
4652138987 format 2019-03-12 21:05:33 -07:00
ryan
f165139bae touch 2019-03-12 17:03:21 -07:00
ryan
227d28154b touch 2019-03-12 17:02:44 -07:00
ryan
4e5e548902 merge master 2019-03-12 16:57:30 -07:00
ryan
09ba8cd5d3 make sure the validator is called before setState 2019-03-12 16:35:22 -07:00
ryan
7311b14da1 API to fix/update properties before load 2019-03-12 16:10:14 -07:00
ryan
c82a7b9bd5 Merge remote-tracking branch 'grafana/master' into table-reducer
* grafana/master: (32 commits)
  Fixed more typescript no implicit any issues
  Also push to ci metrics to new shared HM instance
  Fixed type issues introduced by adding angular types
  Typescript noAny fixes, start of a long journey
  Updated code stats collection
  Updated path to new script
  POC on collecting metrics in ci process
  changelog: add notes about heatmap issues #15683 #14019
  added two new variables in default theme for panel padding, replaced panelhorizontalpadding and variables.panelverticalpadding with new variables
  renamed default variables: s -> sm, m -> md, l -> lg
  removed gf-form-margin variable and replaced with space- variables where it was used
  heatmap: able to hide buckets with zero value #12080
  s -> sm, m -> md, l -> lg
  heatmap: fix prometheus buckets sorting, closes #15637
  s -> sm, m -> md, l -> lg
  removed headings-margin-bottom variable
  remove kbn test
  Added scopedVars argument in datasourceSrv.get in DataPanel
  heatmap: able to reverse Y buckets order, #15683
  Refactoring of multi-value datasource PR #15812
  ...
2019-03-12 14:34:15 -07:00
ryan
e84ddc8e30 more tests 2019-03-12 14:34:01 -07:00
ryan
0446fb9171 more options in storybook 2019-03-12 14:26:07 -07:00
ryan
9016c18088 adding simple widget to pick the reducer 2019-03-12 10:53:28 -07:00
Alexander Zobnin
fb3ea93f9d heatmap: fix for negative values 2019-03-12 20:44:05 +03:00
Torkel Ödegaard
54f92514d5 Merge pull request #15950 from grafana/typescript-any-part2
Fixed more typescript no implicit any issues
2019-03-12 18:17:19 +01:00
Torkel Ödegaard
e3dd70bce6 Merge pull request #15937 from alexanderzobnin/heatmap-fixes
Heatmap fixes and improvements
2019-03-12 17:57:01 +01:00
Torkel Ödegaard
37496fe6a8 Fixed more typescript no implicit any issues 2019-03-12 17:55:01 +01:00
Torkel Ödegaard
ab2caf9ef9 Merge pull request #15943 from grafana/15429-removed-sass-var-in-js
Removed SASS variables being used in JS
2019-03-12 17:18:12 +01:00
Torkel Ödegaard
fd8d45fd23 Merge pull request #15947 from grafana/ci-metrics-to-hm-instance
Also push to ci metrics to new shared HM instance
2019-03-12 17:17:07 +01:00
Torkel Ödegaard
4eef407b81 Also push to ci metrics to new shared HM instance 2019-03-12 17:11:47 +01:00
ryan
a8c985de60 move sort to table processing 2019-03-12 09:09:33 -07:00
ryan
90510b5ffb Merge remote-tracking branch 'grafana/master' into alpha-react-virtualized-table
* grafana/master:
  Fixed type issues introduced by adding angular types
  Typescript noAny fixes, start of a long journey
  Updated code stats collection
  Updated path to new script
  POC on collecting metrics in ci process
  renamed default variables: s -> sm, m -> md, l -> lg
  removed gf-form-margin variable and replaced with space- variables where it was used
  heatmap: able to hide buckets with zero value #12080
  s -> sm, m -> md, l -> lg
  heatmap: fix prometheus buckets sorting, closes #15637
  s -> sm, m -> md, l -> lg
  removed headings-margin-bottom variable
  remove kbn test
  Added scopedVars argument in datasourceSrv.get in DataPanel
  Refactoring of multi-value datasource PR #15812
  fixed minor misstake with dashboard padding
  removed -margin, replaced with new general variables
  added new space variables to margins in AddPanelWidget, add_data_source, dashboard_settings and sidemenu
  added new variables for spacing, set margins in _cards with new variables
  Make datasource variables multiselect and dashboard repeatable
2019-03-12 09:04:20 -07:00
Torkel Ödegaard
5cabf64fa4 Merge pull request #15946 from grafana/typescript-any-fixes-part1
Progress on fixing typescript noImplicitAny issues
2019-03-12 15:52:42 +01:00
Torkel Ödegaard
3e5016c228 Merge pull request #15941 from grafana/renamed-defaults-size
Renamed default.ts variables
2019-03-12 15:45:12 +01:00
Torkel Ödegaard
f477066097 Merge pull request #15940 from grafana/8px-system-margins3
Removed headings-margin-bottom and gf-form-margin
2019-03-12 15:39:52 +01:00
Torkel Ödegaard
4c6f2d6d4a Merge pull request #15912 from grafana/8px-system-margins2
Removed variable $panel-margin
2019-03-12 15:36:59 +01:00
Torkel Ödegaard
d7dc6ad3f4 Fixed type issues introduced by adding angular types 2019-03-12 15:27:02 +01:00
Torkel Ödegaard
25b1bec250 Typescript noAny fixes, start of a long journey 2019-03-12 15:14:45 +01:00
Torkel Ödegaard
90cacf717c Merge pull request #15944 from grafana/ci-metrics
Collecting metrics in ci process
2019-03-12 15:13:12 +01:00
Torkel Ödegaard
9f4bca503a Updated code stats collection 2019-03-12 15:08:46 +01:00
Torkel Ödegaard
94677ba874 Updated path to new script 2019-03-12 14:46:38 +01:00
Torkel Ödegaard
3e2350be87 POC on collecting metrics in ci process 2019-03-12 14:42:36 +01:00
Alexander Zobnin
c248c1f4f1 changelog: add notes about heatmap issues #15683 #14019 2019-03-12 16:41:55 +03:00
ijin08
dc98fb5e82 added two new variables in default theme for panel padding, replaced panelhorizontalpadding and variables.panelverticalpadding with new variables 2019-03-12 14:24:48 +01:00
ijin08
c54f2912e4 renamed default variables: s -> sm, m -> md, l -> lg 2019-03-12 13:01:22 +01:00
Patrick O'Carroll
b2a0c2b6d2 Merge branch 'master' into 8px-system-margins3 2019-03-12 12:42:23 +01:00
Patrick O'Carroll
c2f5c12e5a Merge branch 'master' into 8px-system-margins2 2019-03-12 12:41:41 +01:00
Torkel Ödegaard
51c06a8c46 Merge pull request #15901 from grafana/8px-system-margins
8px system margins
2019-03-12 12:31:31 +01:00
ijin08
7a15528223 removed gf-form-margin variable and replaced with space- variables where it was used 2019-03-12 12:30:34 +01:00
Torkel Ödegaard
4ed1fdf754 Merge pull request #15932 from alexanderzobnin/fix-prom-heatmap-sorting
Heatmap: Fixes Y-axis tick labels being in wrong order for some Prometheus queries
2019-03-12 12:27:06 +01:00
Torkel Ödegaard
6f34b1541d Merge pull request #15914 from grafana/multi-valued-datasource-variable
Multi valued datasource variable
2019-03-12 09:48:02 +01:00
Torkel Ödegaard
3e4153a9e3 Merge pull request #15934 from alexanderzobnin/heatmap-hide-zero-buckets
heatmap: able to hide buckets with zero value
2019-03-12 09:32:14 +01:00
ryan
b7963f8e87 add table reducer 2019-03-12 01:29:01 -07:00
Dominik Prokop
6d87e82151 Merge pull request #15930 from ryantxu/remove-kbn-test
Remove deprecated kbn test
2019-03-12 09:25:33 +01:00
Alexander Zobnin
9ee2a08def heatmap: able to hide buckets with zero value #12080 2019-03-12 10:59:55 +03:00
ijin08
1432fdd102 Merge branch '8px-system-margins2' of github.com:grafana/grafana into 8px-system-margins3 2019-03-12 08:39:44 +01:00
ijin08
d47f6e5bb3 s -> sm, m -> md, l -> lg 2019-03-12 08:34:55 +01:00
ijin08
3e6c15a88a Merge branch '8px-system-margins' of github.com:grafana/grafana into 8px-system-margins2 2019-03-12 08:31:31 +01:00
Alexander Zobnin
4e22918010 heatmap: fix prometheus buckets sorting, closes #15637 2019-03-12 10:26:20 +03:00
ijin08
a418697453 s -> sm, m -> md, l -> lg 2019-03-12 08:10:31 +01:00
ijin08
204d21abbe removed headings-margin-bottom variable 2019-03-12 08:01:20 +01:00
ryan
6ae0d8e062 rename to displayValues 2019-03-11 22:17:37 -07:00
ryan
152aa76648 merge master 2019-03-11 21:16:51 -07:00
ryan
4ad5e1595b remove kbn test 2019-03-11 21:07:10 -07:00
ryan
bf0b9d9fe2 more tests 2019-03-11 21:04:47 -07:00
ryan
ada9ac1be1 use new settings 2019-03-11 19:37:10 -07:00
ryan
94799f568e fix tests 2019-03-11 17:52:46 -07:00
ryan
df8fc3f7cb Merge remote-tracking branch 'grafana/master' into reusable-formatting-options
* grafana/master:
  Call ora instead of instantiating it
2019-03-11 15:44:16 -07:00
ryan
4783ea629b merge with master 2019-03-11 15:10:11 -07:00
ryan
8cd54c94e9 make value processing reusable 2019-03-11 14:47:54 -07:00
Dominik Prokop
304912f9b4 Merge pull request #15923 from grafana/fix/cli-spinner
Call ora instead of instantiating it
2019-03-11 21:18:49 +01:00
Dominik Prokop
40916a552f Call ora instead of instantiating it 2019-03-11 20:54:11 +01:00
Torkel Ödegaard
6a34eb2d9a Merge pull request #15886 from ryantxu/table-editor
Add a basic table editor to grafana/ui
2019-03-11 18:41:42 +01:00
Torkel Ödegaard
aeb3553491 Added scopedVars argument in datasourceSrv.get in DataPanel 2019-03-11 18:36:49 +01:00
Torkel Ödegaard
a1b20c8ca9 Merge pull request #15918 from ryantxu/handle-to-on
rename handleXXX to onXX events
2019-03-11 17:58:11 +01:00
ryan
00942ec882 MutableColumn 2019-03-11 09:29:30 -07:00
ryan
455a33bd8e cleanup after review 2019-03-11 09:24:25 -07:00
ryan
f4ae0cfaa8 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master:
  fix(explore/logs) not collapsing whitespace (#15737)
  Refactoring / fixing password hint PR #15868
  chore: Move sidemenu out of context service and use the logic we have in the router already for hiding the sidemenu
  Fix deduplication results displaying wrong data (#15755)
  Revert "Fix Datasource Update to no User/Password"
  fix imageurl in notification test
  changed all rems to pixels in defaults and template, changed back root font size
  Make password hint configurable from settings/defaults.ini
  changed root font to 100%(default 16px), changed font-size from px to rem, updated rem sizes in template and default.ts files, removed display classes and variables since not used, removed lead class and variables since not usedremoved serif font since not used and probably never should be used
  fix: Update test snapshot
  fix: Logo goes Home instead of toggling side menu #15482
  Fix: #14706 Incorrect index pattern padding in alerting queries
  Removed commented code
  Fixed alias in Cloudwatch Expressions
2019-03-11 09:06:08 -07:00
ryan
59b5f88798 rename handleXXX to onXX events 2019-03-11 09:03:10 -07:00
ryan
cb51f13e69 torkel feedback 2019-03-11 08:34:09 -07:00
ryan
c84c77e664 onCellClick 2019-03-11 08:17:59 -07:00
Alexander Zobnin
abb8e71fdc heatmap: able to reverse Y buckets order, #15683 2019-03-11 18:02:25 +03:00
Steven Sheehy
aa7e348694 fix(explore/logs) not collapsing whitespace (#15737)
- Set container width to 100% so column widths can be calculated properly
- Sets duplicates, level, timestamp, local time to a fixed width based upon em units since the size of these are static
- Sets labels to be 20%
- Remove min-width:80% on message column so that it now consumes remaining space
- Additionally fixes long labels from overflowing into the messages column by properly setting a max-width per label and hiding overflow

closes #15673

Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
2019-03-11 15:55:11 +01:00
Torkel Ödegaard
bf72b26c2c Refactoring of multi-value datasource PR #15812 2019-03-11 15:44:11 +01:00
ijin08
fae2f54530 fixed minor misstake with dashboard padding 2019-03-11 15:38:10 +01:00
ijin08
1ad0c7678a removed -margin, replaced with new general variables 2019-03-11 14:47:27 +01:00
Sean Lafferty
d922285ab8 Move oauth token migrations in user_auth_mig 2019-03-11 09:31:03 -04:00
Torkel Ödegaard
a8486806aa Merge branch 'multiselect-repeatby-datasource' of https://github.com/jdoupe/grafana into jdoupe-multiselect-repeatby-datasource 2019-03-11 14:14:26 +01:00
Torkel Ödegaard
5f6838abca Merge pull request #15847 from grafana/15482-go-home-with-logo
Logo takes you Home instead of toggling side menu #15482
2019-03-11 14:10:15 +01:00
Alexander Zobnin
2085397f31 heatmap: fix middle bucket bound for prometheus 2019-03-11 15:54:40 +03:00
Torkel Ödegaard
26779e0798 Merge PR #15868 password hint 2019-03-11 13:34:39 +01:00
Torkel Ödegaard
06f7a49a61 Refactoring / fixing password hint PR #15868 2019-03-11 13:33:57 +01:00
Johannes Schill
0736b8a1fb chore: Move sidemenu out of context service and use the logic we have in the router already for hiding the sidemenu 2019-03-11 13:18:22 +01:00
Torkel Ödegaard
647cb6ddae Merge branch 'master' of https://github.com/joshuawoodward/grafana into joshuawoodward-master 2019-03-11 13:10:45 +01:00
Torkel Ödegaard
4a70d4ef61 Merge pull request #15859 from grafana/font-use-rem-and-variables
Styling update to fonts
2019-03-11 13:09:49 +01:00
Dominik Prokop
a853e2c36e Fix deduplication results displaying wrong data (#15755)
The log rows were mutated in the store, what resulted in wrong deduplication results as well as made the selector memoization quirky - for "the same results" the selector was running twice.
2019-03-11 11:48:14 +01:00
ijin08
d55f189749 added new space variables to margins in AddPanelWidget, add_data_source, dashboard_settings and sidemenu 2019-03-11 11:33:15 +01:00
bergquist
7aeab0a235 use Get instead of Find 2019-03-11 11:04:56 +01:00
Torkel Ödegaard
90a3bc2203 Merge pull request #15892 from sandlis/14706-es-weekly-pattern-fix
Fix: #14706 Incorrect index pattern padding in alerting queries
2019-03-11 11:01:22 +01:00
Torkel Ödegaard
5fab1e89d3 Merge pull request #15897 from grafana/revert-15608-fix-datasource-update
Revert "Fix Datasource Update to no User/Password"
2019-03-11 10:58:28 +01:00
bergquist
b2967fbb37 avoid exposing cache client directly 2019-03-11 10:49:56 +01:00
bergquist
085b631099 add docs about remote cache settings 2019-03-11 10:49:56 +01:00
bergquist
7e7427637c renames distcache -> remotecache 2019-03-11 10:49:55 +01:00
bergquist
66e71b66dd renames key to cache_key
apparently key is a reserved keyword in mysql.
and the error messages doesnt mention that.
can I please have 6h back?
2019-03-11 10:49:55 +01:00
bergquist
dbc1315d6f build steps for cache servers 2019-03-11 10:49:55 +01:00
bergquist
daa3b17951 code layouts and comments 2019-03-11 10:49:42 +01:00
Torkel Ödegaard
3f574d3e57 Merge pull request #15685 from utkarshcmu/fix-#15562
Fixed alias in Cloudwatch Expressions
2019-03-11 10:49:30 +01:00
bergquist
9a78c23165 rename put -> set 2019-03-11 10:49:10 +01:00
bergquist
6231095f72 reverts package.json I made during the flight >.> 2019-03-11 10:49:10 +01:00
bergquist
98f5432659 memcache -> memcached
https://github.com/memcached/memcached
2019-03-11 10:49:09 +01:00
bergquist
995647be2c removes memory as distcache option
if database caching is to expensive if should
not use distcache in the first place.
2019-03-11 10:49:09 +01:00
bergquist
b933b4efc8 test redis and memcached during integration tests 2019-03-11 10:49:09 +01:00
bergquist
196cdf9710 adds config to default settings 2019-03-11 10:49:09 +01:00
bergquist
f9f2d9fcf3 avoid exporting test helpers 2019-03-11 10:49:09 +01:00
bergquist
33935b09f0 uses set instead of add for memcache
set always sets the value regardless.
2019-03-11 10:49:09 +01:00
bergquist
8db2864fee adds memory as dist storage alt 2019-03-11 10:49:09 +01:00
bergquist
a60bb83a70 extract tests into seperate files 2019-03-11 10:49:09 +01:00
bergquist
c8ff698d90 avoid exposing internal structs and functions 2019-03-11 10:49:04 +01:00
Alexander Zobnin
57f48f17a0 heatmap: don't display cut cards 2019-03-11 12:42:16 +03:00
Alexander Zobnin
bef024e4eb heatmap: fix error when series empty 2019-03-11 11:58:52 +03:00
Alexander Zobnin
9dbcc0fb6e heatmap: middle bucket bound option, #15683 2019-03-11 11:46:30 +03:00
ryan
7054cf8bb5 rotate! 2019-03-11 01:08:00 -07:00
ijin08
7dc4853e91 added new variables for spacing, set margins in _cards with new variables 2019-03-11 08:51:32 +01:00
ryan
61053ec099 better css 2019-03-11 00:45:15 -07:00
Carl Bergquist
a6e5e777be Merge pull request #15896 from genofire/patch-1
fix imageurl in notification test
2019-03-11 07:32:14 +01:00
Carl Bergquist
f3753712e0 Revert "Fix Datasource Update to no User/Password" 2019-03-11 07:22:54 +01:00
ryan
91a2307b98 rotate! 2019-03-10 23:11:57 -07:00
genofire
6d578dd372 fix imageurl in notification test
skip unnecessary http -> https redirect, which could make problems on some notifiers
2019-03-11 00:23:07 +01:00
ryan
84fa9be29f add comment 2019-03-10 15:51:19 -07:00
ryan
eef94b3f08 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master:
  reuse deprecationWarning
  move to string.ts
  move stringToJsRegex
  minor storybook cleanup
  docs: update slack alert notification settings
2019-03-10 15:34:18 -07:00
ryan
b80c773ebe attach themes to table story 2019-03-10 15:34:02 -07:00
ryan
0a094c1226 merge master 2019-03-10 13:45:18 -07:00
Torkel Ödegaard
fc41d10b9e Merge pull request #15891 from ryantxu/string-utils
move stringToJsRegex to grafana/ui
2019-03-10 19:56:36 +01:00
Dominik Prokop
eefba7373d Merge pull request #15890 from ryantxu/storybook-cleanup
Minor storybook cleanup

- DeleteButton should use withCenteredStory like everythign else
- Clicking the 'Red' button should not pick blue :)
2019-03-10 19:42:20 +01:00
Carl Bergquist
e46e71bbf3 Merge pull request #15878 from zhulongcheng/docs-add-slack-url
docs: update slack alert notification settings
2019-03-10 19:40:01 +01:00
ryan
f7f124c56b reuse deprecationWarning 2019-03-10 10:37:44 -07:00
ryan
d13eebfe52 move to string.ts 2019-03-10 10:19:02 -07:00
ryan
b2b35fc996 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master:
  docs: Fix indentation level for OAuth2 config
  docs: update CONTRIBUTING.md
2019-03-10 00:17:01 -08:00
ryan
b2a7891b08 move stringToJsRegex 2019-03-09 23:50:46 -08:00
ryan
494acddb2f get field mapping to actually work 2019-03-09 23:39:11 -08:00
ryan
1cb03670c4 add variable size storybook 2019-03-09 23:07:42 -08:00
ryan
fe22d14e93 cell builder cleanup 2019-03-09 20:47:02 -08:00
ryan
11188b53af minor storybook cleanup 2019-03-09 15:43:49 -08:00
ryan
6494c17cfa fix typos 2019-03-09 15:27:14 -08:00
ryan
e2be194b46 autofill space rather than force with/height values 2019-03-09 15:10:06 -08:00
ryan
9134620c1a return table directly, not the debug info 2019-03-09 14:15:41 -08:00
Sofia Papagiannaki
4cf698af10 Minor fix in values to histogram conversion
Filter out values outside the min and max boundaries
because they are assigned to uninitialized buckets
(outside min and max bounds).
2019-03-09 20:36:31 +02:00
Sofia Papagiannaki
5ed3139d5a Fix histogram x-axis min/max
This commit:
*fixes histogram computation when zero x-axis min/max are set
(they used to be ignored).
*validates the user defined x-axis min/max values
and ignores them if they result in invalid bucket sizes.
2019-03-09 20:36:30 +02:00
ryan
c7f35f2dcf moved utillities to util 2019-03-09 10:16:43 -08:00
Sofia Papagiannaki
96e1804d55 Change xaxis min and max form input types to number 2019-03-09 17:20:14 +02:00
Sofia Papagiannaki
f0d1a9157f Fix histogram xaxis min/max tests 2019-03-09 17:20:14 +02:00
Sofia Papagiannaki
332ecd483f Optionally set histogram x-axis min/max 2019-03-09 17:20:14 +02:00
ryan
078d8f1210 table using MultiGrid 2019-03-09 00:27:33 -08:00
ryan
343e49decb Merge remote-tracking branch 'grafana/master' into alpha-react-virtualized-table
* grafana/master: (24 commits)
  docs: Fix indentation level for OAuth2 config
  docs: update CONTRIBUTING.md
  @grafana/ui - release docs v1 (#15835)
  Minor refactoring of copy tags when saving feature, #15446
  Simple implementation for preserve tags, closes #11627
  Updated prettierignore
  Refactoring of PR #14772
  fix typo in pr template
  add nil/length check when delete old login attempts
  Minor refactoring of new react text panel
  fix allow anonymous server bind for ldap search
  use pure component
  use replaceVariables
  Catch bad regex exception at controller level
  11780: invalid reg value can cause unexpected behaviour
  update
  Add string quote func
  Remove option used to control within browser
  Add pic into actionCard message
  Add new option to set where to open the message url
  ...
2019-03-08 20:52:30 -08:00
ryan
3bd26df7de cleanup 2019-03-08 20:49:45 -08:00
ryan
eca3824e2d cleanup 2019-03-08 20:36:52 -08:00
ryan
40d7ba1e6a adding toolbar 2019-03-08 18:02:52 -08:00
ryan
9df47391ea adding stub table input CSV 2019-03-08 16:49:45 -08:00
Daniel Lee
0ae9c1c5cc Merge pull request #15882 from nowke/patch-1
docs: Fix indentation level for OAuth2 config
2019-03-09 00:35:46 +01:00
Torkel Ödegaard
6d6c7698e4 Merge pull request #15881 from zhulongcheng/docs-Contributing
docs: update CONTRIBUTING.md
2019-03-08 18:55:48 +01:00
Navaneesh Kumar
ccdc82b921 docs: Fix indentation level for OAuth2 config 2019-03-08 22:38:50 +05:30
zhulongcheng
e08d8eb55d docs: update CONTRIBUTING.md 2019-03-09 00:30:20 +08:00
ryan
7ce7da1251 merge master 2019-03-08 08:27:48 -08:00
ryan
6617a382a3 Merge remote-tracking branch 'grafana/master' into all-data-as-table
* grafana/master: (23 commits)
  @grafana/ui - release docs v1 (#15835)
  Minor refactoring of copy tags when saving feature, #15446
  Simple implementation for preserve tags, closes #11627
  Updated prettierignore
  Refactoring of PR #14772
  fix typo in pr template
  add nil/length check when delete old login attempts
  Minor refactoring of new react text panel
  fix allow anonymous server bind for ldap search
  Update README.md
  use pure component
  use replaceVariables
  Catch bad regex exception at controller level
  11780: invalid reg value can cause unexpected behaviour
  update
  Add string quote func
  Remove option used to control within browser
  Add pic into actionCard message
  Add new option to set where to open the message url
  Optimize the Dingding match values format
  ...
2019-03-08 08:25:30 -08:00
zhulongcheng
7743f77e45 docs: update slack alert notification settings
closes #15878
2019-03-09 00:19:21 +08:00
Torkel Ödegaard
570187384b Merge pull request #13825 from athurg/optimize_dingding_alert_message
Optimize dingding alert message
2019-03-08 15:33:24 +01:00
Marcus Efraimsson
80ce11a4a4 docs: update admin and user http api documentation 2019-03-08 15:15:57 +01:00
Marcus Efraimsson
0cd5a6772d feat(api): support list/revoke auth token in admin/current user api 2019-03-08 15:15:38 +01:00
Marcus Efraimsson
8029e48588 support get user tokens/revoke all user tokens in UserTokenService 2019-03-08 15:15:17 +01:00
Dominik Prokop
d104ee1c15 @grafana/ui - release docs v1 (#15835)
* Readme update

* Update @grafana/ui Readme qith release process description. Allow version commit creation during release

* Run tests and checks for grafana/core before releasing grafana/ui

* Post review Readme updates
2019-03-08 14:42:19 +01:00
Torkel Ödegaard
4518604cd6 Merge pull request #15446 from grafana/preserve-tags-option
Preserve tags switch option in Save As modal
2019-03-08 14:41:51 +01:00
Marcus Efraimsson
4f48ed3350 Merge pull request #15872 from grafana/15643_fix2
fix allow anonymous server bind for ldap search
2019-03-08 14:25:58 +01:00
Marcus Efraimsson
c9e90f8957 Merge pull request #15873 from grafana/13344_fix
add nil/length check when delete old login attempts
2019-03-08 14:25:24 +01:00
Torkel Ödegaard
04c88a226b Minor refactoring of copy tags when saving feature, #15446 2019-03-08 14:24:45 +01:00
Torkel Ödegaard
60272d8a77 Simple implementation for preserve tags, closes #11627 2019-03-08 14:00:44 +01:00
Torkel Ödegaard
2bc573c840 Merge branch 'master' of github.com:grafana/grafana 2019-03-08 13:56:37 +01:00
Torkel Ödegaard
74421ceb13 Updated prettierignore 2019-03-08 13:56:21 +01:00
Torkel Ödegaard
747aa82272 Merge branch 'SamuelToh-11780_wrong_repexp_in_series' 2019-03-08 13:55:53 +01:00
Torkel Ödegaard
878da68c90 Refactoring of PR #14772 2019-03-08 13:55:39 +01:00
corpglory-dev
a7bd8d503d Simple storybook 2019-03-08 15:47:15 +03:00
Marcus Efraimsson
d7d968412b fix typo in pr template 2019-03-08 13:47:09 +01:00
Torkel Ödegaard
01eb5fade3 Merge branch '11780_wrong_repexp_in_series' of https://github.com/SamuelToh/grafana into SamuelToh-11780_wrong_repexp_in_series 2019-03-08 13:40:50 +01:00
Marcus Efraimsson
e3b3062107 add nil/length check when delete old login attempts 2019-03-08 13:31:46 +01:00
Torkel Ödegaard
48114edc86 Minor refactoring of new react text panel 2019-03-08 13:30:47 +01:00
Torkel Ödegaard
90f8179bd2 Merge branch 'alpha-text2' of https://github.com/ryantxu/grafana into ryantxu-alpha-text2 2019-03-08 13:18:06 +01:00
corpglory-dev
b8fcd3d962 Improve rendering 2019-03-08 15:17:04 +03:00
Marcus Efraimsson
c242d38301 fix allow anonymous server bind for ldap search 2019-03-08 13:16:35 +01:00
ijin08
00ce556bd0 changed all rems to pixels in defaults and template, changed back root font size 2019-03-08 13:02:55 +01:00
corpglory-dev
7bc741c4e2 piechart -> pieChart 2019-03-08 13:51:25 +03:00
corpglory-dev
e47769c185 Rename: Piechart -> PieChart 2019-03-08 13:42:41 +03:00
corpglory-dev
ef37e95bb7 Import only what is used from d3 2019-03-08 13:33:53 +03:00
ryan
229dff757c less nesting and add test 2019-03-08 02:14:35 -08:00
ryan
188dc86246 remove type field and add helper functions to check if data isTableData 2019-03-08 00:41:35 -08:00
ryan
5aef3bd139 add storybook 2019-03-08 00:28:42 -08:00
bergquist
3890bd14eb fixes typo in redis devenv 2019-03-08 09:09:28 +01:00
bergquist
11d671c637 add support for memcached 2019-03-08 09:09:28 +01:00
bergquist
5ced863f75 add support for redis storage 2019-03-08 09:09:27 +01:00
bergquist
d99af23946 add garbage collector for database cache 2019-03-08 09:09:27 +01:00
bergquist
996d5059b1 test at interface level instead impl 2019-03-08 09:09:27 +01:00
bergquist
d4f5789660 cache: initial version of db cache 2019-03-08 09:09:27 +01:00
ryan
223906654c don't include stuff from app/... 2019-03-07 18:27:51 -08:00
ryan
eed9a2010e fix scss 2019-03-07 17:55:23 -08:00
ryan
ad51b069b3 rename to Table 2019-03-07 17:51:45 -08:00
ryan
e1324289c8 rename to Table 2019-03-07 17:49:02 -08:00
ryan
ca5d7c3510 fix type errors 2019-03-07 17:08:22 -08:00
ryan
d7b1fd75e3 move to grafana/ui 2019-03-07 16:52:20 -08:00
ryan
39be5959b8 better sort function 2019-03-07 15:01:36 -08:00
ryan
1609c07fb2 use TableData, not interface 2019-03-07 14:55:30 -08:00
ryan
2db4004d62 Merge remote-tracking branch 'grafana/master' into alpha-react-virtualized-table
* grafana/master:
  Update README.md
  Update core:start cli command to watch theme changes again (#15856)
  Updated pull request template
  Updated pull request rtemplate
  Removed title case from issue template title
  Updated issue template titles
  Updated issue templates
  Updated templates
  fix: Update error message and replace npm with yarn #15851
  fix: Make sure we dont add &autofitpanels to the url if it already exists #15849
  Update upgrading.md for wrong spell
  return the same panelData unless it changes
  Map dataSourceTypeSearchQuery state from redux to search input.
  Revert "Fix for leaving playlist mode"
  add new issue templates
2019-03-07 14:20:42 -08:00
Woodward, Joshua
946e542412 Make password hint configurable from settings/defaults.ini 2019-03-07 14:00:04 -08:00
ryan
439b044204 move toTableData to grafana/ui 2019-03-07 13:09:53 -08:00
ryan
8bf57359ab don't require x & y columns for timeSeries 2019-03-07 12:47:21 -08:00
ryan
abf015ace2 use TableData for timeseries in react 2019-03-07 12:13:38 -08:00
Matt Toback
f9e3c33ebd Update README.md 2019-03-07 14:33:37 -05:00
Alexander Zobnin
7167fa9d07 heatmap: reduce number of legend segments to reasonable value and round x values to prevent gaps 2019-03-07 20:05:32 +03:00
Alexander Zobnin
55d5219a05 heatmap: fix legend padding 2019-03-07 19:49:14 +03:00
Alexander Zobnin
c104f31149 heatmap: fix legend for small values, #14019 #15683 2019-03-07 18:57:18 +03:00
corpglory-dev
0f9253fe9d status: alpha 2019-03-07 17:46:50 +03:00
ijin08
c5f4239703 changed root font to 100%(default 16px), changed font-size from px to rem, updated rem sizes in template and default.ts files, removed display classes and variables since not used, removed lead class and variables since not usedremoved serif font since not used and probably never should be used 2019-03-07 15:37:17 +01:00
Torkel Ödegaard
56682cb1eb Merge pull request #15850 from grafana/15849-autofitpanels-in-url
Don't add autofitpanels to the url if it already exists
2019-03-07 13:19:03 +01:00
Dominik Prokop
312ce88e25 Update core:start cli command to watch theme changes again (#15856) 2019-03-07 13:12:10 +01:00
Torkel Ödegaard
2a0122dfbc Merge pull request #15852 from grafana/15851-update-error-message
Update error message and replace npm with yarn
2019-03-07 12:28:11 +01:00
Torkel Ödegaard
f71d45b1c1 Updated pull request template 2019-03-07 12:10:25 +01:00
Torkel Ödegaard
8892b933e8 Updated pull request rtemplate 2019-03-07 11:41:07 +01:00
Torkel Ödegaard
708fd6df21 Removed title case from issue template title 2019-03-07 11:12:43 +01:00
Torkel Ödegaard
067f0561d6 Updated issue template titles 2019-03-07 11:09:16 +01:00
Torkel Ödegaard
51178b3f56 Merge pull request #15534 from grafana/issue_templates
New issue templates
2019-03-07 11:07:36 +01:00
Torkel Ödegaard
ec1bb7b995 Updated issue templates 2019-03-07 11:07:01 +01:00
Torkel Ödegaard
da49fecc30 Updated templates 2019-03-07 10:55:16 +01:00
Johannes Schill
d937f1ff21 fix: Update error message and replace npm with yarn #15851 2019-03-07 10:52:24 +01:00
Johannes Schill
f3dbdfac07 fix: Make sure we dont add &autofitpanels to the url if it already exists #15849 2019-03-07 10:32:36 +01:00
Johannes Schill
06e9c116af fix: Update test snapshot 2019-03-07 09:54:39 +01:00
Johannes Schill
d6449ee629 fix: Logo goes Home instead of toggling side menu #15482 2019-03-07 09:36:40 +01:00
Torkel Ödegaard
a826c117e2 Merge pull request #15834 from grafana/revert-15791-fix/leave-playlist
Revert "Fix for leaving playlist mode"
2019-03-07 08:46:14 +01:00
Torkel Ödegaard
12263a3f70 Merge pull request #15838 from aocenas/fix-new-datasource-search
Fix new datasource search input
2019-03-07 08:45:52 +01:00
Torkel Ödegaard
327d1d758d Merge pull request #15841 from ryantxu/fix-15840
return the same panelData unless it changes
2019-03-07 08:44:18 +01:00
Marcus Efraimsson
10d50ea728 Merge pull request #15845 from shafferjohn/patch-1
Update upgrading.md for wrong spell
2019-03-07 08:29:42 +01:00
Shaffer John
272b561958 Update upgrading.md for wrong spell 2019-03-07 11:09:17 +08:00
ryan
3b31341ad9 remove _ 2019-03-06 16:34:32 -08:00
ryan
23c3e9d80a cleanup 2019-03-06 16:25:28 -08:00
ryan
6a8a60bcdf Merge remote-tracking branch 'grafana/master' into alpha-react-virtualized-table
* grafana/master:
  Minor refactoring of PR #15770
  Alternative fix to detecting when to stop a playlist, fixes #15701 and #15702
  fix discord notifier so it doesn't crash when there are no image generated
  Add a keybinding that toggles all legends in a dashboard
  removed color in color variables names
  changed some more color variables to use variables
2019-03-06 16:03:48 -08:00
ryan
2e8dd19636 use pure component 2019-03-06 15:54:19 -08:00
ryan
627a32e9bb Merge remote-tracking branch 'grafana/master' into alpha-text2
* grafana/master: (40 commits)
  Minor refactoring of PR #15770
  Alternative fix to detecting when to stop a playlist, fixes #15701 and #15702
  fix discord notifier so it doesn't crash when there are no image generated
  fix: Consistency in unit labels #15709
  Update latest.json
  Update CHANGELOG.md
  position from add panel, dimensions from copied panel
  changelog: add notes about closing #14509 #15179
  fix: Add class for input fields with help icon to avoid icon hiding the text #15771
  Update CHANGELOG.md
  restore to current folder when restoring old dashboard version
  fix(renderer): Vendor ansicolor as typescript
  log phantomjs output even if it timeout and include orgId when render alert
  keep size from copied panel and not from add panel widget
  Added basic cherry pick helping task
  Prevent search in VizPicker from stealing focus (#15802)
  fix only users that can edit a dashboard should be able to update panel json
  Updated changelog task
  Fixed image rendering issue for dashboards with auto refresh, casued by missing reloadOnSearch flag on route, fixes #15631
  Updated to add PR author, skip PR issue references
  ...
2019-03-06 15:47:14 -08:00
ryan
82326fed42 return the same panelData unless it changes 2019-03-06 15:18:24 -08:00
ryan
0d8384e05d sortable class 2019-03-06 14:39:04 -08:00
Andrej Ocenas
a59e0f1b55 Map dataSourceTypeSearchQuery state from redux to search input. 2019-03-06 22:30:40 +01:00
ryan
f7c1842a2b move rendering to its own file 2019-03-06 10:54:47 -08:00
ryan
aca69df755 try virtualized 2019-03-06 10:10:04 -08:00
corpglory-dev
a23ba378d4 Initial tooltip 2019-03-06 20:32:37 +03:00
Torkel Ödegaard
bc2a798158 Merge pull request #15574 from grafana/more-color-variables-use-variables
Changed some more color variables to use variables
2019-03-06 18:07:42 +01:00
Torkel Ödegaard
1ab548f423 Merge pull request #15832 from grafana/stop-playlist
Alternative fix to detecting when to stop a playlist
2019-03-06 17:57:37 +01:00
Torkel Ödegaard
2604e9e433 Minor refactoring of PR #15770 2019-03-06 17:53:14 +01:00
Torkel Ödegaard
18d5c04ae4 Merge branch 'toggle-all-legends' of https://github.com/jsferrei/grafana into jsferrei-toggle-all-legends 2019-03-06 17:48:59 +01:00
Torkel Ödegaard
3895294f97 Revert "Fix for leaving playlist mode" 2019-03-06 17:39:18 +01:00
Torkel Ödegaard
64a7d8cefe Merge pull request #15833 from grafana/15694_fix
fix discord notifier so it doesn't crash when there are no image generated
2019-03-06 17:32:34 +01:00
Torkel Ödegaard
3375c72d56 Alternative fix to detecting when to stop a playlist, fixes #15701 and #15702 2019-03-06 17:30:57 +01:00
ryan
26e3e7146e Merge remote-tracking branch 'grafana/master' into alpha-react-table
* grafana/master: (24 commits)
  fix: Consistency in unit labels #15709
  Update latest.json
  Update CHANGELOG.md
  position from add panel, dimensions from copied panel
  changelog: add notes about closing #14509 #15179
  fix: Add class for input fields with help icon to avoid icon hiding the text #15771
  Update CHANGELOG.md
  restore to current folder when restoring old dashboard version
  fix(renderer): Vendor ansicolor as typescript
  log phantomjs output even if it timeout and include orgId when render alert
  keep size from copied panel and not from add panel widget
  Added basic cherry pick helping task
  Prevent search in VizPicker from stealing focus (#15802)
  fix only users that can edit a dashboard should be able to update panel json
  Updated changelog task
  Fixed image rendering issue for dashboards with auto refresh, casued by missing reloadOnSearch flag on route, fixes #15631
  Updated to add PR author, skip PR issue references
  Added first iteration/poc of changelog task
  Enable @grafana/ui version bump based on package.json contents
  Ensure clean master only when publishing package to npm
  ...
2019-03-06 08:21:36 -08:00
Torkel Ödegaard
878b41d666 Merge pull request #15822 from grafana/copy-panel-retain-size
Keep size from copied panel
2019-03-06 17:06:19 +01:00
Torkel Ödegaard
d4c337b152 Merge pull request #15830 from grafana/15709-bytes-sec-label
fix: Consistency in unit labels #15709
2019-03-06 17:05:40 +01:00
Marcus Efraimsson
f21c976b27 fix discord notifier so it doesn't crash when there are no image generated 2019-03-06 17:03:14 +01:00
Johannes Schill
03e0e1783d fix: Consistency in unit labels #15709 2019-03-06 16:24:49 +01:00
Hugo Häggmark
c2598e498a Update latest.json 2019-03-06 16:10:49 +01:00
Hugo Häggmark
bfde2cb46f Update CHANGELOG.md 2019-03-06 16:01:22 +01:00
Torkel Ödegaard
71311b1e79 Merge pull request #15827 from grafana/12926_fix
Fix restore to current folder when restoring old dashboard version
2019-03-06 15:38:06 +01:00
Torkel Ödegaard
8e51667371 Merge pull request #15828 from grafana/15771-datasource-url-icon
Add padding to all input fields with help icon
2019-03-06 15:37:02 +01:00
corpglory-dev
ce47032ee8 Run prettier 2019-03-06 17:36:07 +03:00
Peter Holmberg
2c1be2c37e position from add panel, dimensions from copied panel 2019-03-06 15:19:58 +01:00
corpglory-dev
3497c36002 Fix donut rendering 2019-03-06 17:12:27 +03:00
Torkel Ödegaard
8ba4eb47e7 Merge pull request #15769 from grafana/15768_xorm_upgrade
upgrade xorm packages to latest versions
2019-03-06 15:11:06 +01:00
Torkel Ödegaard
73980adb17 Merge pull request #15826 from grafana/davkal/15635-vendor-ansicolor-ts
fix(renderer): Vendor ansicolor as typescript
2019-03-06 15:06:46 +01:00
corpglory-dev
7f0e22e288 Run prettier 2019-03-06 17:04:51 +03:00
corpglory-dev
568bc1c72d Fix pieType change 2019-03-06 17:01:30 +03:00
Marcus Efraimsson
b63ef54088 changelog: add notes about closing #14509 #15179 2019-03-06 14:49:36 +01:00
corpglory-dev
4cd91ff979 Render svg instead of canvas 2019-03-06 16:49:03 +03:00
Johannes Schill
e7297fef06 fix: Add class for input fields with help icon to avoid icon hiding the text #15771 2019-03-06 14:45:13 +01:00
Torkel Ödegaard
f22f1ac3d6 Update CHANGELOG.md 2019-03-06 14:41:05 +01:00
Marcus Efraimsson
cf500f3157 restore to current folder when restoring old dashboard version 2019-03-06 14:38:40 +01:00
Torkel Ödegaard
08be3b16e3 Merge pull request #15819 from grafana/phantomjs_fixes
log phantomjs output even if it timeout and include orgId when render alert
2019-03-06 14:27:54 +01:00
David Kaltschmidt
26236b4bc3 fix(renderer): Vendor ansicolor as typescript
Fixes #15635

Importing ansicolor from node_modules or vendored as is failed because
there is no ES5 transpiler configured for ES6 libs.

- remove ansicolor from package.json
- add ansicolor to public/vendor/ansicolor and port to typescript
- adapt all ansicolor imports
- add `public/vendor` as a path to be considered by ts compiler
2019-03-06 14:22:59 +01:00
Marcus Efraimsson
1323043bd4 Merge pull request #15805 from grafana/15667_fix
fix only users that can edit a dashboard should be able to update panel json
2019-03-06 13:56:49 +01:00
Marcus Efraimsson
36f3accf0d log phantomjs output even if it timeout and include orgId when render alert 2019-03-06 13:53:23 +01:00
Torkel Ödegaard
63e7330fa0 Merge remote-tracking branch 'origin/cli/refactor-commands' 2019-03-06 13:32:16 +01:00
Torkel Ödegaard
aef09fe1df Merge pull request #15801 from grafana/changelog-cli-task
Added first iteration/poc of changelog task
2019-03-06 13:30:27 +01:00
Torkel Ödegaard
e9e2c85a72 Merge pull request #15818 from grafana/fix-15631-rendering-timeout
Fixed image rendering issue for dashboards with auto refresh, Fixes #15631
2019-03-06 13:29:18 +01:00
Peter Holmberg
db2b8ea602 keep size from copied panel and not from add panel widget 2019-03-06 13:23:11 +01:00
Torkel Ödegaard
7b67dcfbb8 Added basic cherry pick helping task 2019-03-06 13:18:13 +01:00
Peter Holmberg
4e57ead38d Prevent search in VizPicker from stealing focus (#15802)
Fixes #15569 focus issue in viz picker search
* added state to not set focus on search every render
* move to new component to handle focus
2019-03-06 13:07:08 +01:00
Marcus Efraimsson
1a588dadbe fix only users that can edit a dashboard should be able to update panel json 2019-03-06 12:57:19 +01:00
Torkel Ödegaard
153b3e5cf5 Updated changelog task 2019-03-06 12:28:07 +01:00
Torkel Ödegaard
70f1abbe37 Fixed image rendering issue for dashboards with auto refresh, casued by missing reloadOnSearch flag on route, fixes #15631 2019-03-06 11:46:38 +01:00
Torkel Ödegaard
72d5215c65 Merge pull request #15783 from grafana/cli/refactor-commands
Minor refactor of cli tasks (core start, @grafana/ui publishing)
2019-03-06 10:36:21 +01:00
ryan
123739fdb4 use props.replaceVariables rather than templateSrv 2019-03-06 01:14:53 -08:00
ryan
ea5db92996 Merge remote-tracking branch 'grafana/master' into alpha-react-table
* grafana/master:
  Fixed styling of gicon's in dropdown menus
  cleanup plugin versions
  use explore icon
  fix comments
  typescript functions on replace
  remove console.log
  add ScopedVars to replace function
  Expose onQueryChange to angular plugins
  fix allow anonymous initial bind for ldap search
2019-03-06 00:59:27 -08:00
Torkel Ödegaard
72ca51dadc Updated to add PR author, skip PR issue references 2019-03-06 09:57:45 +01:00
Torkel Ödegaard
10ff3db1ab Added first iteration/poc of changelog task 2019-03-06 09:57:44 +01:00
Dominik Prokop
3fc24fa964 Enable @grafana/ui version bump based on package.json contents 2019-03-06 09:52:31 +01:00
Torkel Ödegaard
85751d9875 Merge pull request #15803 from grafana/15643_fix
fix allow anonymous initial bind for ldap search
2019-03-06 09:35:37 +01:00
Torkel Ödegaard
2039278a93 Merge pull request #15807 from jsferrei/angular-plugin-onquerychange
Expose onQueryChange to angular plugins
2019-03-06 09:28:56 +01:00
Torkel Ödegaard
3aad4e212f Merge pull request #15816 from ryantxu/plugin-page-cleanup
cleanup plugin versions
2019-03-06 09:11:57 +01:00
Torkel Ödegaard
5efa737217 Merge pull request #15814 from ryantxu/replace-scoped-vars
add ScopedVars to props.replaceVariables()
2019-03-06 09:11:35 +01:00
Torkel Ödegaard
176315cf40 Fixed styling of gicon's in dropdown menus 2019-03-06 09:08:17 +01:00
ryan
909d425008 cleanup plugin versions 2019-03-05 23:40:03 -08:00
ryan
5524dacc9d use explore icon 2019-03-05 23:00:43 -08:00
ryan
3dd7d40718 fix comments 2019-03-05 22:18:42 -08:00
ryan
aa38a9e0b4 typescript functions on replace 2019-03-05 22:14:28 -08:00
ryan
948729e951 remove console.log 2019-03-05 22:00:12 -08:00
ryan
f5aba36814 add ScopedVars to replace function 2019-03-05 21:56:52 -08:00
Jeremy Doupe
3f27d3ea23 Make datasource variables multiselect and dashboard repeatable
closes #7492 (and #7030)
2019-03-05 22:47:22 -06:00
ryan
8cb52ee626 set height 2019-03-05 20:40:34 -08:00
ryan
f3712f748a add test file (ignored) 2019-03-05 20:11:14 -08:00
ryan
589229d8af fix variable name 2019-03-05 18:55:09 -08:00
ryan
32543cac10 use typescrit in angular table 2019-03-05 18:23:13 -08:00
ryan
372e892fab use react-table 2019-03-05 18:17:44 -08:00
ryan
f59ccdf59c add a basic alpha react table 2019-03-05 16:07:46 -08:00
Dominik Prokop
358f9cbeae Ensure clean master only when publishing package to npm 2019-03-05 21:18:26 +01:00
Dominik Prokop
b816b4e259 Remove log 2019-03-05 21:16:34 +01:00
Dominik Prokop
18999df716 Ensuring master branch when performing release 2019-03-05 21:12:21 +01:00
Marcus Efraimsson
f845a3b841 upgrade xorm packages to latest versions 2019-03-05 21:11:23 +01:00
Jon Ferreira
a3da8dc673 Expose onQueryChange to angular plugins 2019-03-05 15:04:10 -05:00
Daniel Lee
b582611004 docker: update prometheus2 block to version 2.7.2 2019-03-05 20:24:31 +01:00
ryan
94b6fc54ff use replaceVariables 2019-03-05 11:14:22 -08:00
ryan
c9396b2889 Merge remote-tracking branch 'grafana/master' into alpha-text2
* grafana/master: (57 commits)
  changelog: adds note for #8253
  use default min interval of 1m for sql datasources
  changelog: adds note about closing #15608
  Fixed scrollbar not visible due to content being added a bit after mount, fixes #15711
  Added comment to Docker file
  moving
  style: add gicon-shield to sidemenu class Closes #15591
  remove `UseBool` since we use `AllCols`
  fix: Move chunk splitting from prod to common so we get the same files in dev as prod
  fix: update datasource in componentDidUpdate Closes #15751
  changelog: add notes about closing #15739
  Moved Server Admin and children to separate menu item on Side Menu (#15592)
  update version to 6.1.0-pre
  Viewers with viewers_can_edit should be able to access /explore (#15787)
  Fixed scrolling issue that caused scroll to be locked to the bottom of a long dashboard, fixes #15712
  reordered import
  Wrapperd playlist controls in clickoutsidewrapper
  Turn off verbose output from tar extraction when building docker files, fixes #15528
  Hide time info switch when no time options are specified
  Made sure that DataSourceOption displays value and fires onChange/onBlur events (#15757)
  ...
2019-03-05 11:02:03 -08:00
Jon Ferreira
46fa09fdad Add a keybinding that toggles all legends in a dashboard 2019-03-05 13:19:40 -05:00
Torkel Ödegaard
5548aa7c05 Merge pull request #15799 from grafana/15614_fix
use default min interval of 1m for sql datasources
2019-03-05 18:37:51 +01:00
Marcus Efraimsson
3b9f0e6ef2 fix allow anonymous initial bind for ldap search 2019-03-05 18:03:07 +01:00
Torkel Ödegaard
281d9f6058 Merge pull request #15798 from grafana/fixed-scrollbar-not-visible
Fixed scrollbar not visible initially (only after manual scroll)
2019-03-05 17:34:30 +01:00
Daniel Lee
9383b04efd changelog: adds note for #8253 2019-03-05 15:55:10 +01:00
Daniel Lee
fe1c204d4a Merge pull request #15290 from mtanda/prometheus_label_names_query
(prometheus) support /api/v1/labels
2019-03-05 15:45:14 +01:00
corpglory-dev
d2843879f0 prettier 2019-03-05 17:39:51 +03:00
corpglory-dev
083cc0bbca Aftermerge fixes 2019-03-05 17:15:44 +03:00
corpglory-dev
250ee2298a Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-03-05 17:13:38 +03:00
Torkel Ödegaard
744bf6a784 Merge pull request #15790 from grafana/reduce-log-output-from-docker-build
Turn off verbose output from tar extraction when building docker file
2019-03-05 15:07:15 +01:00
Torkel Ödegaard
6da87a17ef Merge pull request #15793 from grafana/hugoh/bug-can-not-use-testdatasource-in-v6
Update datasource in componentDidUpdate so that datasource is correct in state
2019-03-05 15:06:44 +01:00
Torkel Ödegaard
ef59af5e38 Merge pull request #15795 from grafana/split-chunks-in-dev
Split javascript to a vendor chunk in dev-mode
2019-03-05 15:05:03 +01:00
Marcus Efraimsson
df60804937 use default min interval of 1m for sql datasources 2019-03-05 15:03:15 +01:00
Torkel Ödegaard
a57310efa4 Merge pull request #15796 from grafana/move-unitpicker-to-grafana-uo
Move unitpicker to grafana/ui
2019-03-05 15:01:17 +01:00
bergquist
d4c718091c changelog: adds note about closing #15608 2019-03-05 14:41:04 +01:00
Carl Bergquist
71bfefa8fb Merge pull request #15608 from Maddin-619/fix-datasource-update
Fix Datasource Update to no User/Password
2019-03-05 14:38:32 +01:00
Torkel Ödegaard
cd78f0bef2 Fixed scrollbar not visible due to content being added a bit after mount, fixes #15711 2019-03-05 14:32:33 +01:00
Torkel Ödegaard
12b6ab2ddd Merge pull request #15794 from grafana/hugoh/bug-serveradmin-icon-to-dark-in-light-theme
Add gicon-shield to sidemenu class
2019-03-05 13:59:22 +01:00
Torkel Ödegaard
a12960e476 Added comment to Docker file 2019-03-05 13:58:43 +01:00
Peter Holmberg
ee4df15526 moving 2019-03-05 13:55:29 +01:00
Hugo Häggmark
062b5f26fe style: add gicon-shield to sidemenu class
Closes #15591
2019-03-05 13:46:22 +01:00
bergquist
ae9327ff3a remove UseBool since we use AllCols 2019-03-05 13:41:40 +01:00
Torkel Ödegaard
7f283bdfb9 Merge pull request #15792 from grafana/fix-15712-scroll-issue
Fixed scrolling issue that caused scroll to be locked to bottom
2019-03-05 13:32:30 +01:00
Johannes Schill
e3ddfccb61 fix: Move chunk splitting from prod to common so we get the same files in dev as prod 2019-03-05 13:29:54 +01:00
Hugo Häggmark
09b036dc93 fix: update datasource in componentDidUpdate
Closes #15751
2019-03-05 13:08:31 +01:00
Marcus Efraimsson
ff7eaced25 changelog: add notes about closing #15739 2019-03-05 13:04:00 +01:00
Hugo Häggmark
d3642a3e91 Moved Server Admin and children to separate menu item on Side Menu (#15592)
* Moved Server Admin and children to separate menu item on Side Menu

* Removed style guide after PR comments
2019-03-05 13:02:41 +01:00
Marcus Efraimsson
e3d08e24f3 update version to 6.1.0-pre 2019-03-05 12:58:02 +01:00
Johannes Schill
a81d5486b0 Viewers with viewers_can_edit should be able to access /explore (#15787)
* fix: Viewers with viewers_can_edit should be able to access /explore #15773

* refactoring initial PR a bit to simplify function and reduce duplication
2019-03-05 12:41:01 +01:00
Torkel Ödegaard
be8f60b0bf Merge pull request #15791 from grafana/fix/leave-playlist
Fix for leaving playlist mode
2019-03-05 12:38:14 +01:00
Torkel Ödegaard
e6a83bf0e1 Fixed scrolling issue that caused scroll to be locked to the bottom of a long dashboard, fixes #15712 2019-03-05 12:37:19 +01:00
Torkel Ödegaard
a73663de41 Merge pull request #15789 from grafana/hide-time-info
Hide time info switch when no time options are specified
2019-03-05 12:15:45 +01:00
Peter Holmberg
a158a19272 reordered import 2019-03-05 12:10:20 +01:00
Peter Holmberg
978cdfba00 Wrapperd playlist controls in clickoutsidewrapper 2019-03-05 12:08:57 +01:00
Torkel Ödegaard
66d9b12981 Turn off verbose output from tar extraction when building docker files, fixes #15528 2019-03-05 12:03:48 +01:00
Torkel Ödegaard
c813a9953a Merge pull request #15786 from grafana/react-select-upgrade
Updated react select fork to 2.4.1
2019-03-05 11:44:03 +01:00
Torkel Ödegaard
a5455691b3 Hide time info switch when no time options are specified 2019-03-05 11:43:25 +01:00
Torkel Ödegaard
1711622eff Merge pull request #15784 from grafana/15782-error-fix
In error popup, fixes bug so that string errors are shown again. Fixes #15782
2019-03-05 10:52:47 +01:00
Hugo Häggmark
48570c6272 Made sure that DataSourceOption displays value and fires onChange/onBlur events (#15757)
* Fixed #15682 

* fix: Add hideTimeOverride to state since we need to control the Switch

* fix: Back the maxDataPoints change, we need to keep it as a string

Co-authored-by:johannes.schill@polyester.se
2019-03-05 10:49:45 +01:00
Torkel Ödegaard
fde63fc1cf Updated react select fork to 2.4.1 2019-03-05 10:47:52 +01:00
Daniel Lee
8b1e25b50a utils: show string errors. Fixes #15782 2019-03-05 09:32:02 +01:00
Torkel Ödegaard
590450291a Update frontend.md 2019-03-05 09:23:04 +01:00
Torkel Ödegaard
707d0e13bd Update frontend.md 2019-03-05 09:22:26 +01:00
Torkel Ödegaard
b787811da8 Merge pull request #15761 from grafana/15708_access
fix: limit access to org admin and alerting pages
2019-03-05 09:17:20 +01:00
Torkel Ödegaard
0016ad2cb3 Merge pull request #15774 from ryantxu/set-options
Rename PanelEditorProps.onChange to onOptionsChange
2019-03-05 09:11:56 +01:00
Torkel Ödegaard
57810ea5e5 Merge pull request #15775 from ryantxu/rename-interpolate
use replaceVariables rather than onInterpolate
2019-03-05 09:10:45 +01:00
Dominik Prokop
73ef864979 Minor refactor of cli tasks (core start, gui publishing) 2019-03-05 08:56:29 +01:00
Dominik Prokop
cee5f030dc Fixed url of back button in datasource edit page, when root_url configured (#15759)
* Fixed url of back button in datasource edit page, when root_url configured

* Update snapshots

* Use app config directly in ButtonRow instead of passing datasources page URL via prop

* Snapshots update
2019-03-05 07:35:45 +01:00
Leonard Gram
1e52a1f9a5 Merge pull request #15539 from grafana/repo-recreation-documentation
docs: howto for recreating our debian repositories.
2019-03-05 07:18:39 +01:00
Torkel Ödegaard
e8d6e4fb48 Merge pull request #15778 from roidelapluie/patch-2
Add #15752 in CHANGELOG
2019-03-05 06:05:28 +00:00
Julien Pivotto
8f9246dff0 Add #15752 in CHANGELOG 2019-03-04 23:17:33 +01:00
ryan
3d16528459 use onOptionsChange 2019-03-04 12:35:24 -08:00
ryan
251008f590 use replaceVariables rather than onInterpolate 2019-03-04 11:44:38 -08:00
ryan
77d709d9df use updateOptions rather than onChange 2019-03-04 11:21:05 -08:00
Marcus Efraimsson
989147a1ce changelog: add notes about closing #15650 2019-03-04 17:47:16 +01:00
Marcus Efraimsson
646ca90b10 Merge pull request #15767 from grafana/15650-autofitpanel-kiosktvmode
No scroll in autofitpanel-mode
2019-03-04 08:44:28 -08:00
Marcus Efraimsson
a6056ba565 changelog: add notes about closing #15765 2019-03-04 17:38:27 +01:00
Marcus Efraimsson
947b38b379 Merge pull request #15766 from grafana/15765-kiosk-mode-url
fix: Kiosk mode should have &kiosk appended to the url
2019-03-04 08:36:14 -08:00
Johannes Schill
92ec8757d3 fix: Kiosk mode should have &kiosk appended to the url #15765 2019-03-04 16:33:00 +01:00
Marcus Efraimsson
c36047674a changelog: add notes about closing #15077 2019-03-04 16:07:51 +01:00
Marcus Efraimsson
3832eba31f Merge pull request #15077 from activeshadow/aws-rds-max-xids
Added MaximumUsedTransactionIDs metric to list of AWS RDS metrics.
2019-03-04 07:05:19 -08:00
Marcus Efraimsson
5638c67be8 org admins should only be able to access org admin pages 2019-03-04 15:51:18 +01:00
Marcus Efraimsson
a29b99b96b only editor/admin should have access to alert list/notifications pages 2019-03-04 15:48:07 +01:00
Bryan T. Richardson
ae23773db3 Added MaximumUsedTransactionIDs metric to list of AWS RDS metrics. 2019-03-04 07:38:36 -07:00
Johannes Schill
cc40a515be fix: When in tv-mode, autofitpanel should not take space from the navbar #15650 2019-03-04 13:46:10 +01:00
Torkel Ödegaard
1312789d1d Merge pull request #15753 from xlson/devenv-influx-fix
devenv: fixes incorrect influxdb config.
2019-03-04 11:36:51 +00:00
Torkel Ödegaard
7540527010 Merge pull request #15612 from jsferrei/upstream_stacking_fix
Toggle stack should trigger a render, not a refresh
2019-03-04 10:54:36 +00:00
Torkel Ödegaard
28cac0976d Merge pull request #15752 from grafana/hugoh/bug-repeated-row-gauge
Passing scopedVars down to DataPanel from PanelChrome
2019-03-04 10:53:07 +00:00
Leonard Gram
818ccb572e devenv: fixes incorrect influxdb config.
[skip ci]
2019-03-04 11:23:33 +01:00
Hugo Häggmark
3a65e27e83 Fixes #15739 2019-03-04 10:42:59 +01:00
Torkel Ödegaard
b4df0e73cd Merge pull request #15706 from grafana/15656-playlists-with-tags-rebased
wip: Fix playlists "by tags"
2019-03-04 09:00:28 +00:00
parry
25b09168eb Don't mutate seriesList parameter in mergeSeriesByTime (#15619)
* do not mutate seriesList in mergeSeriesByTime

* extendedseriesList -> extendedDatapointsList

* remove toString() from datapoints, since the value can be null
2019-03-04 09:56:47 +01:00
Marcus Efraimsson
6fd6f893aa new stable docs version 2019-03-04 00:38:19 -08:00
Torkel Ödegaard
328eea3a29 Merge pull request #15713 from grafana/scrollbar-right-side
Fixed right side scrollbar margin on dashboard page
2019-03-04 08:13:01 +00:00
Torkel Ödegaard
c28fc9f4a7 Merge pull request #15742 from grafana/fix-15664/bits-showing-as-d
Fixing bits valueFormat
2019-03-04 08:06:36 +00:00
sandeep
e04218e550 Fix: #14706 Incorrect index pattern padding in alerting queries
When weekly index pattern is used, indices names contain single digit week number for week 1-9
This fix makes sure indice names always contain 2 digit week number for weekly pattern
2019-03-03 18:10:38 +05:30
Peter Holmberg
a9ca8e9dec fix 2019-03-02 13:51:55 -08:00
Marcus Efraimsson
0114ffc9ac Merge pull request #15671 from bendrucker/patch-1
Fix style and grammar in 6.0 announcement
2019-03-02 13:42:35 -08:00
bergquist
27dc3586b1 changelog: adds note about closing #14239 2019-03-02 21:27:09 +01:00
Marcus Efraimsson
d49f0bedd3 fix: prevent datasource json data stored as nil (#15508)
prevent datasource json data stored as nil

closes #14239
2019-03-02 21:18:26 +01:00
Carl Bergquist
06de01dc23 Merge pull request #15458 from bergquist/integration_tests_all_packages
run db tests in all packages
2019-03-02 21:11:53 +01:00
bergquist
cde3a21434 changelog: adds note about closing #10506 2019-03-02 20:37:36 +01:00
bergquist
dafd7afb97 changelog: adds note about closing #15651 2019-03-02 20:35:53 +01:00
Samuel
41024c29bb Return 404 on user not found (#15606)
Return 404 on user not found

closes #10506
2019-03-02 20:34:48 +01:00
Carl Bergquist
1e719bb3db Merge pull request #15659 from xlson/interl-metrics-fix
service: fix for disabled internal metrics.
2019-03-02 18:51:40 +01:00
SamuelToh
d2c161c2e6 Catch bad regex exception at controller level 2019-03-02 20:50:25 +10:00
corpglory-dev
6e320679d4 Prettier fix 2019-03-01 22:03:19 +03:00
corpglory-dev
0ab3a80016 Add PiechartOptionsBox 2019-03-01 21:42:15 +03:00
corpglory-dev
f4f8e0d79a Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-03-01 20:55:19 +03:00
Leonard Gram
1bcaaccb96 docs: missing field added to example
Closes #15715
2019-03-01 16:07:34 +01:00
SamuelToh
6bfbdbe20b 11780: invalid reg value can cause unexpected behaviour 2019-03-01 20:34:40 +10:00
ryan
d3cbc5638c Merge remote-tracking branch 'grafana/master' into alpha-text2
* grafana/master:
  Explore: Enable click on name label
  Bumping grafana ui version (#15669)
  Need this to be available for plugins
  docs: 6.0 whats new
  Updated latest.json with 6.0
  Update CHANGELOG.md
  docs: grafana 6.0 has been released.
  moves social package to /login
  moves tracing packge into /infra
  Update CHANGELOG.md
  changelog: adds notes for #14509 and #15179
  graph: fixes click after scroll in series override menu
  moves metric package to /infra
  stackdriver: change reducer mapping for distribution metrics
  stackdriver: fix for float64 bounds for distribution metrics
  Fixed value dropdown not updating when it's current value updates, fixes #15566
2019-02-28 10:07:53 -08:00
Torkel Ödegaard
84b2c0447e Fixed right side scrollbar margin on dashboard page 2019-02-28 08:29:18 -08:00
Johannes Schill
8d5ccc7831 fix: Return url when query dashboards by tag 2019-02-28 10:44:39 +01:00
corpglory-dev
17c4b7096e Fix prettier 2019-02-27 20:48:55 +03:00
corpglory-dev
81c140b425 Initial rendering 2019-02-27 20:07:58 +03:00
corpglory-dev
b48f8bcf4c Add PiechartType enum 2019-02-27 20:04:57 +03:00
corpglory-dev
bc9d4e07d0 Install d3 2019-02-27 17:33:52 +03:00
corpglory-dev
6114097668 Remove extra props 2019-02-27 17:33:18 +03:00
corpglory-dev
e842e86e2a Merge branch 'master' into piechart-react 2019-02-27 16:09:13 +03:00
utkarshcmu
37033080b7 Removed commented code 2019-02-27 00:33:40 -08:00
utkarshcmu
8ef3aebc29 Fixed alias in Cloudwatch Expressions 2019-02-27 00:20:29 -08:00
Dominik Prokop
1478f38dd9 Merge pull request #15678 from grafana/davkal-fork/fix-14654
Explore: Enable click on name label
2019-02-27 01:01:50 +01:00
David Kaltschmidt
539333bb01 Explore: Enable click on name label
- click on the name label in a prometheus table was disabled
- it was disabled because every query used to have a metric which is no
longer true
- this change enables it
2019-02-26 14:21:46 -08:00
Peter Holmberg
8bdf2111c4 Bumping grafana ui version (#15669)
grafana/ui 6.0.1-alpha.0 release version bump
2019-02-26 20:51:52 +01:00
Ben Drucker
e7b630e633 Style and grammar fixes 2019-02-26 11:34:49 -08:00
Torkel Ödegaard
29f53fb5ce big text option 2019-02-26 10:37:17 -08:00
Peter Holmberg
4521a3d419 Merge pull request #15668 from grafana/export-value-mapping-utils
Need this to be available for plugins
2019-02-26 09:49:39 -08:00
Peter Holmberg
1bffde57e3 Need this to be available for plugins 2019-02-26 09:22:21 -08:00
Leonard Gram
36788183d8 service: fix for disabled internal metrics.
Update of the internal metrics for Grafana was
disabled by mistake when refactoring the code.

Fixes #15651
2019-02-26 11:41:55 +01:00
Leonard Gram
c04395ce3a docs: 6.0 whats new 2019-02-25 19:25:47 +01:00
Jon Ferreira
0bdca7957a Toggle stack should trigger a render, not a refresh 2019-02-25 11:29:34 -05:00
Leonard Gram
3c3e06515e Updated latest.json with 6.0 2019-02-25 17:09:49 +01:00
Leonard Gram
e1d27bd79a Update CHANGELOG.md 2019-02-25 16:24:02 +01:00
Leonard Gram
cab90ef4f9 Merge pull request #15640 from xlson/docs-6.0-released
docs: grafana 6.0 has been released.
2019-02-25 16:19:13 +01:00
Carl Bergquist
369aa2d5dd Merge pull request #15628 from bergquist/move_tracing_infra
moves tracing packge into /infra
2019-02-25 16:16:45 +01:00
Carl Bergquist
1aeec31495 Merge pull request #15630 from bergquist/moves_social_to_login
moves social package to /login
2019-02-25 16:16:20 +01:00
Leonard Gram
38a116d0f7 docs: grafana 6.0 has been released. 2019-02-25 15:45:35 +01:00
bergquist
60fef31748 moves social package to /login
ref #14679
2019-02-25 15:30:40 +01:00
bergquist
0c67194b45 moves tracing packge into /infra 2019-02-25 15:29:25 +01:00
Leonard Gram
26dcabc2dc Update CHANGELOG.md 2019-02-25 13:00:18 +01:00
Leonard Gram
ccc97ed649 Merge pull request #15634 from grafana/15621-series-overrides
graph: fixes click after scroll in series override menu
2019-02-25 12:50:06 +01:00
Leonard Gram
5ff44bdbcf Merge pull request #15616 from grafana/fixed-variable-dropdown-update
Fixed value dropdown not updating when it's current value updates
2019-02-25 09:39:28 +01:00
Daniel Lee
9efe7674d6 changelog: adds notes for #14509 and #15179 2019-02-25 02:46:05 +01:00
Carl Bergquist
0aa61c8e12 Merge pull request #15629 from bergquist/moves_metrics_to_infra
moves metric package to /infra
2019-02-25 02:44:09 +01:00
Daniel Lee
9240d850b4 Merge pull request #15623 from grafana/stackdriver-bounds
stackdriver: fix for float64 bounds for distribution metrics
2019-02-25 02:32:28 +01:00
Daniel Lee
3a6f49837d Merge pull request #15624 from grafana/15179-reducers
stackdriver: change reducer mapping for distribution metrics
2019-02-25 02:30:08 +01:00
Daniel Lee
e76655df43 graph: fixes click after scroll in series override menu
Makes changes to dropdown-typeahead2 so that a css
class for the button can be passed in. Means it can
be used instead of dropdown-typeahead.

Switches to using dropdown-typeahead2 for series_overrides
directive and for the influxdb, mysql and postgres datasources
as it already contains a fix for this issue.

This commit also fixes the index property which
was set using an incorrectly spelled length property in the
series_overrides directive.

Closes #15621
2019-02-25 02:11:28 +01:00
bergquist
8a3a3cccc3 moves metric package to /infra
ref #14679
2019-02-24 21:12:51 +01:00
David Kaltschmidt
e6a74eb1a2 Explore: Make sure line graphs get different colors
- lines for graphs from different query rows end up in different
transactions
- within each transaction the color distribution resets leading to color
overlap
- this change takes existing transaction colors into account
2019-02-24 10:01:50 -08:00
Daniel Lee
35fc0c5329 stackdriver: change reducer mapping for distribution metrics
- Distribution metrics are now mapped to more reducers
when the metric kind is cumulative.
- The witdth of the metrics dropdown is now much wider.
- Changed the text from Select Aggregation to Select Reducer
to line up with the UI in Stackdriver.
2019-02-24 17:44:15 +01:00
Daniel Lee
d1e249a803 stackdriver: fix for float64 bounds for distribution metrics
Adds support for explicit distribution metrics and float64 bounds

Fixes #14509
2019-02-24 17:37:26 +01:00
ryan
e5ce759167 update 2019-02-23 21:53:20 -08:00
Torkel Ödegaard
88e1e83800 style tweaks 2019-02-23 15:02:25 +01:00
Torkel Ödegaard
72943af46a Refactoring orientation stuff 2019-02-23 14:59:26 +01:00
Torkel Ödegaard
bce6f75fdc Refactoring bar gauge 2019-02-23 14:00:25 +01:00
Torkel Ödegaard
92c7303615 Refactoring bar gauge 2019-02-23 13:28:27 +01:00
Torkel Ödegaard
a27c55b53d Added missing file 2019-02-23 12:14:50 +01:00
Torkel Ödegaard
5590b026d0 refactoring repeater and code in gauge and bar gauge to reuse more code 2019-02-23 11:31:35 +01:00
Marcus Efraimsson
e6830b0681 Merge pull request #15240 from grafana/azure-monitor-docs
Azure Monitor docs
2019-02-23 11:14:35 +01:00
Marcus Efraimsson
3c911cf208 docs: link to azure monitor from what's new in v6.0 2019-02-23 11:05:11 +01:00
Torkel Ödegaard
f768808b6e Fixed value dropdown not updating when it's current value updates, fixes #15566 2019-02-23 08:59:00 +01:00
Daniel Lee
31ae2813a7 docs: tweaks to AzureMonitor docs 2019-02-22 18:45:24 +01:00
Hugo Häggmark
8f62082482 Added feature toggle to defaults.ini and sample.ini after PR comments 2019-02-22 14:39:22 +01:00
Hugo Häggmark
769ad21e16 Moved variable to config struct after PR comments 2019-02-22 14:39:22 +01:00
Hugo Häggmark
9c9691f7af Added feature toggle editors_can_own 2019-02-22 14:39:22 +01:00
Maddin-619
09cd173e92 updates all cols except created so user and password
of the database can be chaned to no user and password
2019-02-22 14:19:15 +01:00
Hugo Häggmark
dafcfd70a7 Fixed bug with getting teams for user 2019-02-22 14:07:18 +01:00
Valentin Agachi
425636ff70 Improve Loki logs render with ANSI colors (#15558)
* Improve Loki logs render with ANSI colors

* fixup! Improve Loki logs render with ANSI colors

* fixup! Improve Loki logs render with ANSI colors

* fixup! Improve Loki logs render with ANSI colors
2019-02-22 13:13:10 +01:00
Dominik Prokop
c4c150bd15 Merge pull request #15604 from grafana/grafanaui/version-bump
grafana/ui 6.0.0-alpha.0 release version bump
2019-02-22 11:53:23 +01:00
Dominik Prokop
34f6d9ab8e grafana/ui 6.0.0-alpha.0 release version bump 2019-02-22 11:30:45 +01:00
Torkel Ödegaard
ed06f04899 Merge pull request #15570 from grafana/15563-plugin-text-mode
panel: defensive coding that fixes #15563
2019-02-22 09:00:41 +01:00
Dominik Prokop
f6f484ebea Merge pull request #15589 from grafana/grafanaui/alpha-release
grafana/ui 1.0.0-alpha.0 release - package version bump
2019-02-22 08:58:00 +01:00
ijin08
05d5e796d7 removed color in color variables names 2019-02-22 08:33:07 +01:00
Marcus Efraimsson
d358088776 changelog: add notes about closing #15303 2019-02-22 00:29:46 +01:00
Marcus Efraimsson
ad748c0502 changelog: add notes about closing #1441 2019-02-22 00:23:10 +01:00
Marcus Efraimsson
60fab15335 update changelog 2019-02-22 00:19:08 +01:00
Dominik Prokop
c1d0f11c47 grafana/ui 1.0.0-alpha.0 release 2019-02-21 22:22:35 +01:00
Dominik Prokop
67d0bca3cb Merge pull request #15579 from grafana/fix/bring-plugins-scss-back
Bring back plugins page styles
2019-02-21 22:14:51 +01:00
Dominik Prokop
38fc55e09b Merge pull request #15561 from grafana/tooling/npm-scripts
@grafana/ui publishing scripts
2019-02-21 22:07:57 +01:00
Dominik Prokop
167a18f1f2 Merge branch 'master' into tooling/npm-scripts 2019-02-21 21:28:16 +01:00
Dominik Prokop
10916d9192 Update grafana/ui readme 2019-02-21 17:45:52 +01:00
Marcus Efraimsson
7ea361513d docs: landing page update
link to what's new in v6.0
add azure monitor and loki to datasource list
change stackdriver icon to a bigger one
2019-02-21 17:39:03 +01:00
Johannes Schill
5054e841ba Merge pull request #15551 from grafana/15281-dashboard2explore
fix: Filter out values not supported by Explore yet #15281
2019-02-21 16:38:32 +01:00
Dominik Prokop
f471be2453 Bring back plugins page styles 2019-02-21 16:37:42 +01:00
Marcus Efraimsson
ca9a528a62 docs: layout fixes 2019-02-21 16:12:25 +01:00
Peter Holmberg
73b4d817e4 prettier fix 2019-02-21 16:07:07 +01:00
Dominik Prokop
c1bacd630f Make published package public by default 2019-02-21 15:56:57 +01:00
Marcus Efraimsson
ae13352956 docs: fix link 2019-02-21 15:50:18 +01:00
Marcus Efraimsson
df984059db docs: fix order of datasources in menu/index and update alert support 2019-02-21 15:43:54 +01:00
Dominik Prokop
db58ab6c02 Fixed prettier issue in color picker 2019-02-21 15:40:43 +01:00
Marcus Efraimsson
535287608a Merge pull request #15576 from grafana/fix/yarn-docs
Update docs to match current npm scripts
2019-02-21 15:17:43 +01:00
Dominik Prokop
58e1a8bd3c Update docs to match current npm scripts 2019-02-21 15:13:59 +01:00
Dominik Prokop
394ee5dc08 Added keywords and description go grafana/ui package 2019-02-21 15:12:23 +01:00
Dominik Prokop
996588528a Fixed failing tests because of circular dependency 2019-02-21 15:12:23 +01:00
Dominik Prokop
75e9c1e8fc Fix version and name in grafana/ui package.json 2019-02-21 15:12:22 +01:00
Dominik Prokop
d4c40e4360 Imports updates 2019-02-21 15:12:22 +01:00
Peter Holmberg
362829d7ad Merge branch 'master' into bar-gauge-poc 2019-02-21 15:08:49 +01:00
Dominik Prokop
529c1ea53d Implemented scripts for building and releasing grafana/ui 2019-02-21 15:06:29 +01:00
ijin08
7be18e1a08 changed some more color variables to use variables 2019-02-21 15:05:17 +01:00
Peter Holmberg
f3ff3c1aec fixed tests 2019-02-21 14:44:21 +01:00
Daniel Lee
bd0f55cbb8 panel: defensive coding that fixes #15563
If a plugin incorrectly uses an attribute in the
query-editor-row directive, it should not throw
an exception.
2019-02-21 14:42:31 +01:00
Torkel Ödegaard
72e269c8f3 Merge pull request #15572 from grafana/gauge-minor-fix
Minor fix/polish to gauge panel and threshold editor
2019-02-21 14:29:28 +01:00
Torkel Ödegaard
b4627ec302 Minor fix/polish to gauge panel and threshold editor 2019-02-21 13:44:05 +01:00
Peter Holmberg
89883c2cf6 copying options between visualizations 2019-02-21 13:43:36 +01:00
Torkel Ödegaard
745fd68571 fixed issue in dark sass template 2019-02-21 12:39:22 +01:00
Torkel Ödegaard
67e39a5562 Merge branch 'cli/watch-sass-var-new-colors' 2019-02-21 12:33:10 +01:00
Torkel Ödegaard
3868602581 Updated body & page variables to use variables from code theme 2019-02-21 12:32:29 +01:00
Torkel Ödegaard
b21eb36909 Merge branch 'master' of github.com:grafana/grafana 2019-02-21 12:18:34 +01:00
Torkel Ödegaard
aa589d7217 Merge pull request #15564 from grafana/fixed-snapshots
fixed snapshots failing in master
2019-02-21 12:17:30 +01:00
Torkel Ödegaard
8e21717c12 updated building from source docs 2019-02-21 12:17:02 +01:00
Torkel Ödegaard
ffe5157193 Merge branch 'cli/watch-sass-var' of github.com:grafana/grafana into cli/watch-sass-var 2019-02-21 12:11:21 +01:00
Torkel Ödegaard
31511ee3cc fixed snapshots failing in master 2019-02-21 12:10:01 +01:00
Dominik Prokop
f5a520bf39 Synced variable template files 2019-02-21 11:59:47 +01:00
Dominik Prokop
0df56f9356 Merge branch 'master' into cli/watch-sass-var 2019-02-21 11:56:54 +01:00
Marcus Efraimsson
c586bc519f Merge pull request #15553 from grafana/14507_fix
fix; mysql query using __interval_ms variable throws error
2019-02-21 11:40:54 +01:00
Torkel Ödegaard
9a7866a040 Merge pull request #15560 from grafana/scrollbar-fixes
Fixed scrollbar issue introduced in theme changes
2019-02-21 11:32:19 +01:00
corpglory-dev
8bc4139bbd Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-02-21 12:47:05 +03:00
Peter Holmberg
58f194b483 Merge branch 'master' into bar-gauge-poc 2019-02-21 10:38:26 +01:00
Marcus Efraimsson
d8e655bbcf fix: mysql query using __interval_ms variable throws error
fixes #14507
2019-02-21 10:25:52 +01:00
Dominik Prokop
9b03815141 Merge branch 'master' into cli/watch-sass-var 2019-02-21 09:50:24 +01:00
Torkel Ödegaard
d85ea5d2be Merge pull request #15559 from grafana/fix/prettier-function-editor
Fixed issue caused by graphite function editor PR #15510
2019-02-21 09:46:50 +01:00
Torkel Ödegaard
7d105439f9 Fixed scrollbar issue introduced in theme changes 2019-02-21 09:41:53 +01:00
Dominik Prokop
f28cc871e1 Fix build 2019-02-21 09:09:24 +01:00
Peter Holmberg
8c5c953521 minor touch ups 2019-02-20 17:07:36 +01:00
Alexandre de Verteuil
1bbf7cc294 Fix heading levels in generic-oauth.md 2019-02-20 11:00:29 -05:00
ijin08
a9c5fe5be1 updated colors in light, dark and theme files, in template file basic colors uses variables from dark/light files, also changed to -basic in some files 2019-02-20 16:11:36 +01:00
corpglory-dev
5da9794a8e ValueOptions -> PiechartValueEditor 2019-02-20 17:30:12 +03:00
corpglory-dev
0f102001b6 Make it build 2019-02-20 17:27:42 +03:00
corpglory-dev
7f5459149a fixes 2019-02-20 17:15:00 +03:00
Peter Holmberg
2fc136e615 added orientation option 2019-02-20 15:07:30 +01:00
corpglory-dev
67fe351f72 export PiechartDataPoint from @grafana/ui 2019-02-20 16:52:29 +03:00
corpglory-dev
b263b3edd6 change valueOptions 2019-02-20 16:32:35 +03:00
corpglory-dev
7bb996203f get label and color from series 2019-02-20 16:30:55 +03:00
corpglory-dev
e867a8f402 prettier fix 2019-02-20 16:08:13 +03:00
corpglory-dev
4edd22589c Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-02-20 14:54:26 +03:00
corpglory-dev
3ab00dfb9a PieChartDataPoint -> PiechartDataPoint 2019-02-20 14:54:08 +03:00
corpglory-dev
76aa208d2a Rename PieChartPanelEditor to PiechartPanelEditor 2019-02-20 14:52:46 +03:00
Torkel Ödegaard
44af31585f Merge branch 'master' into cli/watch-sass-var 2019-02-20 11:15:30 +01:00
Torkel Ödegaard
20a03db144 Merge pull request #15510 from grafana/fix/graphite-func-editor
Display graphite function name editor in a tooltip
2019-02-20 10:48:08 +01:00
Torkel Ödegaard
cdac119397 Merge pull request #15542 from grafana/15541-dashboard-model
Pass dashboardModel to PanelCtrl class. Fixes #15541
2019-02-20 09:11:00 +01:00
Daniel Lee
8e90899c02 docs: adds Azure Monitor docs
A copy of the docs from the plugin with some additions and
new images.
2019-02-19 23:33:26 +01:00
Dominik Prokop
5f4f559d19 Fix blue in dark theme 2019-02-19 21:23:04 +01:00
Dominik Prokop
56726397e3 Readme update 2019-02-19 21:15:36 +01:00
corpglory-dev
77f848b56d Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-02-19 21:27:22 +03:00
corpglory-dev
d1ef95b936 Minor fixes 2019-02-19 21:26:28 +03:00
corpglory-dev
52e53e39a4 Review fixes 2019-02-19 21:14:24 +03:00
corpglory-dev
0633dba302 Fixes after merging #15468 2019-02-19 21:14:05 +03:00
Daniel Lee
c5a70e9b97 Pass dashboardModel to PanelCtrl class. Fixes #15541 2019-02-19 18:53:07 +01:00
corpglory-dev
a053fb5908 Add piechart to builtInPlugins 2019-02-19 20:24:50 +03:00
corpglory-dev
eaf60d3eb8 logo: svg -> png 2019-02-19 19:35:57 +03:00
Dominik Prokop
d19616a16b Merge branch 'master' into cli/watch-sass-var 2019-02-19 17:27:25 +01:00
Dominik Prokop
83bb3fb8d4 Remove old overwritten sass vars 2019-02-19 17:05:50 +01:00
Peter Holmberg
4c5c162045 first draft of repeater component 2019-02-19 17:03:28 +01:00
Leonard Gram
dc155dfa2f docs: howto for recreating our debian repositories. 2019-02-19 16:52:47 +01:00
Johannes Schill
6f9edf4a22 fix: Filter out values not supported by Explore yet #15281 2019-02-19 16:43:39 +01:00
Peter Holmberg
0de9c03879 Merge branch 'gauge-multi-series' into bar-gauge-poc 2019-02-19 15:53:05 +01:00
Peter Holmberg
5f56a07a23 Merge branch 'master' into bar-gauge-poc 2019-02-19 15:43:08 +01:00
Dominik Prokop
88a46e6dd4 Bump Prettier version (#15532)
* Fix prettier version to 1.16.4
2019-02-19 15:41:35 +01:00
corpglory-dev
98b22a83af Merge branch 'master' of https://github.com/grafana/grafana into piechart-react 2019-02-19 16:06:00 +03:00
ijin08
2372474ca8 updated theme variables to master 2019-02-19 13:57:56 +01:00
ijin08
547696af19 updated theme template files variables to master 2019-02-19 13:40:43 +01:00
Marcus Efraimsson
df2f33b5b1 add new issue templates 2019-02-19 13:31:32 +01:00
Torkel Ödegaard
5b1cf9c94f Merge pull request #15530 from grafana/graph2-using-reactpanelplugin
graph2 should use ReactPanelPlugin from @grafana/ui
2019-02-19 12:08:02 +01:00
Torkel Ödegaard
3f1c4c3ed9 Merge pull request #15531 from grafana/hugoh/react-switch-works-outside-switch
Surrounded Switch with div to restrict size
2019-02-19 12:06:59 +01:00
Hugo Häggmark
d2893c2d1a Fixes #15506 2019-02-19 11:17:40 +01:00
Torkel Ödegaard
baddf42c8e Merge pull request #15515 from grafana/13767_fix
fix native annotation filtered by template variable with pipe
2019-02-19 11:14:04 +01:00
Torkel Ödegaard
fb3463ba4f Merge pull request #15527 from grafana/15485-tab-in-url
fix: Remove tab param from url when leaving edit mode
2019-02-19 11:11:32 +01:00
Johannes Schill
8876d17dc0 chore: graph2 panel plugin should use the new ReactPanelPlugin from @grafana/ui 2019-02-19 11:00:23 +01:00
Leonard Gram
4df78fe7ac Update CHANGELOG.md 2019-02-19 10:47:57 +01:00
Leonard Gram
a9748f460e Update CHANGELOG.md 2019-02-19 10:46:51 +01:00
Leonard Gram
99205d5d9a Update CHANGELOG.md 2019-02-19 10:40:54 +01:00
Johannes Schill
891b2ca1a2 fix: Have the tab param removed from the url when leaving edit mode #15485 2019-02-19 09:43:35 +01:00
Torkel Ödegaard
14d8a94273 Merge pull request #15521 from grafana/hugoh/bug-type-error-in-thresholds
Fixes #15505
2019-02-19 09:07:01 +01:00
Torkel Ödegaard
104e656bd1 Merge pull request #15514 from grafana/fixed-navbar-edit-padding
Fixed navbar backbutton padding
2019-02-19 09:06:32 +01:00
bergquist
7754c37a1f reduce loglevel to debug 2019-02-19 08:22:33 +01:00
Hugo Häggmark
7f04848dea Fixes #15505 2019-02-19 07:48:54 +01:00
Marcus Efraimsson
56136a5396 fix native annotation filtered by template variable with pipe 2019-02-18 22:54:45 +01:00
Torkel Ödegaard
13e27601df Fixed navbar backbutton padding 2019-02-18 21:29:42 +01:00
Torkel Ödegaard
1eb804c655 Merge pull request #15411 from grafana/theme-files-cleanup
[wip]Cleaning up the theme .scss files
2019-02-18 20:23:40 +01:00
Torkel Ödegaard
9d78960c5e Merge pull request #15503 from grafana/explore-icon
Updated explore icon and style tweaks
2019-02-18 18:37:51 +01:00
Torkel Ödegaard
caa477591b Merge pull request #15504 from grafana/thresholds-sort-order
Fixing array direction, adding simple render test
2019-02-18 18:35:11 +01:00
Torkel Ödegaard
df170aee16 Updated explore icon and style tweaks
Lowered icon size and improved paddings, tried to align placement between dashboard and explore
2019-02-18 18:26:24 +01:00
Dominik Prokop
1069d7f5b1 Display graphite function name editor in a tooltip 2019-02-18 17:55:38 +01:00
corpglory-dev
54db887cca Merge branch 'master' into piechart-react 2019-02-18 19:40:00 +03:00
Leonard Gram
3d994b16d0 Update CHANGELOG.md 2019-02-18 16:58:15 +01:00
Leonard Gram
9738ba82e4 Update CHANGELOG.md 2019-02-18 16:54:46 +01:00
Peter Holmberg
93e8edfddd Fixing array direction, adding simple render test, fixes #15478
Fixed unit test and updated gauge
Added migration for threshold order
2019-02-18 16:46:32 +01:00
Leonard Gram
71e74181ab Update CHANGELOG.md 2019-02-18 16:38:29 +01:00
David
5e8570f822 Merge pull request #15491 from grafana/davkal/15436-loki-docs
Datasource docs for Loki
2019-02-18 16:20:40 +01:00
Daniel Lee
9ebbdbeb4b changelog: adds note for #15500 2019-02-18 15:59:37 +01:00
Daniel Lee
600bbf7e21 Merge pull request #15502 from grafana/15500-cli
cli: chmod 755 for backend plugin binaries
2019-02-18 15:53:43 +01:00
Torkel Ödegaard
e5562305e3 fixed page-header-bg 2019-02-18 15:35:27 +01:00
Torkel Ödegaard
2afd3cf5aa Merge pull request #15499 from grafana/hugoh/bug-thresholds-and-infinity
Fixes #15477
2019-02-18 15:07:24 +01:00
Daniel Lee
56c965e5df cli: chmod 755 for backend plugin binaries
Fixes #15500. Does a simple filename check if the binary names ends
with _linux_amd64 or _darwin_amd64 then sets the file mode to 755.
2019-02-18 15:05:34 +01:00
ijin08
c62f06b427 reversed most of grays in dark theme 2019-02-18 14:35:13 +01:00
Hugo Häggmark
92972eed7b Fixes #15477 2019-02-18 13:56:48 +01:00
Torkel Ödegaard
730515d8dc Merge pull request #15483 from klaernie/patch-1
Add Lux to units
2019-02-18 12:52:42 +01:00
Torkel Ödegaard
35253cb7f7 Merge pull request #15498 from grafana/fix/15463
Remove maxDataPoints and interval props from props to remember in panel model
2019-02-18 12:37:07 +01:00
Torkel Ödegaard
26d02180e5 Merge branch 'bar-gauge-poc' of github.com:grafana/grafana into bar-gauge-poc 2019-02-18 12:01:15 +01:00
Torkel Ödegaard
711e4e926b Merge branch 'master' into bar-gauge-poc 2019-02-18 11:55:37 +01:00
Torkel Ödegaard
abddb442a1 Changed how react panels store their options (#15468)
Changed how react panels store their options

* Added a ReactPanelPlugin as the interface that react panels export, this way react panels have clearer api, and gives us hooks to handle migrations and a way for panel to handle panel changes in the future
* Moved gauge value options into a sub oject and made editor more generic, will be moved out of gauge pane later and shared between singlestat, gauge, bargauge, honecomb
* Also remove nested options prop that was there due to bug
* Added missing Gauge props
* Fixed gauge issue that will require migration later and also value options editor did not handle null decimals or 0 decimals
* Fixed unit tests
* More fixes for react panels
2019-02-18 11:41:14 +01:00
Torkel Ödegaard
a6cae5b2b8 Merge pull request #15494 from grafana/minor-tweaks-panel-edit
Removed primary class from Add Query button, and changed name of panel options tab
2019-02-18 11:36:19 +01:00
Dominik Prokop
8e035676e1 Remove maxDataPoints and interval props from props to remember in panel model 2019-02-18 11:33:16 +01:00
Torkel Ödegaard
7db7a69917 Merge pull request #15496 from grafana/fix/typo
Fix typo in view mode cycle button
2019-02-18 11:32:22 +01:00
Dominik Prokop
75dd7d0036 Fix typo in view mode cykle button 2019-02-18 11:08:42 +01:00
Dominik Prokop
4721250d19 Variables regenerated 2019-02-18 11:05:02 +01:00
Dominik Prokop
6da57d4c08 Make clear that variable scss files are generated from templates 2019-02-18 11:03:52 +01:00
Torkel Ödegaard
14ba3f5891 Fixed spelling issue in templating docs 2019-02-18 10:59:22 +01:00
Torkel Ödegaard
bf826d7c81 Removed primary class from Add Query button, and changed name of Panel Options tab o General Options 2019-02-18 10:49:14 +01:00
Torkel Ödegaard
9e55fef544 improved formatting of variable docs 2019-02-18 09:52:31 +01:00
David Kaltschmidt
815affe02d Datasource docs for Loki
- adds Loki data source docs to Grafana docs
- moved query-related docs from Explore to Loki
2019-02-18 09:39:44 +01:00
Torkel Ödegaard
d285da35de Merge pull request #15487 from brunorey/master
Added enable_gzip documentation (#15322)
2019-02-18 09:30:52 +01:00
Dominik Prokop
28f42bab5b Replace require with import in start task 2019-02-18 09:26:14 +01:00
Torkel Ödegaard
db21551db2 Merge pull request #15481 from grafana/react-panel-header-issue
Fixed issue with PanelHeader and grid-drag-handle in fullscreen
2019-02-18 09:14:03 +01:00
Bruno
b488892f5f Added enable_gzip documentation (#15322) 2019-02-17 17:38:56 -03:00
Andre Klärner
4d555aceaa Add Lux to units
fixes #15479
2019-02-17 13:30:41 +01:00
Torkel Ödegaard
89ad525986 Fixed issue with PanelHeader and grid-drag-handle class still being applied in fullscreen, fixes #15480 2019-02-17 08:11:57 +01:00
Torkel Ödegaard
dede40d459 Began work on handling panel type switching and keep setting 2019-02-17 07:03:42 +01:00
Torkel Ödegaard
1d4dae7aa8 Merge branch 'react-panel-options' into bar-gauge-poc 2019-02-16 16:34:56 +01:00
Torkel Ödegaard
22b7864d72 Fixed unit tests 2019-02-16 16:33:29 +01:00
Torkel Ödegaard
d33d08fa15 Fixed gauge issue that will require migration later and also value options editor did not handle null decimals or 0 decimals 2019-02-16 16:27:12 +01:00
Torkel Ödegaard
c0b204f93b Added missing Gauge props 2019-02-16 16:06:16 +01:00
Torkel Ödegaard
42d90fdb7a Merge branch 'react-panel-options' into bar-gauge-poc 2019-02-16 16:02:31 +01:00
Torkel Ödegaard
3dae915b23 Bar gauge icon updated 2019-02-16 15:47:35 +01:00
Torkel Ödegaard
c05c3df52f Added bar gauge icon 2019-02-16 15:47:35 +01:00
Torkel Ödegaard
d31cf45cb5 Began work on adding options 2019-02-16 15:47:34 +01:00
Torkel Ödegaard
2a83d8ab95 Added basic tests 2019-02-16 15:47:34 +01:00
Torkel Ödegaard
eaedcee8de bar-gauge storybook 2019-02-16 15:47:33 +01:00
Torkel Ödegaard
83d1eb87e5 Began experimenting with a bar gauge 2019-02-16 15:47:33 +01:00
Torkel Ödegaard
4c59a91651 Also remove nested options prop that was there due to bug 2019-02-16 15:46:30 +01:00
Torkel Ödegaard
43e0ad3f93 Moved gauge value options into a sub oject and made editor more generic, will be moved out of gauge pane later and shared between singlestat, gauge, bargauge, honecomb 2019-02-16 15:46:30 +01:00
Torkel Ödegaard
074073787d Added a ReactPanelPlugin as the interface that react panels export, this way react panels have clearer api, and gives us hooks to handle migrations and a way for panel to handle panel changes in the future 2019-02-16 15:46:30 +01:00
Torkel Ödegaard
9035ce4d18 Changed how react panels store their options 2019-02-16 15:46:29 +01:00
Torkel Ödegaard
2d5fd7fdfd Fixed prettier issue (#15471)
Fixed prettier CI issue that caused build failures
2019-02-16 15:45:19 +01:00
corpglory-dev
8b4eefa768 Initial commit 2019-02-15 20:43:51 +03:00
Torkel Ödegaard
8bde9de507 Added bar gauge icon 2019-02-15 18:29:21 +01:00
Torkel Ödegaard
d611f9a4f5 Began work on adding options 2019-02-15 17:33:31 +01:00
Torkel Ödegaard
b05f1d8e63 Added basic tests 2019-02-15 17:02:02 +01:00
Torkel Ödegaard
1adc1a6097 Merge pull request #15455 from grafana/fixed-handling-of-alert-urls
Fixed handling of alert urls with true flags
2019-02-15 16:27:23 +01:00
bergquist
c68da40710 run db tests in all packages 2019-02-15 16:26:24 +01:00
Torkel Ödegaard
b34f2665fd bar-gauge storybook 2019-02-15 15:23:16 +01:00
ijin08
794fb3e039 new dark-3 became new dark-2, created new lighter dark-3, changed panel-bg, empty-cta etc to dark-2 2019-02-15 14:02:46 +01:00
Torkel Ödegaard
4c28ec83b3 Merge pull request #15444 from max-neverov/percent_diff_null
Fix percent_diff calculation when points are nulls
2019-02-15 13:03:19 +01:00
Marcus Efraimsson
bc1aec9ea6 Merge pull request #15427 from grafana/15308_docs
Improved documentation of new short-lived token solution
2019-02-15 13:00:28 +01:00
Torkel Ödegaard
843f8b04d4 Began experimenting with a bar gauge 2019-02-15 12:55:35 +01:00
Marcus Efraimsson
ff87f6d303 docs: suggested changes 2019-02-15 11:31:29 +01:00
Torkel Ödegaard
3d3db08b56 Merge pull request #15452 from grafana/grafana-ui-type-fixes
Added missing strict type checking options to grafana/ui
2019-02-15 11:28:23 +01:00
Torkel Ödegaard
a7674336ca Merge pull request #15453 from grafana/dashboard-navbar-buttons
Fixed dashboard navbar buttons being visible in fullscreen
2019-02-15 11:27:25 +01:00
Marcus Efraimsson
88fbe3adca docs: fix header 2019-02-15 11:27:21 +01:00
Torkel Ödegaard
7699706e65 fixed handling of alert urls with true flags, fixes #15454 2019-02-15 11:23:31 +01:00
Torkel Ödegaard
7b59b9cf4b Fixed dashboard navbar buttons being visible in fullscreen, fixes #15450 2019-02-15 11:03:24 +01:00
Torkel Ödegaard
d6de40cbe6 Added missing strict type checking options to grafana/ui and fixed type errors 2019-02-15 10:49:10 +01:00
Maxim Neverov
28eaac3a9c Extracted common code for diff calculation 2019-02-14 21:52:59 +01:00
bergquist
af5a2468e8 fix spelling error 2019-02-14 20:18:24 +01:00
bergquist
191f9c8407 whats new: rename security section 2019-02-14 19:42:39 +01:00
Torkel Ödegaard
0256a4dd47 Merge pull request #15417 from kiran3394/master
added support for influxdb non_negative_difference function in tsdb
2019-02-14 18:49:32 +01:00
Torkel Ödegaard
7fd89ff77a Merge pull request #15424 from grafana/move-error-boundry
Move error boundry from DataPanel to PanelChrome
2019-02-14 18:27:03 +01:00
David
2c92365969 Merge pull request #15305 from avaly/feature/ansi-colors
Support ANSI colors codes in Loki logs
2019-02-14 18:01:23 +01:00
Torkel Ödegaard
cd8f5835ec Merge pull request #15395 from briangann/20190212_adjust_notifier_render_timeout
allow 90 percent of alertTimeout for rendering to complete vs 50 percent
2019-02-14 17:21:40 +01:00
Maxim Neverov
3c2f6094b2 Fix percent_diff calculation when points are nulls 2019-02-14 16:31:15 +01:00
Carl Bergquist
0b13c96c83 Merge pull request #15419 from bergquist/contributing_bug_fixes
contributing: improve guide for bug fixes
2019-02-14 16:22:58 +01:00
Torkel Ödegaard
19a080a4d4 Restored loading spinner to DataPanel 2019-02-14 15:29:36 +01:00
bergquist
72f522bb51 rearrange bullet points in PR template
[skip ci]
2019-02-14 15:24:52 +01:00
Torkel Ödegaard
79008a7acd added another error message scenario 2019-02-14 15:23:34 +01:00
bergquist
b37e05714c link to contributing guidelines in pr template 2019-02-14 15:22:13 +01:00
Torkel Ödegaard
2bc26a01f9 Fixes to error handling and clearing, also publishing of legacy events so old query editors work with react panels fully 2019-02-14 15:18:55 +01:00
bergquist
3f714fbd1b contributing: adds link to help wanted label 2019-02-14 14:54:09 +01:00
bergquist
681269b3fe contributing: adds link to our CLA 2019-02-14 14:53:46 +01:00
bergquist
e22cba67dc removes testing instruction from contributing doc 2019-02-14 14:26:25 +01:00
bergquist
94c1335f11 docs: move alerting above session 2019-02-14 14:17:02 +01:00
bergquist
933d4729db docs: mention samesite setting 2019-02-14 14:06:50 +01:00
ijin08
3b3a5b6797 increased blue in dark-1-5, dark-3 and dark-4 2019-02-14 13:32:45 +01:00
bergquist
7f7cc85ef0 docs: adds note about new login cookie name 2019-02-14 13:24:41 +01:00
Torkel Ödegaard
cc61d9c5cc Merge branch 'master' into move-error-boundry 2019-02-14 13:10:49 +01:00
ijin08
a405be4415 Merge branch 'theme-files-cleanup' of github.com:grafana/grafana into theme-files-cleanup 2019-02-14 11:48:33 +01:00
ijin08
cbb91adb43 changed color for blue light in light theme + small changes in naming etc 2019-02-14 11:47:17 +01:00
Johannes Schill
3ca4adf51e Add missing nodemon dependency 2019-02-14 11:24:34 +01:00
Carl Bergquist
4f3b9c6c37 Merge pull request #15420 from marefr/fix_generic_oauth_doc
docs: add availability note regarding non-compliant providers
2019-02-14 10:17:58 +01:00
Marcus Efraimsson
0cbf7aaf25 Merge pull request #15412 from marefr/ha_loki
devenv: loki support in ha test
2019-02-14 10:15:51 +01:00
bergquist
982f262089 make bug/feature titles more verbose 2019-02-14 09:13:58 +01:00
bergquist
0e6800495f mentioned closes/fixes for new features 2019-02-14 09:02:51 +01:00
Marcus Efraimsson
de2f3db413 docs: improve removal of session storage for what's new in v6.0 2019-02-13 19:54:45 +01:00
Marcus Efraimsson
1bd9573f8e docs: add upgrade notes for v6.0 2019-02-13 19:53:55 +01:00
Marcus Efraimsson
592f57d0ba docs: add note regarding auth proxy and user session requirement 2019-02-13 19:53:25 +01:00
Marcus Efraimsson
3fab4d6f8c docs: fix typo 2019-02-13 19:52:27 +01:00
ijin08
6160f36121 removed more unused variables, restyled scrollbar 2019-02-13 18:04:53 +01:00
Torkel Ödegaard
4c9dba9152 Merge pull request #15423 from grafana/fixed-react-panels-dimensions
Fixed issue with react panel dimensions
2019-02-13 17:17:19 +01:00
Brian Gann
c98b00c302 allow 90 percent of alertTimeout for rendering to complete vs 50 percent 2019-02-13 09:56:37 -06:00
Peter Holmberg
0c72fb3be1 Merge branch 'master' into move-error-boundry 2019-02-13 16:52:52 +01:00
Torkel Ödegaard
ef9e74fabb Fixed issue with sass variables used from typescript, the prettier lowercases export variables 2019-02-13 16:36:59 +01:00
Peter Holmberg
aad558ce9c using error callback from datapanel instead 2019-02-13 15:54:10 +01:00
Patrick O'Carroll
65b4273551 Merge branch 'master' into theme-files-cleanup 2019-02-13 15:46:59 +01:00
Marcus Efraimsson
3b0159bf84 docs: add availability note regarding non-compliant providers
ref #15408
2019-02-13 15:36:16 +01:00
Torkel Ödegaard
c243e78913 Merge pull request #15399 from grafana/15330-vizpicker-red-when-0-hits
Red border color on input when zero hits in vizpicker
2019-02-13 15:22:00 +01:00
Torkel Ödegaard
61de0a7330 Merge pull request #15418 from grafana/change-default-devenv-datasource
Changed devenv default data source to testdata
2019-02-13 15:04:51 +01:00
Dominik Prokop
d3b90d5b78 Fixed sass vars template files 2019-02-13 14:58:27 +01:00
Dominik Prokop
4366b1588e Added deprecation warning to npm watch script - use start script instead 2019-02-13 14:58:01 +01:00
ijin08
7a4508d11e added new dark variable to dark theme(the color used for page-bg), changed some backgroud colors that doesn't use variables to use variables, made some slight tweaks to dark variables, fixed so item hover is the same as card hover 2019-02-13 14:56:28 +01:00
Torkel Ödegaard
124b3486eb Merge branch 'master' into 15330-vizpicker-red-when-0-hits 2019-02-13 14:49:11 +01:00
Dominik Prokop
a09250a309 Simple CLI for running grafana in dev env 2019-02-13 14:47:59 +01:00
Dominik Prokop
06bae9aa46 Added common theme variabless generation, created GrafanaThemeCommons interface 2019-02-13 14:45:11 +01:00
bergquist
058debee67 contributing: improve guide for bug fixes 2019-02-13 14:25:26 +01:00
Torkel Ödegaard
0ed32ebcb4 Changed devenv default data source to testdata 2019-02-13 14:09:04 +01:00
z0029c4
13974cdd28 added support for influxdb non_negative_difference function in tsdb 2019-02-13 18:12:35 +05:30
z0029c4
8cb1e5b918 added support for influxdb non_negative_difference function in tsdb for alerting 2019-02-13 17:55:31 +05:30
Dominik Prokop
4903b03d24 Remove precommit from npm scrips 2019-02-13 12:32:42 +01:00
Marcus Efraimsson
0f758fd1ff devenv: use grafana:dev image in ha test per default 2019-02-13 11:18:29 +01:00
Marcus Efraimsson
e61616d829 devenv: send nginx logs to loki in ha test 2019-02-13 11:18:29 +01:00
Marcus Efraimsson
d55a6deb97 devenv: proper fluentd conf for grafana and loki 2019-02-13 11:18:29 +01:00
Marcus Efraimsson
7b1249ad47 devenv: use grafana/fluent-plugin-loki 2019-02-13 11:18:29 +01:00
Marcus Efraimsson
0f40b2d206 devenv: trying to make fluentd with inoffical fluent-plugin-loki work 2019-02-13 11:18:29 +01:00
Peter Holmberg
56f7cd9602 fixed issue with updatePopperPosition 2019-02-13 11:18:08 +01:00
ijin08
09dbd6b1a6 removed _plugins.scss and _settings_permissions.scc, removed unused classes in _login.scss, reduced dark variabels in light theme and alignied light theme a bit with dark theme, turned blue-gray, dark-3 and panel-bg variables into one variable and removed gray-7 in dark theme 2019-02-13 11:04:22 +01:00
Johannes Schill
27bbadce1d feat: Add EmptySearchResult ui component and use it in VizTypePicker 2019-02-13 09:22:09 +01:00
Johannes Schill
b6305c2d80 Revert "feat: Add css-support for invalid form input elements"
This reverts commit b1aa84804b.
2019-02-13 07:46:21 +01:00
Johannes Schill
44eaa3eaa8 Revert "feat: Highlight vizpicker input when there are no panels matching the search query"
This reverts commit 11db48e76e.
2019-02-13 07:46:14 +01:00
Dominik Prokop
2542a43ec0 Regenerating variabless sas on theme edit v1 2019-02-12 21:54:20 +01:00
Dominik Prokop
0a66d8afc7 Merge branch 'master' into cli/watch-sass-var 2019-02-12 17:20:14 +01:00
Peter Holmberg
1c5118748a implement show error in panelcorner 2019-02-12 17:01:07 +01:00
Johannes Schill
11db48e76e feat: Highlight vizpicker input when there are no panels matching the search query 2019-02-12 16:19:23 +01:00
Johannes Schill
b1aa84804b feat: Add css-support for invalid form input elements 2019-02-12 16:14:48 +01:00
Peter Holmberg
9f88a22b4c remove comments 2019-02-12 16:14:26 +01:00
Peter Holmberg
f52aa4de4e Merge branch '15217-panels-without-queries' into move-error-boundry 2019-02-12 16:13:15 +01:00
Peter Holmberg
530a370379 bubble error from datapanel to panelchrome 2019-02-12 16:06:02 +01:00
Peter Holmberg
1db5d86b12 Merge branch '15217-panels-without-queries' into move-error-boundry 2019-02-12 10:54:55 +01:00
Peter Holmberg
7d0edb285d Revert "hard move"
This reverts commit a2dad6157a.
2019-02-12 10:53:05 +01:00
Peter Holmberg
a2dad6157a hard move 2019-02-11 16:44:09 +01:00
Peter Holmberg
c7bb563cef devenv test dashboard 2019-02-11 13:43:58 +01:00
Torkel Ödegaard
eff82abadd Merge branch 'gauge-multi-series' of github.com:grafana/grafana into gauge-multi-series 2019-02-11 12:04:39 +01:00
Torkel Ödegaard
7e4225c08a Merge branch 'master' of github.com:grafana/grafana into gauge-multi-series 2019-02-11 12:04:05 +01:00
Peter Holmberg
e0adc8fa30 Merge branch 'gauge-multi-series' of https://github.com/grafana/grafana into gauge-multi-series 2019-02-11 11:52:14 +01:00
Peter Holmberg
55b4162e85 return series label if selected stat is name 2019-02-11 11:47:51 +01:00
Torkel Ödegaard
2284175638 Merge branch 'master' into gauge-multi-series 2019-02-11 11:45:02 +01:00
Dominik Prokop
f80c8cc06c v1 2019-02-11 10:32:17 +01:00
Valentin Agachi
ec0e03e547 Support ANSI colors codes in Loki logs
Closes #15114
2019-02-08 00:49:39 +08:00
Peter Holmberg
d8f1e99249 fix single gauge 2019-02-07 09:33:22 +01:00
Peter Holmberg
58f04178a3 removed direction and series mode options, cleaned up the code somewhat 2019-02-07 09:20:17 +01:00
Mitsuhiro Tanda
d46bf75293 support /api/v1/labels 2019-02-07 13:59:42 +09:00
Peter Holmberg
9d052beddb show timeseries label under gauge 2019-02-06 17:07:32 +01:00
Peter Holmberg
632908ec40 vertical and horizontal, removed mode option 2019-02-06 16:56:33 +01:00
Peter Holmberg
71cfcd58ba combine mode with avg value 2019-02-06 15:38:51 +01:00
Peter Holmberg
9d3d1bc669 refactor panel 2019-02-05 16:34:01 +01:00
Peter Holmberg
9fc87e4174 first working draft 2019-02-05 15:12:04 +01:00
Sean Lafferty
fa22311a95 base64 encode encrypted oauth token fields 2019-02-02 09:03:04 -05:00
Athurg Feng
70b23ab73b Add string quote func 2019-02-02 13:36:10 +08:00
Athurg Feng
bba92c0746 Remove option used to control within browser 2019-02-02 13:35:17 +08:00
Sean Lafferty
4a7cf82f5f Remove length from text columns 2019-02-01 19:45:27 -05:00
Sean Lafferty
5a59cdf0ef Add oauth pass-thru option for datasources 2019-02-01 19:40:57 -05:00
Athurg Feng
919d00437e Add pic into actionCard message 2018-11-12 11:18:53 +08:00
Athurg Feng
b7787db34e Add new option to set where to open the message url 2018-11-08 18:44:00 +08:00
Athurg Feng
201dd6bf65 Optimize the Dingding match values format 2018-10-25 18:53:45 +08:00
Athurg Feng
cb86e38628 Add Dingding message type to support mass text notification 2018-10-25 18:34:34 +08:00
Athurg Feng
7f45afac63 Split text template into variable 2018-10-25 18:24:04 +08:00
Athurg Feng
ca6dd73923 Add match values into Dingding notification message 2018-10-25 18:23:37 +08:00
2505 changed files with 267580 additions and 165565 deletions

4
.browserslistrc Normal file
View File

@@ -0,0 +1,4 @@
>1%,
Chrome > 20
last 4 versions,
Firefox ESR

View File

@@ -19,7 +19,7 @@ version: 2
jobs:
mysql-integration-test:
docker:
- image: circleci/golang:1.11.5
- image: circleci/golang:1.12.4
- image: circleci/mysql:5.6-ram
environment:
MYSQL_ROOT_PASSWORD: rootpass
@@ -35,11 +35,11 @@ jobs:
- run: cat devenv/docker/blocks/mysql_tests/setup.sql | mysql -h 127.0.0.1 -P 3306 -u root -prootpass
- run:
name: mysql integration tests
command: 'GRAFANA_TEST_DB=mysql go test ./pkg/services/sqlstore/... ./pkg/tsdb/mysql/... '
command: './scripts/circle-test-mysql.sh'
postgres-integration-test:
docker:
- image: circleci/golang:1.11.5
- image: circleci/golang:1.12.4
- image: circleci/postgres:9.3-ram
environment:
POSTGRES_USER: grafanatest
@@ -54,7 +54,21 @@ jobs:
- run: 'PGPASSWORD=grafanatest psql -p 5432 -h 127.0.0.1 -U grafanatest -d grafanatest -f devenv/docker/blocks/postgres_tests/setup.sql'
- run:
name: postgres integration tests
command: 'GRAFANA_TEST_DB=postgres go test ./pkg/services/sqlstore/... ./pkg/tsdb/postgres/...'
command: './scripts/circle-test-postgres.sh'
cache-server-test:
docker:
- image: circleci/golang:1.12.4
- image: circleci/redis:4-alpine
- image: memcached
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run: dockerize -wait tcp://127.0.0.1:11211 -timeout 120s
- run: dockerize -wait tcp://127.0.0.1:6379 -timeout 120s
- run:
name: cache server tests
command: './scripts/circle-test-cache-servers.sh'
codespell:
docker:
@@ -67,14 +81,14 @@ jobs:
- run:
# Important: all words have to be in lowercase, and separated by "\n".
name: exclude known exceptions
command: 'echo -e "unknwon" > words_to_ignore.txt'
command: 'echo -e "unknwon\nreferer\nerrorstring" > words_to_ignore.txt'
- run:
name: check documentation spelling errors
command: 'codespell -I ./words_to_ignore.txt docs/'
gometalinter:
backend-lint:
docker:
- image: circleci/golang:1.11.5
- image: circleci/golang:1.12.4
environment:
# we need CGO because of go-sqlite3
CGO_ENABLED: 1
@@ -82,8 +96,8 @@ jobs:
steps:
- checkout
- run:
name: Gometalinter tests
command: './scripts/gometalinter.sh'
name: backend lint
command: './scripts/backend-lint.sh'
test-frontend:
docker:
@@ -106,7 +120,7 @@ jobs:
test-backend:
docker:
- image: circleci/golang:1.11.5
- image: circleci/golang:1.12.4
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -116,7 +130,7 @@ jobs:
build-all:
docker:
- image: grafana/build-container:1.2.3
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -153,14 +167,14 @@ jobs:
- persist_to_workspace:
root: .
paths:
- dist/grafana*
- dist/*
- scripts/*.sh
- scripts/build/release_publisher/release_publisher
- scripts/build/publish.sh
build:
docker:
- image: grafana/build-container:1.2.3
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -182,7 +196,118 @@ jobs:
- persist_to_workspace:
root: .
paths:
- dist/grafana*
- dist/*
build-fast-backend:
docker:
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: build grafana backend
command: './scripts/build/build.sh --fast --backend-only'
- persist_to_workspace:
root: .
paths:
- bin/*
build-fast-frontend:
docker:
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- restore_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
- run:
name: build grafana frontend
command: './scripts/build/build.sh --fast --frontend-only'
- save_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
paths:
- node_modules
- persist_to_workspace:
root: .
paths:
- public/build/*
- tools/phantomjs/*
build-fast-package:
docker:
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- attach_workspace:
at: .
- restore_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: package grafana
command: './scripts/build/build.sh --fast --package-only'
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: Test Grafana.com release publisher
command: 'cd scripts/build/release_publisher && go test .'
- persist_to_workspace:
root: /go/src/github.com/grafana/grafana
paths:
- dist/*
build-fast-save:
docker:
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- attach_workspace:
at: .
- restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
- run:
name: debug cache
command: 'ls -al /go/src/github.com/grafana/grafana/node_modules'
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: build grafana backend
command: './scripts/build/build.sh --fast --backend-only'
- run:
name: build grafana frontend
command: './scripts/build/build.sh --fast --frontend-only'
- save_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
paths:
- /go/src/github.com/grafana/grafana/node_modules
- run:
name: package grafana
command: './scripts/build/build.sh --fast --package-only'
- run:
name: sign packages
command: './scripts/build/sign_packages.sh'
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: Test Grafana.com release publisher
command: 'cd scripts/build/release_publisher && go test .'
- persist_to_workspace:
root: .
paths:
- dist/*
grafana-docker-master:
machine:
@@ -210,7 +335,7 @@ jobs:
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build.sh "${CIRCLE_SHA1}"
- run: cd packaging/docker && ./build.sh --fast "${CIRCLE_SHA1}"
grafana-docker-release:
machine:
@@ -229,7 +354,7 @@ jobs:
build-enterprise:
docker:
- image: grafana/build-container:1.2.3
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -257,11 +382,11 @@ jobs:
- persist_to_workspace:
root: .
paths:
- enterprise-dist/grafana-enterprise*
- enterprise-dist/*
build-all-enterprise:
docker:
- image: grafana/build-container:1.2.3
- image: grafana/build-container:1.2.6
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
@@ -304,11 +429,11 @@ jobs:
- persist_to_workspace:
root: .
paths:
- enterprise-dist/grafana-enterprise*
- enterprise-dist/*
deploy-enterprise-master:
docker:
- image: grafana/grafana-ci-deploy:1.2.0
- image: grafana/grafana-ci-deploy:1.2.2
steps:
- attach_workspace:
at: .
@@ -326,12 +451,14 @@ jobs:
command: '/opt/google-cloud-sdk/bin/gsutil cp ./enterprise-dist/* gs://$GCP_BUCKET_NAME/enterprise/master'
- run:
name: Deploy to grafana.com
command: 'cd enterprise-dist && ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -enterprise -from-local'
command: |
cd enterprise-dist
../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -enterprise -version "v$(cat grafana.version)" --nightly
deploy-enterprise-release:
docker:
- image: grafana/grafana-ci-deploy:1.2.0
- image: grafana/grafana-ci-deploy:1.2.2
steps:
- checkout
- attach_workspace:
@@ -364,7 +491,7 @@ jobs:
deploy-master:
docker:
- image: grafana/grafana-ci-deploy:1.2.0
- image: grafana/grafana-ci-deploy:1.2.2
steps:
- attach_workspace:
at: .
@@ -391,11 +518,11 @@ jobs:
command: |
rm dist/grafana-master-$(echo "${CIRCLE_SHA1}" | cut -b1-7).linux-x64.tar.gz
rm dist/*latest*
cd dist && ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -from-local
cd dist && ../scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -version "v$(cat grafana.version)" --nightly
deploy-release:
docker:
- image: grafana/grafana-ci-deploy:1.2.0
- image: grafana/grafana-ci-deploy:1.2.2
steps:
- checkout
- attach_workspace:
@@ -425,6 +552,31 @@ jobs:
name: Update RPM repository
command: './scripts/build/update_repo/update-rpm.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
build-oss-msi:
docker:
- image: grafana/wix-toolset-ci:v3
steps:
- checkout
- attach_workspace:
at: .
- run:
name: Build OSS MSI
command: './scripts/build/ci-msi-build/ci-msi-build-oss.sh'
- persist_to_workspace:
root: .
paths:
- dist/grafana-*.msi
- dist/grafana-*.msi.sha256
store-build-artifacts:
docker:
- image: circleci/node:8
steps:
- attach_workspace:
at: .
- store_artifacts:
path: ./dist
workflows:
version: 2
build-master:
@@ -435,7 +587,7 @@ workflows:
filters: *filter-only-master
- codespell:
filters: *filter-only-master
- gometalinter:
- backend-lint:
filters: *filter-only-master
- test-frontend:
filters: *filter-only-master
@@ -451,9 +603,10 @@ workflows:
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
- build-oss-msi
filters: *filter-only-master
- grafana-docker-master:
requires:
@@ -462,7 +615,7 @@ workflows:
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-master
@@ -472,11 +625,21 @@ workflows:
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
- build-all-enterprise
filters: *filter-only-master
- build-oss-msi:
requires:
- build-all
- test-backend
- test-frontend
- codespell
- backend-lint
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-master
release:
jobs:
@@ -486,7 +649,7 @@ workflows:
filters: *filter-only-release
- codespell:
filters: *filter-only-release
- gometalinter:
- backend-lint:
filters: *filter-only-release
- test-frontend:
filters: *filter-only-release
@@ -502,9 +665,10 @@ workflows:
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
- build-oss-msi
filters: *filter-only-release
- deploy-enterprise-release:
requires:
@@ -513,7 +677,7 @@ workflows:
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
@@ -524,18 +688,35 @@ workflows:
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
- build-oss-msi:
requires:
- build-all
- test-backend
- test-frontend
- codespell
- backend-lint
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
build-branches-and-prs:
jobs:
- build:
- build-fast-backend:
filters: *filter-not-release-or-master
- build-fast-frontend:
filters: *filter-not-release-or-master
- build-fast-package:
filters: *filter-not-release-or-master
requires:
- build-fast-backend
- build-fast-frontend
- codespell:
filters: *filter-not-release-or-master
- gometalinter:
- backend-lint:
filters: *filter-not-release-or-master
- test-frontend:
filters: *filter-not-release-or-master
@@ -545,13 +726,27 @@ workflows:
filters: *filter-not-release-or-master
- postgres-integration-test:
filters: *filter-not-release-or-master
- cache-server-test:
filters: *filter-not-release-or-master
- grafana-docker-pr:
requires:
- build
- build-fast-package
- test-backend
- test-frontend
- codespell
- gometalinter
- backend-lint
- mysql-integration-test
- postgres-integration-test
- cache-server-test
filters: *filter-not-release-or-master
- store-build-artifacts:
requires:
- build-fast-package
- test-backend
- test-frontend
- codespell
- backend-lint
- mysql-integration-test
- postgres-integration-test
- cache-server-test
filters: *filter-not-release-or-master

View File

@@ -18,3 +18,7 @@ insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
indent_size = 2

View File

@@ -1,16 +0,0 @@
Read before posting:
- Questions should be posted to https://community.grafana.com. Please search there and here on GitHub for similar issues before creating a new issue.
- Checkout FAQ: https://community.grafana.com/c/howto/faq
- Checkout How to troubleshoot metric query issues: https://community.grafana.com/t/how-to-troubleshoot-metric-query-issues/50
Please include this information:
### What Grafana version are you using?
### What datasource are you using?
### What OS are you running grafana on?
### What did you do?
### What was the expected result?
### What happened instead?
### If related to metric query / data viz:
### Include raw network request & response: get by opening Chrome Dev Tools (F12, Ctrl+Shift+I on windows, Cmd+Opt+I on Mac), go the network tab.

27
.github/ISSUE_TEMPLATE/1-bug_report.md vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: Bug report
about: Report a bug you found when using Grafana
labels: 'type: bug'
---
<!--
Please use this template while reporting a bug and provide as much info as possible.
Questions should be posted to https://community.grafana.com
Use query inspector to troubleshoot issues: https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630
-->
**What happened**:
**What you expected to happen**:
**How to reproduce it (as minimally and precisely as possible)**:
**Anything else we need to know?**:
**Environment**:
- Grafana version:
- Data source type & version:
- OS Grafana is installed on:
- User OS & Browser:
- Grafana plugins:
- Others:

View File

@@ -0,0 +1,11 @@
---
name: Enhancement request
about: Suggest an enhancement or new feature for the Grafana project
labels: 'type: feature request'
---
<!-- Please only use this template for submitting feature requests -->
**What would you like to be added**:
**Why is this needed**:

View File

@@ -0,0 +1,26 @@
---
name: Accessibility issue
about: Help make Grafana be better at keyboard navigation, screen-readable and accessible to all.
labels: 'type: accessibility'
---
<!--
Please only use this template for submitting accessibility issues.
This is a new feature area for Grafana that we want to improve. We have long way to go
to really improve accessibility and would like your help to know where to start.
-->
**Steps to reproduce**:
**Actual Result**:
**Expected Result**
**Relevant WCAG Criteria:** [#.#.# WCAG Criterion](link to https://www.w3.org/WAI/WCAG21/quickref/?versions=2.0)
**Environment**:
- Grafana version:
- Data source type & version:
- User OS & Browser:
- Others:

14
.github/ISSUE_TEMPLATE/4-question.md vendored Normal file
View File

@@ -0,0 +1,14 @@
---
name: Support request
about: 'Question or support request relating to using Grafana'
title: ''
labels: ''
assignees: ''
---
STOP -- PLEASE READ!
GitHub is not the right place for questions and support requests.
Please ask questions on our community site: [https://community.grafana.com/](https://community.grafana.com/)

View File

@@ -1,4 +1,21 @@
* Link the PR to an issue for new features
* Rebase your PR if it gets out of sync with master
<!-- Thanks for sending a pull request! Here are some tips for you:
1. If this is your first time, please read our [`CONTRIBUTING.md`](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guide.
2. Ensure you have added or ran the appropriate tests for your PR.
3. If it's a new feature or config option it will need a docs update. Docs are under the docs folder in repo root.
4. If the PR is unfinished, mark it as a draft PR.
5. Rebase your PR if it gets out of sync with master
6. Name your PR as `<FeatureArea>: Describe your change`. If it's a fix or feature relevant for changelog describe the user impact in the title. The PR title is used in changelog for issues marked with `add to changelog` label.
-->
**What this PR does / why we need it**:
**Which issue(s) this PR fixes**:
<!--
*Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes #
**Special notes for your reviewer**:
**REMOVE THE TEXT ABOVE BEFORE CREATING THE PULL REQUEST**

6
.gitignore vendored
View File

@@ -78,3 +78,9 @@ debug.test
/scripts/build/release_publisher/release_publisher
*.patch
# Ignoring frontend packages specifics
/packages/**/dist
/packages/**/compiled
/packages/**/.rpt2_cache

View File

@@ -5,4 +5,5 @@ pkg/
node_modules
public/vendor/
vendor/
data/

View File

@@ -1,4 +1,211 @@
# 6.0.0-beta3 (unreleased)
# 6.2.0 (unreleased)
# 6.2.0-beta1 (2019-05-07)
### Features / Enhancements
* **Admin**: Add more stats about roles. [#16667](https://github.com/grafana/grafana/pull/16667), [@bergquist](https://github.com/bergquist)
* **Alert list panel**: Support variables in filters. [#16892](https://github.com/grafana/grafana/pull/16892), [@psschand](https://github.com/psschand)
* **Alerting**: Adjust label for send on all alerts to default . [#16554](https://github.com/grafana/grafana/pull/16554), [@simPod](https://github.com/simPod)
* **Alerting**: Makes timeouts and retries configurable. [#16259](https://github.com/grafana/grafana/pull/16259), [@kobehaha](https://github.com/kobehaha)
* **Alerting**: No notification when going from no data to pending. [#16905](https://github.com/grafana/grafana/pull/16905), [@bergquist](https://github.com/bergquist)
* **Auth**: Enable retries and transaction for some db calls for auth tokens . [#16785](https://github.com/grafana/grafana/pull/16785), [@bergquist](https://github.com/bergquist)
* **AzureMonitor**: Adds support for multiple subscriptions per datasource. [#16922](https://github.com/grafana/grafana/pull/16922), [@daniellee](https://github.com/daniellee)
* **Bar Gauge**: New multi series enabled gauge like panel with horizontal and vertical layouts and 3 display modes. [#16918](https://github.com/grafana/grafana/pull/16918), [@torkelo](https://github.com/torkelo)
* **Build**: Upgrades to golang 1.12.4. [#16545](https://github.com/grafana/grafana/pull/16545), [@bergquist](https://github.com/bergquist)
* **CloudWatch**: Update AWS/IoT metric and dimensions. [#16337](https://github.com/grafana/grafana/pull/16337), [@nonamef](https://github.com/nonamef)
* **Config**: Show user-friendly error message instead of stack trace. [#16564](https://github.com/grafana/grafana/pull/16564), [@Hofls](https://github.com/Hofls)
* **Dashboard**: Enable filtering dashboards in search by current folder. [#16790](https://github.com/grafana/grafana/pull/16790), [@dprokop](https://github.com/dprokop)
* **Dashboard**: Lazy load out of view panels . [#15554](https://github.com/grafana/grafana/pull/15554), [@ryantxu](https://github.com/ryantxu)
* **DataProxy**: Restore Set-Cookie header after proxy request. [#16838](https://github.com/grafana/grafana/pull/16838), [@marefr](https://github.com/marefr)
* **Datasources**: Add pattern validation for time input on datasource config pages. [#16837](https://github.com/grafana/grafana/pull/16837), [@aocenas](https://github.com/aocenas)
* **Elasticsearch**: Add 7.x version support. [#16646](https://github.com/grafana/grafana/pull/16646), [@alcidesv](https://github.com/alcidesv)
* **Explore**: Adds reconnect for failing datasource. [#16226](https://github.com/grafana/grafana/pull/16226), [@hugohaggmark](https://github.com/hugohaggmark)
* **Explore**: Support user timezone. [#16469](https://github.com/grafana/grafana/pull/16469), [@marefr](https://github.com/marefr)
* **InfluxDB**: Add support for POST HTTP verb. [#16690](https://github.com/grafana/grafana/pull/16690), [@StephenSorriaux](https://github.com/StephenSorriaux)
* **Panels**: No title will no longer make panel header take up space. [#16884](https://github.com/grafana/grafana/pull/16884), [@torkelo](https://github.com/torkelo)
* **Prometheus**: Adds tracing headers for Prometheus datasource. [#16724](https://github.com/grafana/grafana/pull/16724), [@svagner](https://github.com/svagner)
* **Provisioning**: Add API endpoint to reload provisioning configs. [#16579](https://github.com/grafana/grafana/pull/16579), [@aocenas](https://github.com/aocenas)
* **Provisioning**: Do not allow deletion of provisioned dashboards. [#16211](https://github.com/grafana/grafana/pull/16211), [@aocenas](https://github.com/aocenas)
* **Provisioning**: Interpolate env vars in provisioning files. [#16499](https://github.com/grafana/grafana/pull/16499), [@aocenas](https://github.com/aocenas)
* **Security**: Add new setting allow_embedding. [#16853](https://github.com/grafana/grafana/pull/16853), [@marefr](https://github.com/marefr)
* **Security**: Store datasource passwords encrypted in secureJsonData. [#16175](https://github.com/grafana/grafana/pull/16175), [@aocenas](https://github.com/aocenas)
* **UX**: Improve Grafana usage for smaller screens . [#16783](https://github.com/grafana/grafana/pull/16783), [@torkelo](https://github.com/torkelo)
* **Units**: Add angle units, Arc Minutes and Seconds. [#16271](https://github.com/grafana/grafana/pull/16271), [@Dripoul](https://github.com/Dripoul)
### Bug Fixes
* **CloudWatch**: Fixes query order not affecting series ordering & color. [#16408](https://github.com/grafana/grafana/pull/16408), [@mtanda](https://github.com/mtanda)
* **CloudWatch**: Use default alias if there is no alias for metrics . [#16732](https://github.com/grafana/grafana/pull/16732), [@utkarshcmu](https://github.com/utkarshcmu)
* **Config**: Fixes bug where timeouts for alerting was not parsed correctly. [#16784](https://github.com/grafana/grafana/pull/16784), [@aocenas](https://github.com/aocenas)
* **Elasticsearch**: Fix view percentiles metric in table without date histogram. [#15686](https://github.com/grafana/grafana/pull/15686), [@Igor-Ratsuk](https://github.com/Igor-Ratsuk)
* **Explore**: Prevents histogram loading from killing Prometheus instance. [#16768](https://github.com/grafana/grafana/pull/16768), [@hugohaggmark](https://github.com/hugohaggmark)
* **Graph**: Allow override decimals to fully override. [#16414](https://github.com/grafana/grafana/pull/16414), [@torkelo](https://github.com/torkelo)
* **Mixed Datasource**: Fix error when one query is disabled. [#16409](https://github.com/grafana/grafana/pull/16409), [@marefr](https://github.com/marefr)
* **Search**: Fixes search limits and adds a page parameter. [#16458](https://github.com/grafana/grafana/pull/16458), [@torkelo](https://github.com/torkelo)
* **Security**: Responses from backend should not be cached. [#16848](https://github.com/grafana/grafana/pull/16848), [@marefr](https://github.com/marefr)
### Breaking changes
* **Gauge Panel**: The suffix / prefix options have been removed from the new Guage Panel (introduced in v6.0). [#16870](https://github.com/grafana/grafana/issues/16870).
# 6.1.6 (2019-04-29)
### Features / Enhancements
* **Security**: Bump jQuery to 3.4.0 . [#16761](https://github.com/grafana/grafana/pull/16761), [@dprokop](https://github.com/dprokop)
### Bug Fixes
* **Playlist**: Fix loading dashboards by tag. [#16727](https://github.com/grafana/grafana/pull/16727), [@marefr](https://github.com/marefr)
# 6.1.5 (2019-04-29)
* **Security**: Urgent security patch release. Please read more in our [blog](https://grafana.com/blog/2019/04/29/grafana-5.4.4-and-6.1.6-released-with-important-security-fix/)
# 6.1.4 (2019-04-16)
### Bug Fixes
* **DataPanel**: Added missing built-in interval variables to scopedVars. [#16556](https://github.com/grafana/grafana/pull/16556), [@torkelo](https://github.com/torkelo)
* **Explore**: Adds maxDataPoints to data source query options . [#16513](https://github.com/grafana/grafana/pull/16513), [@hugohaggmark](https://github.com/hugohaggmark)
* **Explore**: Fixes so intervals are recalculated on run query. [#16510](https://github.com/grafana/grafana/pull/16510), [@hugohaggmark](https://github.com/hugohaggmark)
* **Heatmap**: Fix for empty graph when panel is too narrow (#16378). [#16460](https://github.com/grafana/grafana/pull/16460), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Heatmap**: Fixed auto decimals when bucket name is not number. [#16609](https://github.com/grafana/grafana/pull/16609), [@torkelo](https://github.com/torkelo)
* **QueryInspector**: Now shows error responses again. [#16514](https://github.com/grafana/grafana/pull/16514), [@torkelo](https://github.com/torkelo)
# 6.1.3 (2019-04-09)
### Bug Fixes
* **Graph**: Fixed auto decimals in legend values for some units like `ms` and `s`. [#16455](https://github.com/grafana/grafana/pull/16455), [@torkelo](https://github.com/torkelo)
* **Graph**: Fixed png rendering with legend to the right. [#16463](https://github.com/grafana/grafana/pull/16463), [@torkelo](https://github.com/torkelo)
* **Singlestat**: Use decimals when manually specified. [#16451](https://github.com/grafana/grafana/pull/16451), [@torkelo](https://github.com/torkelo)
* **UI Switch**: Fix broken UI switches. Fixes Default Data Source switch, Explore Logs switches, Gauge option switches. [#16303](https://github.com/grafana/grafana/pull/16303), [@dprokop](https://github.com/dprokop)
# 6.1.2 (2019-04-08)
### Bug Fixes
* **Graph**: Fixed series legend color for hidden series. [#16438](https://github.com/grafana/grafana/pull/16438), [@Ijin08](https://github.com/Ijin08)
* **Graph**: Fixed tooltip highlight on white theme. [#16429](https://github.com/grafana/grafana/pull/16429), [@torkelo](https://github.com/torkelo)
* **Styles**: Fixed menu hover highlight border. [#16431](https://github.com/grafana/grafana/pull/16431), [@torkelo](https://github.com/torkelo)
* **Singlestat Panel**: Correctly use the override decimals. [#16413](https://github.com/grafana/grafana/pull/16413), [@torkelo](https://github.com/torkelo)
# 6.1.1 (2019-04-05)
### Bug Fixes
* **Alerting**: Notification channel http api fixes. [#16379](https://github.com/grafana/grafana/pull/16379), [@marefr](https://github.com/marefr)
* **Graphite**: Editing graphite query function now works again. [#16390](https://github.com/grafana/grafana/pull/16390), [@torkelo](https://github.com/torkelo)
* **Playlist**: Kiosk & auto fit panels modes are working normally again . [#16403](https://github.com/grafana/grafana/pull/16403), [@torkelo](https://github.com/torkelo)
* **QueryEditors**: Toggle edit mode now always work on slower computers. [#16394](https://github.com/grafana/grafana/pull/16394), [@seanlaff](https://github.com/seanlaff)
# 6.1.0 (2019-04-03)
### Bug Fixes
* **CloudWatch**: Fix for dimension value list when changing dimension key. [#16356](https://github.com/grafana/grafana/pull/16356), [@mtanda](https://github.com/mtanda)
* **Graphite**: Editing function arguments now works again. [#16297](https://github.com/grafana/grafana/pull/16297), [@torkelo](https://github.com/torkelo)
* **InfluxDB**: Fix tag names with periods in alert evaluation. [#16255](https://github.com/grafana/grafana/pull/16255), [@floyd-may](https://github.com/floyd-may)
* **PngRendering**: Fix for panel height & title centering . [#16351](https://github.com/grafana/grafana/pull/16351), [@torkelo](https://github.com/torkelo)
* **Templating**: Fix for editing query variables. [#16299](https://github.com/grafana/grafana/pull/16299), [@torkelo](https://github.com/torkelo)
# 6.1.0-beta1 (2019-03-27)
### New Features
* **Prometheus**: adhoc filter support [#8253](https://github.com/grafana/grafana/issues/8253), thx [@mtanda](https://github.com/mtanda)
* **Permissions**: Editors can become admin for dashboards, folders and teams they create. [#15977](https://github.com/grafana/grafana/pull/15977), [@xlson](https://github.com/xlson)
### Minor
* **Auth**: Support listing and revoking auth tokens via API [#15836](https://github.com/grafana/grafana/issues/15836)
* **Alerting**: DingDing notification channel now includes alert values. [#13825](https://github.com/grafana/grafana/pull/13825), [@athurg](https://github.com/athurg)
* **Alerting**: Notification channel http api enhancements. [#16219](https://github.com/grafana/grafana/pull/16219), [@marefr](https://github.com/marefr)
* **CloudWatch**: Update metrics/dimensions list. [#16137](https://github.com/grafana/grafana/pull/16137), [@mtanda](https://github.com/mtanda)
* **Cloudwatch**: Add AWS RDS MaximumUsedTransactionIDs metric [#15077](https://github.com/grafana/grafana/pull/15077), thx [@activeshadow](https://github.com/activeshadow)
* **Cache**: Adds support for using out of proc caching in the backend [#10816](https://github.com/grafana/grafana/issues/10816)
* **Dashboard**: New keyboard shortcut `d l` toggles all Graph legends in a dashboard. [#15770](https://github.com/grafana/grafana/pull/15770), [@jsferrei](https://github.com/jsferrei)
* **Datasource**: Only log connection string in dev environment [#16001](https://github.com/grafana/grafana/issues/16001)
* **DataProxy**: Add custom header (X-Grafana-User) to data source requests with the current username. [#15998](https://github.com/grafana/grafana/pull/15998), [@aocenas](https://github.com/aocenas)
* **DataProxy**: Make it possible to add user details to requests sent to the dataproxy [#6359](https://github.com/grafana/grafana/issues/6359) and [#15931](https://github.com/grafana/grafana/issues/15931)
* **DataProxy**: Adds oauth pass-through option for datasources. [#15205](https://github.com/grafana/grafana/pull/15205), [@seanlaff](https://github.com/seanlaff)
* **Explore**: Hide empty duplicates column in logs viewer. [#15982](https://github.com/grafana/grafana/pull/15982), [@steven-sheehy](https://github.com/steven-sheehy)
* **Explore**: Make it possible to close left pane of split view. [#16155](https://github.com/grafana/grafana/pull/16155), [@dprokop](https://github.com/dprokop)
* **Explore**: Move back / forward with browser buttons now works. [#16150](https://github.com/grafana/grafana/pull/16150), [@hugohaggmark](https://github.com/hugohaggmark)
* **Explore**: Update Loki labels when label selector is opened. [#16131](https://github.com/grafana/grafana/pull/16131), [@dprokop](https://github.com/dprokop)
* **Graph Panel**: New options for X-axis Min & Max (for histograms). [#14877](https://github.com/grafana/grafana/pull/14877), [@papagian](https://github.com/papagian)
* **Heatmap**: You can now choose to hide buckets with zero value. [#15934](https://github.com/grafana/grafana/pull/15934), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Heatmap**: `Middle` bucket bound option [#15683](https://github.com/grafana/grafana/issues/15683)
* **Heatmap**: `Reverse order` option for changing order of buckets [#15683](https://github.com/grafana/grafana/issues/15683)
* **Prometheus**: Change alignment of range queries to end before now and not in future. [#16110](https://github.com/grafana/grafana/pull/16110), [@davkal](https://github.com/davkal)
* **Prometheus**: Dedup annotations events with same timestamp . [#16152](https://github.com/grafana/grafana/pull/16152), [@torkelo](https://github.com/torkelo)
* **SQL**: Use default min interval of 1m for all SQL data sources. [#15799](https://github.com/grafana/grafana/pull/15799), [@marefr](https://github.com/marefr)
* **TablePanel**: Column color style now works even after removing columns. [#16227](https://github.com/grafana/grafana/pull/16227), [@torkelo](https://github.com/torkelo)
* **Templating**: Custom variable value now escapes all backslashes properly. [#15980](https://github.com/grafana/grafana/pull/15980), [@srid12](https://github.com/srid12)
* **Templating**: Data source variable now supports multi-value for uses cases that involve repeating panels & rows. [#15914](https://github.com/grafana/grafana/pull/15914), [@torkelo](https://github.com/torkelo)
* **VictorOps**: Adds more information to the victor ops notifiers [#15744](https://github.com/grafana/grafana/issues/15744), thx [@zhulongcheng](https://github.com/zhulongcheng)
### Bug Fixes
* **Alerting**: Don't include non-existing image in MS Teams notifications. [#16116](https://github.com/grafana/grafana/pull/16116), [@SGI495](https://github.com/SGI495)
* **Api**: Invalid org invite code [#10506](https://github.com/grafana/grafana/issues/10506)
* **Annotations**: Fix for native annotations filtered by template variable with pipe. [#15515](https://github.com/grafana/grafana/pull/15515), [@marefr](https://github.com/marefr)
* **Dashboard**: Fix for time regions spanning across midnight. [#16201](https://github.com/grafana/grafana/pull/16201), [@marefr](https://github.com/marefr)
* **Datasource**: Handles nil jsondata field gracefully [#14239](https://github.com/grafana/grafana/issues/14239)
* **Datasource**: Empty user/password was not updated when updating datasources [#15608](https://github.com/grafana/grafana/pull/15608), thx [@Maddin-619](https://github.com/Maddin-619)
* **Elasticsearch**: Fixes using template variables in the alias field. [#16229](https://github.com/grafana/grafana/pull/16229), [@daniellee](https://github.com/daniellee)
* **Elasticsearch**: Fix incorrect index pattern padding in alerting queries. [#15892](https://github.com/grafana/grafana/pull/15892), [@sandlis](https://github.com/sandlis)
* **Explore**: Fix for Prometheus autocomplete not working in Firefox. [#16192](https://github.com/grafana/grafana/pull/16192), [@hugohaggmark](https://github.com/hugohaggmark)
* **Explore**: Fix for url does not keep query after browser refresh. [#16189](https://github.com/grafana/grafana/pull/16189), [@hugohaggmark](https://github.com/hugohaggmark)
* **Gauge**: Interpolate scoped variables in repeated gauges [#15739](https://github.com/grafana/grafana/issues/15739)
* **Graphite**: Fixed issue with using series ref and series by tag. [#16111](https://github.com/grafana/grafana/pull/16111), [@torkelo](https://github.com/torkelo)
* **Graphite**: Fixed variable quoting when variable value is nummeric. [#16149](https://github.com/grafana/grafana/pull/16149), [@torkelo](https://github.com/torkelo)
* **Heatmap**: Fixes Y-axis tick labels being in wrong order for some Prometheus queries. [#15932](https://github.com/grafana/grafana/pull/15932), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Heatmap**: Negative values are now displayed correctly in graph & legend. [#15953](https://github.com/grafana/grafana/pull/15953), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Heatmap**: legend shows wrong colors for small values [#14019](https://github.com/grafana/grafana/issues/14019)
* **InfluxDB**: Always close request body even for error status codes. [#16207](https://github.com/grafana/grafana/pull/16207), [@ramongtx](https://github.com/ramongtx)
* **ManageDashboards**: Fix for checkboxes not appearing properly Firefox . [#15981](https://github.com/grafana/grafana/pull/15981), [@srid12](https://github.com/srid12)
* **Playlist**: Leaving playlist now always stops playlist . [#15791](https://github.com/grafana/grafana/pull/15791), [@peterholmberg](https://github.com/peterholmberg)
* **Prometheus**: fixes regex ad-hoc filters variables with wildcards. [#16234](https://github.com/grafana/grafana/pull/16234), [@daniellee](https://github.com/daniellee)
* **TablePanel**: Column color style now works even after removing columns. [#16227](https://github.com/grafana/grafana/pull/16227), [@torkelo](https://github.com/torkelo)
* **TablePanel**: Fix for white text on white background when value is null. [#16199](https://github.com/grafana/grafana/pull/16199), [@peterholmberg](https://github.com/peterholmberg)
# 6.0.2 (2019-03-19)
### Bug Fixes
* **Alerting**: Fixed issue with AlertList panel links resulting in panel not found errors. [#15975](https://github.com/grafana/grafana/pull/15975), [@torkelo](https://github.com/torkelo)
* **Dashboard**: Improved error handling when rendering dashboard panels. [#15970](https://github.com/grafana/grafana/pull/15970), [@torkelo](https://github.com/torkelo)
* **LDAP**: Fix allow anonymous server bind for ldap search. [#15872](https://github.com/grafana/grafana/pull/15872), [@marefr](https://github.com/marefr)
* **Discord**: Fix discord notifier so it doesn't crash when there are no image generated. [#15833](https://github.com/grafana/grafana/pull/15833), [@marefr](https://github.com/marefr)
* **Panel Edit**: Prevent search in VizPicker from stealing focus. [#15802](https://github.com/grafana/grafana/pull/15802), [@peterholmberg](https://github.com/peterholmberg)
* **Datasource admin**: Fixed url of back button in datasource edit page, when root_url configured. [#15759](https://github.com/grafana/grafana/pull/15759), [@dprokop](https://github.com/dprokop)
# 6.0.1 (2019-03-06)
### Bug Fixes
* **Metrics**: Fixes broken usagestats metrics for /metrics [#15651](https://github.com/grafana/grafana/issues/15651)
* **Dashboard**: Fixes kiosk mode should have &kiosk appended to the url [#15765](https://github.com/grafana/grafana/issues/15765)
* **Dashboard**: Fixes kiosk=tv mode with autofitpanels should respect header [#15650](https://github.com/grafana/grafana/issues/15650)
* **Image rendering**: Fixed image rendering issue for dashboards with auto refresh, . [#15818](https://github.com/grafana/grafana/pull/15818), [@torkelo](https://github.com/torkelo)
* **Dashboard**: Fix only users that can edit a dashboard should be able to update panel json. [#15805](https://github.com/grafana/grafana/pull/15805), [@marefr](https://github.com/marefr)
* **LDAP**: fix allow anonymous initial bind for ldap search. [#15803](https://github.com/grafana/grafana/pull/15803), [@marefr](https://github.com/marefr)
* **UX**: Fixed scrollbar not visible initially (only after manual scroll). [#15798](https://github.com/grafana/grafana/pull/15798), [@torkelo](https://github.com/torkelo)
* **Datasource admin** TestData [#15793](https://github.com/grafana/grafana/pull/15793), [@hugohaggmark](https://github.com/hugohaggmark)
* **Dashboard**: Fixed scrolling issue that caused scroll to be locked to bottom. [#15792](https://github.com/grafana/grafana/pull/15792), [@torkelo](https://github.com/torkelo)
* **Explore**: Viewers with viewers_can_edit should be able to access /explore. [#15787](https://github.com/grafana/grafana/pull/15787), [@jschill](https://github.com/jschill)
* **Security** fix: limit access to org admin and alerting pages. [#15761](https://github.com/grafana/grafana/pull/15761), [@marefr](https://github.com/marefr)
* **Panel Edit** minInterval changes did not persist [#15757](https://github.com/grafana/grafana/pull/15757), [@hugohaggmark](https://github.com/hugohaggmark)
* **Teams**: Fixed bug when getting teams for user. [#15595](https://github.com/grafana/grafana/pull/15595), [@hugohaggmark](https://github.com/hugohaggmark)
* **Stackdriver**: fix for float64 bounds for distribution metrics [#14509](https://github.com/grafana/grafana/issues/14509)
* **Stackdriver**: no reducers available for distribution type [#15179](https://github.com/grafana/grafana/issues/15179)
# 6.0.0 stable (2019-02-25)
### Bug Fixes
* **Dashboard**: fixes click after scroll in series override menu [#15621](https://github.com/grafana/grafana/issues/15621)
* **MySQL**: fix mysql query using _interval_ms variable throws error [#14507](https://github.com/grafana/grafana/issues/14507)
# 6.0.0-beta3 (2019-02-19)
### Minor
* **CLI**: Grafana CLI should preserve permissions for backend binaries for Linux and Darwin [#15500](https://github.com/grafana/grafana/issues/15500)
* **Alerting**: Allow image rendering 90 percent of alertTimeout [#15395](https://github.com/grafana/grafana/pull/15395)
### Bug fixes
* **Influxdb**: Add support for alerting on InfluxDB queries that use the non_negative_difference function [#15415](https://github.com/grafana/grafana/issues/15415), thx [@kiran3394](https://github.com/kiran3394)
* **Alerting**: Fix percent_diff calculation when points are nulls [#15443](https://github.com/grafana/grafana/issues/15443), thx [@max-neverov](https://github.com/max-neverov)
* **Alerting**: Fixed handling of alert urls with true flags [#15454](https://github.com/grafana/grafana/issues/15454)
# 6.0.0-beta2 (2019-02-11)
@@ -20,20 +227,20 @@
* **Login**: Anonymous usage stats for token auth [#15288](https://github.com/grafana/grafana/issues/15288)
* **AzureMonitor**: improve autocomplete for Log Analytics and App Insights editor [#15131](https://github.com/grafana/grafana/issues/15131)
* **LDAP**: Fix IPA/FreeIPA v4.6.4 does not allow LDAP searches with empty attributes [#14432](https://github.com/grafana/grafana/issues/14432)
* **Provisioning**: Allow testing data sources that were added by config [#12164](https://github.com/grafana/grafana/issues/12164)
* **Security**: Fix CSRF Token validation for POSTs [#1441](https://github.com/grafana/grafana/issues/1441)
### Breaking changes
* **Internal Metrics** Edition has been added to the build_info metric. This will break any Graphite queries using this metric. Edition will be a new label for the Prometheus metric. [#15363](https://github.com/grafana/grafana/pull/15363)
### 6.0.0-beta1 fixes
### Bug fixes
* **Postgres**: Fix default port not added when port not configured [#15189](https://github.com/grafana/grafana/issues/15189)
* **Alerting**: Fixes crash bug when alert notifier folders are missing [#15295](https://github.com/grafana/grafana/issues/15295)
* **Dashboard**: Fix save provisioned dashboard modal [#15219](https://github.com/grafana/grafana/pull/15219)
* **Dashboard**: Fix having a long query in prometheus dashboard query editor blocks 30% of the query field when on OSX and having native scrollbars [#15122](https://github.com/grafana/grafana/issues/15122)
* **Explore**: Fix issue with wrapping on long queries [#15222](https://github.com/grafana/grafana/issues/15222)
* **Explore**: Fix cut & paste adds newline before and after selection [#15223](https://github.com/grafana/grafana/issues/15223)
* **Dataproxy**: Fix global datasource proxy timeout not added to correct http client [#15258](https://github.com/grafana/grafana/issues/15258) [#5699](https://github.com/grafana/grafana/issues/5699)
* **Gauge**: Fix issue with gauge requests being cancelled [#15366](https://github.com/grafana/grafana/issues/15366)
* **Gauge**: Accept decimal inputs for thresholds [#15372](https://github.com/grafana/grafana/issues/15372)
* **UI**: Fix error caused by named colors that are not part of named colors palette [#15373](https://github.com/grafana/grafana/issues/15373)
* **Search**: Bug pressing special regexp chars in input fields [#12972](https://github.com/grafana/grafana/issues/12972)
* **Permissions**: No need to have edit permissions to be able to "Save as" [#13066](https://github.com/grafana/grafana/issues/13066)
# 6.0.0-beta1 (2019-01-30)
@@ -45,6 +252,7 @@
* **Snapshots**: Enable deletion of public snapshot [#14109](https://github.com/grafana/grafana/issues/14109)
* **Provisioning**: Provisioning support for alert notifiers [#10487](https://github.com/grafana/grafana/issues/10487), thx [@pbakulev](https://github.com/pbakulev)
* **Explore**: A whole new way to do ad-hoc metric queries and exploration. Split view in half and compare metrics & logs and much much more. [Read more here](http://docs.grafana.org/features/explore/)
* **Auth**: Replace remember me cookie solution for Grafana's builtin, LDAP and OAuth authentication with a solution based on short-lived tokens [#15303](https://github.com/grafana/grafana/issues/15303)
### Minor
@@ -82,6 +290,13 @@
* **Prometheus**: Query for annotation always uses 60s step regardless of dashboard range, fixes [#14795](https://github.com/grafana/grafana/issues/14795)
* **Annotations**: Fix creating annotation when graph panel has no data points position the popup outside viewport [#13765](https://github.com/grafana/grafana/issues/13765), thx [@banjeremy](https://github.com/banjeremy)
* **Piechart/Flot**: Fixes multiple piechart instances with donut bug [#15062](https://github.com/grafana/grafana/pull/15062)
* **Postgres**: Fix default port not added when port not configured [#15189](https://github.com/grafana/grafana/issues/15189)
* **Alerting**: Fixes crash bug when alert notifier folders are missing [#15295](https://github.com/grafana/grafana/issues/15295)
* **Dashboard**: Fix save provisioned dashboard modal [#15219](https://github.com/grafana/grafana/pull/15219)
* **Dashboard**: Fix having a long query in prometheus dashboard query editor blocks 30% of the query field when on OSX and having native scrollbars [#15122](https://github.com/grafana/grafana/issues/15122)
* **Explore**: Fix issue with wrapping on long queries [#15222](https://github.com/grafana/grafana/issues/15222)
* **Explore**: Fix cut & paste adds newline before and after selection [#15223](https://github.com/grafana/grafana/issues/15223)
* **Dataproxy**: Fix global datasource proxy timeout not added to correct http client [#15258](https://github.com/grafana/grafana/issues/15258) [#5699](https://github.com/grafana/grafana/issues/5699)
### Breaking changes
* **Text Panel**: The text panel does no longer by default allow unsantizied HTML. [#4117](https://github.com/grafana/grafana/issues/4117). This means that if you have text panels with scripts tags they will no longer work as before. To enable unsafe javascript execution in text panels enable the settings `disable_sanitize_html` under the section `[panels]` in your Grafana ini file, or set env variable `GF_PANELS_DISABLE_SANITIZE_HTML=true`.

View File

@@ -8,49 +8,75 @@ Contributions take the form of pull requests that will be reviewed by the core t
* If you have a trivial fix or improvement, go ahead and create a pull request.
* If you plan to do something more involved, discuss your idea on the respective [issue](https://github.com/grafana/grafana/issues) or create a [new issue](https://github.com/grafana/grafana/issues/new) if it does not exist. This will avoid unnecessary work and surely give you and us a good deal of inspiration.
* If you plan to do something more involved, discuss your idea on the respective [issue](https://github.com/grafana/grafana/issues) or create a [new issue](https://github.com/grafana/grafana/issues/new) if it does not exist. This will avoid unnecessary work and surely give you and us a good deal of inspiration.
* Sign our [CLA](http://docs.grafana.org/contribute/cla/).
* For changes in the backend, follow the style guides used in Go [Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) and Peter Bourgon's [Go: Best Practices for Production Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style)
## Steps to Contribute
Should you wish to work on a GitHub issue, check first if it is not already assigned to someone. If it is free, you claim it by commenting on the issue that you want to work on it. This is to prevent duplicated efforts from contributors on the same issue.
Please check the [`beginner friendly`](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22) label to find issues that are good for getting started. If you have questions about one of the issues, with or without the tag, please comment on them and one of the core team or the original poster will clarify it.
Please check the [`beginner friendly`](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22) and [`help wanted`](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) labels to find issues that are good for getting started. If you have questions about one of the issues, with or without the tag, please comment on them and one of the core team or the original poster will clarify it.
## Setup
Follow the setup guide in README.md
### Rebuild frontend assets on source change
```
yarn watch
```
### Rerun tests on source change
```
yarn jest
```
### Run tests for backend assets before commit
```
test -z "$(gofmt -s -l . | grep -v -E 'vendor/(github.com|golang.org|gopkg.in)' | tee /dev/stderr)"
```
### Run tests for frontend assets before commit
```
yarn test
go test -v ./pkg/...
```
To setup a local development environment we recommend reading [Building Grafana from source](http://docs.grafana.org/project/building_from_source/)
## Pull Request Checklist
* Branch from the master branch and, if needed, rebase to the current master branch before submitting your pull request. If it doesn't merge cleanly with master you may be asked to rebase your changes.
* Commits should be as small as possible, while ensuring that each commit is correct independently (i.e., each commit should compile and pass tests).
* If your patch is not getting reviewed or you need a specific person to review it, you can @-reply a reviewer asking for a review in the pull request or a comment.
* Add tests relevant to the fixed bug or new feature.
### Pull requests with new features
Commits should be as small as possible, while ensuring that each commit is correct independently (i.e., each commit should compile and pass tests).
Make sure to include `Closes #<issue number>` or `Fixes #<issue number>` in the pull request description.
### Pull requests with bug fixes
Please make all changes in one commit if possible. Include `Closes #<issue number>` in bottom of the commit message.
A commit message for a bug fix should look something like this.
```
avoid infinite loop in the dashboard provisioner
if one dashboard with an uid is refered to by two
provsioners each provisioner overwrite each other.
filling up dashboard_versions quite fast if using
default settings.
Closes #12864
```
If the pull request needs changes before its merged the new commits should be rebased into one commit before its merged.
## Backend dependency management
The Grafana project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. This requires a working Go environment with version 1.11 or greater installed.
All dependencies are vendored in the `vendor/` directory.
To add or update a new dependency, use the `go get` command:
```bash
# Pick the latest tagged release.
go get example.com/some/module/pkg
# Pick a specific version.
go get example.com/some/module/pkg@vX.Y.Z
```
Tidy up the `go.mod` and `go.sum` files and copy the new/updated dependency to the `vendor/` directory:
```bash
# The GO111MODULE variable can be omitted when the code isn't located in GOPATH.
GO111MODULE=on go mod tidy
GO111MODULE=on go mod vendor
```
You have to commit the changes to `go.mod`, `go.sum` and the `vendor/` directory before submitting the pull request.

View File

@@ -1,16 +1,12 @@
# Golang build container
FROM golang:1.11.5
FROM golang:1.12.4
WORKDIR $GOPATH/src/github.com/grafana/grafana
COPY Gopkg.toml Gopkg.lock ./
COPY go.mod go.sum ./
COPY vendor vendor
ARG DEP_ENSURE=""
RUN if [ ! -z "${DEP_ENSURE}" ]; then \
go get -u github.com/golang/dep/cmd/dep && \
dep ensure --vendor-only; \
fi
RUN go mod verify
COPY pkg pkg
COPY build.go build.go
@@ -53,7 +49,7 @@ ENV PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bi
WORKDIR $GF_PATHS_HOME
RUN apt-get update && apt-get upgrade -y && \
apt-get install -qq -y libfontconfig ca-certificates && \
apt-get install -qq -y libfontconfig1 ca-certificates && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
@@ -70,8 +66,8 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
"$GF_PATHS_DATA" && \
cp "$GF_PATHS_HOME/conf/sample.ini" "$GF_PATHS_CONFIG" && \
cp "$GF_PATHS_HOME/conf/ldap.toml" /etc/grafana/ldap.toml && \
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" && \
chmod 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS"
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
chmod 777 -R "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
COPY --from=0 /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-server /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-cli ./bin/
COPY --from=1 /usr/src/app/public ./public

704
Gopkg.lock generated
View File

@@ -1,704 +0,0 @@
# 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 = "056a55f54a6cc77b440b31a56a5e7c3982d32811"
version = "v0.22.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]]
branch = "master"
name = "github.com/VividCortex/mysqlerr"
packages = ["."]
revision = "6c6b55f8796f578c870b7e19bafb16103bc40095"
[[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/processcreds",
"aws/credentials/stscreds",
"aws/csm",
"aws/defaults",
"aws/ec2metadata",
"aws/endpoints",
"aws/request",
"aws/session",
"aws/signer/v4",
"internal/ini",
"internal/s3err",
"internal/sdkio",
"internal/sdkrand",
"internal/sdkuri",
"internal/shareddefaults",
"private/protocol",
"private/protocol/ec2query",
"private/protocol/eventstream",
"private/protocol/eventstream/eventstreamapi",
"private/protocol/json/jsonutil",
"private/protocol/jsonrpc",
"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/resourcegroupstaggingapi",
"service/resourcegroupstaggingapi/resourcegroupstaggingapiiface",
"service/s3",
"service/sts"
]
revision = "62936e15518acb527a1a9cb4a39d96d94d0fd9a2"
version = "v1.16.15"
[[projects]]
branch = "master"
name = "github.com/benbjohnson/clock"
packages = ["."]
revision = "7dc76406b6d3c05b5f71a86293cbcf3c4ea03b19"
[[projects]]
branch = "master"
name = "github.com/beorn7/perks"
packages = ["quantile"]
revision = "3a771d992973f24aa725d07868b467d1ddfceafb"
[[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/denisenkom/go-mssqldb"
packages = [
".",
"internal/cp"
]
revision = "270bc3860bb94dd3a3ffd047377d746c5e276726"
[[projects]]
branch = "master"
name = "github.com/facebookgo/inject"
packages = ["."]
revision = "cc1aa653e50f6a9893bcaef89e673e5b24e1e97b"
[[projects]]
branch = "master"
name = "github.com/facebookgo/structtag"
packages = ["."]
revision = "217e25fb96916cc60332e399c9aa63f5c422ceed"
[[projects]]
name = "github.com/fatih/color"
packages = ["."]
revision = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4"
version = "v1.7.0"
[[projects]]
name = "github.com/go-ini/ini"
packages = ["."]
revision = "6529cf7c58879c08d927016dde4477f18a0634cb"
version = "v1.36.0"
[[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",
"postgres",
"redis"
]
revision = "068d408f9c54c7fa7fcc5e2bdd3241ab21280c9e"
[[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]]
name = "github.com/go-xorm/builder"
packages = ["."]
revision = "bad0a612f0d6277b953910822ab5dfb30dd18237"
version = "v0.2.0"
[[projects]]
name = "github.com/go-xorm/core"
packages = ["."]
revision = "da1adaf7a28ca792961721a34e6e04945200c890"
version = "v0.5.7"
[[projects]]
name = "github.com/go-xorm/xorm"
packages = ["."]
revision = "1933dd69e294c0a26c0266637067f24dbb25770c"
version = "v0.6.4"
[[projects]]
branch = "master"
name = "github.com/golang/protobuf"
packages = [
"proto",
"ptypes",
"ptypes/any",
"ptypes/duration",
"ptypes/timestamp"
]
revision = "927b65914520a8b7d44f5c9057611cfec6b2e2d0"
[[projects]]
branch = "master"
name = "github.com/gopherjs/gopherjs"
packages = ["js"]
revision = "8dffc02ea1cb8398bb73f30424697c60fcf8d4c5"
[[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",
"go/renderer"
]
revision = "84176c64269d8060f99e750ee8aba6f062753336"
[[projects]]
branch = "master"
name = "github.com/hashicorp/go-hclog"
packages = ["."]
revision = "69ff559dc25f3b435631604f573a5fa1efdb6433"
[[projects]]
name = "github.com/hashicorp/go-plugin"
packages = ["."]
revision = "e8d22c780116115ae5624720c9af0c97afe4f551"
[[projects]]
branch = "master"
name = "github.com/hashicorp/go-version"
packages = ["."]
revision = "23480c0665776210b5fbbac6eaaee40e3e6a96b7"
[[projects]]
branch = "master"
name = "github.com/hashicorp/yamux"
packages = ["."]
revision = "7221087c3d281fda5f794e28c2ea4c6e4d5c4558"
[[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]]
name = "github.com/kr/pretty"
packages = ["."]
revision = "73f6ac0b30a98e433b289500d779f50c1a6f0712"
version = "v0.1.0"
[[projects]]
name = "github.com/kr/text"
packages = ["."]
revision = "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f"
version = "v0.1.0"
[[projects]]
branch = "master"
name = "github.com/lib/pq"
packages = [
".",
"oid"
]
revision = "d34b9ff171c21ad295489235aec8b6626023cd04"
[[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 = "323a32be5a2421b8c7087225079c6c900ec397cd"
version = "v1.7.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/oklog/run"
packages = ["."]
revision = "4dadeb3030eda0273a12382bb2348ffc7c9d1a39"
version = "v1.0.0"
[[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/pkg/errors"
packages = ["."]
revision = "645ef00459ed84a119197bfb8d8205042c6df63d"
version = "v0.8.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 = "d811d2e9bf898806ecfb6ef6296774b13ffc314c"
[[projects]]
branch = "master"
name = "github.com/prometheus/procfs"
packages = [
".",
"internal/util",
"nfs",
"xfs"
]
revision = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e"
[[projects]]
branch = "master"
name = "github.com/rainycape/unidecode"
packages = ["."]
revision = "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c"
[[projects]]
name = "github.com/sergi/go-diff"
packages = ["diffmatchpatch"]
revision = "1744e2970ca51c86172c8190fadad617561ed6e7"
version = "v1.0.0"
[[projects]]
name = "github.com/smartystreets/assertions"
packages = [
".",
"internal/go-render/render",
"internal/oglematchers"
]
revision = "7678a5452ebea5b7090a6b163f844c133f523da2"
version = "1.8.3"
[[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",
"internal/throttler",
"internal/throttler/remote",
"log",
"rpcmetrics",
"thrift",
"thrift-gen/agent",
"thrift-gen/baggage",
"thrift-gen/jaeger",
"thrift-gen/sampling",
"thrift-gen/zipkincore",
"utils"
]
revision = "b043381d944715b469fd6b37addfd30145ca1758"
version = "v2.14.0"
[[projects]]
name = "github.com/uber/jaeger-lib"
packages = ["metrics"]
revision = "ed3a127ec5fef7ae9ea95b01b542c47fbd999ce5"
version = "v1.5.0"
[[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 = [
"ed25519",
"ed25519/internal/edwards25519",
"md4",
"pbkdf2"
]
revision = "1a580b3eff7814fc9b40602fd35256c63b50f491"
[[projects]]
branch = "master"
name = "golang.org/x/net"
packages = [
"context",
"context/ctxhttp",
"http/httpguts",
"http2",
"http2/hpack",
"idna",
"internal/timeseries",
"trace"
]
revision = "2491c5de3490fced2f6cff376127c667efeed857"
[[projects]]
branch = "master"
name = "golang.org/x/oauth2"
packages = [
".",
"google",
"internal",
"jws",
"jwt"
]
revision = "cdc340f7c179dbbfa4afd43b7614e8fcadde4269"
[[projects]]
branch = "master"
name = "golang.org/x/sync"
packages = ["errgroup"]
revision = "1d60e4601c6fd243af51cc01ddf169918a5407ca"
[[projects]]
branch = "master"
name = "golang.org/x/sys"
packages = ["unix"]
revision = "7c87d13f8e835d2fb3a70a2912c811ed0c1d241b"
[[projects]]
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 = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
version = "v0.3.0"
[[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 = "7bb2a897381c9c5ab2aeb8614f758d7766af68ff"
[[projects]]
name = "google.golang.org/grpc"
packages = [
".",
"balancer",
"balancer/base",
"balancer/roundrobin",
"codes",
"connectivity",
"credentials",
"encoding",
"encoding/proto",
"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 = "1e2570b1b19ade82d8dbb31bba4e65e9f9ef5b34"
version = "v1.11.1"
[[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]]
name = "gopkg.in/ini.v1"
packages = ["."]
revision = "6529cf7c58879c08d927016dde4477f18a0634cb"
version = "v1.36.0"
[[projects]]
name = "gopkg.in/ldap.v3"
packages = ["."]
revision = "5c2c0f997205c29de14cb6c35996370c2c5dfab1"
version = "v3"
[[projects]]
name = "gopkg.in/macaron.v1"
packages = ["."]
revision = "c1be95e6d21e769e44e1ec33cec9da5837861c10"
version = "v1.3.1"
[[projects]]
branch = "v2"
name = "gopkg.in/mail.v2"
packages = ["."]
revision = "5bc5c8bb07bd8d2803831fbaf8cbd630fcde2c68"
[[projects]]
name = "gopkg.in/redis.v2"
packages = ["."]
revision = "e6179049628164864e6e84e973cfb56335748dea"
version = "v2.3.2"
[[projects]]
name = "gopkg.in/square/go-jose.v2"
packages = [
".",
"cipher",
"json"
]
revision = "ef984e69dd356202fd4e4910d4d9c24468bdf0b8"
version = "v2.1.9"
[[projects]]
branch = "v2"
name = "gopkg.in/yaml.v2"
packages = ["."]
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "88f0eb826b9c154ba46ea3bb64767707d86db75449ec75199eb2b8cf2b337fd4"
solver-name = "gps-cdcl"
solver-version = 1

View File

@@ -1,213 +0,0 @@
# 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.13.56"
[[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]]
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"
version = "=0.5.7"
[[constraint]]
name = "github.com/go-xorm/xorm"
version = "=0.6.4"
[[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]]
name = "github.com/hashicorp/go-plugin"
revision = "e8d22c780116115ae5624720c9af0c97afe4f551"
[[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.7.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/mail.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"
[[constraint]]
name = "github.com/denisenkom/go-mssqldb"
revision = "270bc3860bb94dd3a3ffd047377d746c5e276726"
[[constraint]]
name = "github.com/VividCortex/mysqlerr"
branch = "master"
[[constraint]]
name = "gopkg.in/square/go-jose.v2"
version = "2.1.9"
[[constraint]]
name = "gopkg.in/ldap.v3"
version = "3.0.0"

View File

@@ -1,202 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
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.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
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 2015 Grafana Labs
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

@@ -1,5 +1,7 @@
-include local/Makefile
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-dev build-docker-full lint-go test-go test-js test run clean
all: deps build
deps-go:
@@ -10,42 +12,57 @@ deps-js: node_modules
deps: deps-js
build-go:
go run build.go build
@echo "build go files"
GO111MODULE=on go run build.go build
build-server:
go run build.go build-server
@echo "build server"
GO111MODULE=on go run build.go build-server
build-cli:
go run build.go build-cli
@echo "build in CI environment"
GO111MODULE=on go run build.go build-cli
build-js:
@echo "build frontend"
yarn run build
build: build-go build-js
build-docker-dev:
@echo "build development container"
@echo "\033[92mInfo:\033[0m the frontend code is expected to be built already."
go run build.go -goos linux -pkg-arch amd64 ${OPT} build pkg-archive latest
GO111MODULE=on go run build.go -goos linux -pkg-arch amd64 ${OPT} build pkg-archive latest
cp dist/grafana-latest.linux-x64.tar.gz packaging/docker
cd packaging/docker && docker build --tag grafana/grafana:dev .
build-docker-full:
@echo "build docker container"
docker build --tag grafana/grafana:dev .
lint-go:
@echo "lint go source"
scripts/backend-lint.sh
test-go:
go test -v ./pkg/...
@echo "test backend"
GO111MODULE=on go test -v ./pkg/...
test-js:
@echo "test frontend"
yarn test
test: test-go test-js
run:
@echo "start a server"
./bin/grafana-server
clean:
@echo "cleaning"
rm -rf node_modules
rm -rf public/build
node_modules: package.json yarn.lock
@echo "install frontend dependencies"
yarn install --pure-lockfile --no-progress

View File

@@ -27,3 +27,8 @@ If you think we missed exposing a crucial lib or Grafana component let us know b
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>`
## Changes in v6.0
### DashboardSrv.ts
If you utilize [DashboardSrv](https://github.com/grafana/grafana/commit/8574dca081002f36e482b572517d8f05fd44453f#diff-1ab99561f9f6a10e1fafcddc39bc1d65) in your plugin code, `dash` was renamed to `dashboard`

View File

@@ -7,12 +7,6 @@
Grafana is an open source, feature rich metrics dashboard and graph editor for
Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
![](https://www.grafanacon.org/2019/images/grafanacon_la_nav-logo.png)
Join us Feb 25-26 in Los Angeles, California for GrafanaCon - a two-day event with talks focused on Grafana and the surrounding open source monitoring ecosystem. Get deep dives into Loki, the Explore workflow and all of the new features of Grafana 6, plus participate in hands on workshops to help you get the most out of your data.
Time is running out - grab your ticket now! http://grafanacon.org
<!---
![](http://docs.grafana.org/assets/img/features/dashboard_ex1.png)
-->
@@ -75,15 +69,15 @@ $GOPATH/bin/bra run
Rebuild on file change, and serve them by Grafana's webserver (http://localhost:3000):
```bash
yarn watch
yarn start
```
Build the assets, rebuild on file change with Hot Module Replacement (HMR), and serve them by webpack-dev-server (http://localhost:3333):
```bash
yarn start
yarn start:hot
# OR set a theme
env GRAFANA_THEME=light yarn start
env GRAFANA_THEME=light yarn start:hot
```
*Note: HMR for Angular is not supported. If you edit files in the Angular part of the app, the whole page will reload.*
@@ -119,6 +113,8 @@ The resulting image will be tagged as `grafana/grafana:dev`
Notice: If you are using Docker for MacOS, be sure to set the memory limit to be larger than 2 GiB (at docker -> Preferences -> Advanced), otherwise `grunt build` may fail.
## Development
### Dev config
Create a custom.ini in the conf directory to override default configuration options.
@@ -154,11 +150,16 @@ GRAFANA_TEST_DB=mysql go test ./pkg/...
GRAFANA_TEST_DB=postgres go test ./pkg/...
```
### Datasource and dashboard provisioning
[Here](https://github.com/grafana/grafana/tree/master/devenv) you can find helpful scripts and docker-compose setup
that will populate your dev environment for quicker testing end experimenting.
## Contribute
If you have any ideas for improvement or have found a bug, do not hesitate to open an issue.
And if you have time, clone this repo and submit a pull request to help me make Grafana
the kickass metrics & devops dashboard we all dream about!
the kickass metrics & devops dashboard we all dream about!
Read the [contributing](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guide then check the [`beginner friendly`](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22) label to find issues that are easy and that we would like help with.
@@ -169,5 +170,5 @@ plugin development.
## License
Grafana is distributed under [Apache 2.0 License](https://github.com/grafana/grafana/blob/master/LICENSE.md).
Grafana is distributed under [Apache 2.0 License](https://github.com/grafana/grafana/blob/master/LICENSE).

View File

@@ -1,32 +1,4 @@
# Roadmap (2018-08-07)
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-2 months)
- PRs & Bugs
- React Panel Support
- React Query Editor Support
- Metrics & Log Explore UI
- Grafana UI library shared between grafana & plugins
- Seperate visualization from panels
- More reuse between Explore & dashboard
- Explore logging support for more data sources
### Mid term (2-4 months)
- Drilldown links
- Dashboards as code workflows
- React migration
- New panels
### Long term (4 - 8 months)
- Alerting improvements (silence, per series tracking, etc)
### 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).
Go to the Issues tab on GitHub. There you will find, at the top, 3 pinned roadmap issues.

View File

@@ -18,10 +18,21 @@ Upgrading Go or Node.js requires making changes in many different files. See bel
## Go Dependencies
Updated using `dep`.
The Grafana project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. This requires a working Go environment with version 1.11 or greater installed.
- `Gopkg.toml`
- `Gopkg.lock`
All dependencies are vendored in the `vendor/` directory.
To add or update a new dependency, use the `go get` command:
```bash
# Pick the latest tagged release.
go get example.com/some/module/pkg
# Pick a specific version.
go get example.com/some/module/pkg@vX.Y.Z
```
Tidy up the `go.mod` and `go.sum` files and copy the new/updated dependency to the `vendor/` directory:
## Node.js Dependencies

View File

@@ -48,6 +48,7 @@ var (
enterprise bool = false
skipRpmGen bool = false
skipDebGen bool = false
printGenVersion bool = false
)
func main() {
@@ -71,6 +72,7 @@ func main() {
flag.BoolVar(&isDev, "dev", isDev, "optimal for development, skips certain steps")
flag.BoolVar(&skipRpmGen, "skipRpm", skipRpmGen, "skip rpm package generation (default: false)")
flag.BoolVar(&skipDebGen, "skipDeb", skipDebGen, "skip deb package generation (default: false)")
flag.BoolVar(&printGenVersion, "gen-version", printGenVersion, "generate Grafana version and output (default: false)")
flag.Parse()
buildId = shortenBuildId(buildIdRaw)
@@ -81,6 +83,11 @@ func main() {
pkgArch = goarch
}
if printGenVersion {
printGeneratedVersion()
return
}
log.Printf("Version: %s, Linux Version: %s, Package Iteration: %s\n", version, linuxPackageVersion, linuxPackageIteration)
if flag.NArg() == 0 {
@@ -221,6 +228,7 @@ func readVersionFromPackageJson() {
type linuxPackageOptions struct {
packageType string
packageArch string
homeDir string
binPath string
serverBinPath string
@@ -241,14 +249,14 @@ type linuxPackageOptions struct {
}
func createDebPackages() {
previousPkgArch := pkgArch
if pkgArch == "armv7" {
pkgArch = "armhf"
} else if pkgArch == "armv6" {
pkgArch = "armel"
debPkgArch := pkgArch
if pkgArch == "armv7" || pkgArch == "armv6" {
debPkgArch = "armhf"
}
createPackage(linuxPackageOptions{
packageType: "deb",
packageArch: debPkgArch,
homeDir: "/usr/share/grafana",
binPath: "/usr/sbin",
configDir: "/etc/grafana",
@@ -262,21 +270,21 @@ func createDebPackages() {
defaultFileSrc: "packaging/deb/default/grafana-server",
systemdFileSrc: "packaging/deb/systemd/grafana-server.service",
depends: []string{"adduser", "libfontconfig"},
depends: []string{"adduser", "libfontconfig1"},
})
pkgArch = previousPkgArch
}
func createRpmPackages() {
previousPkgArch := pkgArch
rpmPkgArch := pkgArch
switch {
case pkgArch == "armv7":
pkgArch = "armhfp"
rpmPkgArch = "armhfp"
case pkgArch == "arm64":
pkgArch = "aarch64"
rpmPkgArch = "aarch64"
}
createPackage(linuxPackageOptions{
packageType: "rpm",
packageArch: rpmPkgArch,
homeDir: "/usr/share/grafana",
binPath: "/usr/sbin",
configDir: "/etc/grafana",
@@ -292,7 +300,6 @@ func createRpmPackages() {
depends: []string{"/sbin/service", "fontconfig", "freetype", "urw-fonts"},
})
pkgArch = previousPkgArch
}
func createLinuxPackages() {
@@ -351,6 +358,11 @@ func createPackage(options linuxPackageOptions) {
name += "-enterprise"
args = append(args, "--replaces", "grafana")
}
fmt.Printf("pkgArch is set to '%s', generated arch is '%s'\n", pkgArch, options.packageArch)
if pkgArch == "armv6" {
name += "-rpi"
args = append(args, "--replaces", "grafana")
}
args = append(args, "--name", name)
description := "Grafana"
@@ -371,8 +383,8 @@ func createPackage(options linuxPackageOptions) {
args = append(args, "--deb-no-default-config-files")
}
if pkgArch != "" {
args = append(args, "-a", pkgArch)
if options.packageArch != "" {
args = append(args, "-a", options.packageArch)
}
if linuxPackageIteration != "" {
@@ -410,13 +422,17 @@ func grunt(params ...string) {
}
}
func genPackageVersion() string {
if includeBuildId {
return fmt.Sprintf("%v-%v", linuxPackageVersion, linuxPackageIteration)
} else {
return version
}
}
func gruntBuildArg(task string) []string {
args := []string{task}
if includeBuildId {
args = append(args, fmt.Sprintf("--pkgVer=%v-%v", linuxPackageVersion, linuxPackageIteration))
} else {
args = append(args, fmt.Sprintf("--pkgVer=%v", version))
}
args = append(args, fmt.Sprintf("--pkgVer=%v", genPackageVersion()))
if pkgArch != "" {
args = append(args, fmt.Sprintf("--arch=%v", pkgArch))
}
@@ -433,10 +449,13 @@ func gruntBuildArg(task string) []string {
}
func setup() {
runPrint("go", "get", "-v", "github.com/golang/dep")
runPrint("go", "install", "-v", "./pkg/cmd/grafana-server")
}
func printGeneratedVersion() {
fmt.Print(genPackageVersion())
}
func test(pkg string) {
setBuildEnv()
runPrint("go", "test", "-short", "-timeout", "60s", pkg)

View File

@@ -106,36 +106,16 @@ path = grafana.db
# For "sqlite3" only. cache mode setting used for connecting to the database
cache_mode = private
#################################### Session #############################
[session]
# Either "memory", "file", "redis", "mysql", "postgres", "memcache", default is "file"
provider = file
#################################### Cache server #############################
[remote_cache]
# Either "redis", "memcached" or "database" default is "database"
type = database
# Provider config options
# memory: not have any config yet
# file: session dir path, is relative to grafana data_path
# cache connectionstring options
# database: will use Grafana primary database.
# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
# mysql: go-sql-driver/mysql dsn config string, examples:
# `user:password@tcp(127.0.0.1:3306)/database_name`
# `user:password@unix(/var/run/mysqld/mysqld.sock)/database_name`
# memcache: 127.0.0.1:11211
provider_config = sessions
# Session cookie name
cookie_name = grafana_sess
# If you use session in https only, default is false
cookie_secure = false
# Session life time, default is 86400
session_life_time = 86400
gc_interval_time = 86400
# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
conn_max_lifetime = 14400
connstr =
#################################### Data proxy ###########################
[dataproxy]
@@ -146,6 +126,9 @@ logging = false
# How long the data proxy should wait before timing out default is 30 (seconds)
timeout = 30
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
send_user_header = false
#################################### Analytics ###########################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -193,6 +176,9 @@ cookie_secure = false
# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict" and "none"
cookie_samesite = lax
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
allow_embedding = false
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -231,6 +217,7 @@ verify_email_enabled = false
# Background text for the user field on the login page
login_hint = email or username
password_hint = password
# Default UI theme ("dark" or "light")
default_theme = dark
@@ -243,6 +230,9 @@ external_manage_info =
# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
viewers_can_edit = false
# Editors can administrate dashboard, folders and teams they create
editors_can_admin = false
[auth]
# Login cookie name
login_cookie_name = grafana_session
@@ -376,6 +366,10 @@ enabled = false
config_file = /etc/grafana/ldap.toml
allow_sign_up = true
# LDAP backround sync (Enterprise only)
sync_cron = @hourly
active_sync_enabled = false
#################################### SMTP / Emailing #####################
[smtp]
enabled = false
@@ -503,6 +497,16 @@ nodata_or_nullvalues = no_data
# This limit will protect the server from render overloading and make sure notifications are sent out quickly
concurrent_render_limit = 5
# Default setting for alert calculation timeout. Default value is 30
evaluation_timeout_seconds = 30
# Default setting for alert notification timeout. Default value is 30
notification_timeout_seconds = 30
# Default setting for max attempts to sending alert notifications. Default value is 3
max_attempts = 3
#################################### Explore #############################
[explore]
# Enable the Explore section
@@ -585,8 +589,13 @@ server_url =
callback_url =
[panels]
# here for to support old env variables, can remove after a few months
enable_alpha = false
disable_sanitize_html = false
[plugins]
enable_alpha = false
app_tls_skip_verify_insecure = false
[enterprise]
license_path =

View File

@@ -5,6 +5,7 @@ apiVersion: 1
# - name: 'default'
# orgId: 1
# folder: ''
# folderUid: ''
# type: file
# options:
# path: /var/lib/grafana/dashboards

View File

@@ -102,27 +102,16 @@ log_queries =
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private
#################################### Session ####################################
[session]
# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
;provider = file
#################################### Cache server #############################
[remote_cache]
# Either "redis", "memcached" or "database" default is "database"
;type = database
# Provider config options
# memory: not have any config yet
# file: session dir path, is relative to grafana data_path
# cache connectionstring options
# database: will use Grafana primary database.
# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
;provider_config = sessions
# Session cookie name
;cookie_name = grafana_sess
# If you use session in https only, default is false
;cookie_secure = false
# Session life time, default is 86400
;session_life_time = 86400
# memcache: 127.0.0.1:11211
;connstr =
#################################### Data proxy ###########################
[dataproxy]
@@ -133,6 +122,9 @@ log_queries =
# How long the data proxy should wait before timing out default is 30 (seconds)
;timeout = 30
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
;send_user_header = false
#################################### Analytics ####################################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -180,6 +172,9 @@ log_queries =
# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict" and "none"
;cookie_samesite = lax
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
;allow_embedding = false
#################################### Snapshots ###########################
[snapshots]
# snapshot sharing options
@@ -211,6 +206,7 @@ log_queries =
# Background text for the user field on the login page
;login_hint = email or username
;password_hint = password
# Default UI theme ("dark" or "light")
;default_theme = dark
@@ -223,6 +219,9 @@ log_queries =
# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
;viewers_can_edit = false
# Editors can administrate dashboard, folders and teams they create
;editors_can_admin = false
[auth]
# Login cookie name
;login_cookie_name = grafana_session
@@ -428,6 +427,16 @@ log_queries =
# This limit will protect the server from render overloading and make sure notifications are sent out quickly
;concurrent_render_limit = 5
# Default setting for alert calculation timeout. Default value is 30
;evaluation_timeout_seconds = 30
# Default setting for alert notification timeout. Default value is 30
;notification_timeout_seconds = 30
# Default setting for max attempts to sending alert notifications. Default value is 3
;max_attempts = 3
#################################### Explore #############################
[explore]
# Enable the Explore section
@@ -512,7 +521,10 @@ log_queries =
;license_path =
[panels]
;enable_alpha = false
# If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
;disable_sanitize_html = false
[plugins]
;enable_alpha = false
;app_tls_skip_verify_insecure = false

View File

@@ -2,15 +2,32 @@ This folder contains useful scripts and configuration for...
* Configuring dev datasources in Grafana
* Configuring dev & test scenarios dashboards.
* Creating docker-compose file with DBs and fake data.
# Dev dashboards and data sources
```bash
./setup.sh
```
After restarting grafana server there should now be a number of datasources named `gdev-<type>` provisioned as well as a dashboard folder named `gdev dashboards`. This folder contains dashboard & panel features tests dashboards.
After restarting grafana server there should now be a number of datasources named `gdev-<type>` provisioned as well as
a dashboard folder named `gdev dashboards`. This folder contains dashboard & panel features tests dashboards.
# Dev dashboards
#### Dev dashboards
Please update these dashboards or make new ones as new panels & dashboards features are developed or new bugs are found. The dashboards are located in the `devenv/dev-dashboards` folder.
Please update these dashboards or make new ones as new panels & dashboards features are developed or new bugs are
found. The dashboards are located in the `devenv/dev-dashboards` folder.
# docker-compose with databases
```bash
./create_docker_compose.sh influxdb prometheus2 elastic5
docker-compose up
```
This command will create a docker compose file with specified databases configured and ready to run. Each database has
a prepared image with some fake data ready to use. For available databases see `docker/blocks` directory. Mind that
for some databases there are multiple images, for example there is prometheus_mac specifically for Macs or different
version.

View File

@@ -3,7 +3,8 @@ apiVersion: 1
providers:
- name: 'gdev dashboards'
folder: 'gdev dashboards'
folderUid: ''
type: file
updateIntervalSeconds: 15
updateIntervalSeconds: 60
options:
path: devenv/dev-dashboards

View File

@@ -11,21 +11,22 @@ datasources:
- name: gdev-prometheus
type: prometheus
access: proxy
isDefault: true
url: http://localhost:9090
- name: gdev-testdata
type: testdata
isDefault: true
- name: gdev-influxdb
type: influxdb
access: proxy
database: site
user: grafana
password: grafana
url: http://localhost:8086
jsonData:
timeInterval: "15s"
secureJsonData:
password: grafana
- name: gdev-opentsdb
type: opentsdb
@@ -95,19 +96,62 @@ datasources:
timeField: "@timestamp"
esVersion: 60
- name: gdev-elasticsearch-v6-filebeat
type: elasticsearch
access: proxy
database: "[filebeat-]YYYY.MM.DD"
url: http://localhost:11200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 60
- name: gdev-elasticsearch-v7-metrics
type: elasticsearch
access: proxy
database: "[metrics-]YYYY.MM.DD"
url: http://localhost:12200
jsonData:
timeInterval: 10s
interval: Daily
timeField: "@timestamp"
esVersion: 70
- name: gdev-elasticsearch-v7-logs
type: elasticsearch
access: proxy
database: "[logs-]YYYY.MM.DD"
url: http://localhost:12200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 70
- name: gdev-elasticsearch-v7-filebeat
type: elasticsearch
access: proxy
database: "[filebeat-]YYYY.MM.DD"
url: http://localhost:12200
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 70
- name: gdev-mysql
type: mysql
url: localhost:3306
database: grafana
user: grafana
password: password
secureJsonData:
password: password
- name: gdev-mysql-ds-tests
type: mysql
url: localhost:3306
database: grafana_ds_tests
user: grafana
password: password
secureJsonData:
password: password
- name: gdev-mssql
type: mssql

View File

@@ -22,144 +22,11 @@
"conditions": [
{
"evaluator": {
"params": [
60
],
"params": [177],
"type": "gt"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"enabled": true,
"frequency": "60s",
"handler": 1,
"name": "TestData - Always OK",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 0
},
"id": 3,
"isNew": true,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 60
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Always OK",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"max": "125",
"min": "0",
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
177
],
"type": "gt"
},
"query": {
"params": [
"A",
"5m",
"now"
]
"params": ["A", "5m", "now"]
},
"reducer": {
"params": [],
@@ -187,8 +54,8 @@
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"w": 10,
"x": 0,
"y": 0
},
"id": 4,
@@ -278,20 +145,14 @@
"conditions": [
{
"evaluator": {
"params": [
1
],
"params": [100],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"15m",
"now"
]
"params": ["A", "5m", "now"]
},
"reducer": {
"params": [],
@@ -301,10 +162,10 @@
}
],
"executionErrorState": "alerting",
"for": "5m",
"for": "900000h",
"frequency": "1m",
"handler": 1,
"name": "TestData - No data",
"name": "Always Pending",
"noDataState": "no_data",
"notifications": []
},
@@ -318,11 +179,11 @@
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 7
"w": 10,
"x": 10,
"y": 0
},
"id": 5,
"id": 7,
"isNew": true,
"legend": {
"avg": false,
@@ -349,8 +210,8 @@
{
"refId": "A",
"scenario": "random_walk",
"scenarioId": "no_data_points",
"stringInput": "",
"scenarioId": "csv_metric_values",
"stringInput": "200,445,100,150,200,220,190",
"target": ""
}
],
@@ -360,13 +221,13 @@
"fill": true,
"line": true,
"op": "gt",
"value": 1
"value": 100
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "No data",
"title": "Always Alerting with For",
"tooltip": {
"msResolution": false,
"shared": true,
@@ -404,25 +265,42 @@
"alignLevel": null
}
},
{
"dashboardFilter": "",
"dashboardTags": [],
"folderId": null,
"gridPos": {
"h": 20,
"w": 4,
"x": 20,
"y": 0
},
"id": 9,
"limit": 10,
"links": [],
"nameFilter": "$namefilter",
"onlyAlertsOnDashboard": false,
"show": "current",
"sortOrder": 1,
"stateFilter": [],
"timeFrom": null,
"timeShift": null,
"title": "Alert list",
"type": "alertlist"
},
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [
177
],
"params": [177],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"15m",
"now"
]
"params": ["A", "15m", "now"]
},
"reducer": {
"params": [],
@@ -448,9 +326,9 @@
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"h": 6,
"w": 10,
"x": 0,
"y": 7
},
"id": 6,
@@ -540,20 +418,11 @@
"conditions": [
{
"evaluator": {
"params": [
100
],
"params": [60],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"5m",
"now"
]
"params": ["A", "5m", "now"]
},
"reducer": {
"params": [],
@@ -562,11 +431,10 @@
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "900000h",
"frequency": "1m",
"enabled": true,
"frequency": "60s",
"handler": 1,
"name": "Always Pending",
"name": "TestData - Always OK",
"noDataState": "no_data",
"notifications": []
},
@@ -579,12 +447,12 @@
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 14
"h": 6,
"w": 10,
"x": 10,
"y": 7
},
"id": 7,
"id": 3,
"isNew": true,
"legend": {
"avg": false,
@@ -612,7 +480,7 @@
"refId": "A",
"scenario": "random_walk",
"scenarioId": "csv_metric_values",
"stringInput": "200,445,100,150,200,220,190",
"stringInput": "1,20,90,30,5,0",
"target": ""
}
],
@@ -622,13 +490,138 @@
"fill": true,
"line": true,
"op": "gt",
"value": 100
"value": 60
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Always Alerting with For",
"title": "Always OK",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "",
"logBase": 1,
"max": "125",
"min": "0",
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"alert": {
"conditions": [
{
"evaluator": {
"params": [1],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": ["A", "15m", "now"]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "5m",
"frequency": "1m",
"handler": 1,
"name": "TestData - No data",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fill": 1,
"gridPos": {
"h": 7,
"w": 10,
"x": 0,
"y": 13
},
"id": 5,
"isNew": true,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenario": "random_walk",
"scenarioId": "no_data_points",
"stringInput": "",
"target": ""
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 1
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "No data",
"tooltip": {
"msResolution": false,
"shared": true,
@@ -668,45 +661,55 @@
}
],
"revision": 2,
"schemaVersion": 16,
"schemaVersion": 18,
"style": "dark",
"tags": [
"grafana-test"
],
"tags": ["gdev", "alerting"],
"templating": {
"list": []
"list": [
{
"allValue": null,
"current": {
"text": "TestData",
"value": "TestData"
},
"hide": 0,
"includeAll": false,
"label": "alert name filter",
"multi": false,
"name": "namefilter",
"options": [
{
"selected": true,
"text": "TestData",
"value": "TestData"
},
{
"selected": false,
"text": "Prometheus",
"value": "Prometheus"
},
{
"selected": false,
"text": "Graphite",
"value": "Graphite"
}
],
"query": "TestData,Prometheus,Graphite",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "now-6h",
"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"
]
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Alerting with TestData",
"uid": "7MeksYbmk",
"version": 7
}
"version": 1
}

View File

@@ -17,14 +17,13 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1545263815779,
"iteration": 1555595032099,
"links": [
{
"asDropdown": true,
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
@@ -1824,13 +1823,7 @@
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
"percents": [25, 50, 75, 95, 99]
},
"type": "percentiles"
}
@@ -1941,13 +1934,7 @@
"meta": {},
"settings": {
"missing": null,
"percents": [
25,
50,
75,
95,
99
]
"percents": [25, 50, 75, 95, 99]
},
"type": "percentiles"
}
@@ -5856,12 +5843,9 @@
}
],
"refresh": false,
"schemaVersion": 16,
"schemaVersion": 18,
"style": "dark",
"tags": [
"gdev",
"elasticsearch"
],
"tags": ["elasticsearch", "gdev", "datasource-test"],
"templating": {
"list": [
{
@@ -5870,7 +5854,9 @@
"value": "gdev-elasticsearch-v5-metrics"
},
"hide": 0,
"includeAll": false,
"label": "Version One",
"multi": false,
"name": "version_one",
"options": [],
"query": "elasticsearch",
@@ -5885,7 +5871,9 @@
"value": "gdev-elasticsearch-v6-metrics"
},
"hide": 0,
"includeAll": false,
"label": "Version Two",
"multi": false,
"name": "version_two",
"options": [],
"query": "elasticsearch",
@@ -5901,32 +5889,11 @@
"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"
]
"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": "Datasource tests - Elasticsearch comparison",
"uid": "fuFWehBmk",
"version": 4
}
"version": 2
}

View File

@@ -28,14 +28,13 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1542303970887,
"iteration": 1554310942895,
"links": [
{
"asDropdown": true,
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
@@ -232,13 +231,7 @@
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
"percents": [25, 50, 75, 95, 99]
},
"type": "percentiles"
}
@@ -458,11 +451,7 @@
},
{
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
@@ -586,14 +575,79 @@
"title": "ES Log query",
"transform": "json",
"type": "table"
},
{
"circleMaxSize": 30,
"circleMinSize": 2,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"datasource": "gdev-elasticsearch-v2-metrics",
"decimals": 0,
"esGeoPoint": "@location",
"esMetric": "Average",
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 27
},
"hideEmpty": false,
"hideZero": false,
"id": 8,
"initialZoom": 1,
"links": [],
"locationData": "geohash",
"mapCenter": "(0°, 0°)",
"mapCenterLatitude": 0,
"mapCenterLongitude": 0,
"maxDataPoints": 1,
"mouseWheelZoom": false,
"showLegend": true,
"stickyLabels": false,
"tableQueryOptions": {
"geohashField": "geohash",
"latitudeField": "latitude",
"longitudeField": "longitude",
"metricField": "metric",
"queryType": "geohash"
},
"targets": [
{
"bucketAggs": [
{
"fake": true,
"field": "@location",
"id": "3",
"settings": {
"precision": 2
},
"type": "geohash_grid"
}
],
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": "0,10",
"title": "World map panel",
"type": "grafana-worldmap-panel",
"unitPlural": "",
"unitSingle": "",
"valueName": "total"
}
],
"schemaVersion": 16,
"schemaVersion": 18,
"style": "dark",
"tags": [
"elasticsearch",
"gdev"
],
"tags": ["elasticsearch", "gdev", "datasource-test"],
"templating": {
"list": [
{
@@ -616,34 +670,13 @@
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v2",
"uid": "RlqLq2fiz",
"version": 2
}
"version": 5
}

View File

@@ -28,16 +28,13 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1542303896062,
"iteration": 1554310560048,
"links": [
{
"asDropdown": false,
"asDropdown": true,
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"title": "Dashboard",
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
@@ -234,13 +231,7 @@
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
"percents": [25, 50, 75, 95, 99]
},
"type": "percentiles"
}
@@ -460,11 +451,7 @@
},
{
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
@@ -588,14 +575,80 @@
"title": "ES Log query",
"transform": "json",
"type": "table"
},
{
"circleMaxSize": 30,
"circleMinSize": 2,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"datasource": "gdev-elasticsearch-v5-metrics",
"decimals": 0,
"esGeoPoint": "@location",
"esLocationName": "",
"esMetric": "Average",
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 27
},
"hideEmpty": false,
"hideZero": false,
"id": 8,
"initialZoom": 1,
"links": [],
"locationData": "geohash",
"mapCenter": "(0°, 0°)",
"mapCenterLatitude": 0,
"mapCenterLongitude": 0,
"maxDataPoints": 1,
"mouseWheelZoom": false,
"showLegend": true,
"stickyLabels": false,
"tableQueryOptions": {
"geohashField": "geohash",
"latitudeField": "latitude",
"longitudeField": "longitude",
"metricField": "metric",
"queryType": "geohash"
},
"targets": [
{
"bucketAggs": [
{
"fake": true,
"field": "@location",
"id": "3",
"settings": {
"precision": 2
},
"type": "geohash_grid"
}
],
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": "0,10",
"title": "World map panel",
"type": "grafana-worldmap-panel",
"unitPlural": "",
"unitSingle": "",
"valueName": "total"
}
],
"schemaVersion": 16,
"schemaVersion": 18,
"style": "dark",
"tags": [
"elasticsearch",
"gdev"
],
"tags": ["elasticsearch", "gdev", "datasource-test"],
"templating": {
"list": [
{
@@ -618,34 +671,13 @@
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v5",
"uid": "8HjT32Bmz",
"version": 27
}
"version": 5
}

View File

@@ -13,7 +13,7 @@
"type": "dashboard"
},
{
"datasource": "Elastic 5 Logs",
"datasource": "gdev-elasticsearch-v6-logs",
"enable": false,
"iconColor": "rgba(255, 96, 96, 1)",
"limit": 100,
@@ -28,14 +28,13 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1542303999511,
"iteration": 1554310839317,
"links": [
{
"asDropdown": true,
"icon": "external link",
"tags": [
"gdev",
"elasticsearch"
],
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
@@ -232,13 +231,7 @@
"id": "1",
"meta": {},
"settings": {
"percents": [
25,
50,
75,
95,
99
]
"percents": [25, 50, 75, 95, 99]
},
"type": "percentiles"
}
@@ -458,11 +451,7 @@
},
{
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
@@ -586,14 +575,79 @@
"title": "ES Log query",
"transform": "json",
"type": "table"
},
{
"circleMaxSize": 30,
"circleMinSize": 2,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"datasource": "gdev-elasticsearch-v6-metrics",
"decimals": 0,
"esGeoPoint": "@location",
"esMetric": "Average",
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 27
},
"hideEmpty": false,
"hideZero": false,
"id": 8,
"initialZoom": "1",
"links": [],
"locationData": "geohash",
"mapCenter": "(0°, 0°)",
"mapCenterLatitude": 0,
"mapCenterLongitude": 0,
"maxDataPoints": 1,
"mouseWheelZoom": false,
"showLegend": true,
"stickyLabels": false,
"tableQueryOptions": {
"geohashField": "geohash",
"latitudeField": "latitude",
"longitudeField": "longitude",
"metricField": "metric",
"queryType": "geohash"
},
"targets": [
{
"bucketAggs": [
{
"fake": true,
"field": "@location",
"id": "3",
"settings": {
"precision": 2
},
"type": "geohash_grid"
}
],
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": "0,10",
"title": "World map panel",
"type": "grafana-worldmap-panel",
"unitPlural": "",
"unitSingle": "",
"valueName": "total"
}
],
"schemaVersion": 16,
"schemaVersion": 18,
"style": "dark",
"tags": [
"elasticsearch",
"gdev"
],
"tags": ["elasticsearch", "gdev", "datasource-test"],
"templating": {
"list": [
{
@@ -616,34 +670,13 @@
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v6",
"uid": "NF8Pq2Biz",
"version": 2
}
"version": 5
}

View File

@@ -0,0 +1,263 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1554902936982,
"links": [
{
"asDropdown": true,
"icon": "external link",
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
"panels": [
{
"aliasColors": {
"error": "red"
},
"bars": true,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v6-filebeat",
"fill": 1,
"gridPos": {
"h": 5,
"w": 24,
"x": 0,
"y": 0
},
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": false,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"bucketAggs": [
{
"fake": true,
"field": "fields.level",
"id": "3",
"settings": {
"min_doc_count": 1,
"order": "desc",
"orderBy": "_term",
"size": "10"
},
"type": "terms"
},
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "5m",
"min_doc_count": 1,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"metrics": [
{
"field": "select field",
"id": "1",
"type": "count"
}
],
"query": "fields.app:grafana",
"refId": "A",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Panel Title",
"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
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [
{
"text": "@timestamp",
"value": "@timestamp"
},
{
"text": "fields.level",
"value": "fields.level"
},
{
"text": "message",
"value": "message"
}
],
"datasource": "gdev-elasticsearch-v6-filebeat",
"fontSize": "100%",
"gridPos": {
"h": 22,
"w": 24,
"x": 0,
"y": 5
},
"id": 2,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
},
{
"alias": "Level",
"colorMode": null,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "fields.level",
"thresholds": [""],
"type": "string",
"unit": "short",
"valueMaps": []
},
{
"alias": "Message",
"colorMode": null,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "message",
"preserveFormat": false,
"sanitize": false,
"thresholds": [],
"type": "string",
"unit": "short"
}
],
"targets": [
{
"bucketAggs": [],
"metrics": [
{
"field": "select field",
"id": "1",
"meta": {},
"settings": {
"size": 500
},
"type": "raw_document"
}
],
"query": "fields.app:grafana",
"refId": "A",
"timeField": "@timestamp"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Panel Title",
"transform": "json",
"type": "table"
}
],
"schemaVersion": 18,
"style": "dark",
"tags": ["gdev", "elasticsearch", "datasource-test"],
"templating": {
"list": [
{
"datasource": "gdev-elasticsearch-v6-filebeat",
"filters": [],
"hide": 0,
"label": "",
"name": "Filters",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"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": "Datasource tests - Elasticsearch v6 Filebeat",
"uid": "06tPt4gZz",
"version": 8
}

View File

@@ -0,0 +1,683 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": false,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"limit": 100,
"name": "Annotations & Alerts",
"showIn": 0,
"type": "dashboard"
},
{
"datasource": "gdev-elasticsearch-v7-logs",
"enable": false,
"iconColor": "rgba(255, 96, 96, 1)",
"limit": 100,
"name": "test",
"query": "",
"showIn": 0,
"textField": "description",
"type": "alert"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 2342,
"iteration": 1555593977614,
"links": [
{
"asDropdown": true,
"icon": "external link",
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v7-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "3",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "1",
"size": "5"
},
"type": "terms"
},
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "max"
}
],
"query": "*",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Top 5 servers",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v7-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 7
},
"id": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "5m",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {
"percents": [25, 50, 75, 95, 99]
},
"type": "percentiles"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Percentiles & Metric filter",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {
"Count": "#6ED0E0"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v7-metrics",
"editable": true,
"error": false,
"fill": 1,
"grid": {},
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 7
},
"id": 3,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "Count",
"lines": false,
"yaxis": 2,
"zindex": -1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "{{metric}}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto",
"min_doc_count": 0,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {
"std_deviation_bounds_lower": true,
"std_deviation_bounds_upper": true
},
"settings": {},
"type": "extended_stats"
}
],
"query": "@metric:cpu",
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Standard dev",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [
{
"text": "@hostname",
"value": "@hostname"
},
{
"text": "Average",
"value": "Average"
},
{
"text": "Max",
"value": "Max"
},
{
"text": "Sum",
"value": "Sum"
}
],
"datasource": "gdev-elasticsearch-v7-metrics",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 13
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
},
{
"colorMode": null,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"bucketAggs": [
{
"field": "@hostname",
"id": "2",
"settings": {
"min_doc_count": 1,
"order": "asc",
"orderBy": "_term",
"size": "0"
},
"type": "terms"
}
],
"dsType": "elasticsearch",
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
},
{
"field": "@value",
"id": "3",
"meta": {},
"settings": {},
"type": "max"
},
{
"field": "@value",
"id": "4",
"meta": {},
"settings": {},
"type": "sum"
}
],
"refId": "B",
"timeField": "@timestamp"
}
],
"title": "ES Metrics",
"transform": "table",
"type": "table"
},
{
"columns": [
{
"text": "@timestamp",
"value": "@timestamp"
},
{
"text": "@message",
"value": "@message"
},
{
"text": "tags",
"value": "tags"
},
{
"text": "description",
"value": "description"
}
],
"datasource": "gdev-elasticsearch-v7-logs",
"editable": true,
"error": false,
"fontSize": "100%",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 20
},
"id": 5,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
}
],
"targets": [
{
"bucketAggs": [],
"dsType": "elasticsearch",
"metrics": [
{
"field": "select field",
"id": "1",
"meta": {},
"settings": {
"size": 500
},
"type": "raw_document"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"title": "ES Log query",
"transform": "json",
"type": "table"
},
{
"circleMaxSize": 30,
"circleMinSize": 2,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"datasource": "gdev-elasticsearch-v7-metrics",
"decimals": 0,
"esGeoPoint": "@location",
"esMetric": "Average",
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 27
},
"hideEmpty": false,
"hideZero": false,
"id": 8,
"initialZoom": "1",
"links": [],
"locationData": "geohash",
"mapCenter": "(0°, 0°)",
"mapCenterLatitude": 0,
"mapCenterLongitude": 0,
"maxDataPoints": 1,
"mouseWheelZoom": false,
"showLegend": true,
"stickyLabels": false,
"tableQueryOptions": {
"geohashField": "geohash",
"latitudeField": "latitude",
"longitudeField": "longitude",
"metricField": "metric",
"queryType": "geohash"
},
"targets": [
{
"bucketAggs": [
{
"fake": true,
"field": "@location",
"id": "3",
"settings": {
"precision": 2
},
"type": "geohash_grid"
}
],
"metrics": [
{
"field": "@value",
"id": "1",
"meta": {},
"settings": {},
"type": "avg"
}
],
"refId": "A",
"target": "",
"timeField": "@timestamp"
}
],
"thresholds": "0,10",
"title": "World map panel",
"type": "grafana-worldmap-panel",
"unitPlural": "",
"unitSingle": "",
"valueName": "total"
}
],
"schemaVersion": 18,
"style": "dark",
"tags": ["elasticsearch", "gdev", "datasource-test"],
"templating": {
"list": [
{
"datasource": "gdev-elasticsearch-v7-metrics",
"filters": [],
"hide": 0,
"label": "",
"name": "Filters",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"status": "Stable",
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - Elasticsearch v7",
"uid": "Y-RvmuRWk",
"version": 1
}

View File

@@ -0,0 +1,264 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 2341,
"iteration": 1555591591930,
"links": [
{
"asDropdown": true,
"icon": "external link",
"tags": ["gdev", "elasticsearch", "datasource-test"],
"title": "Dashboards",
"type": "dashboards"
}
],
"panels": [
{
"aliasColors": {
"error": "red"
},
"bars": true,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-elasticsearch-v7-filebeat",
"fill": 1,
"gridPos": {
"h": 5,
"w": 24,
"x": 0,
"y": 0
},
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": false,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"bucketAggs": [
{
"fake": true,
"field": "fields.level",
"id": "3",
"settings": {
"min_doc_count": 1,
"order": "desc",
"orderBy": "_term",
"size": "10"
},
"type": "terms"
},
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "5m",
"min_doc_count": 1,
"trimEdges": 0
},
"type": "date_histogram"
}
],
"metrics": [
{
"field": "select field",
"id": "1",
"type": "count"
}
],
"query": "fields.app:grafana",
"refId": "A",
"timeField": "@timestamp"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Panel Title",
"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
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"columns": [
{
"text": "@timestamp",
"value": "@timestamp"
},
{
"text": "fields.level",
"value": "fields.level"
},
{
"text": "message",
"value": "message"
}
],
"datasource": "gdev-elasticsearch-v7-filebeat",
"fontSize": "100%",
"gridPos": {
"h": 22,
"w": 24,
"x": 0,
"y": 5
},
"id": 2,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "@timestamp",
"type": "date"
},
{
"alias": "Level",
"colorMode": null,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "fields.level",
"thresholds": [""],
"type": "string",
"unit": "short",
"valueMaps": []
},
{
"alias": "Message",
"colorMode": null,
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "message",
"preserveFormat": false,
"sanitize": false,
"thresholds": [],
"type": "string",
"unit": "short"
}
],
"targets": [
{
"bucketAggs": [],
"metrics": [
{
"field": "select field",
"id": "1",
"meta": {},
"settings": {
"size": 500
},
"type": "raw_document"
}
],
"query": "fields.app:grafana",
"refId": "A",
"timeField": "@timestamp"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Panel Title",
"transform": "json",
"type": "table"
}
],
"schemaVersion": 18,
"style": "dark",
"tags": ["elasticsearch", "gdev", "datasource-test"],
"templating": {
"list": [
{
"datasource": "gdev-elasticsearch-v7-filebeat",
"filters": [],
"hide": 0,
"label": "",
"name": "Filters",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"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": "Datasource tests - Elasticsearch v7 Filebeat",
"uid": "M94gguRWz",
"version": 1
}

View File

@@ -0,0 +1,323 @@
{
"annotations": {
"enable": false,
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"iteration": 1556259111212,
"links": [],
"panels": [
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-influxdb",
"editable": true,
"error": false,
"fill": 2,
"grid": {},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"interval": "$summarize",
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"alias": "$tag_hostname",
"dsType": "influxdb",
"groupBy": [
{
"params": ["auto"],
"type": "time"
},
{
"params": ["hostname"],
"type": "tag"
}
],
"measurement": "logins.count",
"policy": "default",
"query": "SELECT mean(\"value\") FROM \"logins.count\" WHERE \"hostname\" =~ /$Hostname$/ AND $timeFilter GROUP BY time($interval), \"hostname\"",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": ["value"],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "datacenter",
"operator": "=~",
"value": "/^$datacenter$/"
},
{
"condition": "AND",
"key": "hostname",
"operator": "=~",
"value": "/^$host$/"
}
],
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Selected Servers",
"tooltip": {
"msResolution": false,
"query_as_alias": true,
"shared": false,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
}
],
"refresh": false,
"schemaVersion": 18,
"style": "dark",
"tags": ["gdev", "datasource-test", "influxdb"],
"templating": {
"list": [
{
"allValue": null,
"current": {
"text": "America",
"value": "America"
},
"datasource": "gdev-influxdb",
"definition": "",
"hide": 0,
"includeAll": false,
"label": null,
"multi": false,
"name": "datacenter",
"options": [],
"query": "SHOW TAG VALUES WITH KEY = \"datacenter\" ",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": null,
"tags": [],
"tagsQuery": null,
"type": "query",
"useTags": false
},
{
"allFormat": "regex values",
"allValue": null,
"current": {
"text": "All",
"value": "$__all"
},
"datasource": "gdev-influxdb",
"definition": "",
"hide": 0,
"includeAll": true,
"label": null,
"multi": true,
"multiFormat": "regex values",
"name": "host",
"options": [],
"query": "SHOW TAG VALUES WITH KEY = \"hostname\" WHERE \"datacenter\" =~ /^$datacenter$/",
"refresh": 1,
"refresh_on_load": false,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": null,
"tags": [],
"tagsQuery": null,
"type": "query",
"useTags": false
},
{
"allFormat": "glob",
"auto": true,
"auto_count": 5,
"auto_min": "10s",
"current": {
"text": "1m",
"value": "1m"
},
"datasource": null,
"hide": 0,
"includeAll": false,
"label": "",
"name": "summarize",
"options": [
{
"selected": false,
"text": "auto",
"value": "$__auto_interval_summarize"
},
{
"selected": true,
"text": "1m",
"value": "1m"
},
{
"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": "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
"refresh": 2,
"refresh_on_load": false,
"skipUrlSync": false,
"type": "interval"
},
{
"datasource": "InfluxDB",
"filters": [],
"hide": 0,
"label": null,
"name": "adhoc",
"skipUrlSync": false,
"type": "adhoc"
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"status": "Stable",
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"],
"type": "timepicker"
},
"timezone": "browser",
"title": "Datasource tests - InfluxDB Templated",
"uid": "000000002",
"version": 2
}

View File

@@ -319,11 +319,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -346,7 +342,7 @@
],
"schemaVersion": 16,
"style": "dark",
"tags": ["gdev", "mssql", "fake-data-gen"],
"tags": ["gdev", "mssql", "datasource-test"],
"templating": {
"list": [
{
@@ -486,32 +482,11 @@
"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"
]
"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": "Datasource tests - MSSQL",
"uid": "86Js1xRmk",
"version": 1
}
}

View File

@@ -90,11 +90,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -143,11 +139,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -197,11 +189,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -251,11 +239,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -305,11 +289,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -2124,9 +2104,7 @@
"mode": "series",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2212,9 +2190,7 @@
"mode": "series",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2299,9 +2275,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2387,9 +2361,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2474,9 +2446,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2562,9 +2532,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2649,9 +2617,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2737,9 +2703,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2768,10 +2732,7 @@
"refresh": false,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"mssql"
],
"tags": ["gdev", "mssql", "datasource-test"],
"templating": {
"list": [
{
@@ -2871,32 +2832,11 @@
"to": "2018-03-15T13:55:01.000Z"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
"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": "Datasource tests - MSSQL (unit test)",
"uid": "GlAqcPgmz",
"version": 2
}
}

View File

@@ -323,11 +323,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -352,11 +348,7 @@
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"fake-data-gen",
"mysql"
],
"tags": ["gdev", "mysql", "datasource-tags"],
"templating": {
"list": [
{
@@ -502,32 +494,11 @@
"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"
]
"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": "Datasource tests - MySQL",
"uid": "DGsCac3kz",
"version": 8
}
}

View File

@@ -90,11 +90,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -143,11 +139,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -197,11 +189,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -251,11 +239,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -305,11 +289,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -1938,9 +1918,7 @@
"mode": "series",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2026,9 +2004,7 @@
"mode": "series",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2113,9 +2089,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2201,9 +2175,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2288,9 +2260,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2376,9 +2346,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2463,9 +2431,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2551,9 +2517,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2582,10 +2546,7 @@
"refresh": false,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"mysql"
],
"tags": ["gdev", "mysql", "datasource-test"],
"templating": {
"list": [
{
@@ -2683,32 +2644,11 @@
"to": "2018-03-15T13:55:01.000Z"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
"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": "Datasource tests - MySQL (unittest)",
"uid": "Hmf8FDkmz",
"version": 2
}
}

View File

@@ -75,7 +75,7 @@
{
"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",
"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\nORDER BY time",
"refId": "B"
}
],
@@ -323,11 +323,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -351,11 +347,7 @@
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"fake-data-gen",
"postgres"
],
"tags": ["gdev", "postgres", "datasource-test"],
"templating": {
"list": [
{
@@ -501,32 +493,11 @@
"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"
]
"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": "Datasource tests - Postgres",
"uid": "JYola5qzz",
"version": 4
}
}

View File

@@ -90,11 +90,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -143,11 +139,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -197,11 +189,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -251,11 +239,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -305,11 +289,7 @@
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -1914,9 +1894,7 @@
"mode": "series",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2002,9 +1980,7 @@
"mode": "series",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2089,9 +2065,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2177,9 +2151,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2264,9 +2236,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2352,9 +2322,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2439,9 +2407,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"current"
]
"values": ["current"]
},
"yaxes": [
{
@@ -2527,9 +2493,7 @@
"mode": "histogram",
"name": null,
"show": true,
"values": [
"total"
]
"values": ["total"]
},
"yaxes": [
{
@@ -2558,10 +2522,7 @@
"refresh": false,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"postgres"
],
"tags": ["gdev", "postgres", "datasource-test"],
"templating": {
"list": [
{
@@ -2570,9 +2531,7 @@
"selected": true,
"tags": [],
"text": "All",
"value": [
"$__all"
]
"value": ["$__all"]
},
"datasource": "gdev-postgres-ds-tests",
"hide": 0,
@@ -2663,32 +2622,11 @@
"to": "2018-03-15T13:55:01.000Z"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
"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": "Datasource tests - Postgres (unittest)",
"uid": "vHQdlVziz",
"version": 1
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,149 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"folderId": null,
"gridPos": {
"h": 26,
"w": 6,
"x": 0,
"y": 0
},
"headings": true,
"id": 7,
"limit": 100,
"links": [],
"query": "",
"recent": true,
"search": false,
"starred": true,
"tags": [],
"timeFrom": null,
"timeShift": null,
"title": "Starred",
"type": "dashlist"
},
{
"folderId": null,
"gridPos": {
"h": 13,
"w": 6,
"x": 6,
"y": 0
},
"headings": false,
"id": 2,
"limit": 1000,
"links": [],
"query": "",
"recent": false,
"search": true,
"starred": false,
"tags": ["panel-tests"],
"timeFrom": null,
"timeShift": null,
"title": "tag: panel-tests",
"type": "dashlist"
},
{
"folderId": null,
"gridPos": {
"h": 26,
"w": 6,
"x": 12,
"y": 0
},
"headings": false,
"id": 3,
"limit": 1000,
"links": [],
"query": "",
"recent": false,
"search": true,
"starred": false,
"tags": ["gdev", "demo"],
"timeFrom": null,
"timeShift": null,
"title": "tag: dashboard-demo",
"type": "dashlist"
},
{
"folderId": null,
"gridPos": {
"h": 26,
"w": 6,
"x": 18,
"y": 0
},
"headings": false,
"id": 5,
"limit": 1000,
"links": [],
"query": "",
"recent": false,
"search": true,
"starred": false,
"tags": ["gdev", "datasource-test"],
"timeFrom": null,
"timeShift": null,
"title": "Data source tests",
"type": "dashlist"
},
{
"folderId": null,
"gridPos": {
"h": 13,
"w": 6,
"x": 6,
"y": 13
},
"headings": false,
"id": 4,
"limit": 1000,
"links": [],
"query": "",
"recent": false,
"search": true,
"starred": false,
"tags": ["templating", "gdev"],
"timeFrom": null,
"timeShift": null,
"title": "tag: templating ",
"type": "dashlist"
}
],
"schemaVersion": 18,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"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 Dev Overview & Home",
"uid": "j6T00KRZz",
"version": 2
}

View File

@@ -0,0 +1,665 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 7501,
"links": [],
"panels": [
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 0
},
"id": 2,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"max": 100,
"min": 0,
"unit": "decgbytes"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "orange",
"index": 1,
"value": 60
},
{
"color": "red",
"index": 2,
"value": 80
}
],
"values": false
},
"orientation": "vertical"
},
"targets": [
{
"alias": "sda1",
"refId": "A",
"scenarioId": "random_walk"
},
{
"alias": "sda2",
"refId": "B",
"scenarioId": "random_walk"
},
{
"alias": "sda3",
"refId": "C",
"scenarioId": "random_walk"
},
{
"alias": "sda4",
"refId": "D",
"scenarioId": "random_walk"
},
{
"alias": "sda5",
"refId": "E",
"scenarioId": "random_walk"
},
{
"alias": "sda6",
"refId": "F",
"scenarioId": "random_walk"
},
{
"alias": "sda7",
"refId": "G",
"scenarioId": "random_walk"
},
{
"alias": "sda8",
"refId": "H",
"scenarioId": "random_walk"
},
{
"alias": "sda9",
"refId": "I",
"scenarioId": "random_walk"
},
{
"alias": "sda10",
"refId": "J",
"scenarioId": "random_walk"
},
{
"alias": "sda11",
"refId": "K",
"scenarioId": "random_walk"
},
{
"alias": "sda12",
"refId": "L",
"scenarioId": "random_walk"
},
{
"alias": "sda13",
"refId": "M",
"scenarioId": "random_walk"
},
{
"alias": "sda14",
"refId": "N",
"scenarioId": "random_walk"
},
{
"alias": "sda15",
"refId": "O",
"scenarioId": "random_walk"
},
{
"alias": "sda16",
"refId": "P",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "",
"transparent": true,
"type": "bargauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 10,
"w": 16,
"x": 0,
"y": 7
},
"id": 4,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "celsius"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 20
},
{
"color": "orange",
"index": 2,
"value": 40
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"alias": "Inside",
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"alias": "Outhouse",
"refId": "A",
"scenarioId": "random_walk"
},
{
"alias": "Area B",
"refId": "B",
"scenarioId": "random_walk"
},
{
"alias": "Basement",
"refId": "C",
"scenarioId": "random_walk"
},
{
"alias": "Garage",
"refId": "D",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Gradient mode",
"type": "bargauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 10,
"w": 6,
"x": 16,
"y": 7
},
"id": 6,
"links": [],
"options": {
"displayMode": "basic",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "watt"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 42.5
},
{
"color": "orange",
"index": 2,
"value": 80
},
{
"color": "red",
"index": 3,
"value": 90
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "J",
"scenarioId": "random_walk"
},
{
"refId": "K",
"scenarioId": "random_walk"
},
{
"refId": "L",
"scenarioId": "random_walk"
},
{
"refId": "M",
"scenarioId": "random_walk"
},
{
"refId": "N",
"scenarioId": "random_walk"
},
{
"refId": "O",
"scenarioId": "random_walk"
},
{
"refId": "P",
"scenarioId": "random_walk"
},
{
"refId": "Q",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Basic",
"type": "bargauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 22,
"w": 2,
"x": 22,
"y": 7
},
"id": 8,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"max": 100,
"min": 0
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "red",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 90
}
],
"values": false
},
"orientation": "vertical"
},
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Completion",
"type": "bargauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 12,
"w": 22,
"x": 0,
"y": 17
},
"id": 10,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"max": 100,
"min": 0,
"unit": "decgbytes"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 30
},
{
"color": "orange",
"index": 2,
"value": 60
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "vertical"
},
"targets": [
{
"alias": "sda1",
"refId": "A",
"scenarioId": "random_walk"
},
{
"alias": "sda2",
"refId": "B",
"scenarioId": "random_walk"
},
{
"alias": "sda3",
"refId": "C",
"scenarioId": "random_walk"
},
{
"alias": "sda4",
"refId": "D",
"scenarioId": "random_walk"
},
{
"alias": "sda5",
"refId": "E",
"scenarioId": "random_walk"
},
{
"alias": "sda6",
"refId": "F",
"scenarioId": "random_walk"
},
{
"alias": "sda7",
"refId": "G",
"scenarioId": "random_walk"
},
{
"alias": "sda8",
"refId": "H",
"scenarioId": "random_walk"
},
{
"alias": "sda9",
"refId": "I",
"scenarioId": "random_walk"
},
{
"alias": "sda10",
"refId": "J",
"scenarioId": "random_walk"
},
{
"alias": "sda11",
"refId": "K",
"scenarioId": "random_walk"
},
{
"alias": "sda12",
"refId": "L",
"scenarioId": "random_walk"
},
{
"alias": "sda13",
"refId": "M",
"scenarioId": "random_walk"
},
{
"alias": "sda14",
"refId": "N",
"scenarioId": "random_walk"
},
{
"alias": "sda15",
"refId": "O",
"scenarioId": "random_walk"
},
{
"alias": "sda16",
"refId": "P",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "",
"type": "bargauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 29
},
"id": 11,
"links": [],
"options": {
"displayMode": "basic",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"max": 100,
"min": 0,
"unit": "decgbytes"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 30
},
{
"color": "orange",
"index": 2,
"value": 60
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "vertical"
},
"targets": [
{
"alias": "sda1",
"refId": "A",
"scenarioId": "random_walk"
},
{
"alias": "sda2",
"refId": "B",
"scenarioId": "random_walk"
},
{
"alias": "sda3",
"refId": "C",
"scenarioId": "random_walk"
},
{
"alias": "sda4",
"refId": "D",
"scenarioId": "random_walk"
},
{
"alias": "sda5",
"refId": "E",
"scenarioId": "random_walk"
},
{
"alias": "sda6",
"refId": "F",
"scenarioId": "random_walk"
},
{
"alias": "sda7",
"refId": "G",
"scenarioId": "random_walk"
},
{
"alias": "sda8",
"refId": "H",
"scenarioId": "random_walk"
},
{
"alias": "sda9",
"refId": "I",
"scenarioId": "random_walk"
},
{
"alias": "sda10",
"refId": "J",
"scenarioId": "random_walk"
},
{
"alias": "sda11",
"refId": "K",
"scenarioId": "random_walk"
},
{
"alias": "sda12",
"refId": "L",
"scenarioId": "random_walk"
},
{
"alias": "sda13",
"refId": "M",
"scenarioId": "random_walk"
},
{
"alias": "sda14",
"refId": "N",
"scenarioId": "random_walk"
},
{
"alias": "sda15",
"refId": "O",
"scenarioId": "random_walk"
},
{
"alias": "sda16",
"refId": "P",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "",
"type": "bargauge"
}
],
"refresh": "10s",
"schemaVersion": 18,
"style": "dark",
"tags": ["gdev", "demo"],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": ["2s", "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "",
"title": "Bar Gauge Demo",
"uid": "vmie2cmWz",
"version": 3
}

View File

@@ -0,0 +1,829 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"gridPos": {
"h": 7,
"w": 6,
"x": 0,
"y": 0
},
"id": 6,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "celsius"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 20
},
{
"color": "orange",
"index": 2,
"value": 40
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"alias": "Inside",
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"alias": "Outhouse",
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "F",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Title above bar",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 5,
"x": 6,
"y": 0
},
"id": 12,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "celsius"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 20
},
{
"color": "orange",
"index": 2,
"value": 40
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"alias": "Inside",
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"alias": "Outhouse",
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "F",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Title to left of bar",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 7,
"x": 11,
"y": 0
},
"id": 13,
"links": [],
"options": {
"displayMode": "basic",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "celsius"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 20
},
{
"color": "orange",
"index": 2,
"value": 40
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"alias": "Inside",
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"alias": "Outhouse",
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "F",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Basic mode",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 6,
"x": 18,
"y": 0
},
"id": 14,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "celsius"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 20
},
{
"color": "orange",
"index": 2,
"value": 40
},
{
"color": "red",
"index": 3,
"value": 80
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"alias": "Inside",
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"alias": "Outhouse",
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "F",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "LED",
"type": "bargauge"
},
{
"gridPos": {
"h": 9,
"w": 11,
"x": 0,
"y": 7
},
"id": 7,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "watt"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "orange",
"index": 1,
"value": 40
},
{
"color": "red",
"index": 2,
"value": 80
}
],
"values": false
},
"orientation": "vertical"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"refId": "E",
"scenarioId": "csv_metric_values",
"stringInput": "10003,33333"
},
{
"refId": "F",
"scenarioId": "random_walk"
},
{
"refId": "G",
"scenarioId": "random_walk"
},
{
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"refId": "I",
"scenarioId": "random_walk"
},
{
"refId": "J",
"scenarioId": "random_walk"
},
{
"refId": "K",
"scenarioId": "random_walk"
},
{
"refId": "L",
"scenarioId": "random_walk"
},
{
"refId": "M",
"scenarioId": "random_walk"
},
{
"refId": "N",
"scenarioId": "random_walk"
},
{
"refId": "O",
"scenarioId": "random_walk"
},
{
"refId": "P",
"scenarioId": "random_walk"
},
{
"refId": "Q",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "LED Vertical",
"type": "bargauge"
},
{
"gridPos": {
"h": 9,
"w": 13,
"x": 11,
"y": 7
},
"id": 8,
"links": [],
"options": {
"displayMode": "basic",
"fieldOptions": {
"calcs": ["mean"],
"defaults": {
"decimals": null,
"max": 100,
"min": 0,
"unit": "watt"
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "purple",
"index": 1,
"value": 50
},
{
"color": "blue",
"index": 2,
"value": 70
}
],
"values": false
},
"orientation": "vertical"
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"refId": "H",
"scenarioId": "csv_metric_values",
"stringInput": "100,100,100"
},
{
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
},
{
"refId": "D",
"scenarioId": "random_walk"
},
{
"refId": "I",
"scenarioId": "random_walk"
},
{
"refId": "J",
"scenarioId": "random_walk"
},
{
"refId": "K",
"scenarioId": "random_walk"
},
{
"refId": "L",
"scenarioId": "random_walk"
},
{
"refId": "M",
"scenarioId": "random_walk"
},
{
"refId": "N",
"scenarioId": "random_walk"
},
{
"refId": "O",
"scenarioId": "random_walk"
},
{
"refId": "P",
"scenarioId": "random_walk"
},
{
"refId": "Q",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Basic vertical ",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 11,
"x": 0,
"y": 16
},
"id": 16,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["last"],
"defaults": {
"max": 100,
"min": 0
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "blue",
"index": 1,
"value": 40
},
{
"color": "red",
"index": 2,
"value": 80
}
],
"values": false
},
"orientation": "horizontal"
},
"pluginVersion": "6.3.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0,-100"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Negative value below min",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 3,
"x": 11,
"y": 16
},
"id": 17,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["last"],
"defaults": {
"max": 100,
"min": 0
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "blue",
"index": 1,
"value": 40
},
{
"color": "red",
"index": 2,
"value": 80
}
],
"values": false
},
"orientation": "vertical"
},
"pluginVersion": "6.3.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0,-100"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Negative value below min",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 3,
"x": 14,
"y": 16
},
"id": 18,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["last"],
"defaults": {
"max": 100,
"min": -10
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "blue",
"index": 1,
"value": 40
},
{
"color": "red",
"index": 2,
"value": 80
}
],
"values": false
},
"orientation": "vertical"
},
"pluginVersion": "6.3.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,6"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Positive value above min",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 3,
"x": 17,
"y": 16
},
"id": 19,
"links": [],
"options": {
"displayMode": "lcd",
"fieldOptions": {
"calcs": ["last"],
"defaults": {
"max": 35,
"min": -20
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 5
},
{
"color": "#EAB839",
"index": 2,
"value": 25
},
{
"color": "red",
"index": 3,
"value": 30
}
],
"values": false
},
"orientation": "vertical"
},
"pluginVersion": "6.3.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,6"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Negative min ",
"type": "bargauge"
},
{
"gridPos": {
"h": 7,
"w": 4,
"x": 20,
"y": 16
},
"id": 20,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"calcs": ["last"],
"defaults": {
"max": 35,
"min": -20
},
"mappings": [],
"override": {},
"thresholds": [
{
"color": "blue",
"index": 0,
"value": null
},
{
"color": "green",
"index": 1,
"value": 5
},
{
"color": "#EAB839",
"index": 2,
"value": 25
},
{
"color": "red",
"index": 3,
"value": 30
}
],
"values": false
},
"orientation": "vertical"
},
"pluginVersion": "6.3.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "30,30"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Negative min",
"type": "bargauge"
}
],
"schemaVersion": 18,
"style": "dark",
"tags": ["gdev", "panel-tests"],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"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": "Panel Tests - Bar Gauge",
"uid": "O6f11TZWk",
"version": 12
}

View File

@@ -0,0 +1,904 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": false,
"colors": ["#299c46", "#5794F2", "#d44a3a"],
"description": "asdasdas",
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 11,
"x": 0,
"y": 0
},
"id": 8,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "100%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": "",
"timeFrom": null,
"timeShift": "2h",
"title": "Title",
"type": "singlestat",
"valueFontSize": "120%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": false,
"colors": ["#299c46", "#5794F2", "#d44a3a"],
"description": "asdasdas",
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 13,
"x": 11,
"y": 0
},
"id": 2,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "100%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": "",
"timeFrom": null,
"timeShift": "2h",
"title": "",
"type": "singlestat",
"valueFontSize": "120%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": false,
"colors": ["#299c46", "#5794F2", "#d44a3a"],
"description": "asdasdas",
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 11,
"x": 0,
"y": 4
},
"id": 4,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "100%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": "",
"timeFrom": null,
"timeShift": "2h",
"title": "Panel Title",
"type": "singlestat",
"valueFontSize": "120%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"description": "asdasdas",
"gridPos": {
"h": 4,
"w": 6,
"x": 11,
"y": 4
},
"id": 9,
"links": [],
"options": {
"maxValue": 100,
"minValue": 0,
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"valueMappings": [],
"valueOptions": {
"decimals": null,
"prefix": "",
"stat": "mean",
"suffix": "",
"unit": "none"
}
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": "2h",
"title": "Panel Title",
"type": "gauge"
},
{
"cacheTimeout": null,
"description": "asdasdas",
"gridPos": {
"h": 4,
"w": 7,
"x": 17,
"y": 4
},
"id": 11,
"links": [],
"options": {
"maxValue": 100,
"minValue": 0,
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"valueMappings": [],
"valueOptions": {
"decimals": null,
"prefix": "",
"stat": "mean",
"suffix": "",
"unit": "none"
}
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": "2h",
"title": "Panel Title",
"type": "gauge"
},
{
"gridPos": {
"h": 4,
"w": 11,
"x": 0,
"y": 8
},
"id": 15,
"links": [],
"options": {
"content": "# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n\n",
"mode": "markdown"
},
"timeFrom": null,
"timeShift": null,
"title": "",
"type": "text2"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": false,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"description": "asdasdas",
"format": "none",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 6,
"x": 11,
"y": 8
},
"id": 10,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"pluginVersion": "6.2.0-pre",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": "",
"timeFrom": null,
"timeShift": "2h",
"title": "",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"description": "asdasdas",
"gridPos": {
"h": 4,
"w": 7,
"x": 17,
"y": 8
},
"id": 12,
"links": [],
"options": {
"maxValue": 100,
"minValue": 0,
"orientation": "auto",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"valueMappings": [],
"valueOptions": {
"decimals": null,
"prefix": "",
"stat": "mean",
"suffix": "",
"unit": "none"
}
},
"pluginVersion": "6.2.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": "2h",
"title": "",
"type": "gauge"
},
{
"cacheTimeout": null,
"description": "",
"gridPos": {
"h": 6,
"w": 11,
"x": 0,
"y": 12
},
"id": 3,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"defaults": {
"max": 100,
"min": 0
},
"mappings": [],
"override": {},
"stats": ["mean"],
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"title": "Testing",
"values": false
},
"maxValue": 100,
"minValue": 0,
"orientation": "horizontal",
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"valueMappings": [],
"valueOptions": {
"decimals": null,
"prefix": "",
"stat": "mean",
"suffix": "",
"unit": "none"
}
},
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": "2h",
"title": "",
"type": "bargauge"
},
{
"cacheTimeout": null,
"description": "asdasdas",
"gridPos": {
"h": 6,
"w": 13,
"x": 11,
"y": 12
},
"id": 5,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"defaults": {
"max": 100,
"min": 0
},
"mappings": [],
"override": {},
"stats": ["mean"],
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"title": "Testing",
"values": false
},
"maxValue": 100,
"minValue": 0,
"orientation": "horizontal",
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"valueMappings": [],
"valueOptions": {
"decimals": null,
"prefix": "",
"stat": "mean",
"suffix": "",
"unit": "none"
}
},
"targets": [
{
"refId": "A",
"scenarioId": "slow_query",
"stringInput": "1s"
},
{
"refId": "B",
"scenarioId": "slow_query",
"stringInput": "1s"
}
],
"timeFrom": null,
"timeShift": "2h",
"title": "My cool pane title",
"type": "bargauge"
},
{
"cacheTimeout": null,
"description": "asdasdas",
"gridPos": {
"h": 4,
"w": 24,
"x": 0,
"y": 18
},
"id": 7,
"links": [],
"options": {
"displayMode": "gradient",
"fieldOptions": {
"defaults": {
"max": 100,
"min": 0
},
"mappings": [],
"override": {},
"stats": ["mean"],
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"title": "Testing",
"values": false
},
"maxValue": 100,
"minValue": 0,
"orientation": "horizontal",
"thresholds": [
{
"color": "green",
"index": 0,
"value": null
},
{
"color": "red",
"index": 1,
"value": 80
}
],
"valueMappings": [],
"valueOptions": {
"decimals": null,
"prefix": "",
"stat": "mean",
"suffix": "",
"unit": "none"
}
},
"targets": [
{
"refId": "A",
"scenarioId": "slow_query",
"stringInput": "10s"
}
],
"timeFrom": null,
"timeShift": null,
"title": "My cool pane title",
"type": "bargauge"
},
{
"aliasColors": {},
"bars": false,
"cacheTimeout": null,
"dashLength": 10,
"dashes": false,
"description": "asdasdas",
"fill": 1,
"gridPos": {
"h": 6,
"w": 11,
"x": 0,
"y": 22
},
"id": 6,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "slow_query",
"stringInput": "5s"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "My cool pane title",
"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
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"cacheTimeout": null,
"dashLength": 10,
"dashes": false,
"description": "",
"fill": 1,
"gridPos": {
"h": 6,
"w": 13,
"x": 11,
"y": 22
},
"id": 13,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "slow_query",
"stringInput": "5s"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "",
"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
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"schemaVersion": 18,
"style": "dark",
"tags": ["gdev", "panel-tests"],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"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": "Panel Tests - With & Without title",
"uid": "2WaUpZmWk",
"version": 23
}

View File

@@ -0,0 +1,296 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 0
},
"id": 6,
"links": [],
"options-gauge": {
"decimals": 0,
"maxValue": 100,
"minValue": 0,
"options": {
"decimals": 0,
"maxValue": 100,
"minValue": 0,
"prefix": "",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"stat": "avg",
"suffix": "",
"thresholds": [],
"unit": "none",
"valueMappings": []
},
"prefix": "",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"stat": "avg",
"suffix": "",
"thresholds": [
{
"color": "#1F78C1",
"index": 5,
"value": 96.875
},
{
"color": "#E24D42",
"index": 4,
"value": 93.75
},
{
"color": "#EF843C",
"index": 3,
"value": 87.5
},
{
"color": "#6ED0E0",
"index": 2,
"value": 75
},
{
"color": "#EAB839",
"index": 1,
"value": 50
},
{
"color": "#7EB26D",
"index": 0,
"value": null
}
],
"unit": "none",
"valueMappings": [
{
"from": "50",
"id": 1,
"operator": "",
"text": "Hello :) ",
"to": "90",
"type": 2,
"value": ""
}
]
},
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
},
{
"refId": "D",
"scenarioId": "random_walk"
},
{
"refId": "E",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Horizontal with range variable",
"type": "gauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
},
"id": 2,
"links": [],
"options-gauge": {
"decimals": 0,
"maxValue": 100,
"minValue": 0,
"options": {
"decimals": 0,
"maxValue": 100,
"minValue": 0,
"prefix": "",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"stat": "avg",
"suffix": "",
"thresholds": [],
"unit": "none",
"valueMappings": []
},
"prefix": "",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"stat": "avg",
"suffix": "",
"thresholds": [
{
"color": "#EAB839",
"index": 1,
"value": 50
},
{
"color": "#7EB26D",
"index": 0,
"value": null
}
],
"unit": "none",
"valueMappings": []
},
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
},
{
"refId": "D",
"scenarioId": "random_walk"
},
{
"refId": "E",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Repeat horizontal",
"type": "gauge"
},
{
"datasource": "gdev-testdata",
"gridPos": {
"h": 14,
"w": 5,
"x": 0,
"y": 16
},
"id": 4,
"links": [],
"options-gauge": {
"decimals": 0,
"maxValue": "200",
"minValue": 0,
"options": {
"decimals": 0,
"maxValue": 100,
"minValue": 0,
"prefix": "",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"stat": "avg",
"suffix": "",
"thresholds": [],
"unit": "none",
"valueMappings": []
},
"prefix": "",
"showThresholdLabels": false,
"showThresholdMarkers": true,
"stat": "max",
"suffix": "",
"thresholds": [
{
"color": "#6ED0E0",
"index": 2,
"value": 75
},
{
"color": "#EAB839",
"index": 1,
"value": 50
},
{
"color": "#7EB26D",
"index": 0,
"value": null
}
],
"unit": "none",
"valueMappings": []
},
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
},
{
"refId": "B",
"scenarioId": "random_walk"
},
{
"refId": "C",
"scenarioId": "random_walk"
},
{
"refId": "D",
"scenarioId": "random_walk"
},
{
"refId": "E",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Vertical",
"type": "gauge"
}
],
"schemaVersion": 17,
"style": "dark",
"tags": ["panel-tests", "gdev", "gauge"],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"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": "Panel Tests - Gauge Multi Series",
"uid": "szkuR1umk",
"version": 7
}

View File

@@ -1160,10 +1160,7 @@
"refresh": false,
"schemaVersion": 17,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"tags": ["gdev", "panel-tests"],
"templating": {
"list": [
{
@@ -1172,9 +1169,7 @@
"selected": true,
"tags": [],
"text": "All",
"value": [
"$__all"
]
"value": ["$__all"]
},
"hide": 0,
"includeAll": true,
@@ -1219,29 +1214,8 @@
"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"
]
"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": "Panel Tests - Gauge",

View File

@@ -463,15 +463,105 @@
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"fill": 1,
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 32
},
"id": 7,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [
{
"colorMode": "gray",
"fill": true,
"fillColor": "rgba(234, 112, 112, 0.12)",
"from": "22:00",
"line": false,
"lineColor": "rgba(237, 46, 24, 0.60)",
"op": "time",
"to": "00:30"
}
],
"timeShift": null,
"title": "From 22:00 to 00:30 (crossing midnight)",
"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
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"refresh": false,
"schemaVersion": 16,
"schemaVersion": 18,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"tags": ["gdev", "panel-tests", "graph"],
"templating": {
"list": []
},
@@ -480,32 +570,11 @@
"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"
]
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Panel Tests - Graph (Time Regions)",
"title": "Panel Tests - Graph Time Regions",
"uid": "XMjIZPmik",
"version": 1
}
"version": 9
}

View File

@@ -1632,10 +1632,7 @@
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"tags": ["gdev", "panel-tests", "graph"],
"templating": {
"list": []
},
@@ -1644,29 +1641,8 @@
"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"
]
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Panel Tests - Graph",

View File

@@ -28,11 +28,7 @@
"value": "triggered"
}
],
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"d3DivId": "d3_svg_4",
"datasource": "gdev-testdata",
"decimals": 2,
@@ -115,11 +111,7 @@
},
"id": 4,
"links": [],
"notcolors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"notcolors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"operatorName": "avg",
"operatorOptions": [
{
@@ -1114,11 +1106,7 @@
"value": "triggered"
}
],
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"d3DivId": "d3_svg_5",
"datasource": "gdev-testdata",
"decimals": 2,
@@ -1201,11 +1189,7 @@
},
"id": 5,
"links": [],
"notcolors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"notcolors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"operatorName": "avg",
"operatorOptions": [
{
@@ -2221,11 +2205,7 @@
"value": "triggered"
}
],
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"d3DivId": "d3_svg_2",
"datasource": "gdev-testdata",
"decimals": 2,
@@ -2308,11 +2288,7 @@
},
"id": 2,
"links": [],
"notcolors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"notcolors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"operatorName": "avg",
"operatorOptions": [
{
@@ -3300,10 +3276,7 @@
],
"schemaVersion": 16,
"style": "dark",
"tags": [
"panel-test",
"gdev"
],
"tags": ["panel-test", "gdev", "polystat"],
"templating": {
"list": []
},
@@ -3312,29 +3285,8 @@
"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"
]
"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": "Panel Tests - Polystat",

View File

@@ -21,11 +21,7 @@
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
@@ -106,11 +102,7 @@
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": [
"#d44a3a",
"rgba(237, 129, 40, 0.89)",
"#299c46"
],
"colors": ["#d44a3a", "rgba(237, 129, 40, 0.89)", "#299c46"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
@@ -191,11 +183,7 @@
"colorBackground": true,
"colorPrefix": false,
"colorValue": false,
"colors": [
"#d44a3a",
"rgba(237, 129, 40, 0.89)",
"#299c46"
],
"colors": ["#d44a3a", "rgba(237, 129, 40, 0.89)", "#299c46"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
@@ -276,11 +264,7 @@
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
@@ -361,11 +345,7 @@
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
@@ -446,11 +426,7 @@
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
@@ -531,10 +507,7 @@
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"tags": ["gdev", "panel-tests"],
"templating": {
"list": []
},
@@ -543,29 +516,8 @@
"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"
]
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Panel Tests - Singlestat",

View File

@@ -46,49 +46,31 @@
{
"alias": "",
"colorMode": "cell",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "ColorCell",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "currencyUSD"
},
{
"alias": "",
"colorMode": "value",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "ColorValue",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "Bps"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -159,49 +141,31 @@
{
"alias": "",
"colorMode": "cell",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "ColorCell",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "currencyUSD"
},
{
"alias": "",
"colorMode": "value",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "ColorValue",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "Bps"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -259,30 +223,19 @@
{
"alias": "",
"colorMode": "row",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "/Color/",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "currencyUSD"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -334,49 +287,31 @@
{
"alias": "",
"colorMode": "cell",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "ColorCell",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "currencyUSD"
},
{
"alias": "",
"colorMode": "value",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"mappingType": 1,
"pattern": "ColorValue",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "Bps"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -434,11 +369,7 @@
{
"alias": "",
"colorMode": "cell",
"colors": [
"rgba(245, 54, 54, 0.5)",
"rgba(237, 129, 40, 0.5)",
"rgba(50, 172, 45, 0.5)"
],
"colors": ["rgba(245, 54, 54, 0.5)", "rgba(237, 129, 40, 0.5)", "rgba(50, 172, 45, 0.5)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"link": true,
@@ -447,42 +378,28 @@
"linkUrl": "http://www.grafana.com",
"mappingType": 1,
"pattern": "ColorCell",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "currencyUSD"
},
{
"alias": "",
"colorMode": "value",
"colors": [
"rgba(245, 54, 54, 0.5)",
"rgba(237, 129, 40, 0.5)",
"rgba(50, 172, 45, 0.5)"
],
"colors": ["rgba(245, 54, 54, 0.5)", "rgba(237, 129, 40, 0.5)", "rgba(50, 172, 45, 0.5)"],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 2,
"link": true,
"linkUrl": "http://www.grafana.com",
"mappingType": 1,
"pattern": "ColorValue",
"thresholds": [
"5",
"10"
],
"thresholds": ["5", "10"],
"type": "number",
"unit": "Bps"
},
{
"alias": "",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
@@ -516,10 +433,7 @@
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": [
"gdev",
"panel-tests"
],
"tags": ["gdev", "panel-tests"],
"templating": {
"list": []
},
@@ -528,32 +442,11 @@
"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"
]
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Panel Tests - Table",
"uid": "pttable",
"version": 2
}
}

View File

@@ -19,9 +19,7 @@
"matchAny": false,
"name": "annotations",
"showIn": 0,
"tags": [
"asd"
],
"tags": ["asd"],
"type": "tags"
}
]
@@ -1135,29 +1133,8 @@
"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"
]
"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": "Panel tests - Slow Queries & Annotations",

View File

@@ -1,7 +1,7 @@
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
elasticsearch6:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.7.1
command: elasticsearch
ports:
- "11200:9200"
@@ -13,3 +13,11 @@
environment:
FD_DATASOURCE: elasticsearch6
FD_PORT: 11200
filebeat6:
image: docker.elastic.co/beats/filebeat-oss:6.7.1
command: filebeat -e -strict.perms=false
volumes:
- ./docker/blocks/elastic6/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- /var/log:/var/log:ro
- ../data/log:/var/log/grafana:ro

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,23 @@
# You need to run 'sysctl -w vm.max_map_count=262144' on the host machine
elasticsearch7:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0
command: elasticsearch -E "discovery.type=single-node"
ports:
- "12200:9200"
- "12300:9300"
fake-elastic7-data:
image: grafana/fake-data-gen
network_mode: bridge
environment:
FD_DATASOURCE: elasticsearch7
FD_PORT: 12200
filebeat7:
image: docker.elastic.co/beats/filebeat-oss:7.0.0
command: filebeat -e -strict.perms=false
volumes:
- ./docker/blocks/elastic7/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- /var/log:/var/log:ro
- ../data/log:/var/log/grafana:ro

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,3 @@
version: '2'
services:
influxdb:
image: influxdb:latest
container_name: influxdb

View File

@@ -2,7 +2,7 @@
Any ldif files added to the prepopulate subdirectory will be automatically imported into the OpenLdap database.
The ldif files add three users, `ldapviewer`, `ldapeditor` and `ldapadmin`. Two groups, `admins` and `users`, are added that correspond with the group mappings in the default conf/ldap.toml. `ldapadmin` is a member of `admins` and `ldapeditor` is a member of `users`.
The ldif files add eight users, `ldap-admin`, `ldap-editor`, `ldap-viewer`, `ldap-carl`, `ldap-daniel`, `ldap-leo`, `ldap-tobias` and `ldap-torkel`. Two groups, `admins` and `users`, are added that correspond with the group mappings in the default conf/ldap.toml. `ldap-admin` is a member of `admins` and `ldap-editor` is a member of `users`.
Note that users that are added here need to specify a `memberOf` attribute manually as well as the `member` attribute for the group. The `memberOf` module usually does this automatically (if you add a group in Apache Directory Studio for example) but this does not work in the entrypoint script as it uses the `slapadd` command to add entries before the server has started and before the `memberOf` module is loaded.
@@ -39,7 +39,5 @@ frontend
ldap-daniel
editors
ldap-editors
no groups
ldap-viewer

View File

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

View File

@@ -1,4 +1,4 @@
memcached:
redis:
image: redis:latest
ports:
- "6379:6379"

View File

@@ -7,6 +7,13 @@ services:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
depends_on:
db:
condition: service_healthy
logging:
driver: "fluentd"
options:
tag: nginx
db:
image: mysql:5.6
@@ -66,6 +73,8 @@ services:
# - GF_DATABASE_SSL_MODE=disable
# - GF_SESSION_PROVIDER=postgres
# - GF_SESSION_PROVIDER_CONFIG=user=grafana password=password host=db port=5432 dbname=grafana sslmode=disable
- GF_SERVER_ROUTER_LOGGING=true
- GF_LOG_CONSOLE_FORMAT=json
- GF_LOG_FILTERS=alerting.notifier:debug,alerting.notifier.slack:debug,auth:debug
- GF_AUTH_TOKEN_ROTATION_INTERVAL_MINUTES=2
ports:
@@ -73,6 +82,10 @@ services:
depends_on:
db:
condition: service_healthy
logging:
driver: "fluentd"
options:
tag: grafana
prometheus:
image: prom/prometheus:v2.4.2
@@ -82,3 +95,21 @@ services:
- VIRTUAL_HOST=prometheus.loc
ports:
- 9090
loki:
image: grafana/loki:master
environment:
- VIRTUAL_HOST=loki.loc
ports:
- 3100
command: -config.file=/etc/loki/local-config.yaml
fluentd:
image: grafana/fluent-plugin-loki:master
volumes:
- ./fluentd/fluentd.conf:/fluentd/etc/fluentd.conf
links:
- loki
ports:
- "24224:24224"
- "24224:24224/udp"

View File

@@ -0,0 +1,73 @@
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<filter grafana>
@type parser
<parse>
@type json
json_parser json
</parse>
replace_invalid_sequence true
emit_invalid_record_to_error false
key_name log
reserve_data true
remove_key_name_field true
</filter>
<filter nginx>
@type parser
format /^.*m(?<host>[^ ]*) (?<remote>[^ ]*) \- \- \[(?<time>[^\]]*)\] \"(?<method>\S+)(?: +(?<path>[^\"]*) +\S*)?\" (?<code>[^ ]*) (?<size>[^ ]*)(?: \"(?<referer>[^\"]*)\" \"(?<agent>[^\"]*)\")?$/
time_format %d/%b/%Y:%H:%M:%S %z
key_name log
reserve_data true
remove_key_name_field true
</filter>
<filter **>
@type record_transformer
remove_keys "source,t"
</filter>
<match grafana>
@type copy
<store>
@type stdout
output_type json
</store>
<store>
@type loki
url "http://loki:3100"
extra_labels {"app":"grafana"}
label_keys "container_name,container_id,logger"
flush_interval 10s
flush_at_shutdown true
buffer_chunk_limit 1m
</store>
</match>
<filter nginx>
@type record_transformer
<record>
lvl "info"
</record>
</filter>
<match nginx>
@type copy
<store>
@type stdout
output_type json
</store>
<store>
@type loki
url "http://loki:3100"
extra_labels {"app":"nginx"}
label_keys "container_name,container_id"
flush_interval 10s
flush_at_shutdown true
buffer_chunk_limit 1m
</store>
</match>

View File

@@ -8,4 +8,9 @@ datasources:
jsonData:
timeInterval: 10s
queryTimeout: 30s
httpMethod: POST
httpMethod: POST
- name: Loki
type: loki
access: proxy
url: http://loki:3100

View File

@@ -36,4 +36,12 @@ scrape_configs:
- 'mysqld-exporter'
type: 'A'
port: 9104
refresh_interval: 10s
- job_name: 'loki'
dns_sd_configs:
- names:
- 'loki'
type: 'A'
port: 3100
refresh_interval: 10s

View File

@@ -30,33 +30,19 @@ Checkout the [configuration](/installation/configuration) page for more informat
### Using Environment Variables
All options in the configuration file (listed below) can be overridden
using environment variables using the syntax:
It is possible to use environment variable interpolation in all 3 provisioning config types. Allowed syntax
is either `$ENV_VAR_NAME` or `${ENV_VAR_NAME}` and can be used only for values not for keys or bigger parts
of the configs. It is not available in the dashboards definition files just the dashboard provisioning
configuration.
Example:
```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
```yaml
datasources:
- name: Graphite
url: http://localhost:$PORT
user: $USER
secureJsonData:
password: $PASSWORD
```
<hr />
@@ -107,7 +93,7 @@ datasources:
orgId: 1
# <string> url
url: http://localhost:8080
# <string> database password, if used
# <string> Deprecated, use secureJsonData.password
password:
# <string> database user, if used
user:
@@ -117,7 +103,7 @@ datasources:
basicAuth:
# <string> basic auth username
basicAuthUser:
# <string> basic auth password
# <string> Deprecated, use secureJsonData.basicAuthPassword
basicAuthPassword:
# <bool> enable/disable with credentials headers
withCredentials:
@@ -133,6 +119,10 @@ datasources:
tlsCACert: "..."
tlsClientCert: "..."
tlsClientKey: "..."
# <string> database password, if used
password:
# <string> basic auth password
basicAuthPassword:
version: 1
# <bool> allow users to edit datasources from the UI.
editable: false
@@ -156,7 +146,7 @@ Since not all datasources have the same configuration settings we only have the
| tlsSkipVerify | boolean | *All* | Controls whether a client verifies the server's certificate chain and host name. |
| graphiteVersion | string | Graphite | Graphite version |
| timeInterval | string | Prometheus, Elasticsearch, InfluxDB, MySQL, PostgreSQL & MSSQL | Lowest interval/step value that should be used for this data source |
| esVersion | number | Elasticsearch | Elasticsearch version as a number (2/5/56/60) |
| esVersion | number | Elasticsearch | Elasticsearch version as a number (2/5/56/60/70) |
| timeField | string | Elasticsearch | Which field that should be used as timestamp |
| interval | string | Elasticsearch | Index date time format. nil(No Pattern), 'Hourly', 'Daily', 'Weekly', 'Monthly' or 'Yearly' |
| authType | string | Cloudwatch | Auth provider. keys/credentials/arn |
@@ -184,8 +174,8 @@ Secure json data is a map of settings that will be encrypted with [secret key](/
| 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 | PostgreSQL | password |
| user | string | PostgreSQL | user |
| password | string | *All* | password |
| basicAuthPassword | string | *All* | password for basic authentication |
| accessKey | string | Cloudwatch | Access key for connecting to Cloudwatch |
| secretKey | string | Cloudwatch | Secret key for connecting to Cloudwatch |
@@ -199,17 +189,28 @@ The dashboard provider config file looks somewhat like this:
apiVersion: 1
providers:
# <string> provider name
- name: 'default'
# <int> org id. will default to orgId 1 if not specified
orgId: 1
# <string, required> name of the dashboard folder. Required
folder: ''
# <string> folder UID. will be automatically generated if not specified
folderUid: ''
# <string, required> provider type. Required
type: file
# <bool> disable dashboard deletion
disableDeletion: false
updateIntervalSeconds: 10 #how often Grafana will scan for changed dashboards
# <bool> enable dashboard editing
editable: true
# <int> how often Grafana will scan for changed dashboards
updateIntervalSeconds: 10
options:
# <string, required> path to dashboard files on disk. Required
path: /var/lib/grafana/dashboards
```
When Grafana starts, it will update/insert all dashboards available in the configured path. Then later on poll that path and look for updated json files and insert those update/insert those into the database.
When Grafana starts, it will update/insert all dashboards available in the configured path. Then later on poll that path every **updateIntervalSeconds** and look for updated json files and update/insert those into the database.
#### Making changes to a provisioned dashboard
@@ -273,6 +274,9 @@ notifiers:
# or
org_name: Main Org.
is_default: true
send_reminders: true
frequency: 1h
disable_resolve_message: false
# See `Supported Settings` section for settings supporter for each
# alert notification type.
settings:
@@ -286,7 +290,7 @@ delete_notifiers:
uid: notifier1
# either
org_id: 2
# or
# or
org_name: Main Org.
- name: notification-channel-2
# default org_id: 1
@@ -324,6 +328,7 @@ The following sections detail the supported settings for each alert notification
| Name |
| ---- |
| url |
| autoResolve |
#### Alert notification `kafka`
@@ -343,6 +348,7 @@ The following sections detail the supported settings for each alert notification
| Name |
| ---- |
| integrationKey |
| autoResolve |
#### Alert notification `sensu`
@@ -392,6 +398,7 @@ The following sections detail the supported settings for each alert notification
| ---- |
| apiKey |
| apiUrl |
| autoClose |
#### Alert notification `telegram`
@@ -414,4 +421,11 @@ The following sections detail the supported settings for each alert notification
| ---- |
| url |
| username |
| password |
| password |
#### Alert notification `googlechat`
| Name |
| ---- |
| url |

View File

@@ -27,7 +27,7 @@ can configure and setup a new Notification Channel.
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
### Default (send on all alerts)
When checked, this option will notify for all alert rules - existing and new.
@@ -83,7 +83,11 @@ or a bot integration via Slack Apps. Follow Slack's guide to set up a bot integr
Setting | Description
---------- | -----------
Recipient | allows you to override the Slack recipient.
Url | Slack incoming webhook url.
Username | Set the username for the bot's message.
Recipient | Allows you to override the Slack recipient.
Icon emoji | Provide an emoji to use as the icon for the bot's message. Ex :smile:
Icon URL | Provide a url to an image to use as the icon for the bot's message.
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.
@@ -161,25 +165,28 @@ Once these two properties are set, you can send the alerts to Kafka for further
Notifications can be sent by setting up an incoming webhook in Google Hangouts chat. Configuring such a webhook is described [here](https://developers.google.com/hangouts/chat/how-tos/webhooks).
### All supported notifier
### All supported notifiers
Name | Type |Support images
Name | Type | Supports images
-----|------------ | ------
Slack | `slack` | yes
Pagerduty | `pagerduty` | yes
DingDing | `dingding` | yes, external only
Discord | `discord` | yes
Email | `email` | yes
Webhook | `webhook` | link
Kafka | `kafka` | no
Google Hangouts Chat | `googlechat` | yes
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
Google Hangouts Chat | `googlechat` | yes, external only
Hipchat | `hipchat` | yes, external only
Kafka | `kafka` | yes, external only
Line | `line` | yes, external only
Microsoft Teams | `teams` | yes, external only
OpsGenie | `opsgenie` | yes, external only
Pagerduty | `pagerduty` | yes, external only
Prometheus Alertmanager | `prometheus-alertmanager` | yes, external only
Pushover | `pushover` | yes
Sensu | `sensu` | yes, external only
Slack | `slack` | yes
Telegram | `telegram` | yes
Threema | `threema` | yes, external only
VictorOps | `victorops` | yes, external only
Webhook | `webhook` | yes, external only
# Enable images in notifications {#external-image-store}
@@ -188,9 +195,7 @@ Amazon S3, Webdav, Google Cloud Storage and Azure Blob Storage. So to set that u
Be aware that some notifiers requires public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you're using local image uploader, your Grafana instance need to be accessible by the internet.
Currently only the Email Channels attaches images if no external image store is specified. To include images in alert notifications for other channels then you need to set up an external image store.
This is an optional requirement. You can get Slack and email notifications without setting this up.
Notification services which need public image access are marked as 'external only'.
# Configure the link back to Grafana from alert notifications

View File

@@ -27,9 +27,10 @@ and the conditions that need to be met for the alert to change state and trigger
## Execution
The alert rules are evaluated in the Grafana backend in a scheduler and query execution engine that is part
of core Grafana. Only some data sources are supported right now. They include `Graphite`, `Prometheus`, `Elasticsearch`, `InfluxDB`, `OpenTSDB`, `MySQL`, `Postgres` and `Cloudwatch`.
of core Grafana. Only some data sources are supported right now. They include `Graphite`, `Prometheus`, `InfluxDB`, `Elasticsearch`,
`Stackdriver`, `Cloudwatch`, `Azure Monitor`, `MySQL`, `PostgreSQL`, `MSSQL` and `OpenTSDB`.
> Alerting support for Elasticsearch is only available in Grafana v5.2 and above.
> Alerting support for Azure Monitor is only available in Grafana v6.0 and above.
### Clustering
@@ -52,9 +53,9 @@ Here you can specify the name of the alert rule and how often the scheduler shou
> This setting is available in Grafana 5.4 and above.
If an alert rule has a configured `For` and the query violates the configured threshold it will first go from `OK` to `Pending`. Going from `OK` to `Pending` Grafana will not send any notifications. Once the alert rule has been firing for more than `For` duration, it will change to `Alerting` and send alert notifications.
If an alert rule has a configured `For` and the query violates the configured threshold it will first go from `OK` to `Pending`. Going from `OK` to `Pending` Grafana will not send any notifications. Once the alert rule has been firing for more than `For` duration, it will change to `Alerting` and send alert notifications.
Typically, it's always a good idea to use this setting since it's often worse to get false positive than wait a few minutes before the alert notification triggers. Looking at the `Alert list` or `Alert list panels` you will be able to see alerts in pending state.
Typically, it's always a good idea to use this setting since it's often worse to get false positive than wait a few minutes before the alert notification triggers. Looking at the `Alert list` or `Alert list panels` you will be able to see alerts in pending state.
Below you can see an example timeline of an alert using the `For` setting. At ~16:04 the alert state changes to `Pending` and after 4 minutes it changes to `Alerting` which is when alert notifications are sent. Once the series falls back to normal the alert rule goes back to `OK`.
{{< imgbox img="/img/docs/v54/alerting-for-dark-theme.png" caption="Alerting For" >}}

View File

@@ -113,7 +113,7 @@ allowed_organizations =
allowed_organizations =
```
### Set up OAuth2 with Auth0
## Set up OAuth2 with Auth0
1. Create a new Client in Auth0
- Name: Grafana
@@ -139,7 +139,7 @@ allowed_organizations =
api_url = https://<domain>/userinfo
```
### Set up OAuth2 with Azure Active Directory
## Set up OAuth2 with Azure Active Directory
1. Log in to portal.azure.com and click "Azure Active Directory" in the side menu, then click the "Properties" sub-menu item.
@@ -211,14 +211,16 @@ allowed_organizations =
## Set up OAuth2 with non-compliant providers
> Only available in Grafana v6.0 and above.
Some OAuth2 providers might not support `client_id` and `client_secret` passed via Basic Authentication HTTP header, which
results in `invalid_client` error. To allow Grafana to authenticate via these type of providers, the client identifiers must be
send via POST body, which can be enabled via the following settings:
```bash
[auth.generic_oauth]
send_client_credentials_via_post = true
```
```bash
[auth.generic_oauth]
send_client_credentials_via_post = true
```
<hr>

View File

@@ -38,7 +38,7 @@ provider (listed above). There is also options for allowing self sign up.
### Login and short-lived tokens
> The followung applies when using Grafana's built in user authentication, LDAP (without Auth proxy) or OAuth integration.
> The following applies when using Grafana's built in user authentication, LDAP (without Auth proxy) or OAuth integration.
Grafana are using short-lived tokens as a mechanism for verifying authenticated users.
These short-lived tokens are rotated each `token_rotation_interval_minutes` for an active authenticated user.

View File

@@ -38,6 +38,8 @@ With a Grafana Enterprise license you will get access to premium plugins, includ
* [DataDog](https://grafana.com/plugins/grafana-datadog-datasource)
* [Dynatrace](https://grafana.com/plugins/grafana-dynatrace-datasource)
* [New Relic](https://grafana.com/plugins/grafana-newrelic-datasource)
* [Amazon Timestream](https://grafana.com/plugins/grafana-timestream-datasource)
* [Oracle Database](https://grafana.com/plugins/grafana-oracle-datasource)
## Try Grafana Enterprise

View File

@@ -0,0 +1,271 @@
+++
title = "Using Azure Monitor in Grafana"
description = "Guide for using Azure Monitor in Grafana"
keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"]
type = "docs"
aliases = ["/datasources/azuremonitor"]
[menu.docs]
name = "Azure Monitor"
parent = "datasources"
weight = 5
+++
# Using Azure Monitor in Grafana
> Officially released in Grafana v6.0.0
As of Grafana 6.0, the Azure Monitor plugin has been moved into Grafana so it now ships with built-in support for Azure Monitor.
The Azure Monitor Datasource supports multiple services in the Azure cloud:
- **[Azure Monitor]({{< relref "#querying-the-azure-monitor-service" >}})** is the platform service that provides a single source for monitoring Azure resources.
- **[Application Insights]({{< relref "#querying-the-application-insights-service" >}})** is an extensible Application Performance Management (APM) service for web developers on multiple platforms and can be used to monitor your live web application - it will automatically detect performance anomalies.
- **[Azure Log Analytics]({{< relref "#querying-the-azure-log-analytics-service" >}})** (or Azure Logs) gives you access to log data collected by Azure Monitor.
- **[Application Insights Analytics]({{< relref "#writing-analytics-queries-for-the-application-insights-service" >}})** allows you to query [Application Insights data](https://docs.microsoft.com/en-us/azure/azure-monitor/app/analytics) using the same query language used for Azure Log Analytics.
## Adding the data source to Grafana
The datasource can access metrics from four different services. You can configure access to the services that you use. It is also possible to use the same credentials for multiple services if that is how you have set it up in Azure AD.
- [Guide to setting up an Azure Active Directory Application for Azure Monitor.](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal)
- [Guide to setting up an Azure Active Directory Application for Azure Log Analytics.](https://dev.loganalytics.io/documentation/Authorization/AAD-Setup)
- [Quickstart Guide for Application Insights.](https://dev.applicationinsights.io/quickstart/)
1. Accessed from the Grafana main menu, newly installed data sources can be added immediately within the Data Sources section. Next, click the "Add data source" button in the upper right. The data source will be available for selection in the Type select box.
2. Select Azure Monitor from the Type dropdown:<br/>
![Data Source Type](https://raw.githubusercontent.com/grafana/azure-monitor-datasource/master/src/img/config_1_select_type.png)
3. In the name field, fill in a name for the data source. It can be anything. Some suggestions are Azure Monitor or App Insights.
4. If you are using Azure Monitor, then you need 4 pieces of information from the Azure portal (see link above for detailed instructions):
- **Tenant Id** (Azure Active Directory -> Properties -> Directory ID)
- **Subscription Id** (Subscriptions -> Choose subscription -> Overview -> Subscription ID)
- **Client Id** (Azure Active Directory -> App Registrations -> Choose your app -> Application ID)
- **Client Secret** ( Azure Active Directory -> App Registrations -> Choose your app -> Keys)
5. Paste these four items into the fields in the Azure Monitor API Details section:<br/>
![Azure Monitor API Details](https://raw.githubusercontent.com/grafana/azure-monitor-datasource/master/src/img/config_2_azure_monitor_api_details.png)
6. If you are also using the Azure Log Analytics service, then you need to specify these two config values (or you can reuse the Client Id and Secret from the previous step).
- Client Id (Azure Active Directory -> App Registrations -> Choose your app -> Application ID)
- Client Secret ( Azure Active Directory -> App Registrations -> Choose your app -> Keys -> Create a key -> Use client secret)
7. If you are are using Application Insights, then you need two pieces of information from the Azure Portal (see link above for detailed instructions):
- Application ID
- API Key
8. Paste these two items into the appropriate fields in the Application Insights API Details section:<br/>
![Application Insights API Details](https://raw.githubusercontent.com/grafana/azure-monitor-datasource/master/src/img/config_3_app_insights_api_details.png)
9. Test that the configuration details are correct by clicking on the "Save & Test" button:<br/>
![Azure Monitor API Details](https://raw.githubusercontent.com/grafana/azure-monitor-datasource/master/src/img/config_4_save_and_test.png)
Alternatively on step 4 if creating a new Azure Active Directory App, use the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest):
```bash
az ad sp create-for-rbac -n "http://localhost:3000"
```
## Choose a Service
In the query editor for a panel, after choosing your Azure Monitor datasource, the first option is to choose a service. There are three options here: Azure Monitor, Application Insights and Azure Log Analytics. The query editor will change depending on which one you pick. Azure Monitor is the default.
## Querying the Azure Monitor Service
The Azure Monitor service provides metrics for all the Azure services that you have running. It helps you understand how your applications on Azure are performing and to proactively find issues affecting your applications.
Examples of metrics that you can get from the service are:
- Microsoft.Compute/virtualMachines - Percentage CPU
- Microsoft.Network/networkInterfaces - Bytes sent
- Microsoft.Storage/storageAccounts - Used Capacity
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-query-editor.png" class="docs-image--no-shadow" caption="Azure Monitor Query Editor" >}}
### Formatting Legend Keys with Aliases for the Azure Monitor Service
The default legend formatting for the Azure Monitor API is:
`resourceName{dimensionValue=dimensionName}.metricName`
These can be quite long but this formatting can be changed using aliases. In the Legend Format field, the aliases which are defined below can be combined any way you want.
Azure Monitor Examples:
- `dimension: {{dimensionvalue}}`
- `{{resourcegroup}} - {{resourcename}}`
### Alias Patterns for Azure Monitor
- `{{resourcegroup}}` = replaced with the value of the Resource Group
- `{{namespace}}` = replaced with the value of the Namespace (e.g. Microsoft.Compute/virtualMachines)
- `{{resourcename}}` = replaced with the value of the Resource Name
- `{{metric}}` = replaced with metric name (e.g. Percentage CPU)
- `{{dimensionname}}` = replaced with dimension key/label (e.g. blobtype)
- `{{dimensionvalue}}` = replaced with dimension value (e.g. BlockBlob)
### Templating with Variables for the Azure Monitor Service
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data being displayed in your dashboard.
Note that the Azure Monitor service does not support multiple values yet. If you want to visualize multiple time series (for example, metrics for server1 and server2) then you have to add multiple queries to able to view them on the same graph or in the same table.
The Azure Monitor Datasource Plugin provides the following queries you can specify in the `Query` field in the Variable edit view. They allow you to fill a variable's options list.
| Name | Description |
| -------------------------------------------------------- | -------------------------------------------------------------- |
| *ResourceGroups()* | Returns a list of resource groups. |
| *Namespaces(aResourceGroup)* | Returns a list of namespaces for the specified resource group. |
| *ResourceNames(aResourceGroup, aNamespace)* | Returns a list of resource names. |
| *MetricNames(aResourceGroup, aNamespace, aResourceName)* | Returns a list of metric names. |
Examples:
- Resource Groups query: `ResourceGroups()`
- Passing in metric name variable: `Namespaces(cosmo)`
- Chaining template variables: `ResourceNames($rg, $ns)`
- Do not quote parameters: `MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)`
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-variables.png" class="docs-image--no-shadow" caption="Nested Azure Monitor Template Variables" >}}
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Azure Monitor Metrics Whitelist
Not all metrics returned by the Azure Monitor API have values. The Grafana datasource has a whitelist to only return metric names if it is possible they might have values. This whitelist is updated regularly as new services and metrics are added to the Azure cloud. You can find the current whitelist [here](https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/supported_namespaces.ts).
### Azure Monitor Alerting
Grafana alerting is supported for the Azure Monitor service. This is not Azure Alerts support. Read more about how alerting in Grafana works [here]({{< relref "alerting/rules.md" >}}).
{{< docs-imagebox img="/img/docs/v60/azuremonitor-alerting.png" class="docs-image--no-shadow" caption="Azure Monitor Alerting" >}}
## Querying the Application Insights Service
{{< docs-imagebox img="/img/docs/v60/appinsights-service-query-editor.png" class="docs-image--no-shadow" caption="Application Insights Query Editor" >}}
### Formatting Legend Keys with Aliases for the Application Insights Service
The default legend formatting is:
`metric/name{group/by="groupbyvalue"}`
In the Legend Format field, the aliases which are defined below can be combined any way you want.
Application Insights Examples:
- `server: {{groupbyvalue}}`
- `city: {{groupbyvalue}}`
- `{{groupbyname}}: {{groupbyvalue}}`
### Alias Patterns for Application Insights
- `{{groupbyvalue}}` = replaced with the value of the group by
- `{{groupbyname}}` = replaced with the name/label of the group by
- `{{metric}}` = replaced with metric name (e.g. requests/count)
### Filter Expressions for Application Insights
The filter field takes an OData filter expression.
Examples:
- `client/city eq 'Boydton'`
- `client/city ne 'Boydton'`
- `client/city ne 'Boydton' and client/city ne 'Dublin'`
- `client/city eq 'Boydton' or client/city eq 'Dublin'`
### Templating with Variables for Application Insights
Use the one of the following queries in the `Query` field in the Variable edit view.
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
| Name | Description |
| ---------------------------------- | ---------------------------------------------------------- |
| *AppInsightsMetricNames()* | Returns a list of metric names. |
| *AppInsightsGroupBys(aMetricName)* | Returns a list of group bys for the specified metric name. |
Examples:
- Metric Names query: `AppInsightsMetricNames()`
- Passing in metric name variable: `AppInsightsGroupBys(requests/count)`
- Chaining template variables: `AppInsightsGroupBys($metricnames)`
{{< docs-imagebox img="/img/docs/v60/appinsights-service-variables.png" class="docs-image--no-shadow" caption="Nested Application Insights Template Variables" >}}
### Application Insights Alerting
Not implemented yet.
## Querying the Azure Log Analytics Service
Queries are written in the new [Azure Log Analytics (or KustoDB) Query Language](https://docs.loganalytics.io/index). A Log Analytics Query can be formatted as Time Series data or as Table data.
Time Series queries are for the Graph Panel (and other panels like the Single Stat panel) and must contain a datetime column, a metric name column and a value column. Here is an example query that returns the aggregated count grouped by the Category column and grouped by hour:
```
AzureActivity
| where $__timeFilter(TimeGenerated)
| summarize count() by Category, bin(TimeGenerated, 1h)
| order by TimeGenerated asc
```
Table queries are mainly used in the Table panel and row a list of columns and rows. This example query returns rows with the 6 specified columns:
```
AzureActivity
| where $__timeFilter()
| project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller
| order by TimeGenerated desc
```
{{< docs-imagebox img="/img/docs/v60/azureloganalytics-service-query-editor.png" class="docs-image--no-shadow" caption="Azure Log Analytics Query Editor" >}}
### Azure Log Analytics Macros
To make writing queries easier there are several Grafana macros that can be used in the where clause of a query:
- `$__timeFilter()` - Expands to
`TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and`
`TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z)` where the from and to datetimes are from the Grafana time picker.
- `$__timeFilter(datetimeColumn)` - Expands to
`datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and`
`datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z)` where the from and to datetimes are from the Grafana time picker.
- `$__escapeMulti($myVar)` - is to be used with multi-value template variables that contains illegal characters. If $myVar has the value `'\\grafana-vm\Network(eth0)\Total','\\hello!'`, it expands to: `@'\\grafana-vm\Network(eth0)\Total', @'\\hello!'`. If using single value variables there no need for this macro, simply escape the variable inline instead - `@'\$myVar'`
- `$__contains(colName, $myVar)` - is to be used with multi-value template variables. If $myVar has the value `'value1','value2'`, it expands to: `colName in ('value1','value2')`.
If using the `All` option, then check the `Include All Option` checkbox and in the `Custom all value` field type in the following value: `all`. If $myVar has value `all` then the macro will instead expand to `1 == 1`. For template variables with a lot of options, this will increase the query performance by not building a large where..in clause.
### Azure Log Analytics Builtin Variables
There are also some Grafana variables that can be used in Azure Log Analytics queries:
- `$__from` - Returns the From datetime from the Grafana picker. Example: `datetime(2018-06-05T18:09:58.907Z)`.
- `$__to` - Returns the From datetime from the Grafana picker. Example: `datetime(2018-06-05T20:09:58.907Z)`.
- `$__interval` - Grafana calculates the minimum time grain that can be used to group by time in queries. More details on how it works [here]({{< relref "reference/templating.md#interval-variables" >}}). It returns a time grain like `5m` or `1h` that can be used in the bin function. E.g. `summarize count() by bin(TimeGenerated, $__interval)`
### Azure Log Analytics Alerting
Not implemented yet.
### Writing Analytics Queries For the Application Insights Service
If you change the service type to "Application Insights", the menu icon to the right adds another option, "Toggle Edit Mode". Once clicked, the query edit mode changes to give you a full text area in which to write log analytics queries. (This is identical to how the InfluxDB datasource lets you write raw queries.)
Once a query is written, the column names are automatically parsed out of the response data. You can then select them in the "X-axis", "Y-axis", and "Split On" dropdown menus, or just type them out.
There are some important caveats to remember:
- You'll want to order your y-axis in the query, eg. `order by timestamp asc`. The graph may come out looking bizarre otherwise. It's better to have Microsoft sort it on their side where it's faster, than to implement this in the plugin.
- If you copy a log analytics query, typically they'll end with a render instruction, like `render barchart`. This is unnecessary, but harmless.
- Currently, four default dashboard variables are supported: `$__timeFilter()`, `$__from`, `$__to`, and `$__interval`. If you're searching in timestamped data, replace the beginning of your where clause to `where $__timeFilter()`. Dashboard changes by time region are handled as you'd expect, as long as you leave the name of the `timestamp` column alone. Likewise, `$__interval` will automatically change based on the dashboard's time region _and_ the width of the chart being displayed. Use it in bins, so `bin(timestamp,$__interval)` changes into something like `bin(timestamp,1s)`. Use `$__from` and `$__to` if you just want the formatted dates to be inserted.
- Templated dashboard variables are not yet supported! They will come in a future version.

View File

@@ -8,7 +8,7 @@ aliases = ["/datasources/cloudwatch"]
name = "AWS Cloudwatch"
identifier = "cloudwatch"
parent = "datasources"
weight = 10
weight = 5
+++
# Using AWS CloudWatch in Grafana
@@ -29,9 +29,10 @@ Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Credentials* profile name | Specify the name of the profile to use (if you use `~/.aws/credentials` file), leave blank for default.
*Default Region* | Used in query editor to set region (can be changed on per query basis)
*Custom Metrics namespace* | Specify the CloudWatch namespace of Custom metrics
*Auth Provider* | Specify the provider to get credentials.
*Credentials* profile name | Specify the name of the profile to use (if you use `~/.aws/credentials` file), leave blank for default.
*Assume Role Arn* | Specify the ARN of the role to assume
## Authentication
@@ -77,14 +78,24 @@ Here is a minimal policy example:
},
{
"Sid": "AllowReadingResourcesForTags",
"Effect" : "Allow",
"Action" : "tag:GetResources",
"Resource" : "*"
"Effect" : "Allow",
"Action" : "tag:GetResources",
"Resource" : "*"
}
]
}
```
### AWS credentials
If Auth Provider is `Credentials file`, Grafana try to get credentials by following order.
- Environment variables. (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`)
- Hard-code credentials.
- Shared credentials file.
- IAM role for Amazon EC2.
Checkout AWS docs on [Configuring the AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html)
### AWS credentials file
Create a file at `~/.aws/credentials`. That is the `HOME` path for user running grafana-server.
@@ -105,6 +116,14 @@ region = us-west-2
You need to specify a namespace, metric, at least one stat, and at least one dimension.
## Metric Math
You can now create new time series metrics by operating on top of Cloudwatch metrics using mathematical functions. Arithmetic operators, unary subtraction and other functions are supported to be applied on cloudwatch metrics. More details on the available functions can be found on [AWS Metric Math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html)
As an example, if you want to apply arithmetic operator on a metric, you can do it by giving an alias(a unique string) to the raw metric as shown below. Then you can use this alias and apply arithmetic operator to it in the Expression field of created metric.
![](/img/docs/v60/cloudwatch_metric_math.png)
## Templated queries
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.

View File

@@ -58,10 +58,12 @@ a time pattern for the index name or a wildcard.
### Elasticsearch version
Be sure to specify your Elasticsearch version in the version selection dropdown. This is very important as there are differences how queries are composed.
Currently the versions available is 2.x, 5.x, 5.6+ or 6.0+. 5.6+ means a version of 5.6 or less than 6.0. 6.0+ means a version of 6.0 or higher, 6.3.2 for example.
Be sure to specify your Elasticsearch version in the version selection dropdown. This is very important as there are differences on how queries are composed.
Currently the versions available are `2.x`, `5.x`, `5.6+`, `6.0+` or `7.0+`. The value `5.6+` means version 5.6 or higher, but lower than 6.0. The value `6.0+` means
version 6.0 or higher, but lower than 7.0. Finally, `7.0+` means version 7.0 or higher, but lower than 8.0.
### Min time interval
A lower limit for the auto group by time interval. Recommended to be set to write frequency, for example `1m` if your data is written every minute.
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:

View File

@@ -13,7 +13,6 @@ weight = 5
Grafana supports many different storage backends for your time series data (Data Source). Each Data Source has a specific Query Editor that is customized for the features and capabilities that the particular Data Source exposes.
## Querying
The query language and capabilities of each Data Source are obviously very different. You can combine data from multiple Data Sources onto a single Dashboard, but each Panel is tied to a specific Data Source that belongs to a particular Organization.
@@ -23,14 +22,18 @@ The query language and capabilities of each Data Source are obviously very diffe
The following datasources are officially supported:
* [Graphite]({{< relref "graphite.md" >}})
* [Elasticsearch]({{< relref "elasticsearch.md" >}})
* [CloudWatch]({{< relref "cloudwatch.md" >}})
* [InfluxDB]({{< relref "influxdb.md" >}})
* [OpenTSDB]({{< relref "opentsdb.md" >}})
* [Prometheus]({{< relref "prometheus.md" >}})
* [InfluxDB]({{< relref "influxdb.md" >}})
* [Elasticsearch]({{< relref "elasticsearch.md" >}})
* [Google Stackdriver]({{< relref "stackdriver.md" >}})
* [AWS CloudWatch]({{< relref "cloudwatch.md" >}})
* [Azure Monitor]({{< relref "azuremonitor.md" >}})
* [Loki]({{< relref "loki.md" >}})
* [MySQL]({{< relref "mysql.md" >}})
* [Postgres]({{< relref "postgres.md" >}})
* [PostgreSQL]({{< relref "postgres.md" >}})
* [Microsoft SQL Server (MSSQL)]({{< relref "mssql.md" >}})
* [OpenTSDB]({{< relref "opentsdb.md" >}})
* [Testdata]({{< relref "testdata.md" >}})
## Data source plugins

View File

@@ -7,7 +7,7 @@ aliases = ["/datasources/influxdb"]
[menu.docs]
name = "InfluxDB"
parent = "datasources"
weight = 3
weight = 2
+++
# Using InfluxDB in Grafana
@@ -32,6 +32,7 @@ Name | Description
*Database* | Name of your influxdb database
*User* | Name of your database user
*Password* | Database user's password
*HTTP mode* | How to query the database (`GET` or `POST` HTTP verb). The `POST` verb allows heavy queries that would return an error using the `GET` verb. Default is `GET`.
Access mode controls how requests to the data source will be handled. Server should be the preferred way if nothing else stated.
@@ -212,4 +213,6 @@ datasources:
user: grafana
password: grafana
url: http://localhost:8086
jsonData:
httpMode: GET
```

View File

@@ -0,0 +1,137 @@
+++
title = "Using Loki in Grafana"
description = "Guide for using Loki in Grafana"
keywords = ["grafana", "loki", "logging", "guide"]
type = "docs"
aliases = ["/datasources/loki"]
[menu.docs]
name = "Loki"
parent = "datasources"
weight = 6
+++
# Using Loki in Grafana
> BETA: Querying Loki data requires Grafana's Explore section.
> Grafana v6.x comes with Explore enabled by default.
> In Grafana v5.3.x and v5.4.x. you need to enable Explore manually.
> Viewing Loki data in dashboard panels is not supported yet, but is being worked on.
Grafana ships with built-in support for Loki, Grafana's log aggregation system.
Just add it as a datasource and you are ready to query your log data in [Explore](/features/explore).
## Adding the data source to Grafana
1. Open Grafana and make sure you are logged in.
2. In the side menu under the `Configuration` link you should find a link named `Data Sources`.
3. Click the `Add data source` button at the top.
4. Select `Loki` from the list of data sources.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
| Name | Description |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| _Name_ | The datasource name. This is how you refer to the datasource in panels, queries, and Explore. |
| _Default_ | Default datasource means that it will be pre-selected for new panels. |
| _URL_ | The URL of the Loki instance, e.g., `http://localhost:3100` |
| _Maximum lines_ | Upper limit for number of log lines returned by Loki (default is 1000). Decrease if your browser is sluggish when displaying logs in Explore. |
## Querying Logs
Querying and displaying log data from Loki is available via [Explore](/features/explore).
Select the Loki data source, and then enter a log query to display your logs.
> Viewing Loki data in dashboard panels is not supported yet, but is being worked on.
### Log Queries
A log query consists of two parts: **log stream selector**, and a **search expression**. For performance reasons you need to start by choosing a log stream by selecting a log label.
The Logs Explorer (the `Log labels` button) next to the query field shows a list of labels of available log streams. An alternative way to write a query is to use the query field's autocomplete - you start by typing a left curly brace `{` and the autocomplete menu will suggest a list of labels. Press the `enter` key to execute the query.
Once the result is returned, the log panel shows a list of log rows and a bar chart where the x-axis shows the time and the y-axis shows the frequency/count.
<div class="medium-6 columns">
<video width="800" height="500" controls>
<source src="/assets/videos/explore_loki.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<br />
### Log Stream Selector
For the label part of the query expression, wrap it in curly braces `{}` and then use the key value syntax for selecting labels. Multiple label expressions are separated by a comma:
`{app="mysql",name="mysql-backup"}`
The following label matching operators are currently supported:
* `=` exactly equal.
* `!=` not equal.
* `=~` regex-match.
* `!~` do not regex-match.
Examples:
* `{name=~"mysql.+"}`
* `{name!~"mysql.+"}`
The [same rules that apply for Prometheus Label Selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors) apply for Loki Log Stream Selectors.
Another way to add a label selector, is in the table section, clicking on the **Filter** button beside a label will add the label to the query expression. This even works for multiple queries and will the label selector to each query.
### Search Expression
After writing the Log Stream Selector, you can filter the results further by writing a search expression. The search expression can be just text or a regex expression.
Example queries:
* `{job="mysql"} error`
* `{name="kafka"} tsdb-ops.*io:2003`
* `{instance=~"kafka-[23]",name="kafka"} kafka.server:type=ReplicaManager`
## Templating
Template variables are not yet supported by Loki.
## Annotations
Annotations are not yet supported by Loki.
## Configure the Datasource with Provisioning
You can set up the datasource via config files with Grafana's provisioning system.
You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](/administration/provisioning/#datasources)
Here is an example:
```yaml
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: http://localhost:3100
jsonData:
maxLines: 1000
```
Here's another with basic auth:
```yaml
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: http://localhost:3100
basicAuth: true
basicAuthUser: my_user
basicAuthPassword: test_password
jsonData:
maxLines: 1000
```

View File

@@ -7,7 +7,7 @@ aliases = ["/datasources/opentsdb", "docs/features/opentsdb"]
[menu.docs]
name = "OpenTSDB"
parent = "datasources"
weight = 5
weight = 19
+++
# Using OpenTSDB in Grafana

View File

@@ -7,7 +7,7 @@ aliases = ["/datasources/prometheus"]
[menu.docs]
name = "Prometheus"
parent = "datasources"
weight = 2
weight = 1
+++
# Using Prometheus in Grafana
@@ -19,22 +19,22 @@ Grafana includes built-in support for Prometheus.
1. Open the side menu by clicking the Grafana icon in the top header.
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
3. Click the `+ Add data source` button in the top header.
4. Select `Prometheus` from the *Type* dropdown.
4. Select `Prometheus` from the _Type_ dropdown.
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
## Data source options
Name | Description
------------ | -------------
*Name* | The data source name. This is how you refer to the data source in panels & queries.
*Default* | Default data source means that it will be pre-selected for new panels.
*Url* | The http protocol, ip and port of you Prometheus server (default port is usually 9090)
*Access* | Server (default) = URL needs to be accessible from the Grafana backend/server, Browser = URL needs to be accessible from the browser.
*Basic Auth* | Enable basic authentication to the Prometheus data source.
*User* | Name of your Prometheus user
*Password* | Database user's password
*Scrape interval* | This will be used as a lower limit for the Prometheus step query parameter. Default value is 15s.
| Name | Description |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| _Name_ | The data source name. This is how you refer to the data source in panels & queries. |
| _Default_ | Default data source means that it will be pre-selected for new panels. |
| _Url_ | The http protocol, ip and port of you Prometheus server (default port is usually 9090) |
| _Access_ | Server (default) = URL needs to be accessible from the Grafana backend/server, Browser = URL needs to be accessible from the browser. |
| _Basic Auth_ | Enable basic authentication to the Prometheus data source. |
| _User_ | Name of your Prometheus user |
| _Password_ | Database user's password |
| _Scrape interval_ | This will be used as a lower limit for the Prometheus step query parameter. Default value is 15s. |
## Query editor
@@ -43,18 +43,21 @@ Open a graph in edit mode by click the title > Edit (or by pressing `e` key whil
{{< docs-imagebox img="/img/docs/v45/prometheus_query_editor_still.png"
animated-gif="/img/docs/v45/prometheus_query_editor.gif" >}}
Name | Description
------- | --------
*Query expression* | Prometheus query expression, check out the [Prometheus documentation](http://prometheus.io/docs/querying/basics/).
*Legend format* | Controls the name of the time series, using name or pattern. For example `{{hostname}}` will be replaced with label value for the label `hostname`.
*Min step* | Set a lower limit for the Prometheus step option. Step controls how big the jumps are when the Prometheus query engine performs range queries. Sadly there is no official prometheus documentation to link to for this very important option.
*Resolution* | Controls the step option. Small steps create high-resolution graphs but can be slow over larger time ranges, lowering the resolution can speed things up. `1/2` will try to set step option to generate 1 data point for every other pixel. A value of `1/10` will try to set step option so there is a data point every 10 pixels.
*Metric lookup* | Search for metric names in this input field.
*Format as* | Switch between Table, Time series or Heatmap. Table format will only work in the Table panel. Heatmap format is suitable for displaying metrics having histogram type on Heatmap panel. Under the hood, it converts cumulative histogram to regular and sorts series by the bucket bound.
| Name | Description |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| _Query expression_ | Prometheus query expression, check out the [Prometheus documentation](http://prometheus.io/docs/querying/basics/). |
| _Legend format_ | Controls the name of the time series, using name or pattern. For example `{{hostname}}` will be replaced with label value for the label `hostname`. |
| _Min step_ | Set a lower limit for the Prometheus step option. Step controls how big the jumps are when the Prometheus query engine performs range queries. Sadly there is no official prometheus documentation to link to for this very important option. |
| _Resolution_ | Controls the step option. Small steps create high-resolution graphs but can be slow over larger time ranges, lowering the resolution can speed things up. `1/2` will try to set step option to generate 1 data point for every other pixel. A value of `1/10` will try to set step option so there is a data point every 10 pixels. |
| _Metric lookup_ | Search for metric names in this input field. |
| _Format as_ | Switch between Table, Time series or Heatmap. Table format will only work in the Table panel. Heatmap format is suitable for displaying metrics having histogram type on Heatmap panel. Under the hood, it converts cumulative histogram to regular and sorts series by the bucket bound. |
> NOTE: Grafana slightly modifies the request dates for queries to align them with the dynamically calculated step.
> This ensures consistent display of metrics data but can result in a small gap of data at the right edge of a graph.
## Templating
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Instead of hard-coding things like server, application and sensor name in your metric queries, you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
being displayed in your dashboard.
@@ -63,18 +66,18 @@ types of template variables.
### Query variable
Variable of the type *Query* allows you to query Prometheus for a list of metrics, labels or label values. The Prometheus data source plugin
Variable of the type _Query_ allows you to query Prometheus for a list of metrics, labels or label values. The Prometheus data source plugin
provides the following functions you can use in the `Query` input field.
Name | Description
---- | --------
*label_values(label)* | Returns a list of label values for the `label` in every metric.
*label_values(metric, label)* | Returns a list of label values for the `label` in the specified metric.
*metrics(metric)* | Returns a list of metrics matching the specified `metric` regex.
*query_result(query)* | Returns a list of Prometheus query result for the `query`.
For details of *metric names*, *label names* and *label values* are please refer to the [Prometheus documentation](http://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
| Name | Description |
| -------------------------------- | ----------------------------------------------------------------------- |
| _label_\__names()_ | Returns a list of label names. |
| _label_\__values(label)_ | Returns a list of label values for the `label` in every metric. |
| _label_\__values(metric, label)_ | Returns a list of label values for the `label` in the specified metric. |
| _metrics(metric)_ | Returns a list of metrics matching the specified `metric` regex. |
| _query_\__result(query)_ | Returns a list of Prometheus query result for the `query`. |
For details of _metric names_, _label names_ and _label values_ are please refer to the [Prometheus documentation](http://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
#### Using interval and range variables
@@ -105,10 +108,10 @@ Regex:
There are two syntaxes:
- `$<varname>` Example: rate(http_requests_total{job=~"$job"}[5m])
- `$<varname>` Example: rate(http_requests_total{job=~"\$job"}[5m])
- `[[varname]]` Example: rate(http_requests_total{job=~"[[job]]"}[5m])
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of a word. When the *Multi-value* or *Include all value*
Why two ways? The first syntax is easier to read and write but does not allow you to use a variable in the middle of a word. When the _Multi-value_ or _Include all value_
options are enabled, Grafana converts the labels from plain text to a regex compatible string. Which means you have to use `=~` instead of `=`.
## Annotations

View File

@@ -5,9 +5,9 @@ keywords = ["grafana", "stackdriver", "google", "guide"]
type = "docs"
aliases = ["/datasources/stackdriver"]
[menu.docs]
name = "Stackdriver"
name = "Google Stackdriver"
parent = "datasources"
weight = 11
weight = 4
+++
# Using Google Stackdriver in Grafana
@@ -66,7 +66,7 @@ Click on the links above and click the `Enable` button:
4. Some new fields will appear. Fill in a name for the service account in the `Service account name` field and then choose the `Monitoring Viewer` role from the `Role` dropdown:
{{< docs-imagebox img="/img/docs/v53/stackdriver_service_account_choose_role.png" class="docs-image--no-shadow" caption="Choose role" >}}
5. Click the Create button. A JSON key file will be created and downloaded to your computer. Store this file in a secure place as it allows access to your Stackdriver data.
6. Upload it to Grafana on the datasource Configuration page. You can either upload the file or paste in the contents of the file.
@@ -156,7 +156,7 @@ Example Alias By: `{{metric.type}} - {{metric.labels.instance_name}}`
Example Result: `compute.googleapis.com/instance/cpu/usage_time - server1-prod`
It is also possible to resolve the name of the Monitored Resource Type.
It is also possible to resolve the name of the Monitored Resource Type.
| Alias Pattern Format | Description | Example Result |
| -------------------- | ----------------------------------------------- | -------------- |

View File

@@ -67,9 +67,9 @@ The autocomplete menu can be trigger by pressing Ctrl + Space. The Autocomplete
Suggestions can appear under the query field - click on them to update your query with the suggested change.
- For counters (monotonously increasing metrics), a rate function will be suggested.
- For buckets, a histogram function will be suggested.
- For recording rules, possible to expand the rules.
* For counters (monotonically increasing metrics), a rate function will be suggested.
* For buckets, a histogram function will be suggested.
* For recording rules, possible to expand the rules.
### Table Filters
@@ -79,6 +79,8 @@ Click on the filter button <span title="Filter for label" class="logs-label__ico
For Grafana 6.0, the first log integration is for the new open source log aggregation system from Grafana Labs - [Loki](https://github.com/grafana/loki). Loki is designed to be very cost effective, as it does not index the contents of the logs, but rather a set of labels for each log stream. The logs from Loki are queried in a similar way to querying with label selectors in Prometheus. It uses labels to group log streams which can be made to match up with your Prometheus labels. Read more about Grafana Loki [here](https://github.com/grafana/loki) or the Grafana Labs hosted variant: [Grafana Cloud Logs](https://grafana.com/loki).
See the [Loki's data source documentation](../datasources/loki) on how to query for log data.
### Switching from Metrics to Logs
If you switch from a Prometheus query to a logs query (you can do a split first to have your metrics and logs side by side) then it will keep the labels from your query that exist in the logs and use those to query the log streams. For example, the following Prometheus query:
@@ -91,67 +93,18 @@ after switching to the Logs datasource, the query changes to:
This will return a chunk of logs in the selected time range that can be grepped/text searched.
### Log Queries
A log query consists of two parts: **log stream selector**, and a **search expression**. For performance reasons you need to start by choosing a log stream by selecting a log label.
The Logs Explorer (the `Log labels` button) next to the query field shows a list of labels of available log streams. An alternative way to write a query is to use the query field's autocomplete - you start by typing a left curly brace `{` and the autocomplete menu will suggest a list of labels. Press the `enter` key to execute the query.
Once the result is returned, the log panel shows a list of log rows and a bar chart where the x-axis shows the time and the y-axis shows the frequency/count.
<div class="medium-6 columns">
<video width="800" height="500" controls>
<source src="/assets/videos/explore_loki.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<br />
#### Log Stream Selector
For the label part of the query expression, wrap it in curly braces `{}` and then use the key value syntax for selecting labels. Multiple label expressions are separated by a comma:
`{app="mysql",name="mysql-backup"}`
The following label matching operators are currently supported:
- `=` exactly equal.
- `!=` not equal.
- `=~` regex-match.
- `!~` do not regex-match.
Examples:
- `{name=~"mysql.+"}`
- `{name!~"mysql.+"}`
The [same rules that apply for Prometheus Label Selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors) apply for Loki Log Stream Selectors.
Another way to add a label selector, is in the table section, clicking on the **Filter** button beside a label will add the label to the query expression. This even works for multiple queries and will the label selector to each query.
#### Search Expression
After writing the Log Stream Selector, you can filter the results further by writing a search expression. The search expression can be just text or a regex expression.
Example queries:
- `{job="mysql"} error`
- `{name="kafka"} tsdb-ops.*io:2003`
- `{instance=~"kafka-[23]",name="kafka"} kafka.server:type=ReplicaManager`
### Deduping
Log data can be very repetitive and Explore can help by hiding duplicate log lines. There are a few different deduplication algorithms that you can use:
- `exact` Exact matches are done on the whole line, except for date fields.
- `numbers` Matches on the line after stripping out numbers (durations, IP addresses etc.).
- `signature` The most aggressive deduping - strips all letters and numbers, and matches on the remaining whitespace and punctuation.
* `exact` Exact matches are done on the whole line, except for date fields.
* `numbers` Matches on the line after stripping out numbers (durations, IP addresses etc.).
* `signature` The most aggressive deduping - strips all letters and numbers, and matches on the remaining whitespace and punctuation.
### Timestamp, Local time and Labels
There are some other check boxes under the logging graph apart from the Deduping options.
- Timestamp: shows/hides the Timestamp column
- Local time: shows/hides the Local time column
- Labels: shows/hides the label filters column
* Timestamp: shows/hides the Timestamp column
* Local time: shows/hides the Local time column
* Labels: shows/hides the label filters column

View File

@@ -12,9 +12,7 @@ weight = -11
# What's New in Grafana v6.0
This update to Grafana introduces a new way of exploring your data, support for log data and tons of other features.
Grafana v6.0 is out in **Beta**, [Download Now!](https://grafana.com/grafana/download/beta)
This update to Grafana introduces a new way of exploring your data, support for log data, and tons of other features.
The main highlights are:
@@ -27,23 +25,24 @@ The main highlights are:
- [Azure Monitor]({{< relref "#azure-monitor-datasource" >}}) plugin is ported from being an external plugin to being a core datasource
- [React Plugin]({{< relref "#react-panels-query-editors" >}}) support enables an easier way to build plugins.
- [Named Colors]({{< relref "#named-colors" >}}) in our new improved color picker.
- [Removal of user session storage]({{< relref "#easier-to-deploy-improved-security" >}}) makes Grafana easier to deploy and improves security.
## Explore
{{< docs-imagebox img="/img/docs/v60/explore_prometheus.png" max-width="800px" class="docs-image--right" caption="Screenshot of the new Explore option in the panel menu" >}}
Grafana's dashboard UI is all about building dashboards for visualization. **Explore** strips away all the dashboard and panel options so that you can focus on the query & metric exploration. Iterate until you have a working query and then think about building a dashboard. You can also jump from a dashboard panel into **Explore** and from there do some ad-hoc query exporation with the panel queries as a starting point.
Grafana's dashboard UI is all about building dashboards for visualization. **Explore** strips away all the dashboard and panel options so that you can focus on the query and metric exploration. Iterate until you have a working query and then think about building a dashboard. You can also jump from a dashboard panel into **Explore** and from there do some ad-hoc query exporation with the panel queries as a starting point.
For infrastructure monitoring and incident response, you no longer need to switch to other tools to debug what went wrong. **Explore** allows you to dig deeper into your metrics and logs to find the cause. Grafana's new logging datasource, [Loki](https://github.com/grafana/loki) is tightly integrated into Explore and allows you to correlate metrics and logs by viewing them side-by-side.
**Explore** is a new paradigm for Grafana. It creates a new interactive debugging workflow that integrates two pillars
of observability - metrics and logs. Explore works with every datasource but for Prometheus we have customized the
of observabilitymetrics and logs. Explore works with every datasource but for Prometheus we have customized the
query editor and the experience to provide the best possible exploration UX.
### Explore and Prometheus
Explore features a new [Prometheus query editor](/features/explore/#prometheus-specific-features). This new editor has improved autocomplete, metric tree selector,
integrations with the Explore table view for easy label filtering and useful query hints that can automatically apply
integrations with the Explore table view for easy label filtering, and useful query hints that can automatically apply
functions to your query. There is also integration between Prometheus and Grafana Loki (see more about Loki below) that
enabled jumping between metrics query and logs query with preserved label filters.
@@ -79,8 +78,8 @@ for other log sources to Explore and the next planned integration is Elasticsear
## New Panel Editor
Grafana v6.0 has a completely redesigned UX around editing panels. You can now resize the visualization area if you want
more space for queries & options and vice versa. You can now also change visualization (panel type) from within the new
panel edit mode. No need to add a new panel to try out different visualizations! Checkout the
more space for queries/options and vice versa. You can now also change visualization (panel type) from within the new
panel edit mode. No need to add a new panel to try out different visualizations! Check out the
video below to see the new Panel Editor in action.
<div class="medium-6 columns">
@@ -95,7 +94,7 @@ video below to see the new Panel Editor in action.
### Gauge Panel
We have created a new separate Gauge panel as we felt having this visualization be a hidden option in the Singlestat panel
was not ideal. When it supports 100% of the Singlestat Gauge features we plan to add a migration so all
was not ideal. When it supports 100% of the Singlestat Gauge features, we plan to add a migration so all
singlestats that use it become Gauge panels instead. This new panel contains a new **Threshold** editor that we will
continue to refine and start using in other panels.
@@ -106,54 +105,72 @@ continue to refine and start using in other panels.
### React Panels & Query Editors
A major part of all the work that has gone into Grafana v6.0 has been on the migration to React. This investment
is part of the future proofing of Grafana and it's code base and ecosystem. Starting in v6.0 **Panels** and **Data
is part of the future-proofing of Grafana's code base and ecosystem. Starting in v6.0 **Panels** and **Data
source** plugins can be written in React using our published `@grafana/ui` sdk library. More information on this
will be shared closer to or just after release.
will be shared soon.
{{< docs-imagebox img="/img/docs/v60/react_panels.png" max-width="600px" caption="React Panel" >}}
<br />
### Google Stackdriver Datasource
## Google Stackdriver Datasource
Built-in support for [Google Stackdriver](https://cloud.google.com/stackdriver/) is officially released in Grafana 6.0. Beta support was added in Grafana 5.3 and we have added lots of improvements since then.
To get started read the guide: [Using Google Stackdriver in Grafana](/features/datasources/stackdriver/).
### Azure Monitor Datasource
## Azure Monitor Datasource
One of the goals of the Grafana v6.0 release is to add support for the three major clouds. Amazon Cloudwatch has been a core datasource for years and Google Stackdriver is also now supported. We developed an external plugin for Azure Monitor last year and for this release the [plugin](https://grafana.com/plugins/grafana-azure-monitor-datasource) is being moved into Grafana to be one of the built-in datasources. For users of the external plugin, Grafana will automatically start using the built-in version. As a core datasource, the Azure Monitor datasource will get alerting support for the official 6.0 release.
One of the goals of the Grafana v6.0 release is to add support for the three major clouds. Amazon CloudWatch has been a core datasource for years and Google Stackdriver is also now supported. We developed an external plugin for Azure Monitor last year and for this release the [plugin](https://grafana.com/plugins/grafana-azure-monitor-datasource) is being moved into Grafana to be one of the built-in datasources. For users of the external plugin, Grafana will automatically start using the built-in version. As a core datasource, the Azure Monitor datasource is able to get alerting support, in the 6.0 release alerting is supported for the Azure Monitor service, with the rest to follow.
The Azure Monitor datasource integrates four Azure services with Grafana - Azure Monitor, Azure Log Analytics, Azure Application Insights and Azure Application Insights Analytics.
### Provisioning support for alert notifiers
Please read [Using Azure Monitor in Grafana documentation](/features/datasources/azuremonitor/) for more detailed information on how to get started and use it.
Grafana now added support for provisioning alert notifiers from configuration files. Allowing operators to provision notifiers without using the UI or the API. A new field called `uid` has been introduced which is a string identifier that the administrator can set themselves. Same kind of identifier used for dashboards since v5.0. This feature makes it possible to use the same notifier configuration in multiple environments and refer to notifiers in dashboard json by a string identifier instead of the numeric id which depends on insert order and how many notifiers that exists in the instance.
## Provisioning support for alert notifiers
### Auth and session token improvements
Grafana now has support for provisioning alert notifiers from configuration files, allowing operators to provision notifiers without using the UI or the API. A new field called `uid` has been introduced which is a string identifier that the administrator can set themselves. This is the same kind of identifier used for dashboards since v5.0. This feature makes it possible to use the same notifier configuration in multiple environments and refer to notifiers in dashboard json by a string identifier instead of the numeric id which depends on insert order and how many notifiers exist in the instance.
The previous session storage implementation in Grafana was causing problems in larger HA setups due to too many write requests to the database. The remember me token also have several security issues which is why we decided to rewrite auth middleware in Grafana and remove the session storage since most operations using the session storage could be rewritten to use cookies or data already made available earlier in the request.
If you are using `Auth proxy` for authentication the session storage will still be used but our goal is to remove this ASAP as well.
## Easier to deploy & improved security
This release will force all users to log in again since their previous token is not valid anymore.
Grafana 6.0 removes the need to configure and set up additional storage for [user sessions](/tutorials/ha_setup/#user-sessions). This should make it easier to deploy and operate Grafana in a
high availability setup and/or if you're using a stateless user session store like Redis, Memcache, Postgres or MySQL.
### Named Colors
Instead of user sessions, we've implemented a solution based on short-lived tokens that are rotated frequently. This also replaces the old "remember me cookie"
solution, which allowed a user to be logged in between browser sessions and which have been subject to several security holes throughout the years.
Read more about the short-lived token solution and how to configure it [here](/auth/overview/#login-and-short-lived-tokens).
> Please note that due to these changes, all users will be required to login upon next visit after upgrade.
Besides these changes we have also made security improvements regarding Cross-Site Request Forgery (CSRF) and Cross-site Scripting (XSS) vulnerabilities:
* Cookies are per default using the [SameSite](/installation/configuration/#cookie-samesite) attribute to protect against CSRF attacks
* Script tags in text panels are per default [disabled](/installation/configuration/#disable-sanitize-html) to protect against XSS attacks
> If you're using [Auth Proxy Authentication](/auth/auth-proxy/) you still need to have user sessions set up and configured
but our goal is to remove this requirement in the near future.
## Named Colors
{{< docs-imagebox img="/img/docs/v60/named_colors.png" max-width="400px" class="docs-image--right" caption="Named Colors" >}}
We have updated the color picker to show named colors and primary colors. We hope this will improve accessibility and
helps making colors more consistent across dashboards. We hope to do more in this color picker in the future, like show
helps making colors more consistent across dashboards. We hope to do more in this color picker in the future, like showing
colors used in the dashboard.
Named colors also enables Grafana to adapt colors to the current theme.
<div class="clearfix"></div>
### Other features
## Other features
- The ElasticSearch datasource now supports [bucket script pipeline aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-bucket-script-aggregation.html). This gives the ability to do per bucket computations like the difference or ratio between two metrics.
- The ElasticSearch datasource now supports [bucket script pipeline aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-bucket-script-aggregation.html). This gives the ability to do per-bucket computations like the difference or ratio between two metrics.
- Support for Google Hangouts Chat alert notifications
- New built in template variables for the current time range in `$__from` and `$__to`
## Upgrading
See [upgrade notes](/installation/upgrading/#upgrading-to-v6-0).
## Changelog
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list of new features, changes, and bug fixes.

View File

@@ -0,0 +1,59 @@
+++
title = "What's New in Grafana v6.1"
description = "Feature & improvement highlights for Grafana v6.1"
keywords = ["grafana", "new", "documentation", "6.1"]
type = "docs"
[menu.docs]
name = "Version 6.1"
identifier = "v6.1"
parent = "whatsnew"
weight = -12
+++
# What's New in Grafana v6.1
## Highlights
### Ad hoc Filtering for Prometheus
{{< imgbox max-width="30%" img="/img/docs/v61/prometheus-ad-hoc.gif" caption="Ad-hoc filters variable for Prometheus" >}}
The ad hoc filter feature allows you to create new key/value filters on the fly with autocomplete for both key and values. The filter condition is then automatically applied to all queries on the dashboard. This makes it easier to explore your data in a dashboard without changing queries and without having to add new template variables.
Other timeseries databases with label-based query languages have had this feature for a while. Recently Prometheus added support for fetching label names from their API and thanks to [Mitsuhiro Tanda](https://github.com/mtanda) implementing it in Grafana, the Prometheus datasource finally supports ad hoc filtering.
Support for fetching a list of label names was released in Prometheus v2.6.0 so that is a requirement for this feature to work in Grafana.
### Permissions: Editors can own dashboards, folders and teams they create
When the dashboard folders feature and permissions system was released in Grafana 5.0, users with the editor role were not allowed to administrate dashboards, folders or teams. In the 6.1 release, we have added a config option that can change the default permissions so that editors are admins for any Dashboard, Folder or Team they create.
This feature also adds a new Team permission that can be assigned to any user with the editor or viewer role and enables that user to add other users to the Team.
We believe that this is more in line with the Grafana philosophy, as it will allow teams to be more self-organizing. This option will be made permanent if it gets positive feedback from the community so let us know what you think in the [issue on GitHub](https://github.com/grafana/grafana/issues/15590).
To turn this feature on add the following [config option](/installation/configuration/#editors-can-admin) to your Grafana ini file in the `users` section and then restart the Grafana server:
```ini
[users]
editors_can_admin = true
```
### List and revoke of user auth tokens in the API
As the first step of a feature to be able to list a user's signed in devices/sessions and to be able log out those devices from the Grafana UI, support has been added to the [API to list and revoke user authentication tokens](/http_api/admin/#auth-tokens-for-user).
### Minor Features and Fixes
This release contains a lot of small features and fixes:
- A new keyboard shortcut `d l` toggles all Graph legends in a dashboard.
- A small bug fix for Elasticsearch - template variables in the alias field now work properly.
- Some new capabilities have been added for datasource plugins that will be of interest to plugin authors:
- a new oauth pass-through option.
- it is now possible to add user details to requests sent to the dataproxy.
- Heatmap and Explore fixes.
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list of new features, changes, and bug fixes.
A huge thanks to our community for all the reported issues, bug fixes and feedback.

View File

@@ -0,0 +1,91 @@
+++
title = "What's New in Grafana v6.2"
description = "Feature & improvement highlights for Grafana v6.2"
keywords = ["grafana", "new", "documentation", "6.2"]
type = "docs"
[menu.docs]
name = "Version 6.2"
identifier = "v6.2"
parent = "whatsnew"
weight = -13
+++
# What's New in Grafana v6.2
> More content will be added to this guide before the stable release.
For all details please read the full [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md)
If you use a password for your datasources please read the [upgrade notes](/installation/upgrading/#upgrading-to-v6-2).
## Improved security
- Ensure encryption of datasource secrets
- Embedding Grafana not allowed per default
- Disable browser caching for full page requests
## Provisioning
- Environment variables support, see [Using environment variables](/administration/provisioning/#using-environment-variables) for more information.
- Reload provisioning configs, see [Admin HTTP API](/http_api/admin/#reload-provisioning-configurations) for more information.
- Do not allow deletion of provisioned dashboards
- When trying to delete or save provisioned dashboard, relative file path to the file is shown in the dialog.
## Official support for Elasticsearch 7
Grafana v6.2 ships with official support for Elasticsearch v7, see [Using Elasticsearch in Grafana](/features/datasources/elasticsearch/#elasticsearch-version) for more information.
## Bar Gauge Panel
Grafana v6.2 ships with a new exciting panel! This new panel, named Bar Gauge, is very similar to the current
Gauge panel and shares almost all it's options. The main difference is that the Bar Gauge uses both horizontal and
vertical space much better and can be more efficiently stacked both vertically and horizontally. The Bar Gauge also
comes with 3 unique display modes, Basic, Gradient, and Retro LED. Read the
[preview article](https://grafana.com/blog/2019/04/11/sneak-preview-of-new-visualizations-coming-to-grafana/) to learn
more about the design & features of this new panel.
Retro LED display mode
{{< docs-imagebox img="/assets/img/blog/bargauge/bar_gauge_retro_led.jpg" max-width="800px" caption="Bar Gauge LED mode" >}}
Gradient mode
{{< docs-imagebox img="/assets/img/blog/bargauge/gradient.jpg" max-width="800px" caption="Bar Gauge Gradient mode" >}}
## Improved table data support
We have been working on improving table support in our new react panels (Gauge & Bar Gauge) and this is ongoing work
that will eventually come to the new Graph & Singlestat & Table panels we are working on. But you can see it already in
the Gauge and Bar Gauge panels. Without any config, you can visualize any number of columns or choose to visualize each
row as its own gauge.
## Lazy loading of panels out of view
This has been one of the most requested features for many years and is now finally here! Lazy loading of panels means
Grafana will not issue any data queries for panels that are not visible. This will greatly reduce the load
on your data source backends when loading dashboards with many panels.
## Panels without title
Sometimes your panels do not need a title and having that panel header still take up space makes singlestats and
other panels look strange and have bad vertical centering. In v6.2 Grafana will allow panel content (visualizations)
to use the full panel height in case there is no panel title.
{{< docs-imagebox img="/img/docs/v62/panels_with_no_title.jpg" max-width="800px" caption="Bar Gauge Gradient mode" >}}
## Minor Features and Fixes
This release contains a lot of small features and fixes:
- Explore - Adds user time zone support, reconnect for failing datasources and a fix that prevents killing Prometheus instances when Histogram metrics are loaded.
- Alerting - Adds support for configuring timeout durations and retries, see [configuration](/installation/configuration/#evaluation-timeout-seconds) for more information.
- Elasticsearch - A small bug fix to properly display percentiles metrics in table panel.
- InfluxDB - Support for POST HTTP verb.
- CloudWatch - Important fix for default alias disappearing in v6.1.
- Search - Works in a scope of dashboard's folder by default when viewing dashboard
Checkout the [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) file for a complete list of new features, changes, and bug fixes.
A huge thanks to our community for all the reported issues, bug fixes and feedback.
## Upgrading
Read important [upgrade notes](/installation/upgrading/#upgrading-to-v6-2).

View File

@@ -319,7 +319,7 @@ Only works with Basic Authentication (username and password). See [introduction]
**Example Request**:
```json
```http
POST /api/admin/pause-all-alerts HTTP/1.1
Accept: application/json
Content-Type: application/json
@@ -335,9 +335,148 @@ JSON Body schema:
```http
HTTP/1.1 200
Content-Type: application/json
```json
```
## Auth tokens for User
{"state": "new state", "message": "alerts pause/un paused", "alertsAffected": 100}
`GET /api/admin/users/:id/auth-tokens`
Return a list of all auth tokens (devices) that the user currently have logged in from.
Only works with Basic Authentication (username and password). See [introduction](http://docs.grafana.org/http_api/admin/#admin-api) for an explanation.
**Example Request**:
```http
GET /api/admin/users/1/auth-tokens HTTP/1.1
Accept: application/json
Content-Type: application/json
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Revoke auth token for User
`POST /api/admin/users/:id/revoke-auth-token`
Revokes the given auth token (device) for the user. User of issued auth token (device) will no longer be logged in
and will be required to authenticate again upon next activity.
Only works with Basic Authentication (username and password). See [introduction](http://docs.grafana.org/http_api/admin/#admin-api) for an explanation.
**Example Request**:
```http
POST /api/admin/users/1/revoke-auth-token HTTP/1.1
Accept: application/json
Content-Type: application/json
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Logout User
`POST /api/admin/users/:id/logout`
Logout user revokes all auth tokens (devices) for the user. User of issued auth tokens (devices) will no longer be logged in
and will be required to authenticate again upon next activity.
Only works with Basic Authentication (username and password). See [introduction](http://docs.grafana.org/http_api/admin/#admin-api) for an explanation.
**Example Request**:
```http
POST /api/admin/users/1/logout HTTP/1.1
Accept: application/json
Content-Type: application/json
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Reload provisioning configurations
`POST /api/admin/provisioning/dashboards/reload`
`POST /api/admin/provisioning/datasources/reload`
`POST /api/admin/provisioning/notifications/reload`
Reloads the provisioning config files for specified type and provision entities again. It won't return
until the new provisioned entities are already stored in the database. In case of dashboards, it will stop
polling for changes in dashboard files and then restart it with new configs after returning.
Only works with Basic Authentication (username and password). See [introduction](http://docs.grafana.org/http_api/admin/#admin-api) for an explanation.
**Example Request**:
```http
POST /api/admin/provisioning/dashboards/reload HTTP/1.1
Accept: application/json
Content-Type: application/json
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
{
"message": "User auth token revoked"
}
```
## Reload provisioning configurations
`POST /api/admin/provisioning/dashboards/reload`
`POST /api/admin/provisioning/datasources/reload`
`POST /api/admin/provisioning/notifications/reload`
Reloads the provisioning config files for specified type and provision entities again. It won't return
until the new provisioned entities are already stored in the database. In case of dashboards, it will stop
polling for changes in dashboard files and then restart it with new configs after returning.
Only works with Basic Authentication (username and password). See [introduction](http://docs.grafana.org/http_api/admin/#admin-api) for an explanation.
**Example Request**:
```http
POST /api/admin/provisioning/dashboards/reload HTTP/1.1
Accept: application/json
Content-Type: application/json
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message": "Dashboards config reloaded"
}
```

View File

@@ -1,7 +1,7 @@
+++
title = "Alerting HTTP API "
description = "Grafana Alerting HTTP API"
keywords = ["grafana", "http", "documentation", "api", "alerting"]
description = "Grafana Alerts HTTP API"
keywords = ["grafana", "http", "documentation", "api", "alerting", "alerts"]
aliases = ["/http_api/alerting/"]
type = "docs"
[menu.docs]
@@ -9,14 +9,11 @@ name = "Alerting"
parent = "http_api"
+++
# Alerting API
You can use the Alerting API to get information about alerts and their states but this API cannot be used to modify the alert.
To create new alerts or modify them you need to update the dashboard json that contains the alerts.
This API can also be used to create, update and delete alert notifications.
## Get alerts
`GET /api/alerts/`
@@ -69,7 +66,7 @@ Content-Type: application/json
**Example Response**:
```http
HTTP/1.1 200
HTTP/1.1 200
Content-Type: application/json
```
@@ -120,7 +117,7 @@ Content-Type: application/json
If data from one server triggers the alert first and, before that server is seen leaving alerting state,
a second server also enters a state that would trigger the alert, the second server will not be visible in "evalMatches" data.
Content-Type: application/json
## Pause alert by id
`POST /api/alerts/:id/pause`
@@ -158,187 +155,4 @@ Content-Type: application/json
## Pause all alerts
## Create alert notification
You can find the full list of [supported notifiers](/alerting/notifications/#all-supported-notifier) at the alert notifiers page.
`POST /api/alert-notifications`
**Example Request**:
```http
POST /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Update alert notification
`PUT /api/alert-notifications/1`
**Example Request**:
```http
PUT /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Delete alert notification
`DELETE /api/alert-notifications/:notificationId`
**Example Request**:
```http
DELETE /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
]
```
## Create alert notification
You can find the full list of [supported notifiers](/alerting/notifications/#all-supported-notifier) at the alert notifiers page.
`POST /api/alert-notifications`
**Example Request**:
```http
POST /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"name": "new alert notification", //Required
"type": "email", //Required
"isDefault": false,
"sendReminder": false,
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
}
}
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"name": "new alert notification",
"type": "email",
"isDefault": false,
"sendReminder": false,
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
},
"created": "2018-04-23T14:44:09+02:00",
"updated": "2018-08-20T15:47:49+02:00"
}
```
## Update alert notification
`PUT /api/alert-notifications/1`
**Example Request**:
```http
PUT /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"id": 1,
"name": "new alert notification", //Required
"type": "email", //Required
"isDefault": false,
"sendReminder": true,
"frequency": "15m",
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
}
}
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"name": "new alert notification",
"type": "email",
"isDefault": false,
"sendReminder": true,
"frequency": "15m",
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
},
"created": "2017-01-01 12:34",
"updated": "2017-01-01 12:34"
}
```
## Delete alert notification
`DELETE /api/alert-notifications/:notificationId`
**Example Request**:
```http
DELETE /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message": "Notification deleted"
}
```
See [Admin API]({{< relref "http_api/admin.md#pause-all-alerts" >}}).

View File

@@ -0,0 +1,371 @@
+++
title = "Alerting Notification Channels HTTP API "
description = "Grafana Alerting Notification Channel HTTP API"
keywords = ["grafana", "http", "documentation", "api", "alerting", "alerts", "notifications"]
aliases = []
type = "docs"
[menu.docs]
name = "Alerting Notification Channels"
parent = "http_api"
+++
# Alerting Notification Channels API
## Identifier (id) vs unique identifier (uid)
The identifier (id) of a notification channel is an auto-incrementing numeric value and is only unique per Grafana install.
The unique identifier (uid) of a notification channel can be used for uniquely identify a notification channel between
multiple Grafana installs. It's automatically generated if not provided when creating a notification channel. The uid
allows having consistent URL's for accessing notification channels and when syncing notification channels between multiple
Grafana installs, see [alert notification channel provisioning](/administration/provisioning/#alert-notification-channels)
for more information.
The uid can have a maximum length of 40 characters.
## Get all notification channels
Returns all notification channels that the authenticated user has permission to view.
`GET /api/alert-notifications`
**Example Request**:
```http
GET /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Get notification channel by uid
`GET /api/alert-notifications/uid/:uid`
Will return the notification channel given the notification channel uid.
**Example Request**:
```http
GET /api/alert-notifications/uid/team-a-email-notifier HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Get notification channel by id
`GET /api/alert-notifications/:id`
Will return the notification channel given the notification channel id.
**Example Request**:
```http
GET /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Create notification channel
You can find the full list of [supported notifiers](/alerting/notifications/#all-supported-notifier) at the alert notifiers page.
`POST /api/alert-notifications`
**Example Request**:
```http
POST /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Update notification channel by uid
`PUT /api/alert-notifications/uid/:uid`
Updates an existing notification channel identified by uid.
**Example Request**:
```http
PUT /api/alert-notifications/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Update notification channel by id
`PUT /api/alert-notifications/:id`
Updates an existing notification channel identified by id.
**Example Request**:
```http
PUT /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Delete alert notification by uid
`DELETE /api/alert-notifications/uid/:uid`
Deletes an existing notification channel identified by uid.
**Example Request**:
```http
DELETE /api/alert-notifications/uid/team-a-email-notifier HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Delete alert notification by id
`DELETE /api/alert-notifications/:id`
Deletes an existing notification channel identified by id.
**Example Request**:
```http
DELETE /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
## Test notification channel
Sends a test notification message for the given notification channel type and settings.
You can find the full list of [supported notifiers](/alerting/notifications/#all-supported-notifier) at the alert notifiers page.
`POST /api/alert-notifications/test`
**Example Request**:
```http
POST /api/alert-notifications/test HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
```
`PUT /api/alert-notifications/:id`
Updates an existing notification channel identified by id.
**Example Request**:
```http
PUT /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"id": 1,
"uid": "new-alert-notification", // optional
"name": "new alert notification", //Required
"type": "email", //Required
"isDefault": false,
"sendReminder": true,
"frequency": "15m",
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
}
}
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"id": 1,
"uid": "new-alert-notification",
"name": "new alert notification",
"type": "email",
"isDefault": false,
"sendReminder": true,
"frequency": "15m",
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
},
"created": "2017-01-01 12:34",
"updated": "2017-01-01 12:34"
}
```
## Delete alert notification by uid
`DELETE /api/alert-notifications/uid/:uid`
Deletes an existing notification channel identified by uid.
**Example Request**:
```http
DELETE /api/alert-notifications/uid/team-a-email-notifier HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message": "Notification deleted"
}
```
## Delete alert notification by id
`DELETE /api/alert-notifications/:id`
Deletes an existing notification channel identified by id.
**Example Request**:
```http
DELETE /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message": "Notification deleted"
}
```
## Test notification channel
Sends a test notification message for the given notification channel type and settings.
You can find the full list of [supported notifiers](/alerting/notifications/#all-supported-notifier) at the alert notifiers page.
`POST /api/alert-notifications/test`
**Example Request**:
```http
POST /api/alert-notifications/test HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"type": "email",
"settings": {
"addresses": "carl@grafana.com;dev@grafana.com"
}
}
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message": "Test notification sent"
}
```

View File

@@ -23,7 +23,8 @@ Query parameters:
- **dashboardIds** List of dashboard id's to search for
- **folderIds** List of folder id's to search in for dashboards
- **starred** Flag indicating if only starred Dashboards should be returned
- **limit** Limit the number of returned results
- **limit** Limit the number of returned results (max 5000)
- **page** Use this parameter to access hits beyond limit. Numbering starts at 1. limit param acts as page size. Only available in Grafana v6.2+.
**Example request for retrieving folders and dashboards of the general folder**:
@@ -95,4 +96,4 @@ Content-Type: application/json
"uri":"db/production-overview" // deprecated in Grafana v5.0
}
]
```
```

View File

@@ -30,6 +30,7 @@ dashboards, creating users and updating data sources.
* [Snapshot API]({{< relref "http_api/snapshot.md" >}})
* [Annotations API]({{< relref "http_api/annotations.md" >}})
* [Alerting API]({{< relref "http_api/alerting.md" >}})
* [Alert Notification Channels API]({{< relref "http_api/alerting_notification_channels.md" >}})
* [User API]({{< relref "http_api/user.md" >}})
* [Team API]({{< relref "http_api/team.md" >}})
* [Admin API]({{< relref "http_api/admin.md" >}})

View File

@@ -7,6 +7,7 @@ type = "docs"
[menu.docs]
name = "Playlist"
parent = "http_api"
identifier = "http_api_playlist"
+++
# Playlist API
@@ -28,7 +29,7 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Querystring Parameters:
These parameters are used as querystring parameters.
- **query** - Limit response to playlist having a name like this value.
- **limit** - Limit response to *X* number of playlist.
@@ -153,7 +154,7 @@ Content-Type: application/json
"id": 5,
"title":"my other dasboard"
"order": 2,
}
]
```

View File

@@ -156,6 +156,7 @@ HTTP/1.1 200
```http
HTTP/1.1 200
Content-Type: application/json
```
@@ -477,3 +478,75 @@ Content-Type: application/json
{"message":"Dashboard unstarred"}
```
## Auth tokens of the actual User
`GET /api/user/auth-tokens`
Return a list of all auth tokens (devices) that the actual user currently have logged in from.
**Example Request**:
```http
GET /api/user/auth-tokens HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
[
{
"id": 361,
"isActive": true,
"clientIp": "127.0.0.1",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36",
"createdAt": "2019-03-05T21:22:54+01:00",
"seenAt": "2019-03-06T19:41:06+01:00"
},
{
"id": 364,
"isActive": false,
"clientIp": "127.0.0.1",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1",
"createdAt": "2019-03-06T19:41:19+01:00",
"seenAt": "2019-03-06T19:41:21+01:00"
}
]
```
## Revoke an auth token of the actual User
`POST /api/user/revoke-auth-token`
Revokes the given auth token (device) for the actual user. User of issued auth token (device) will no longer be logged in
and will be required to authenticate again upon next activity.
**Example Request**:
```http
POST /api/user/revoke-auth-token HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"authTokenId": 364
}
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
{
"message": "User auth token revoked"
}
```

View File

@@ -3,7 +3,7 @@ title = "Grafana documentation"
description = "Guides, Installation & Feature Documentation"
keywords = ["grafana", "installation", "documentation"]
type = "docs"
aliases = ["v1.1", "guides/reference/admin"]
aliases = ["v1.1", "guides/reference/admin", "v3.1"]
+++
# Grafana Documentation
@@ -60,9 +60,9 @@ aliases = ["v1.1", "guides/reference/admin"]
<h4>Provisioning</h4>
<p>A guide to help you automate your Grafana setup & configuration.</p>
</a>
<a href="{{< relref "guides/whats-new-in-v5-4.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v5.4</h4>
<p>Article on all the new cool features and enhancements in v5.4</p>
<a href="{{< relref "guides/whats-new-in-v6-2.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v6.2</h4>
<p>Article on all the new cool features and enhancements in v6.2</p>
</a>
<a href="{{< relref "tutorials/screencasts.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>Screencasts</h4>
@@ -89,12 +89,20 @@ aliases = ["v1.1", "guides/reference/admin"]
<h5>Prometheus</h5>
</a>
<a href="{{< relref "features/datasources/stackdriver.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/stackdriver_logo.png">
<img src="/img/docs/logos/icon_stackdriver.svg">
<h5>Google Stackdriver</h5>
</a>
<a href="{{< relref "features/datasources/cloudwatch.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_cloudwatch.svg">
<h5>Cloudwatch</h5>
<h5>AWS CloudWatch</h5>
</a>
<a href="{{< relref "features/datasources/azuremonitor.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_azure_monitor.jpg">
<h5>Azure Monitor</h5>
</a>
<a href="{{< relref "features/datasources/loki.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_loki.svg">
<h5>Loki</h5>
</a>
<a href="{{< relref "features/datasources/mysql.md" >}}" class="nav-cards__item nav-cards__item--ds">
<img src="/img/docs/logos/icon_mysql.png" >

View File

@@ -160,6 +160,13 @@ The path to the directory where the front end files (HTML, JS, and CSS
files). Default to `public` which is why the Grafana binary needs to be
executed with working directory set to the installation path.
### enable_gzip
Set this option to `true` to enable HTTP compression, this can improve
transfer speed and bandwidth utilization. It is recommended that most
users set it to `true`. By default it is set to `false` for compatibility
reasons.
### cert_file
Path to the certificate file (if `protocol` is set to `https`).
@@ -172,7 +179,6 @@ Path to the certificate key file (if `protocol` is set to `https`).
Set to true for Grafana to log all HTTP requests (not just errors). These are logged as Info level events
to grafana log.
<hr />
<hr />
@@ -255,6 +261,19 @@ Set to `true` to log the sql calls and execution times.
For "sqlite3" only. [Shared cache](https://www.sqlite.org/sharedcache.html) setting used for connecting to the database. (private, shared)
Defaults to private.
<hr />
## [remote_cache]
### type
Either `redis`, `memcached` or `database` default is `database`
### connstr
The remote cache connection string. Leave empty when using `database` since it will use the primary database.
Redis example config: `addr=127.0.0.1:6379,pool_size=100,db=grafana`
Memcache example: `127.0.0.1:11211`
<hr />
@@ -295,6 +314,12 @@ Set to `true` if you host Grafana behind HTTPS. Default is `false`.
Sets the `SameSite` cookie attribute and prevents the browser from sending this cookie along with cross-site requests. The main goal is mitigate the risk of cross-origin information leakage. It also provides some protection against cross-site request forgery attacks (CSRF), [read more here](https://www.owasp.org/index.php/SameSite). Valid values are `lax`, `strict` and `none`. Default is `lax`.
### allow_embedding
When `false`, the HTTP header `X-Frame-Options: deny` will be set in Grafana HTTP responses which will instruct
browsers to not allow rendering Grafana in a `<frame>`, `<iframe>`, `<embed>` or `<object>`. The main goal is to
mitigate the risk of [Clickjacking](https://www.owasp.org/index.php/Clickjacking). Default is `false`.
<hr />
## [users]
@@ -335,6 +360,19 @@ options are `Admin` and `Editor`. e.g. :
Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
Defaults to `false`.
### editors_can_admin
Editors can administrate dashboards, folders and teams they create.
Defaults to `false`.
### login_hint
Text used as placeholder text on login page for login/username input.
### password_hint
Text used as placeholder text on login page for password input.
<hr>
## [auth]
@@ -351,36 +389,19 @@ below.
- [LDAP Authentication]({{< relref "auth/ldap.md" >}}) (auth.ldap)
- [Auth Proxy]({{< relref "auth/auth-proxy.md" >}}) (auth.proxy)
## [session]
## [dataproxy]
### provider
### logging
Valid values are `memory`, `file`, `mysql`, `postgres`, `memcache` or `redis`. Default is `file`.
This enables data proxy logging, default is false.
### provider_config
### timeout
This option should be configured differently depending on what type of
session provider you have configured.
How long the data proxy should wait before timing out default is 30 (seconds)
- **file:** session file path, e.g. `data/sessions`
- **mysql:** go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
- **postgres:** ex: `user=a password=b host=localhost port=5432 dbname=c sslmode=verify-full`
- **memcache:** ex: `127.0.0.1:11211`
- **redis:** ex: `addr=127.0.0.1:6379,pool_size=100,prefix=grafana`. For unix socket, use for example: `network=unix,addr=/var/run/redis/redis.sock,pool_size=100,db=grafana`
### send_user_header
Postgres valid `sslmode` are `disable`, `require`, `verify-ca`, and `verify-full` (default).
### cookie_name
The name of the Grafana session cookie.
### cookie_secure
Set to true if you host Grafana behind HTTPS only. Defaults to `false`.
### session_life_time
How long sessions lasts in seconds. Defaults to `86400` (24 hours).
If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
<hr />
@@ -556,7 +577,7 @@ basic auth password
Path to JSON key file associated with a Google service account to authenticate and authorize.
Service Account keys can be created and downloaded from https://console.developers.google.com/permissions/serviceaccounts.
Service Account should have "Storage Object Writer" role.
Service Account should have "Storage Object Writer" role. The access control model of the bucket needs to be "Set object-level and bucket-level permissions". Grafana itself will make the images public readable.
### bucket name
Bucket Name on Google Cloud Storage.
@@ -594,7 +615,7 @@ Default setting for new alert rules. Defaults to categorize error and timeouts a
Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
# concurrent_render_limit
### concurrent_render_limit
> Available in 5.3 and above
@@ -602,13 +623,67 @@ Alert notifications can include images, but rendering many images at the same ti
This limit will protect the server from render overloading and make sure notifications are sent out quickly. Default
value is `5`.
### evaluation_timeout_seconds
Default setting for alert calculation timeout. Default value is `30`
### notification_timeout_seconds
Default setting for alert notification timeout. Default value is `30`
### max_attempts
Default setting for max attempts to sending alert notifications. Default value is `3`
## [panels]
### enable_alpha
Set to true if you want to test panels that are not yet ready for general usage.
### disable_sanitize_html
If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities. Default
is false. This settings was introduced in Grafana v6.0.
## [plugins]
### enable_alpha
Set to true if you want to test alpha plugins that are not yet ready for general usage.
<hr />
# Removed options
Please note that these options have been removed.
## [session]
**Removed starting from Grafana v6.2. Please use [remote_cache](#remote-cache) option instead.**
### provider
Valid values are `memory`, `file`, `mysql`, `postgres`, `memcache` or `redis`. Default is `file`.
### provider_config
This option should be configured differently depending on what type of
session provider you have configured.
- **file:** session file path, e.g. `data/sessions`
- **mysql:** go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
- **postgres:** ex: `user=a password=b host=localhost port=5432 dbname=c sslmode=verify-full`
- **memcache:** ex: `127.0.0.1:11211`
- **redis:** ex: `addr=127.0.0.1:6379,pool_size=100,prefix=grafana`. For unix socket, use for example: `network=unix,addr=/var/run/redis/redis.sock,pool_size=100,db=grafana`
Postgres valid `sslmode` are `disable`, `require`, `verify-ca`, and `verify-full` (default).
### cookie_name
The name of the Grafana session cookie.
### cookie_secure
Set to true if you host Grafana behind HTTPS only. Defaults to `false`.
### session_life_time
How long sessions lasts in seconds. Defaults to `86400` (24 hours).

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