Merge remote-tracking branch 'origin/master' into envelope
This commit is contained in:
+3
-105
@@ -2,11 +2,6 @@ version: 2.1
|
||||
|
||||
aliases:
|
||||
# Workflow filters
|
||||
- &filter-only-release
|
||||
branches:
|
||||
only: chore/test-release-pipeline
|
||||
tags:
|
||||
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
|
||||
- &filter-only-master
|
||||
branches:
|
||||
only: master
|
||||
@@ -110,13 +105,6 @@ jobs:
|
||||
resource_class: large
|
||||
executor: grafana-build
|
||||
steps:
|
||||
- run:
|
||||
name: Exit if enterprise and forked PR
|
||||
command: |
|
||||
if [[ "<< parameters.edition >>" == "enterprise" && -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
- checkout
|
||||
- restore_cache:
|
||||
keys:
|
||||
@@ -188,13 +176,8 @@ jobs:
|
||||
- run:
|
||||
name: Build internal Grafana plug-ins
|
||||
command: |
|
||||
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
# This is a forked PR, so don't sign as it requires an API secret
|
||||
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >>
|
||||
else
|
||||
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
|
||||
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >> --sign --signing-admin
|
||||
fi
|
||||
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
|
||||
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >> --sign --signing-admin
|
||||
- run:
|
||||
name: Move artifacts
|
||||
command: |
|
||||
@@ -341,38 +324,6 @@ jobs:
|
||||
command: "./scripts/ci-job-succeeded.sh"
|
||||
when: on_success
|
||||
|
||||
release-next-packages:
|
||||
executor: grafana-build
|
||||
steps:
|
||||
- run:
|
||||
name: Exit if forked PR
|
||||
command: |
|
||||
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
- checkout
|
||||
- run:
|
||||
name: CI job started
|
||||
command: ./scripts/ci-job-started.sh
|
||||
- run:
|
||||
name: Bootstrap lerna
|
||||
command: npx lerna bootstrap
|
||||
- run:
|
||||
name: npm - Prepare auth token
|
||||
command: "echo //registry.npmjs.org/:_authToken=$NPM_TOKEN >> ~/.npmrc"
|
||||
- run:
|
||||
name: Release next packages
|
||||
command: ./scripts/circle-release-next-packages.sh
|
||||
- run:
|
||||
name: CI job failed
|
||||
command: ./scripts/ci-job-failed.sh
|
||||
when: on_fail
|
||||
- run:
|
||||
name: CI job succeeded
|
||||
command: ./scripts/ci-job-succeeded.sh
|
||||
when: on_success
|
||||
|
||||
package-oss:
|
||||
executor: grafana-build
|
||||
steps:
|
||||
@@ -389,11 +340,6 @@ jobs:
|
||||
- run:
|
||||
name: Package Grafana
|
||||
command: |
|
||||
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo Using test GPG key pair since building a forked PR
|
||||
source scripts/build/gpg-test-vars.sh
|
||||
fi
|
||||
|
||||
# Necessary for signing bundled plugins
|
||||
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
|
||||
if [[ -n $CIRCLE_TAG ]]; then
|
||||
@@ -528,11 +474,6 @@ jobs:
|
||||
yarn install --frozen-lockfile --no-progress
|
||||
yarn storybook:build
|
||||
|
||||
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
|
||||
if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
echo Testing release
|
||||
@@ -830,9 +771,6 @@ jobs:
|
||||
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
|
||||
# We're testing the release pipeline
|
||||
./scripts/circle-test-frontend.sh --edition << parameters.edition >> v7.0.0-test
|
||||
else
|
||||
# A master build
|
||||
./scripts/circle-test-frontend.sh --edition << parameters.edition >> --build-id $CIRCLE_WORKFLOW_ID
|
||||
fi
|
||||
- store_test_results:
|
||||
path: reports/junit
|
||||
@@ -867,10 +805,6 @@ jobs:
|
||||
# We're testing the release pipeline
|
||||
/tmp/grabpl test-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
|
||||
v7.0.0-test
|
||||
else
|
||||
# A master build
|
||||
/tmp/grabpl test-backend --github-token "${GITHUB_GRAFANABOT_TOKEN}" --edition << parameters.edition >> \
|
||||
--build-id $CIRCLE_WORKFLOW_ID
|
||||
fi
|
||||
- run:
|
||||
name: CI job failed
|
||||
@@ -881,45 +815,9 @@ jobs:
|
||||
command: "./scripts/ci-job-succeeded.sh"
|
||||
when: on_success
|
||||
|
||||
build-docs-website:
|
||||
executor: base
|
||||
steps:
|
||||
- checkout
|
||||
- setup_remote_docker
|
||||
- run:
|
||||
name: CI job started
|
||||
command: "./scripts/ci-job-started.sh"
|
||||
- run:
|
||||
name: Build Grafana docs website
|
||||
command: |
|
||||
# Use latest revision here, since we want to catch if it breaks
|
||||
IMAGE=grafana/docs-base:latest
|
||||
|
||||
# In order to copy sources into the remote container, we need to employ a trick of creating a container
|
||||
# with a volume, that we copy the sources into. Then, we launch the build container, with the volume
|
||||
# from the other container
|
||||
docker create -v /hugo/content/docs/grafana --name docs alpine:3.11 /bin/true
|
||||
docker cp ${PWD}/docs/sources docs:/hugo/content/docs/grafana/latest
|
||||
docker run --volumes-from docs $IMAGE /bin/bash -c 'make prod'
|
||||
- run:
|
||||
name: CI job failed
|
||||
command: "./scripts/ci-job-failed.sh"
|
||||
when: on_fail
|
||||
- run:
|
||||
name: CI job succeeded
|
||||
command: "./scripts/ci-job-succeeded.sh"
|
||||
when: on_success
|
||||
|
||||
release-packages:
|
||||
executor: node
|
||||
steps:
|
||||
- run:
|
||||
name: Exit if forked PR
|
||||
command: |
|
||||
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
|
||||
echo "Nothing to do for forked PRs, so marking this step successful"
|
||||
circleci step halt
|
||||
fi
|
||||
- checkout
|
||||
- run:
|
||||
name: CI job started
|
||||
@@ -1223,7 +1121,7 @@ workflows:
|
||||
requires:
|
||||
- package-enterprise
|
||||
- release-packages:
|
||||
filters: *filter-only-release
|
||||
filters: *filter-release
|
||||
requires:
|
||||
- end-to-end-tests
|
||||
- mysql-integration-test
|
||||
|
||||
+5
-2
@@ -1,5 +1,8 @@
|
||||
load('scripts/lib.star', 'pr_pipelines', 'master_pipelines')
|
||||
load('scripts/pr.star', 'pr_pipelines')
|
||||
load('scripts/master.star', 'master_pipelines')
|
||||
load('scripts/release.star', 'release_pipelines', 'test_release_pipelines')
|
||||
|
||||
def main(ctx):
|
||||
edition = 'oss'
|
||||
return pr_pipelines(edition=edition) + master_pipelines(edition=edition)
|
||||
return pr_pipelines(edition=edition) + master_pipelines(edition=edition) + release_pipelines() + \
|
||||
test_release_pipelines()
|
||||
|
||||
+1565
-11
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
||||
[
|
||||
{
|
||||
"type": "label",
|
||||
"name": "type/question",
|
||||
"action": "close",
|
||||
"comment": "Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
|
||||
},
|
||||
{
|
||||
"type": "comment",
|
||||
"name": "duplicate",
|
||||
"allowUsers": [],
|
||||
"action": "updateLabels",
|
||||
"addLabel": "type/duplicate"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "type/duplicate",
|
||||
"action": "close",
|
||||
"comment": "Thanks for creating this issue! It looks like this has already been reported by another user. We’ve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
|
||||
},
|
||||
{
|
||||
"type": "label",
|
||||
"name": "no new info",
|
||||
"action": "close",
|
||||
"comment": "We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,71 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '0 4 * * 6'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['javascript', 'go', 'python']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
@@ -0,0 +1,25 @@
|
||||
name: Run commands when issues are labeled or comments added
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: Run Commands
|
||||
uses: ./actions/commands
|
||||
with:
|
||||
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
|
||||
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
|
||||
config-path: commands
|
||||
@@ -0,0 +1,34 @@
|
||||
#
|
||||
# When triggered by the cron job it will also collect metrics for:
|
||||
# * number of issues without label
|
||||
# * number of issues with "needs more info"
|
||||
# * number of issues with "needs investigation"
|
||||
# * number of issues with label type/bug
|
||||
# * number of open issues in current milestone
|
||||
#
|
||||
# https://github.com/grafana/grafana-github-actions/blob/main/metrics-collector/index.ts
|
||||
#
|
||||
name: Github issue metrics collection
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/10 * * * *"
|
||||
issues:
|
||||
types: [opened, closed]
|
||||
|
||||
jobs:
|
||||
main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: ./actions
|
||||
ref: main
|
||||
- name: Install Actions
|
||||
run: npm install --production --prefix ./actions
|
||||
- name: Run metrics collector
|
||||
uses: ./actions/metrics-collector
|
||||
with:
|
||||
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
|
||||
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
|
||||
@@ -6,6 +6,7 @@ on:
|
||||
- master
|
||||
paths:
|
||||
- 'docs/sources/**'
|
||||
- 'packages/grafana-*/**'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -14,6 +15,13 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: generate-packages-docs
|
||||
uses: actions/setup-node@v1
|
||||
id: generate-docs
|
||||
with:
|
||||
node-version: '12'
|
||||
- run: yarn install --pure-lockfile --no-progress
|
||||
- run: ./scripts/ci-reference-docs-build.sh
|
||||
- name: publish-to-git
|
||||
uses: ./.github/actions/gha-publish-to-git
|
||||
id: publish
|
||||
|
||||
+1
-1
@@ -6,4 +6,4 @@ node_modules
|
||||
public/vendor/
|
||||
vendor/
|
||||
data/
|
||||
|
||||
e2e/tmp
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
# 7.3.0-beta1 (2020-10-14)
|
||||
|
||||
### Breaking changes
|
||||
|
||||
- **CloudWatch**: The AWS CloudWatch data source's authentication scheme has changed. See the [upgrade notes](https://grafana.com/docs/grafana/latest/installation/upgrading/#upgrading-to-v73) for details and how this may affect you.
|
||||
|
||||
# 7.2.1 (2020-10-08)
|
||||
|
||||
### Features / Enhancements
|
||||
* **Api**: Add /healthz endpoint for health checks. [#27536](https://github.com/grafana/grafana/pull/27536), [@bergquist](https://github.com/bergquist)
|
||||
* **Api**: Healthchecks should not be rejected due to domain enforcement checks. [#27981](https://github.com/grafana/grafana/pull/27981), [@bergquist](https://github.com/bergquist)
|
||||
* **Instrumentation**: Removes invalid chars from label names. [#27921](https://github.com/grafana/grafana/pull/27921), [@bergquist](https://github.com/bergquist)
|
||||
* **Orgs**: Remove organisations deprecation notice from backend. [#27788](https://github.com/grafana/grafana/pull/27788), [@wbrowne](https://github.com/wbrowne)
|
||||
* **Toolkit**: Add --coverage flag to plugin build command. [#27743](https://github.com/grafana/grafana/pull/27743), [@gassiss](https://github.com/gassiss)
|
||||
|
||||
### Bug Fixes
|
||||
* **BarGauge**: Fixed scrollbar showing for bar gauge in Firefox. [#27784](https://github.com/grafana/grafana/pull/27784), [@torkelo](https://github.com/torkelo)
|
||||
* **Dashboard**: Honour root_url for Explore link. [#27654](https://github.com/grafana/grafana/pull/27654), [@tiagomotasantos](https://github.com/tiagomotasantos)
|
||||
* **DashboardLinks**: values in links are updated when variables change. [#27926](https://github.com/grafana/grafana/pull/27926), [@hugohaggmark](https://github.com/hugohaggmark)
|
||||
* **Elasticsearch**: Add query's refId to each series returned by a query. [#27614](https://github.com/grafana/grafana/pull/27614), [@Elfo404](https://github.com/Elfo404)
|
||||
* **Elasticsearch**: Fix ad-hoc filter support for Raw Data query and new table panel. [#28064](https://github.com/grafana/grafana/pull/28064), [@Elfo404](https://github.com/Elfo404)
|
||||
* **Graph**: Fixed histogram bucket calculations to avoid missing buckets. [#27883](https://github.com/grafana/grafana/pull/27883), [@torkelo](https://github.com/torkelo)
|
||||
* **Loki**: Run instant query only in Explore. [#27974](https://github.com/grafana/grafana/pull/27974), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
* **Units**: bps & Bps default scale remains decimal (backwards-compatibility). [#27838](https://github.com/grafana/grafana/pull/27838), [@Berbe](https://github.com/Berbe)
|
||||
* **ValueMappings**: Fix issue with value mappings in override applying to all columns. [#27718](https://github.com/grafana/grafana/pull/27718), [@torkelo](https://github.com/torkelo)
|
||||
|
||||
# 7.2.0 (2020-09-23)
|
||||
|
||||
### Features / Enhancements
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
FROM node:12.18.3-alpine3.12 as js-builder
|
||||
FROM node:12.19.0-alpine3.12 as js-builder
|
||||
|
||||
WORKDIR /usr/src/app/
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
FROM node:12.18.3-slim AS js-builder
|
||||
FROM node:12.19.0-slim AS js-builder
|
||||
|
||||
WORKDIR /usr/src/app/
|
||||
|
||||
|
||||
+23
-17
@@ -32,7 +32,7 @@ If you don't have the knowledge or time to code, consider helping with triage. T
|
||||
| | |
|
||||
+------+-------+-------------+ +------------+---------+ +----------------------------+
|
||||
| | | | | |
|
||||
| label: needs more details | | Needs investigation? +--YES---+ label: needs investigation |
|
||||
| label: needs more info | | Needs investigation? +--YES---+ label: needs investigation |
|
||||
| | | | | |
|
||||
+----------------------------+ +----------------+-----+ +--------------+-------------+
|
||||
NO | |
|
||||
@@ -82,7 +82,7 @@ Before triaging an issue very far, make sure that the issue's author provided th
|
||||
|
||||
Given a certain [issue template]([template](https://github.com/grafana/grafana/issues/new/choose)) have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included.
|
||||
|
||||
#### Bug report?
|
||||
#### Bug reports
|
||||
|
||||
Should explain what happened, what was expected and how to reproduce it together with any additional information that may help giving a complete picture of what happened such as screenshots, [query inspector](https://community.grafana.com/t/using-grafanas-query-inspector-to-troubleshoot-issues/2630) output and any environment related information that's applicable and/or maybe related to the reported problem:
|
||||
- Grafana version
|
||||
@@ -96,15 +96,15 @@ Should explain what happened, what was expected and how to reproduce it together
|
||||
- Non-default configuration settings
|
||||
- Development environment like Go and Node versions, if applicable
|
||||
|
||||
#### Enhancement request?
|
||||
#### Enhancement requests
|
||||
|
||||
Should explain what enhancement or feature that the author wants to be added and why that is needed.
|
||||
|
||||
#### Accessibility issue?
|
||||
#### Accessibility issues
|
||||
|
||||
This is a mix between a bug report and enhancement request but focused on accessibility issues to help make Grafana improve keyboard navigation, screen-reader support and being accessible to everyone. The report should include relevant WCAG criteria, if applicable.
|
||||
|
||||
#### Support request?
|
||||
#### Support requests
|
||||
|
||||
In general, if the issue description and title is perceived as a question no more information is needed.
|
||||
|
||||
@@ -150,16 +150,15 @@ An issue can have multiple of the following labels. Typically, a properly catego
|
||||
| `area/*` | Subject is related to a functional area of interest or component. |
|
||||
| `datasource/*` | Subject is related to a core data source plugin. |
|
||||
|
||||
### Duplicate issue?
|
||||
### Duplicate issues
|
||||
|
||||
Make sure it's not a duplicate by searching existing issues using related terms from the issue title and description. If you think you know there is an existing issue, but can't find it, please reach out to one of the maintainers and ask for help. If you identify that the issue is a duplicate of an existing issue:
|
||||
|
||||
1. Add a comment `Duplicate of #<issue number>`. GitHub will recognize this and add some additional context to the issue activity.
|
||||
2. Close the issue and label it with `type/duplicate`.
|
||||
1. Add a comment `/duplicate of #<issue number>`. GitHub will recognize this and add some additional context to the issue activity.
|
||||
2. The Grafana bot will do the rest, adding the correct label and closing comment
|
||||
3. Optionally add any related `area/*` or `datasource/*` labels.
|
||||
4. If applicable, add a comment with additional information.
|
||||
|
||||
### Bug report?
|
||||
### Bug reports
|
||||
|
||||
If it's not perfectly clear that it's an actual bug, quickly try to reproduce it.
|
||||
|
||||
@@ -204,11 +203,11 @@ There's a minor typo/error/lack of information that adds a lot of confusion for
|
||||
1. Label the issue with `help wanted` and `beginner friendly`, if applicable, to signal that we find this important to fix and we would appreciate any help we can get from the community.
|
||||
2. Move on to [prioritizing the issue](#4-prioritization-of-issues).
|
||||
|
||||
### Accessibility issue?
|
||||
### Accessibility issues
|
||||
|
||||
1. Label the issue `type/accessibility` and at least one `area/*` or `datasource/*` label.
|
||||
|
||||
### Support request?
|
||||
### Support requests
|
||||
|
||||
1. Kindly and politely direct the issue author to the [community site](https://community.grafana.com/) and explain that GitHub is mainly used for tracking bugs and feature requests. If possible, it's usually a good idea to add some pointers to the issue author's question.
|
||||
2. Close the issue and label it with `type/question`.
|
||||
@@ -233,7 +232,7 @@ In case there is an uncertainty around the prioritization of an issue, please as
|
||||
| `priority/awaiting-more-evidence` | Lowest priority. Possibly useful, but not yet enough interest in it. |
|
||||
| `priority/unscheduled` | Something to look into before and to be discussed during the planning of the next (upcoming) major/minor stable release. |
|
||||
|
||||
**Critical bug?**
|
||||
**Critical bugs**
|
||||
|
||||
1. If a bug has been categorized and any of the following criteria apply, the bug should be labeled as critical and must be actively worked on as someone's top priority right now.
|
||||
|
||||
@@ -248,7 +247,7 @@ In case there is an uncertainty around the prioritization of an issue, please as
|
||||
5. Escalate the problem to the maintainers.
|
||||
6. Assign or ask a maintainer for help assigning someone to make this issue their top priority right now.
|
||||
|
||||
**Important short-term?**
|
||||
**Important short-term**
|
||||
|
||||
1. Label the issue `priority/important-soon`.
|
||||
2. If applicable, label the issue `priority/support-subscription`.
|
||||
@@ -256,12 +255,12 @@ In case there is an uncertainty around the prioritization of an issue, please as
|
||||
4. Make sure to add the issue to a suitable backlog of a GitHub project and prioritize it or assign someone to work on it now or very soon.
|
||||
5. Consider requesting [help from the community](#5-requesting-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
|
||||
|
||||
**Important long-term?**
|
||||
**Important long-term**
|
||||
|
||||
1. Label the issue `priority/important-longterm`.
|
||||
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
|
||||
|
||||
**Nice to have?**
|
||||
**Nice to have**
|
||||
|
||||
1. Label the issue `priority/nice-to-have`.
|
||||
2. Consider requesting [help from the community](#5-requesting-help-from-the-community).
|
||||
@@ -284,7 +283,7 @@ In many cases the issue author or community as a whole is more suitable to contr
|
||||
- Alert notifiers
|
||||
|
||||
1. Kindly and politely add a comment to signal to users subscribed to updates of the issue.
|
||||
- Explain that the issue would be nice to get resolved, but it isn't prioritized to work on by maintainers for an unforseen future.
|
||||
- Explain that the issue would be nice to get resolved, but it isn't prioritized to work on by maintainers for an unforeseen future.
|
||||
- If possible or applicable, try to help contributors getting starting by adding pointers and references to what code/files need to be changed and/or ideas of a good way to solve/implement the issue.
|
||||
2. Label the issue with `help wanted`.
|
||||
3. If applicable, label the issue with `beginner friendly` to denote that the issue is suitable for a beginner to work on.
|
||||
@@ -300,6 +299,13 @@ For some other combinations it may not be possible at all for a maintainer to se
|
||||
|
||||
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you [upvote](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible.
|
||||
|
||||
## Automation
|
||||
|
||||
We have some automation that triggers on comments or labels being added to issues. Many of these automated behaviors are defined in [commands.json](https://github.com/grafana/grafana/blob/master/.github/commands.json). Or in other [GitHub Actions](https://github.com/grafana/grafana/tree/master/.github/workflows)
|
||||
|
||||
* Add /duplicate `#<issue number>` to have Grafana label & close issue with an appropriate message.
|
||||
* Add `type/question` and the bot will close it with an appropriate message.
|
||||
|
||||
## External PRs
|
||||
|
||||
Part of issue triage should also be triaging of external PRs. Main goal should be to make sure PRs from external contributors have an owner/reviewer and are not forgotten.
|
||||
|
||||
+27
-3
@@ -130,7 +130,25 @@ logging = false
|
||||
# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
|
||||
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.
|
||||
# How many seconds the data proxy waits before sending a keepalive request.
|
||||
keep_alive_seconds = 30
|
||||
|
||||
# How many seconds the data proxy waits for a successful TLS Handshake before timing out.
|
||||
tls_handshake_timeout_seconds = 10
|
||||
|
||||
# How many seconds the data proxy will wait for a server's first response headers after
|
||||
# fully writing the request headers if the request has an "Expect: 100-continue"
|
||||
# header. A value of 0 will result in the body being sent immediately, without
|
||||
# waiting for the server to approve.
|
||||
expect_continue_timeout_seconds = 1
|
||||
|
||||
# The maximum number of idle connections that Grafana will keep alive.
|
||||
max_idle_connections = 100
|
||||
|
||||
# How many seconds the data proxy keeps an idle connection open before timing out.
|
||||
idle_conn_timeout_seconds = 90
|
||||
|
||||
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request.
|
||||
send_user_header = false
|
||||
|
||||
#################################### Analytics ###########################
|
||||
@@ -275,15 +293,18 @@ viewers_can_edit = false
|
||||
# Editors can administrate dashboard, folders and teams they create
|
||||
editors_can_admin = false
|
||||
|
||||
# The duration in time a user invitation remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 24h (24 hours). The minimum supported duration is 15m (15 minutes).
|
||||
user_invite_max_lifetime_duration = 24h
|
||||
|
||||
[auth]
|
||||
# Login cookie name
|
||||
login_cookie_name = grafana_session
|
||||
|
||||
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes).
|
||||
login_maximum_inactive_lifetime_duration =
|
||||
login_maximum_inactive_lifetime_duration =
|
||||
|
||||
# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
||||
login_maximum_lifetime_duration =
|
||||
login_maximum_lifetime_duration =
|
||||
|
||||
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
|
||||
token_rotation_interval_minutes = 10
|
||||
@@ -307,6 +328,9 @@ oauth_state_cookie_max_age = 600
|
||||
# limit of api_key seconds to live before expiration
|
||||
api_key_max_seconds_to_live = -1
|
||||
|
||||
# Set to true to enable SigV4 authentication option for HTTP-based datasources
|
||||
sigv4_auth_enabled = false
|
||||
|
||||
#################################### Anonymous Auth ######################
|
||||
[auth.anonymous]
|
||||
# enable anonymous access
|
||||
|
||||
+28
-4
@@ -131,6 +131,24 @@
|
||||
# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
|
||||
;timeout = 30
|
||||
|
||||
# How many seconds the data proxy waits before sending a keepalive probe request.
|
||||
;keep_alive_seconds = 30
|
||||
|
||||
# How many seconds the data proxy waits for a successful TLS Handshake before timing out.
|
||||
;tls_handshake_timeout_seconds = 10
|
||||
|
||||
# How many seconds the data proxy will wait for a server's first response headers after
|
||||
# fully writing the request headers if the request has an "Expect: 100-continue"
|
||||
# header. A value of 0 will result in the body being sent immediately, without
|
||||
# waiting for the server to approve.
|
||||
;expect_continue_timeout_seconds = 1
|
||||
|
||||
# The maximum number of idle connections that Grafana will keep alive.
|
||||
;max_idle_connections = 100
|
||||
|
||||
# How many seconds the data proxy keeps an idle connection open before timing out.
|
||||
;idle_conn_timeout_seconds = 90
|
||||
|
||||
# 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
|
||||
|
||||
@@ -274,15 +292,18 @@
|
||||
# Editors can administrate dashboard, folders and teams they create
|
||||
;editors_can_admin = false
|
||||
|
||||
# The duration in time a user invitation remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 24h (24 hours). The minimum supported duration is 15m (15 minutes).
|
||||
;user_invite_max_lifetime_duration = 24h
|
||||
|
||||
[auth]
|
||||
# Login cookie name
|
||||
;login_cookie_name = grafana_session
|
||||
|
||||
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation
|
||||
;login_maximum_inactive_lifetime_duration =
|
||||
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation.
|
||||
;login_maximum_inactive_lifetime_duration =
|
||||
|
||||
# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
||||
;login_maximum_lifetime_duration =
|
||||
;login_maximum_lifetime_duration =
|
||||
|
||||
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
|
||||
;token_rotation_interval_minutes = 10
|
||||
@@ -306,6 +327,9 @@
|
||||
# limit of api_key seconds to live before expiration
|
||||
;api_key_max_seconds_to_live = -1
|
||||
|
||||
# Set to true to enable SigV4 authentication option for HTTP-based datasources.
|
||||
;sigv4_auth_enabled = false
|
||||
|
||||
#################################### Anonymous Auth ######################
|
||||
[auth.anonymous]
|
||||
# enable anonymous access
|
||||
@@ -813,4 +837,4 @@
|
||||
;use_browser_locale = false
|
||||
|
||||
# Default timezone for user preferences. Options are 'browser' for the browser local timezone or a timezone name from IANA Time Zone database, e.g. 'UTC' or 'Europe/Amsterdam' etc.
|
||||
;default_timezone = browser
|
||||
;default_timezone = browser
|
||||
|
||||
@@ -61,6 +61,8 @@ The following sections provide general guidelines on topics specific to Grafana
|
||||
- **Exceptions:** If an ampersand is used in the Grafana UI, then match the UI.
|
||||
- Avoid using internal slang and jargon in technical documentation.
|
||||
- Do not use two spaces after a period. Only add one space after each sentence. Do not add a space at the end of the paragraph.
|
||||
- Sentence length should be 25 words or less. If your thought is longer than 25 words, consider breaking up the sentence or changing the format to a list.
|
||||
- Paragraphs should be three sentences or fewer. Break up long paragraphs.
|
||||
|
||||
### File naming conventions
|
||||
|
||||
@@ -78,7 +80,7 @@ The following sections provide general guidelines on topics specific to Grafana
|
||||
- Concept and reference topic headings should be nouns or gerunds. Examples: Contributing to docs, Visualizations, Style guide
|
||||
- Avoid following one heading with another heading.
|
||||
- Avoid skipping heading levels. For example, an h1 should be followed by an h2 rather than an h3.
|
||||
- Avoid having just one lower-level heading. For example, h1, h2, h2, h3, h3, h2 is a good order. Do no go h1, h2, h3, h2, h3, h2.
|
||||
- Avoid having just one lower-level heading. For example, h1, h2, h2, h3, h3, h2 is a good order. Do not go h1, h2, h3, h2, h3, h2.
|
||||
- Don't include parenthetical words like (Important!) in headings.
|
||||
|
||||
### Images
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
"datasource": null,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
@@ -36,11 +39,11 @@
|
||||
"alpha": 0.1
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -355,6 +358,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -371,10 +377,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -560,6 +563,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -576,10 +582,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -678,6 +681,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -694,10 +700,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -811,6 +814,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -827,10 +833,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": false,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -899,7 +902,7 @@
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"id": "custom.line.color",
|
||||
"id": "color",
|
||||
"value": {
|
||||
"fixedColor": "purple",
|
||||
"mode": "fixed"
|
||||
@@ -960,6 +963,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -976,10 +982,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": false,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1048,7 +1051,7 @@
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"id": "custom.line.color",
|
||||
"id": "color",
|
||||
"value": {
|
||||
"fixedColor": "purple",
|
||||
"mode": "fixed"
|
||||
@@ -1109,6 +1112,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -1125,10 +1131,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": false,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1197,7 +1200,7 @@
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"id": "custome.line.color",
|
||||
"id": "color",
|
||||
"value": {
|
||||
"fixedColor": "purple",
|
||||
"mode": "fixed"
|
||||
@@ -1258,6 +1261,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -1274,10 +1280,7 @@
|
||||
},
|
||||
"line": {
|
||||
"show": false,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1346,7 +1349,7 @@
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"id": "custom.line.color",
|
||||
"id": "color",
|
||||
"value": {
|
||||
"fixedColor": "purple",
|
||||
"mode": "fixed"
|
||||
@@ -1422,6 +1425,9 @@
|
||||
"datasource": null,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -1437,11 +1443,11 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1506,6 +1512,9 @@
|
||||
"datasource": null,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -1521,11 +1530,11 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1590,6 +1599,9 @@
|
||||
"datasource": null,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
@@ -1604,11 +1616,11 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1668,6 +1680,96 @@
|
||||
"timeShift": null,
|
||||
"title": "No tooltip",
|
||||
"type": "graph3"
|
||||
},
|
||||
{
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
"label": "Temperature",
|
||||
"side": 3,
|
||||
"width": 60
|
||||
},
|
||||
"bars": {
|
||||
"show": false
|
||||
},
|
||||
"fill": {
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
"radius": 8,
|
||||
"show": true
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "celsius"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 9,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 22
|
||||
},
|
||||
"id": 9,
|
||||
"options": {
|
||||
"graph": {
|
||||
"realTimeUpdates": false
|
||||
},
|
||||
"legend": {
|
||||
"asTable": false,
|
||||
"isVisible": true,
|
||||
"placement": "under"
|
||||
},
|
||||
"tooltipOptions": {
|
||||
"mode": "multi"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "7.2.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"refId": "C",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "1,20,90,30,5,0"
|
||||
},
|
||||
{
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "10,25,40"
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Diff number of datapoints milt multi series tooltip",
|
||||
"transformations": [],
|
||||
"type": "graph3"
|
||||
}
|
||||
],
|
||||
"title": "Tooltip",
|
||||
@@ -1688,6 +1790,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
@@ -1702,11 +1807,11 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -1775,6 +1880,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
@@ -1795,10 +1903,7 @@
|
||||
"show": false
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
"show": true
|
||||
},
|
||||
"points": {
|
||||
"radius": 8,
|
||||
@@ -1809,6 +1914,9 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
@@ -1879,6 +1987,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
@@ -1893,11 +2004,11 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "connected",
|
||||
"points": {
|
||||
@@ -1981,6 +2092,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
@@ -1995,11 +2109,11 @@
|
||||
"alpha": 0
|
||||
},
|
||||
"line": {
|
||||
"show": true,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -2031,7 +2145,7 @@
|
||||
"x": 0,
|
||||
"y": 16
|
||||
},
|
||||
"id": 9,
|
||||
"id": 43,
|
||||
"options": {
|
||||
"graph": {
|
||||
"realTimeUpdates": false
|
||||
@@ -2083,6 +2197,9 @@
|
||||
"datasource": "gdev-testdata",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"align": null,
|
||||
"axis": {
|
||||
@@ -2098,11 +2215,11 @@
|
||||
"alpha": 0.2
|
||||
},
|
||||
"line": {
|
||||
"show": false,
|
||||
"width": 1,
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
}
|
||||
},
|
||||
"show": false,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
@@ -2175,7 +2292,7 @@
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"id": "custom.line.color",
|
||||
"id": "color",
|
||||
"value": {
|
||||
"fixedColor": "purple",
|
||||
"mode": "fixed"
|
||||
@@ -2229,6 +2346,124 @@
|
||||
],
|
||||
"title": "Streaming",
|
||||
"type": "row"
|
||||
},
|
||||
{
|
||||
"collapsed": true,
|
||||
"datasource": null,
|
||||
"gridPos": {
|
||||
"h": 1,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 17
|
||||
},
|
||||
"id": 45,
|
||||
"panels": [
|
||||
{
|
||||
"datasource": null,
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"custom": {
|
||||
"axis": {
|
||||
"grid": true,
|
||||
"label": "",
|
||||
"side": 3,
|
||||
"width": 60
|
||||
},
|
||||
"bars": {
|
||||
"show": false
|
||||
},
|
||||
"fill": {
|
||||
"alpha": 0.1
|
||||
},
|
||||
"line": {
|
||||
"color": {
|
||||
"mode": "fixed"
|
||||
},
|
||||
"show": true,
|
||||
"width": 1
|
||||
},
|
||||
"nullValues": "null",
|
||||
"points": {
|
||||
"radius": 4,
|
||||
"show": false
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 11,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 18
|
||||
},
|
||||
"id": 46,
|
||||
"options": {
|
||||
"graph": {
|
||||
"realTimeUpdates": false
|
||||
},
|
||||
"legend": {
|
||||
"asTable": false,
|
||||
"isVisible": true,
|
||||
"placement": "bottom"
|
||||
},
|
||||
"tooltipOptions": {
|
||||
"mode": "single"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "7.3.0-pre",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"refId": "F",
|
||||
"scenarioId": "annotations",
|
||||
"stringInput": ""
|
||||
}
|
||||
],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "React NG graph",
|
||||
"type": "graph3"
|
||||
}
|
||||
],
|
||||
"title": "Annotations",
|
||||
"type": "row"
|
||||
}
|
||||
],
|
||||
"refresh": false,
|
||||
@@ -2239,15 +2474,14 @@
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-5m",
|
||||
"from": "now-2d",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
|
||||
},
|
||||
"timezone": "Africa/Accra",
|
||||
"title": "Panel Tests - Graph NG",
|
||||
"title": "Graph NG - tests",
|
||||
"uid": "TkZXxlNG3",
|
||||
"version": 61,
|
||||
"tags": ["gdev", "panel-tests", "graph"]
|
||||
"version": 65
|
||||
}
|
||||
|
||||
@@ -821,7 +821,7 @@ filebeat.inputs:
|
||||
|
||||
# By default Ingest pipelines are not updated if a pipeline with the same ID
|
||||
# already exists. If this option is enabled Filebeat overwrites pipelines
|
||||
# everytime a new Elasticsearch connection is established.
|
||||
# every time a new Elasticsearch connection is established.
|
||||
#filebeat.overwrite_pipelines: false
|
||||
|
||||
# How long filebeat waits on shutdown for the publisher to finish.
|
||||
|
||||
@@ -821,7 +821,7 @@ filebeat.inputs:
|
||||
|
||||
# By default Ingest pipelines are not updated if a pipeline with the same ID
|
||||
# already exists. If this option is enabled Filebeat overwrites pipelines
|
||||
# everytime a new Elasticsearch connection is established.
|
||||
# every time a new Elasticsearch connection is established.
|
||||
#filebeat.overwrite_pipelines: false
|
||||
|
||||
# How long filebeat waits on shutdown for the publisher to finish.
|
||||
|
||||
@@ -1057,7 +1057,7 @@
|
||||
# ## Custom resource type
|
||||
# # resource_type = "generic_node"
|
||||
#
|
||||
# ## Additonal resource labels
|
||||
# ## Additional resource labels
|
||||
# # [outputs.stackdriver.resource_labels]
|
||||
# # node_id = "$HOSTNAME"
|
||||
# # namespace = "myapp"
|
||||
@@ -5196,11 +5196,11 @@
|
||||
# ## separator character to use for measurement and field names (default: "_")
|
||||
# # separator = "_"
|
||||
#
|
||||
# ## number of objects to retreive per query for realtime resources (vms and hosts)
|
||||
# ## number of objects to retrieve per query for realtime resources (vms and hosts)
|
||||
# ## set to 64 for vCenter 5.5 and 6.0 (default: 256)
|
||||
# # max_query_objects = 256
|
||||
#
|
||||
# ## number of metrics to retreive per query for non-realtime resources (clusters and datastores)
|
||||
# ## number of metrics to retrieve per query for non-realtime resources (clusters and datastores)
|
||||
# ## set to 64 for vCenter 5.5 and 6.0 (default: 256)
|
||||
# # max_query_metrics = 256
|
||||
#
|
||||
|
||||
@@ -75,7 +75,7 @@ Example output:
|
||||
|
||||
█ user auth token test
|
||||
|
||||
█ user authenticates thru ui with username and password
|
||||
█ user authenticates through ui with username and password
|
||||
|
||||
✓ response status is 200
|
||||
✓ response has cookie 'grafana_session' with 32 characters
|
||||
|
||||
@@ -23,7 +23,7 @@ export const setup = () => {
|
||||
export default data => {
|
||||
group('annotation by tag test', () => {
|
||||
if (__ITER === 0) {
|
||||
group('user authenticates thru ui with username and password', () => {
|
||||
group('user authenticates through ui with username and password', () => {
|
||||
let res = client.ui.login('admin', 'admin');
|
||||
|
||||
check(res, {
|
||||
|
||||
@@ -24,7 +24,7 @@ export const setup = () => {
|
||||
export default data => {
|
||||
group(`user auth token slow test (queries between 1 and ${slowQuery} seconds)`, () => {
|
||||
if (__ITER === 0) {
|
||||
group('user authenticates thru ui with username and password', () => {
|
||||
group('user authenticates through ui with username and password', () => {
|
||||
let res = client.ui.login('admin', 'admin');
|
||||
|
||||
check(res, {
|
||||
|
||||
@@ -23,7 +23,7 @@ export const setup = () => {
|
||||
export default data => {
|
||||
group('user auth token test', () => {
|
||||
if (__ITER === 0) {
|
||||
group('user authenticates thru ui with username and password', () => {
|
||||
group('user authenticates through ui with username and password', () => {
|
||||
let res = client.ui.login('admin', 'admin');
|
||||
|
||||
check(res, {
|
||||
|
||||
+14
-14
@@ -65,8 +65,8 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
|
||||
<h4>Provisioning</h4>
|
||||
<p>Learn how to automate your Grafana configuration.</p>
|
||||
</a>
|
||||
<a href="{{< relref "guides/whats-new-in-v7-1.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>What's new in v7.1</h4>
|
||||
<a href="{{< relref "whatsnew/whats-new-in-v7-2.md" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>What's new in v7.2</h4>
|
||||
<p>Explore the features and enhancements in the latest release.</p>
|
||||
</a>
|
||||
|
||||
@@ -75,51 +75,51 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
|
||||
## Data source guides
|
||||
|
||||
<div class="nav-cards">
|
||||
<a href="{{< relref "features/datasources/graphite.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/graphite.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_graphite.svg" >
|
||||
<h5>Graphite</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/elasticsearch.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/elasticsearch.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_elasticsearch.svg" >
|
||||
<h5>Elasticsearch</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/influxdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/influxdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_influxdb.svg" >
|
||||
<h5>InfluxDB</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/prometheus.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/prometheus.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_prometheus.svg" >
|
||||
<h5>Prometheus</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/cloudmonitoring.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/cloudmonitoring.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_cloudmonitoring.svg">
|
||||
<h5>Google Cloud Monitoring</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/cloudwatch.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/cloudwatch.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_cloudwatch.svg">
|
||||
<h5>AWS CloudWatch</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/azuremonitor.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "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">
|
||||
<a href="{{< relref "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">
|
||||
<a href="{{< relref "datasources/mysql.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_mysql.png" >
|
||||
<h5>MySQL</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/postgres.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/postgres.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_postgres.svg" >
|
||||
<h5>Postgres</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/mssql.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/mssql.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/sql_server_logo.svg">
|
||||
<h5>Microsoft SQL Server</h5>
|
||||
</a>
|
||||
<a href="{{< relref "features/datasources/opentsdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<a href="{{< relref "datasources/opentsdb.md" >}}" class="nav-cards__item nav-cards__item--ds">
|
||||
<img src="/img/docs/logos/icon_opentsdb.png" >
|
||||
<h5>OpenTSDB</h5>
|
||||
</a>
|
||||
|
||||
@@ -173,13 +173,13 @@ Override log path using the command line argument `cfg:default.paths.log`:
|
||||
|
||||
### plugins
|
||||
|
||||
Directory where Grafana automatically scans and looks for plugins. Manually or automatically install any plugins here.
|
||||
Directory where Grafana automatically scans and looks for plugins. Manually or automatically install any [plugins](https://grafana.com/docs/grafana/latest/plugins/installation/) here.
|
||||
|
||||
**macOS:** By default, the Mac plugin location is: `/usr/local/var/lib/grafana/plugins`.
|
||||
|
||||
### provisioning
|
||||
|
||||
Folder that contains [provisioning]({{< relref "provisioning.md" >}}) config files that grafana will apply on startup. Dashboards will be reloaded when the json files changes
|
||||
Folder that contains [provisioning]({{< relref "provisioning.md" >}}) config files that Grafana will apply on startup. Dashboards will be reloaded when the json files changes.
|
||||
|
||||
<hr />
|
||||
|
||||
@@ -389,6 +389,26 @@ How long the data proxy should wait before timing out. Default is 30 seconds.
|
||||
|
||||
This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
|
||||
|
||||
### keep_alive_seconds
|
||||
|
||||
Interval between keep-alive probes. Default is `30` seconds. For more details check the [Dialer.KeepAlive](https://golang.org/pkg/net/#Dialer.KeepAlive) documentation.
|
||||
|
||||
### tls_handshake_timeout_seconds
|
||||
|
||||
The length of time that Grafana will wait for a successful TLS handshake with the datasource. Default is `10` seconds. For more details check the [Transport.TLSHandshakeTimeout](https://golang.org/pkg/net/http/#Transport.TLSHandshakeTimeout) documentation.
|
||||
|
||||
### expect_continue_timeout_seconds
|
||||
|
||||
The length of time that Grafana will wait for a datasource’s first response headers after fully writing the request headers, if the request has an “Expect: 100-continue” header. A value of `0` will result in the body being sent immediately. Default is `1` second. For more details check the [Transport.ExpectContinueTimeout](https://golang.org/pkg/net/http/#Transport.ExpectContinueTimeout) documentation.
|
||||
|
||||
### max_idle_connections
|
||||
|
||||
The maximum number of idle connections that Grafana will maintain. Default is `100`. For more details check the [Transport.MaxIdleConns](https://golang.org/pkg/net/http/#Transport.MaxIdleConns) documentation.
|
||||
|
||||
### idle_conn_timeout_seconds
|
||||
|
||||
The length of time that Grafana maintains idle connections before closing them. Default is `90` seconds. For more details check the [Transport.IdleConnTimeout](https://golang.org/pkg/net/http/#Transport.IdleConnTimeout) documentation.
|
||||
|
||||
### send_user_header
|
||||
|
||||
If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request. Default is `false`.
|
||||
@@ -601,6 +621,12 @@ Default is `false`.
|
||||
Editors can administrate dashboards, folders and teams they create.
|
||||
Default is `false`.
|
||||
|
||||
### user_invite_max_lifetime_duration
|
||||
|
||||
The duration in time a user invitation remains valid before expiring.
|
||||
This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week).
|
||||
Default is `24h` (24 hours). The minimum supported duration is `15m` (15 minutes).
|
||||
|
||||
<hr>
|
||||
|
||||
## [auth]
|
||||
@@ -649,11 +675,17 @@ Administrators can increase this if they experience OAuth login state mismatch e
|
||||
|
||||
Limit of API key seconds to live before expiration. Default is -1 (unlimited).
|
||||
|
||||
### sigv4_auth_enabled
|
||||
|
||||
> Only available in Grafana 7.3+.
|
||||
|
||||
Set to `true` to enable the AWS Signature Version 4 Authentication option for HTTP-based datasources. Default is `false`.
|
||||
|
||||
<hr />
|
||||
|
||||
## [auth.anonymous]
|
||||
|
||||
Refer to [Anonymous authentication]({{< relref "../auth/#anonymous-authentication" >}}) for detailed instructions.
|
||||
Refer to [Anonymous authentication]({{< relref "../auth/grafana.md/#anonymous-authentication" >}}) for detailed instructions.
|
||||
|
||||
<hr />
|
||||
|
||||
@@ -1391,7 +1423,7 @@ For more information about Grafana Enterprise, refer to [Grafana Enterprise]({{<
|
||||
|
||||
### enable
|
||||
|
||||
Keys of alpha features to enable, separated by space. Available alpha features are: `transformations`
|
||||
Keys of alpha features to enable, separated by space. Available alpha features are: `transformations`,`ngalert`
|
||||
|
||||
## [date_formats]
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ mkdir data # creates a folder for your data
|
||||
ID=$(id -u) # saves your user id in the ID variable
|
||||
|
||||
# starts grafana with your user id and using the data folder
|
||||
docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:5.1.0
|
||||
docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:7.2.1
|
||||
```
|
||||
|
||||
## Default paths
|
||||
|
||||
@@ -140,7 +140,7 @@ Please refer to each datasource documentation for specific provisioning examples
|
||||
| ------------- | ---------------------------------------------------------------------------------- |
|
||||
| Elasticsearch | Elasticsearch uses the `database` property to configure the index for a datasource |
|
||||
|
||||
#### Json Data
|
||||
#### JSON Data
|
||||
|
||||
Since not all datasources have the same configuration settings we only have the most common ones as fields. The rest should be stored as a json blob in the `jsonData` field. Here are the most common settings that the core datasources use.
|
||||
|
||||
@@ -157,11 +157,12 @@ Since not all datasources have the same configuration settings we only have the
|
||||
| interval | string | Elasticsearch | Index date time format. nil(No Pattern), 'Hourly', 'Daily', 'Weekly', 'Monthly' or 'Yearly' |
|
||||
| logMessageField | string | Elasticsearch | Which field should be used as the log message |
|
||||
| logLevelField | string | Elasticsearch | Which field should be used to indicate the priority of the log message |
|
||||
| authType | string | Cloudwatch | Auth provider. keys/credentials/arn |
|
||||
| assumeRoleArn | string | Cloudwatch | ARN of Assume Role |
|
||||
| defaultRegion | string | Cloudwatch | AWS region |
|
||||
| authType | string | Cloudwatch | Auth provider. default/credentials/keys |
|
||||
| externalId | string | Cloudwatch | Optional External ID |
|
||||
| assumeRoleArn | string | Cloudwatch | Optional ARN role to assume |
|
||||
| defaultRegion | string | Cloudwatch | Optional default AWS region |
|
||||
| customMetricsNamespaces | string | Cloudwatch | Namespaces of Custom Metrics |
|
||||
| profile | string | Cloudwatch | Custom credentials profile |
|
||||
| profile | string | Cloudwatch | Optional credentials profile |
|
||||
| tsdbVersion | string | OpenTSDB | Version |
|
||||
| tsdbResolution | string | OpenTSDB | Resolution |
|
||||
| sslmode | string | PostgreSQL | SSLmode. 'disable', 'require', 'verify-ca' or 'verify-full' |
|
||||
|
||||
@@ -24,7 +24,7 @@ Grafana will now persist all long term data in the database. How to configure th
|
||||
|
||||
## Alerting
|
||||
|
||||
Currently alerting supports a limited form of high availability. Since v4.2.0, alert notifications are deduped when running multiple servers. This means all alerts are executed on every server but alert notifications are only sent once per alert. Grafana does not support load distribution between servers.
|
||||
Currently alerting supports a limited form of high availability. Since v4.2.0, [alert notifications](https://grafana.com/docs/grafana/latest/alerting/notifications/) are deduped when running multiple servers. This means all alerts are executed on every server but alert notifications are only sent once per alert. Grafana does not support load distribution between servers.
|
||||
|
||||
## User sessions
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ Once these two properties are set, you can send the alerts to Kafka for further
|
||||
|
||||
### Google Hangouts Chat
|
||||
|
||||
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).
|
||||
Notifications can be sent by setting up an incoming webhook in Google Hangouts chat. For more information about configuring a webhook, refer to [webhooks](https://developers.google.com/hangouts/chat/how-tos/webhooks).
|
||||
|
||||
### Squadcast
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
+++
|
||||
title = "Docs Archive"
|
||||
keywords = ["grafana", "archive", "documentation", "guide"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Docs Archive"
|
||||
weight = 200
|
||||
+++
|
||||
|
||||
# Docs Archive
|
||||
|
||||
Here you can find links to older versions of the documentation that might be better suited for your version
|
||||
of Grafana.
|
||||
|
||||
- [Latest](/docs/grafana/latest/)
|
||||
- [Version 4.5](/docs/grafana/v4.5)
|
||||
- [Version 4.4](/docs/grafana/v4.4)
|
||||
- [Version 4.3](/docs/grafana/v4.3)
|
||||
- [Version 4.2](/docs/grafana/v4.2)
|
||||
- [Version 4.1](/docs/grafana/v4.1)
|
||||
- [Version 3.1](/docs/grafana/v3.1)
|
||||
@@ -47,7 +47,7 @@ Once you have a strategy or design guidelines, write them down to help maintain
|
||||
- Consider including your name or initials in the dashboard name or as a tag so that people know who owns the dashboard.
|
||||
- Remove temporary experiment dashboards when you are done with them.
|
||||
- If you create many related dashboards, think about how to cross-reference them for easy navigation. Refer to [Best practices for managing dashboards]({{< relref "best-practices-for-managing-dashboards.md" >}}) for more information.
|
||||
- Grafana retrieves data from a data source. A basic understanding of [data sources]({{< relref "../features/datasources/data-sources.md" >}}) in general and your specific is important.
|
||||
- Grafana retrieves data from a data source. A basic understanding of [data sources]({{< relref "../datasources/_index.md" >}}) in general and your specific is important.
|
||||
- Avoid unnecessary dashboard refreshing to reduce the load on the network or backend. For example, if your data changes every hour, then you don't need to set the dashboard refresh rate to 30 seconds.
|
||||
- Use the left and right Y-axes when displaying time series with different units or ranges.
|
||||
- Add documentation to dashboards and panels.
|
||||
|
||||
@@ -31,7 +31,7 @@ The image above shows you the top header for a Dashboard.
|
||||
|
||||
1. Side menubar toggle: This toggles the side menu, allowing you to focus on the data presented in the dashboard. The side menu provides access to features unrelated to a Dashboard such as Users, Organizations, and Data Sources.
|
||||
1. Dashboard dropdown: This dropdown shows you which Dashboard you are currently viewing, and allows you to easily switch to a new Dashboard. From here you can also create a new Dashboard or folder, import existing Dashboards, and manage Dashboard playlists.
|
||||
1. Add Panel: Adds a new panel to the current Dashboard
|
||||
1. Add Panel: Adds a new panel to the current Dashboard.
|
||||
1. Star Dashboard: Star (or unstar) the current Dashboard. Starred Dashboards will show up on your own Home Dashboard by default, and are a convenient way to mark Dashboards that you're interested in.
|
||||
1. Share Dashboard: Share the current dashboard by creating a link or create a static Snapshot of it. Make sure the Dashboard is saved before sharing.
|
||||
1. Save dashboard: The current Dashboard will be saved with the current Dashboard name.
|
||||
|
||||
@@ -70,10 +70,10 @@ to show.
|
||||
|
||||
The annotation query options are different for each data source.
|
||||
|
||||
- [Graphite annotation queries]({{< relref "../features/datasources/graphite.md#annotations" >}})
|
||||
- [Elasticsearch annotation queries]({{< relref "../features/datasources/elasticsearch.md#annotations" >}})
|
||||
- [InfluxDB annotation queries]({{< relref "../features/datasources/influxdb.md#annotations" >}})
|
||||
- [Prometheus annotation queries]({{< relref "../features/datasources/prometheus.md#annotations" >}})
|
||||
- [MySQL annotation queries]({{< relref "../features/datasources/mysql.md#annotations" >}})
|
||||
- [Postgres annotation queries]({{< relref "../features/datasources/postgres.md#annotations" >}})
|
||||
- [Loki annotation queries]({{< relref "../features/datasources/loki.md#annotations" >}})
|
||||
- [Graphite annotation queries]({{< relref "../datasources/graphite.md#annotations" >}})
|
||||
- [Elasticsearch annotation queries]({{< relref "../datasources/elasticsearch.md#annotations" >}})
|
||||
- [InfluxDB annotation queries]({{< relref "../datasources/influxdb.md#annotations" >}})
|
||||
- [Prometheus annotation queries]({{< relref "../datasources/prometheus.md#annotations" >}})
|
||||
- [MySQL annotation queries]({{< relref "../datasources/mysql.md#annotations" >}})
|
||||
- [Postgres annotation queries]({{< relref "../datasources/postgres.md#annotations" >}})
|
||||
- [Loki annotation queries]({{< relref "../datasources/loki.md#annotations" >}})
|
||||
|
||||
@@ -14,7 +14,7 @@ weight = 1500
|
||||
|
||||
If you have lots of metric names that change (new servers etc) in a defined pattern it is irritating to constantly have to create new dashboards.
|
||||
|
||||
With scripted dashboards you can dynamically create your dashboards using javascript. In the grafana install folder
|
||||
With scripted dashboards you can dynamically create your dashboards using javascript. In the Grafana install folder
|
||||
under `public/dashboards/` there is a file named `scripted.js`. This file contains an example of a scripted dashboard. You can access it by using the URL:
|
||||
`http://grafana_url/dashboard/script/scripted.js?rows=3&name=myName`
|
||||
|
||||
@@ -55,4 +55,4 @@ return dashboard;
|
||||
|
||||
## More examples
|
||||
|
||||
You can find more examples in `public/dashboards/` directory of your grafana installation.
|
||||
You can find more examples in `public/dashboards/` directory of your Grafana installation.
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
+++
|
||||
title = "Data Sources"
|
||||
title = "Data sources"
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/overview/"]
|
||||
[menu.docs]
|
||||
name = "Data Sources"
|
||||
name = "Data sources"
|
||||
identifier = "datasources"
|
||||
parent = "features"
|
||||
weight = 5
|
||||
weight = 50
|
||||
+++
|
||||
|
||||
# Data Source Overview
|
||||
# Data sources
|
||||
|
||||
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.
|
||||
|
||||
@@ -33,15 +33,18 @@ The following data sources are officially supported:
|
||||
- [OpenTSDB]({{< relref "opentsdb.md" >}})
|
||||
- [PostgreSQL]({{< relref "postgres.md" >}})
|
||||
- [Prometheus]({{< relref "prometheus.md" >}})
|
||||
- [Jaeger]({{< relref "jaeger.md" >}})
|
||||
- [Zipkin]({{< relref "zipkin.md" >}})
|
||||
- [Tempo]({{< relref "tempo.md" >}})
|
||||
- [Testdata]({{< relref "testdata.md" >}})
|
||||
|
||||
In addition to the data sources that you have configured in your Grafana, there are three special data sources available:
|
||||
|
||||
- **Grafana -** A built-in data source that generates random walk data. Useful for testing visualizations and running experiments.
|
||||
- **Mixed -** Select this to query multiple data sources in the same panel. When this data source is selected, Grafana allows you to select a data source for every new query that you add.
|
||||
* The first query will use the data source that was selected before you selected **Mixed**.
|
||||
* You cannot change an existing query to use the Mixed Data Source.
|
||||
* Grafana Play example: [Mixed data sources](https://play.grafana.org/d/000000100/mixed-datasources?orgId=1)
|
||||
- The first query will use the data source that was selected before you selected **Mixed**.
|
||||
- You cannot change an existing query to use the Mixed Data Source.
|
||||
- Grafana Play example: [Mixed data sources](https://play.grafana.org/d/000000100/mixed-datasources?orgId=1)
|
||||
- **Dashboard -** Select this to use a result set from another panel in the same dashboard.
|
||||
|
||||
## Data source plugins
|
||||
+4
-3
@@ -1,11 +1,12 @@
|
||||
+++
|
||||
title = "Add a data source"
|
||||
title = "Add data source"
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/datasources/add-a-data-source/"]
|
||||
[menu.docs]
|
||||
name = "Add a data source"
|
||||
identifier = "add_data_source"
|
||||
parent = "features"
|
||||
weight = 2
|
||||
weight = 100
|
||||
+++
|
||||
|
||||
# Add a data source
|
||||
@@ -26,6 +27,6 @@ Before you create your first dashboard, you need to add your data source. Follow
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v52/datasource-settings.png" max-width="700px" class="docs-image--no-shadow">}}
|
||||
|
||||
1. In the **Type**, select the type of data source. See [Supported data sources]({{< relref "../../features/datasources/#supported-data-sources/" >}}) for more information and how to configure your data source settings.
|
||||
1. In the **Type**, select the type of data source. See [Supported data sources]({{< relref "_index.md#supported-data-sources" >}}) for more information and how to configure your data source settings.
|
||||
|
||||
1. Click **Save & Test**.
|
||||
Executable → Regular
+13
-14
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using Azure Monitor in Grafana"
|
||||
title = "Azure Monitor"
|
||||
description = "Guide for using Azure Monitor in Grafana"
|
||||
keywords = ["grafana", "microsoft", "azure", "monitor", "application", "insights", "log", "analytics", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/azuremonitor"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/azuremonitor"]
|
||||
[menu.docs]
|
||||
name = "Azure Monitor"
|
||||
parent = "datasources"
|
||||
weight = 5
|
||||
weight = 300
|
||||
+++
|
||||
|
||||
# Using Azure Monitor in Grafana
|
||||
@@ -154,16 +154,16 @@ Examples:
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-variables.png" class="docs-image--no-shadow" caption="Nested Azure Monitor Template Variables" >}}
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### List of supported Azure Monitor metrics
|
||||
|
||||
Not all metrics returned by the Azure Monitor API have values. To make it easier for you when building a query, the Grafana data source has a list of supported Azure Monitor metrics and ignores metrics which will never have values. This list is updated regularly as new services and metrics are added to the Azure cloud. You can find the current list [here](https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/supported_namespaces.ts).
|
||||
Not all metrics returned by the Azure Monitor API have values. To make it easier for you when building a query, the Grafana data source has a list of supported Azure Monitor metrics and ignores metrics which will never have values. This list is updated regularly as new services and metrics are added to the Azure cloud. For more information about the list of Azure Monitor metrics, refer to [current supported namespaces](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/alerts-overview.md" >}}).
|
||||
Grafana alerting is supported for the Azure Monitor service. This is not Azure Alerts support. For more information about Grafana alerting, refer to [how alerting in Grafana works]({{< relref "../alerting/alerts-overview.md" >}}).
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azuremonitor-alerting.png" class="docs-image--no-shadow" caption="Azure Monitor Alerting" >}}
|
||||
|
||||
@@ -208,8 +208,7 @@ Examples:
|
||||
|
||||
Use the one of the following queries in the `Query` field in the Variable edit view.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
| Name | Description |
|
||||
| ---------------------------------- | ------------------------------------------------------------ |
|
||||
@@ -226,7 +225,7 @@ Examples:
|
||||
|
||||
### Application Insights alerting
|
||||
|
||||
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works [here]({{< relref "../../alerting/alerts-overview.md" >}}).
|
||||
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. For more information about Grafana alerting, refer to [Alerts overview]({{< relref "../alerting/alerts-overview.md" >}}).
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v60/azuremonitor-alerting.png" class="docs-image--no-shadow" caption="Azure Monitor Alerting" >}}
|
||||
|
||||
@@ -289,7 +288,7 @@ The default display name format is:
|
||||
|
||||
`metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}`
|
||||
|
||||
This can be customized by using the [display name field option]({{< relref "../../panels/field-options/_index.md#display-name" >}}).
|
||||
This can be customized by using the [display name field option]({{< relref "../panels/field-options/_index.md#display-name" >}}).
|
||||
|
||||
### Azure Log Analytics macros
|
||||
|
||||
@@ -317,13 +316,13 @@ To make writing queries easier there are several Grafana macros that can be used
|
||||
|
||||
There are also some Grafana variables that can be used in Azure Log Analytics queries:
|
||||
|
||||
- `$__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 "../../variables/variable-types/_index.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)`
|
||||
- `$__interval` - Grafana calculates the minimum time grain that can be used to group by time in queries. For more information about `$__interval`, refer to [interval variables]({{< relref "../variables/variable-types/_index.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)`
|
||||
|
||||
### Templating with variables for Azure Log Analytics
|
||||
|
||||
Any Log Analytics query that returns a list of values can be used in the `Query` field in the Variable edit view. There is also one Grafana function for Log Analytics that returns a list of workspaces.
|
||||
|
||||
Refer to the [Variables]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Refer to the [Variables]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
| Name | Description |
|
||||
@@ -374,7 +373,7 @@ If you're not currently logged in to the Azure Portal, then the link opens the l
|
||||
|
||||
> Only available in Grafana v7.0+.
|
||||
|
||||
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works in [Alerting rules]({{< relref "../../alerting/alerts-overview.md" >}}).
|
||||
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works in [Alerting rules]({{< relref "../alerting/alerts-overview.md" >}}).
|
||||
|
||||
## Query the Application Insights Analytics service
|
||||
|
||||
@@ -384,7 +383,7 @@ If you change the service type to **Insights Analytics**, then a similar editor
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
+34
-13
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using Google Cloud Monitoring in Grafana"
|
||||
title = "Cloud Monitoring"
|
||||
description = "Guide for using Google Cloud Monitoring in Grafana"
|
||||
keywords = ["grafana", "stackdriver", "google", "guide", "cloud", "monitoring"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/stackdriver", "/docs/grafana/latest/features/datasources/stackdriver/"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/stackdriver", "/docs/grafana/latest/features/datasources/cloudmonitoring/"]
|
||||
[menu.docs]
|
||||
name = "Google Cloud Monitoring"
|
||||
parent = "datasources"
|
||||
weight = 4
|
||||
weight = 200
|
||||
+++
|
||||
|
||||
# Using Google Cloud Monitoring in Grafana
|
||||
@@ -81,11 +81,11 @@ Click on the links above and click the `Enable` button:
|
||||
|
||||
If Grafana is running on a Google Compute Engine (GCE) virtual machine, it is possible for Grafana to automatically retrieve default credentials from the metadata server. This has the advantage of not needing to generate a private key file for the service account and also not having to upload the file to Grafana. However for this to work, there are a few preconditions that need to be met.
|
||||
|
||||
1. First of all, you need to create a Service Account that can be used by the GCE virtual machine. See detailed instructions on how to do that [here](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#createanewserviceaccount).
|
||||
1. Make sure the GCE virtual machine instance is being run as the service account that you just created. See instructions [here](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#using).
|
||||
1. First of all, you need to create a Service Account that can be used by the GCE virtual machine. For more information, refer to [Create new service account](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#createanewserviceaccount).
|
||||
1. Make sure the GCE virtual machine instance is being run as the service account that you just created. For more information, refer to [using service account for instance](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#using).
|
||||
1. Allow access to the `Cloud Monitoring API` scope.
|
||||
|
||||
Read more about creating and enabling service accounts for GCE VM instances [here](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances).
|
||||
For more information about creating and enabling service accounts for GCE VM instances, refer to [enable service accounts for instances](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances).
|
||||
|
||||
## Using the Query Editor
|
||||
|
||||
@@ -121,9 +121,9 @@ When the operator is set to `=~` or `!=~` it is possible to add regular expressi
|
||||
|
||||
#### Aggregation
|
||||
|
||||
The aggregation field lets you combine time series based on common statistics. Read more about this option [here](https://cloud.google.com/monitoring/charts/metrics-selector#aggregation-options).
|
||||
The aggregation field lets you combine time series based on common statistics. For more information about aggregation, refer to [aggregation options](https://cloud.google.com/monitoring/charts/metrics-selector#aggregation-options).
|
||||
|
||||
The `Aligner` field allows you to align multiple time series after the same group by time interval. Read more about how it works [here](https://cloud.google.com/monitoring/charts/metrics-selector#alignment).
|
||||
The `Aligner` field allows you to align multiple time series after the same group by time interval. For more information about aligner, refer to [alignment metric selector](https://cloud.google.com/monitoring/charts/metrics-selector#alignment).
|
||||
|
||||
##### Alignment Period/Group by Time
|
||||
|
||||
@@ -134,7 +134,7 @@ The option is called `cloud monitoring auto` and the defaults are:
|
||||
- 5m for time ranges >= 23 hours and < 6 days
|
||||
- 1h for time ranges >= 6 days
|
||||
|
||||
The other automatic option is `grafana auto`. This will automatically set the group by time depending on the time range chosen and the width of the graph panel. Read more about the details [here](http://docs.grafana.org/variables/templates-and-variables/#the-interval-variable).
|
||||
The other automatic option is `grafana auto`. This will automatically set the group by time depending on the time range chosen and the width of the graph panel. For more information about grafana auto, refer to the [interval variable](http://docs.grafana.org/variables/templates-and-variables/#the-interval-variable).
|
||||
|
||||
It is also possible to choose fixed time intervals to group by, like `1h` or `1d`.
|
||||
|
||||
@@ -171,7 +171,7 @@ In the Group By dropdown, you can see a list of metric and resource labels for a
|
||||
| `{{metadata.system_labels.xxx}}` | returns the meta data system label value | `{{metadata.system_labels.name}}` | `grafana` |
|
||||
| `{{metadata.user_labels.xxx}}` | returns the meta data user label value | `{{metadata.user_labels.tag}}` | `production` |
|
||||
|
||||
Example Alias By: `{{metric.type}} - {{metric.labels.instance_name}}`
|
||||
Example Alias By: `{{metric.type}} - {{metric.label.instance_name}}`
|
||||
|
||||
Example Result: `compute.googleapis.com/instance/cpu/usage_time - server1-prod`
|
||||
|
||||
@@ -232,7 +232,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query Variable
|
||||
@@ -265,7 +265,7 @@ Why two ways? The first syntax is easier to read and write but does not allow yo
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v71/cloudmonitoring_annotations_query_editor.png" max-width= "400px" class="docs-image--right" >}}
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
queries via the Dashboard menu / Annotations view. Annotation rendering is expensive so it is important to limit the number of rows returned. There is no support for showing Google Cloud Monitoring annotations and events yet but it works well with [custom metrics](https://cloud.google.com/monitoring/custom-metrics/) in Google Cloud Monitoring.
|
||||
|
||||
With the query editor for annotations, you can select a metric and filters. The `Title` and `Text` fields support templating and can use data returned from the query. For example, the Title field could have the following text:
|
||||
@@ -287,7 +287,7 @@ Example Result: `monitoring.googleapis.com/uptime_check/http_status has this val
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here is a provisioning example using the JWT (Service Account key file) authentication type.
|
||||
|
||||
@@ -335,3 +335,24 @@ Only available in Grafana v7.1+.
|
||||
|
||||
Click on a time series in the panel to see a context menu with a link to View in Metrics Explorer in Google Cloud Console. Clicking that link opens the Metrics Explorer in the Google Cloud Console and runs the query from the Grafana panel there.
|
||||
The link navigates the user first to the Google Account Chooser and after successfully selecting an account, the user is redirected to the Metrics Explorer. The provided link is valid for any account, but it only displays the query if your account has access to the GCP project specified in the query.
|
||||
|
||||
## Out-of-the-box dashboards
|
||||
|
||||
> Only available in Grafana v7.3+.
|
||||
|
||||
The updated Cloud Monitoring data source ships with pre-configured dashboards for five of the most popular GCP services:
|
||||
|
||||
1. BigQuery
|
||||
1. Cloud Load Balancing
|
||||
1. Cloud SQL
|
||||
1. Google Compute Engine `GCE`
|
||||
1. Google Kubernetes Engine `GKE`
|
||||
|
||||
To import the pre-configured dashboards, go to the configuration page of a Cloud monitoring data source and click on the `Dashboards` tab. Click `Import` for the dashboard you would like to use.
|
||||
The datasource of the newly created dashboard panels will be the one selected above.
|
||||
|
||||
The dashboards have a template variable which is populated with the projects accessible by the configured service account every time the dashboard is loaded. After the dashboard is loaded, you can select the project you prefer from the drop-down list.
|
||||
|
||||
To customize the dashboard, we recommend saving the dashboard under a different name, because otherwise the dashboard will be overwritten when a new version of the dashboard is released.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v73/cloud-monitoring-dashboard-import.png" caption="Cloud Monitoring dashboard import" >}}
|
||||
Executable → Regular
+58
-24
@@ -8,7 +8,7 @@ aliases = ["/docs/grafana/latest/datasources/cloudwatch"]
|
||||
name = "AWS Cloudwatch"
|
||||
identifier = "cloudwatch"
|
||||
parent = "datasources"
|
||||
weight = 5
|
||||
weight = 200
|
||||
+++
|
||||
|
||||
# Using AWS CloudWatch in Grafana
|
||||
@@ -31,23 +31,28 @@ build dashboards or use Explore with CloudWatch metrics and CloudWatch Logs.
|
||||
| _Default_ | Default data source means that it will be pre-selected for new panels. |
|
||||
| _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 Provider_ | Specify the authentication method. |
|
||||
| _Credentials Profile Name_ | If you use "Credentials file" for _Authentication Provider_, optionally specify a non-default profile. |
|
||||
| _Assume Role ARN_ | Optionally specify the ARN of a role to assume. |
|
||||
| _External ID_ | If you are assuming a role in another account, that has been created with an external ID, specify the external ID here. |
|
||||
|
||||
## Authentication
|
||||
|
||||
### IAM Roles
|
||||
### AWS credentials
|
||||
|
||||
Currently all access to CloudWatch is done server side by the Grafana backend using the official AWS SDK. If your Grafana
|
||||
server is running on AWS you can use IAM Roles and authentication will be handled automatically.
|
||||
There are three different authentication methods available. `AWS SDK Default` performs no custom configuration at all and instead uses the [default provider](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html) as specified by the AWS SDK for Go. This requires you to configure your AWS credentials separately, such as if you've [configured the CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html), if you're [running on an EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html), [in an ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) or for a [Service Account in a Kubernetes cluster](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).
|
||||
|
||||
`Credentials file` corresponds directly to the [SharedCredentialsProvider](https://docs.aws.amazon.com/sdk-for-go/api/aws/credentials/#SharedCredentialsProvider) provider in the Go SDK. In short, it will read the AWS shared credentials file and find the given profile. While `AWS SDK Default` will also find the shared credentials file, this option allows you to specify which profile to use without using environment variables. It doesn't have any implicit fallbacks to other credential providers, and will fail if using credentials from the credentials file doesn't work.
|
||||
|
||||
`Access & secret key` corresponds to the [StaticProvider](https://docs.aws.amazon.com/sdk-for-go/api/aws/credentials/#StaticProvider) and uses the given access key ID and secret key to authenticate. This method doesn't have any fallbacks, and will fail if the provided key pair doesn't work.
|
||||
|
||||
### IAM roles
|
||||
|
||||
Currently all access to CloudWatch is done server side by the Grafana backend using the official AWS SDK. Providing you have chosen the _AWS SDK Default_ authentication method, and your Grafana server is running on AWS, you can use IAM Roles to handle authentication automically.
|
||||
|
||||
See the AWS documentation on [IAM Roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
|
||||
|
||||
> **Note:** AWS Role Switching as described [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-cli.html) is not supported at the moment.
|
||||
|
||||
## IAM Policies
|
||||
### IAM policies
|
||||
|
||||
Grafana needs permissions granted via IAM to be able to read CloudWatch metrics
|
||||
and EC2 tags/instances/regions. You can attach these permissions to IAM roles and
|
||||
@@ -101,22 +106,26 @@ Here is a minimal policy example:
|
||||
}
|
||||
```
|
||||
|
||||
### AWS credentials
|
||||
### Assuming a role
|
||||
|
||||
If Auth Provider is `Credentials file`, Grafana tries to get credentials in the following order.
|
||||
The `Assume Role ARN` field allows you to specify which IAM role to assume, if any. When left blank, the provided credentials are used directly and the associated role or user should have the required permissions. If this field is non-blank, on the other hand, the provided credentials are used to perform an [sts:AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) call.
|
||||
|
||||
- Environment variables. (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`)
|
||||
- Hard-code credentials.
|
||||
- Shared credentials file.
|
||||
- IAM role for Amazon EC2.
|
||||
### EKS IAM roles for service accounts
|
||||
|
||||
See the AWS documentation on [Configuring the AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html)
|
||||
The Grafana process in the container runs as user 472 (called "grafana"). When Kubernetes mounts your projected credentials, they will by default only be available to the root user. In order to allow user 472 to access the credentials (and avoid it falling back to the IAM role attached to the EC2 instance), you will need to provide a [security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for your pod.
|
||||
|
||||
```
|
||||
securityContext:
|
||||
fsGroup: 472
|
||||
runAsUser: 472
|
||||
runAsGroup: 472
|
||||
```
|
||||
|
||||
### AWS credentials file
|
||||
|
||||
Create a file at `~/.aws/credentials`. That is the `HOME` path for user running grafana-server.
|
||||
|
||||
> **Note:** If you think you have the credentials file in the right place but it is still not working then you might try moving your .aws file to '/usr/share/grafana/' and make sure your credentials file has at most 0644 permissions.
|
||||
> **Note:** If you think you have the credentials file in the right place and it is still not working, you might try moving your .aws file to '/usr/share/grafana/' and make sure your credentials file has at most 0644 permissions.
|
||||
|
||||
Example content:
|
||||
|
||||
@@ -203,7 +212,7 @@ To the right of the query input field is a CloudWatch Logs Insights link that op
|
||||
### Using template variables
|
||||
|
||||
As with several other data sources, the CloudWatch data source supports the use of template variables in queries.
|
||||
See the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
See the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Deep linking from Grafana panels to the CloudWatch console
|
||||
|
||||
@@ -214,7 +223,7 @@ If you're not currently logged in to the CloudWatch console, the link will forwa
|
||||
### Alerting
|
||||
|
||||
Since CloudWatch Logs queries can return numeric data, for example through the use of the `stats` command, alerts are supported.
|
||||
See the [Alerting]({{< relref "../../alerting/alerts-overview.md" >}}) documentation for more on Grafana alerts.
|
||||
See the [Alerting]({{< relref "../alerting/alerts-overview.md" >}}) documentation for more on Grafana alerts.
|
||||
|
||||
## Curated dashboards
|
||||
|
||||
@@ -236,7 +245,7 @@ To import the pre-configured dashboards, go to the configuration page of your Cl
|
||||
|
||||
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 make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
See the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
See the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query variable
|
||||
|
||||
@@ -368,17 +377,29 @@ Please see the AWS documentation for [Service Quotas](https://docs.aws.amazon.co
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
### Using AWS SDK Default
|
||||
|
||||
```yaml
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
- name: CloudWatch
|
||||
type: cloudwatch
|
||||
jsonData:
|
||||
authType: default
|
||||
defaultRegion: eu-west-2
|
||||
```
|
||||
|
||||
### Using credentials profile name (non-default)
|
||||
|
||||
```yaml
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Cloudwatch
|
||||
- name: CloudWatch
|
||||
type: cloudwatch
|
||||
jsonData:
|
||||
authType: credentials
|
||||
@@ -393,7 +414,7 @@ datasources:
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Cloudwatch
|
||||
- name: CloudWatch
|
||||
type: cloudwatch
|
||||
jsonData:
|
||||
authType: keys
|
||||
@@ -402,3 +423,16 @@ datasources:
|
||||
accessKey: '<your access key>'
|
||||
secretKey: '<your secret key>'
|
||||
```
|
||||
|
||||
### Using AWS SDK Default and ARN of IAM Role to Assume
|
||||
|
||||
```yaml
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
- name: CloudWatch
|
||||
type: cloudwatch
|
||||
jsonData:
|
||||
authType: default
|
||||
assumeRoleArn: arn:aws:iam::123456789012:root
|
||||
defaultRegion: eu-west-2
|
||||
```
|
||||
+9
-14
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using Elasticsearch in Grafana"
|
||||
title = "Elasticsearch"
|
||||
description = "Guide for using Elasticsearch in Grafana"
|
||||
keywords = ["grafana", "elasticsearch", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/elasticsearch"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/elasticsearch"]
|
||||
[menu.docs]
|
||||
name = "Elasticsearch"
|
||||
parent = "datasources"
|
||||
weight = 3
|
||||
weight = 400
|
||||
+++
|
||||
|
||||
# Using Elasticsearch in Grafana
|
||||
@@ -84,7 +84,7 @@ number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 se
|
||||
> Only available in Grafana v6.3+.
|
||||
|
||||
There are two parameters, `Message field name` and `Level field name`, that can optionally be configured from the data source settings page that determine
|
||||
which fields will be used for log messages and log levels when visualizing logs in [Explore]({{< relref "../../explore" >}}).
|
||||
which fields will be used for log messages and log levels when visualizing logs in [Explore]({{< relref "../explore" >}}).
|
||||
|
||||
For example, if you're using a default setup of Filebeat for shipping logs to Elasticsearch the following configuration should work:
|
||||
|
||||
@@ -129,7 +129,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
@@ -181,7 +181,7 @@ Example dashboard:
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
queries via the Dashboard menu / Annotations view. Grafana can query any Elasticsearch index
|
||||
for annotation events.
|
||||
|
||||
@@ -197,13 +197,8 @@ for annotation events.
|
||||
|
||||
> Only available in Grafana v6.3+.
|
||||
|
||||
Querying and displaying log data from Elasticsearch is available via [Explore]({{< relref "../../explore" >}}).
|
||||
|
||||

|
||||
|
||||
Select the Elasticsearch data source, change to Logs using the Metrics/Logs switcher, and then optionally enter a lucene query into the query field to filter the log messages.
|
||||
|
||||
Finally, press the `Enter` key or the `Run Query` button to display your logs.
|
||||
Querying and displaying log data from Elasticsearch is available in [Explore]({{< relref "../explore" >}}), and in the [logs panel]({{< relref "../panels/visualizations/logs-panel.md" >}}) in dashboards.
|
||||
Select the Elasticsearch data source, and then optionally enter a lucene query to display your logs.
|
||||
|
||||
### Log Queries
|
||||
|
||||
@@ -217,7 +212,7 @@ Optionally enter a lucene query into the query field to filter the log messages.
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
Executable → Regular
+9
-9
@@ -1,14 +1,14 @@
|
||||
+++
|
||||
title = "Using Graphite in Grafana"
|
||||
title = "Graphite"
|
||||
description = "Guide for using graphite in Grafana"
|
||||
keywords = ["grafana", "graphite", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/graphite"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/graphite"]
|
||||
[menu.docs]
|
||||
name = "Graphite"
|
||||
identifier = "graphite"
|
||||
parent = "datasources"
|
||||
weight = 1
|
||||
weight = 600
|
||||
+++
|
||||
|
||||
# Using Graphite in Grafana
|
||||
@@ -29,7 +29,7 @@ Name | The data source name. This is how you refer to the data source in panels
|
||||
Default | Default data source means that it will be pre-selected for new panels.
|
||||
URL | The HTTP protocol, IP, and port of your graphite-web or graphite-api install.
|
||||
Access | Server (default) = URL needs to be accessible from the Grafana backend/server, Browser = URL needs to be accessible from the browser.
|
||||
Auth | Refer to [Authentication]({{< relref "../../auth/_index.md" >}}) for more information.
|
||||
Auth | Refer to [Authentication]({{< relref "../auth/_index.md" >}}) for more information.
|
||||
Basic Auth | Enable basic authentication to the data source.
|
||||
User | User name for basic authentication.
|
||||
Password | Password for basic authentication.
|
||||
@@ -125,7 +125,7 @@ Instead of hard-coding things like server, application, and sensor name in your
|
||||
Variables are shown as drop-down select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
For more information, refer to [Variables and templates]({{< relref "../../variables/_index.md" >}}).
|
||||
For more information, refer to [Variables and templates]({{< relref "../variables/_index.md" >}}).
|
||||
|
||||
Graphite 1.1 introduced tags and Grafana added support for Graphite queries with tags in version 5.0. To create a variable using tag values, use the Grafana functions `tags` and `tag_values`.
|
||||
|
||||
@@ -191,11 +191,11 @@ Example of a tag expression with regex formatting and using the Equal Tilde oper
|
||||
server=~${servers:regex}
|
||||
```
|
||||
|
||||
For more information, refer to [Advanced variable format options]({{< relref "../../variables/advanced-variable-format-options.md" >}}).
|
||||
For more information, refer to [Advanced variable format options]({{< relref "../variables/advanced-variable-format-options.md" >}}).
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
queries via the Dashboard menu / Annotations view.
|
||||
|
||||
Graphite supports two ways to query annotations. A regular metric query, for this you use the `Graphite query` textbox. A Graphite events query, use the `Graphite event tags` textbox,
|
||||
@@ -203,11 +203,11 @@ specify a tag or wildcard (leave empty should also work)
|
||||
|
||||
## Get Grafana metrics into Graphite
|
||||
|
||||
Grafana exposes metrics for Graphite on the `/metrics` endpoint. For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../../administration/metrics.md">}}).
|
||||
Grafana exposes metrics for Graphite on the `/metrics` endpoint. For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../administration/metrics.md">}}).
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
Executable → Regular
+8
-12
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using InfluxDB in Grafana"
|
||||
title = "InfluxDB"
|
||||
description = "Guide for using InfluxDB in Grafana"
|
||||
keywords = ["grafana", "influxdb", "guide", "flux"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/influxdb"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/influxdb"]
|
||||
[menu.docs]
|
||||
name = "InfluxDB"
|
||||
parent = "datasources"
|
||||
weight = 2
|
||||
weight = 700
|
||||
+++
|
||||
|
||||
# Using InfluxDB in Grafana
|
||||
@@ -180,12 +180,8 @@ You can view the interpolated version of a query with the Query Inspector.
|
||||
|
||||
> Only available in Grafana v6.3+.
|
||||
|
||||
Querying and displaying log data from InfluxDB is available via [Explore]({{< relref "../../explore" >}}).
|
||||
|
||||

|
||||
|
||||
Select the InfluxDB data source, change to Logs using the Metrics/Logs switcher,
|
||||
and then use the `Measurements/Fields` button to display your logs.
|
||||
Querying and displaying log data from InfluxDB is available in [Explore]({{< relref "../explore" >}}), and in the [logs panel]({{< relref "../panels/visualizations/logs-panel.md" >}}) in dashboards.
|
||||
Select the InfluxDB data source, and then enter a query to display your logs.
|
||||
|
||||
### Log Queries
|
||||
|
||||
@@ -203,7 +199,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
@@ -262,7 +258,7 @@ be applied to all your InfluxDB queries.
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allows you to overlay rich event information on top of graphs. Add annotation queries using the Annotations view in the Dashboard menu.
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allows you to overlay rich event information on top of graphs. Add annotation queries using the Annotations view in the Dashboard menu.
|
||||
|
||||
An example query:
|
||||
|
||||
@@ -274,7 +270,7 @@ For InfluxDB, you need to enter a query like the one in the example above. The `
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
You can now configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}}).
|
||||
You can now configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}}).
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
+++
|
||||
title = "Using Jaeger in Grafana"
|
||||
title = "Jaeger"
|
||||
description = "Guide for using Jaeger in Grafana"
|
||||
keywords = ["grafana", "jaeger", "guide", "tracing"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/jeager"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/jaeger"]
|
||||
[menu.docs]
|
||||
name = "Jaeger"
|
||||
parent = "datasources"
|
||||
weight = 2
|
||||
weight = 800
|
||||
+++
|
||||
|
||||
# Jaeger data source
|
||||
|
||||
Grafana ships with built-in support for Jaeger, which provides open source, end-to-end distributed tracing.
|
||||
Just add it as a data source and you are ready to query your traces in [Explore]({{< relref "../../explore/index.md" >}}).
|
||||
Just add it as a data source and you are ready to query your traces in [Explore]({{< relref "../explore/index.md" >}}).
|
||||
|
||||
## Adding the data source
|
||||
To access Jaeger settings, click the **Configuration** (gear) icon, then click **Data Sources**, and then click **Jaeger**.
|
||||
@@ -30,7 +30,7 @@ To access Jaeger settings, click the **Configuration** (gear) icon, then click *
|
||||
|
||||
## Query traces
|
||||
|
||||
You can query and display traces from Jaeger via [Explore]({{< relref "../../explore/index.md" >}}).
|
||||
You can query and display traces from Jaeger via [Explore]({{< relref "../explore/index.md" >}}).
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/jaeger-query-editor.png" class="docs-image--no-shadow" caption="Screenshot of the Jaeger query editor" >}}
|
||||
|
||||
@@ -40,7 +40,7 @@ The Jaeger query editor allows you to query by trace ID directly or selecting a
|
||||
|
||||
Use the trace selector to pick particular trace from all traces logged in the time range you have selected in Explore. The trace selector has three levels of nesting:
|
||||
1. The service you are interested in.
|
||||
1. Particular operation is part of the selected service
|
||||
1. Particular operation is part of the selected service.
|
||||
1. Specific trace in which the selected operation occurred, represented by the root operation name and trace duration.
|
||||
|
||||
## Linking Trace ID from logs
|
||||
Executable → Regular
+10
-10
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using Loki in Grafana"
|
||||
title = "Loki"
|
||||
description = "Guide for using Loki in Grafana"
|
||||
keywords = ["grafana", "loki", "logging", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/loki"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/loki"]
|
||||
[menu.docs]
|
||||
name = "Loki"
|
||||
parent = "datasources"
|
||||
weight = 6
|
||||
weight = 800
|
||||
+++
|
||||
|
||||
# Using Loki in Grafana
|
||||
@@ -18,7 +18,7 @@ weight = 6
|
||||
> Viewing Loki data in dashboard panels is supported in Grafana v6.4+.
|
||||
|
||||
Grafana ships with built-in support for Loki, Grafana's log aggregation system.
|
||||
Just add it as a data source and you are ready to query your log data in [Explore]({{< relref "../../explore" >}}).
|
||||
Just add it as a data source and you are ready to query your log data in [Explore]({{< relref "../explore" >}}).
|
||||
|
||||
## Adding the data source
|
||||
|
||||
@@ -60,7 +60,7 @@ The new field with the link shown in log details:
|
||||
|
||||
## Querying Logs
|
||||
|
||||
Querying and displaying log data from Loki is available via [Explore]({{< relref "../../explore" >}}), and with the [logs panel]({{< relref "../../panels/visualizations/logs-panel.md" >}}) in dashboards. Select the Loki data source, and then enter a [LogQL](https://grafana.com/docs/loki/latest/logql/) query to display your logs.
|
||||
Querying and displaying log data from Loki is available via [Explore]({{< relref "../explore" >}}), and with the [logs panel]({{< relref "../panels/visualizations/logs-panel.md" >}}) in dashboards. Select the Loki data source, and then enter a [LogQL](https://grafana.com/docs/loki/latest/logql/) query to display your logs.
|
||||
|
||||
### Log Queries
|
||||
|
||||
@@ -124,11 +124,11 @@ The following filter types are currently supported:
|
||||
- `|~` line matches regular expression.
|
||||
- `!~` line does not match regular expression.
|
||||
|
||||
> **Note:** For more details about LogQL, Loki's query language, refer to the [documentation](https://grafana.com/docs/loki/latest/logql/)
|
||||
> **Note:** For more details about LogQL, Loki's query language, refer to the [Loki LogQL](https://grafana.com/docs/loki/latest/logql/)
|
||||
|
||||
## Live tailing
|
||||
|
||||
Loki supports Live tailing which displays logs in real-time. This feature is supported in [Explore]({{< relref "../../explore/#loki-specific-features" >}}).
|
||||
Loki supports Live tailing which displays logs in real-time. This feature is supported in [Explore]({{< relref "../explore/#loki-specific-features" >}}).
|
||||
|
||||
Note that Live Tailing relies on two Websocket connections: one between the browser and the Grafana server, and another between the Grafana server and the Loki server. If you run any reverse proxies, please configure them accordingly. The following example for Apache2 can be used for proxying between the browser and the Grafana server:
|
||||
```
|
||||
@@ -149,18 +149,18 @@ log message you're interested in.
|
||||
|
||||
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 drop-down select boxes at the top of the dashboard. These drop-down boxes make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
## Annotations
|
||||
|
||||
You can use any non-metric Loki query as a source for annotations. Log content will be used as annotation text and your log stream labels as tags, so there is no need for additional mapping.
|
||||
You can use any non-metric Loki query as a source for [annotations]({{< relref "../dashboards/annotations" >}}). Log content will be used as annotation text and your log stream labels as tags, so there is no need for additional mapping.
|
||||
|
||||
> **Note:** Annotations for Loki are only available in Grafana v6.4+
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
You can set up the data source via config files with Grafana's provisioning system.
|
||||
You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here is an example:
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
+++
|
||||
title = "Using Microsoft SQL Server in Grafana"
|
||||
title = "Microsoft SQL Server"
|
||||
description = "Guide for using Microsoft SQL Server in Grafana"
|
||||
keywords = ["grafana", "MSSQL", "Microsoft", "SQL", "guide", "Azure SQL Database"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/datasources/mssql/"]
|
||||
[menu.docs]
|
||||
name = "Microsoft SQL Server"
|
||||
parent = "datasources"
|
||||
weight = 8
|
||||
weight = 900
|
||||
+++
|
||||
|
||||
# Using Microsoft SQL Server in Grafana
|
||||
@@ -39,7 +40,7 @@ Name | Description
|
||||
|
||||
### Min time interval
|
||||
|
||||
A lower limit for the [$__interval]({{< relref "../../variables/variable-types/_index.md#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/variable-types/_index.md#the-interval-ms-variable" >}}) variables.
|
||||
A lower limit for the [$__interval]({{< relref "../variables/variable-types/_index.md#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../variables/variable-types/_index.md#the-interval-ms-variable" >}}) variables.
|
||||
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:
|
||||
@@ -226,7 +227,7 @@ WHERE
|
||||
ORDER BY 1
|
||||
```
|
||||
|
||||
When above query are used in a graph panel the result will be two series named `Metric A` and `Metric B` with value of `valueOne` and `valueTwo` plotted over `time`.
|
||||
When the above query is used in a graph panel, it will produce two series named `Metric A` and `Metric B` with the values `valueOne` and `valueTwo` plotted over `time`.
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -246,7 +247,7 @@ WHERE
|
||||
ORDER BY 1
|
||||
```
|
||||
|
||||
When above query are used in a graph panel the result will be two series named `valueOne` and `valueTwo` with value of `valueOne` and `valueTwo` plotted over `time`.
|
||||
When the above query is used in a graph panel, it will produce two series named `Metric A` and `Metric B` with the values `valueOne` and `valueTwo` plotted over `time`.
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -269,8 +270,8 @@ GROUP BY
|
||||
ORDER BY 1
|
||||
```
|
||||
|
||||
When above query are used in a graph panel the result will be two series named `Metric A` and `Metric B` with an average of `valueOne` plotted over `time`.
|
||||
Any two series lacking a value in a 3 minute window will render a line between those two lines. You'll notice that the graph to the right never goes down to zero.
|
||||
When the above query is used in a graph panel, it will produce two series named `Metric A` and `Metric B` with the values `valueOne` and `valueTwo` plotted over `time`.
|
||||
Any two series lacking a value in a three-minute window will render a line between those two lines. You'll notice that the graph to the right never goes down to zero.
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -300,7 +301,7 @@ Any series lacking a value in a 3 minute window will have a value of zero which
|
||||
|
||||
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 make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query Variable
|
||||
|
||||
@@ -325,8 +326,8 @@ Another option is a query that can create a key/value variable. The query should
|
||||
SELECT hostname __text, id __value FROM host
|
||||
```
|
||||
|
||||
You can also create nested variables. For example if you had another variable named `region`. Then you could have
|
||||
the hosts variable only show hosts from the current selected region with a query like this (if `region` is a multi-value variable then use the `IN` comparison operator rather than `=` to match against multiple values):
|
||||
You can also create nested variables. For example, if you had another variable named `region`. Then you could have
|
||||
the hosts variable only show hosts from the current selected region with a query like this (if `region` is a multi-value variable, then use the `IN` comparison operator rather than `=` to match against multiple values):
|
||||
|
||||
```sql
|
||||
SELECT hostname FROM host WHERE region IN ($region)
|
||||
@@ -370,11 +371,11 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
|
||||
|
||||
`${servers:csv}`
|
||||
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../variables/variable-types/_index.md#advanced-formatting-options" >}}) documentation.
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../variables/variable-types/_index.md#advanced-formatting-options" >}}) documentation.
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation queries via the Dashboard menu / Annotations view.
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation queries via the Dashboard menu / Annotations view.
|
||||
|
||||
**Columns:**
|
||||
|
||||
@@ -452,7 +453,7 @@ Please note that any macro function will not work inside a stored procedure.
|
||||
### Examples
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v51/mssql_metrics_graph.png" class="docs-image--no-shadow docs-image--right" >}}
|
||||
For the following examples the database table is defined in [Time series queries](#time-series-queries). Let's say that we want to visualize 4 series in a graph panel, i.e. all combinations of columns `valueOne`, `valueTwo` and `measurement`. Graph panel to the right visualizes what we want to achieve. To solve this we actually need to use two queries:
|
||||
For the following examples, the database table is defined in [Time series queries](#time-series-queries). Let's say that we want to visualize four series in a graph panel, such as all combinations of columns `valueOne`, `valueTwo` and `measurement`. Graph panel to the right visualizes what we want to achieve. To solve this, we need to use two queries:
|
||||
|
||||
**First query:**
|
||||
|
||||
@@ -597,7 +598,7 @@ conditions.
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
Executable → Regular
+9
-11
@@ -1,22 +1,20 @@
|
||||
+++
|
||||
title = "Using MySQL in Grafana"
|
||||
title = "MySQL"
|
||||
description = "Guide for using MySQL in Grafana"
|
||||
keywords = ["grafana", "mysql", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/datasources/mysql/"]
|
||||
[menu.docs]
|
||||
name = "MySQL"
|
||||
parent = "datasources"
|
||||
weight = 7
|
||||
weight = 1000
|
||||
+++
|
||||
|
||||
# Using MySQL in Grafana
|
||||
|
||||
> Only available in Grafana v4.3+.
|
||||
>
|
||||
> Starting from Grafana v5.1 you can name the time column *time* in addition to earlier supported *time_sec*. Usage of *time_sec* will eventually be deprecated.
|
||||
|
||||
Grafana ships with a built-in MySQL data source plugin that allows you to query and visualize
|
||||
data from a MySQL compatible database.
|
||||
Grafana ships with a built-in MySQL data source plugin that allows you to query and visualize data from a MySQL compatible database.
|
||||
|
||||
## Adding the data source
|
||||
|
||||
@@ -41,7 +39,7 @@ Name | Description
|
||||
|
||||
### Min time interval
|
||||
|
||||
A lower limit for the [$__interval]({{< relref "../../variables/variable-types/_index.md#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/variable-types/_index.md#the-interval-ms-variable" >}}) variables.
|
||||
A lower limit for the [$__interval]({{< relref "../variables/variable-types/_index.md#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../variables/variable-types/_index.md#the-interval-ms-variable" >}}) variables.
|
||||
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:
|
||||
@@ -238,7 +236,7 @@ This feature is currently available in the nightly builds and will be included i
|
||||
|
||||
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 make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query Variable
|
||||
|
||||
@@ -331,11 +329,11 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
|
||||
|
||||
`${servers:csv}`
|
||||
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../variables/_index.md#advanced-formatting-options" >}}) documentation.
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../variables/_index.md#advanced-formatting-options" >}}) documentation.
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation queries via the Dashboard menu / Annotations view.
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation queries via the Dashboard menu / Annotations view.
|
||||
|
||||
**Example query using time column with epoch values:**
|
||||
|
||||
@@ -392,7 +390,7 @@ Time series queries should work in alerting conditions. Table formatted queries
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
+5
-5
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using OpenTSDB in Grafana"
|
||||
title = "OpenTSDB"
|
||||
description = "Guide for using OpenTSDB in Grafana"
|
||||
keywords = ["grafana", "opentsdb", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/opentsdb", "/docs/grafana/latest/features/opentsdb"]
|
||||
aliases = ["/docs/grafana/latest/features/opentsdb", "/docs/grafana/latest/features/datasources/opentsdb/"]
|
||||
[menu.docs]
|
||||
name = "OpenTSDB"
|
||||
parent = "datasources"
|
||||
weight = 19
|
||||
weight = 1100
|
||||
+++
|
||||
|
||||
# Using OpenTSDB in Grafana
|
||||
@@ -53,7 +53,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
@@ -90,7 +90,7 @@ For details on OpenTSDB metric queries, check out the official [OpenTSDB documen
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
Executable → Regular
+8
-7
@@ -1,12 +1,13 @@
|
||||
+++
|
||||
title = "Using PostgreSQL in Grafana"
|
||||
title = "PostgreSQL"
|
||||
description = "Guide for using PostgreSQL in Grafana"
|
||||
keywords = ["grafana", "postgresql", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/datasources/postgres/"]
|
||||
[menu.docs]
|
||||
name = "PostgreSQL"
|
||||
parent = "datasources"
|
||||
weight = 7
|
||||
weight = 1200
|
||||
+++
|
||||
|
||||
# Using PostgreSQL in Grafana
|
||||
@@ -39,7 +40,7 @@ Name | Description
|
||||
|
||||
### Min time interval
|
||||
|
||||
A lower limit for the [$__interval]({{< relref "../../variables/variable-types/_index.md#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/variable-types/_index.md#the-interval-ms-variable" >}}) variables.
|
||||
A lower limit for the [$__interval]({{< relref "../variables/variable-types/_index.md#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../variables/variable-types/_index.md#the-interval-ms-variable" >}}) variables.
|
||||
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:
|
||||
@@ -240,7 +241,7 @@ ORDER BY time
|
||||
|
||||
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 make it easy to change the data being displayed in your dashboard.
|
||||
|
||||
Refer to [Templates and variables]({{< relref "../../variables/_index.md" >}}) for an introduction to the templating feature and the different types of template variables.
|
||||
Refer to [Templates and variables]({{< relref "../variables/_index.md" >}}) for an introduction to the templating feature and the different types of template variables.
|
||||
|
||||
### Query variable
|
||||
|
||||
@@ -331,11 +332,11 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
|
||||
|
||||
`${servers:csv}`
|
||||
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../../variables/_index.md#advanced-formatting-options" >}}) documentation.
|
||||
Read more about variable formatting options in the [Variables]({{< relref "../variables/_index.md#advanced-formatting-options" >}}) documentation.
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation queries via the Dashboard menu / Annotations view.
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation queries via the Dashboard menu / Annotations view.
|
||||
|
||||
**Example query using time column with epoch values:**
|
||||
|
||||
@@ -393,7 +394,7 @@ conditions.
|
||||
|
||||
## Configure the data source with provisioning
|
||||
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
It's now possible to configure data sources using config files with Grafana's provisioning system. You can read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source.
|
||||
|
||||
+10
-10
@@ -1,13 +1,13 @@
|
||||
+++
|
||||
title = "Using Prometheus in Grafana"
|
||||
title = "Prometheus"
|
||||
description = "Guide for using Prometheus in Grafana"
|
||||
keywords = ["grafana", "prometheus", "guide"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/prometheus"]
|
||||
aliases = ["/docs/grafana/latest/features/datasources/prometheus"]
|
||||
[menu.docs]
|
||||
name = "Prometheus"
|
||||
parent = "datasources"
|
||||
weight = 1
|
||||
weight = 1300
|
||||
+++
|
||||
|
||||
# Prometheus data source
|
||||
@@ -46,7 +46,7 @@ Open a graph in edit mode by clicking the title > Edit (or by pressing `e` key w
|
||||
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| _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}}` is replaced with the label value for the label `hostname`. |
|
||||
| _Min step_ | An additional lower limit for the [`step` parameter of Prometheus range queries](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) and for the `$__interval` variable. The limit is absolute and not modified by the _Resolution_ setting. |
|
||||
| _Min step_ | An additional lower limit for the [`step` parameter of Prometheus range queries](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) and for the `$__interval` and `$__rate_interval` variables. The limit is absolute and not modified by the _Resolution_ setting. |
|
||||
| _Resolution_ | `1/1` sets both the `$__interval` variable and the [`step` parameter of Prometheus range queries](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) such that each pixel corresponds to one data point. For better performance, lower resolutions can be picked. `1/2` only retrieves a data point for every other pixel, and `1/10` retrieves one data point per 10 pixels. Note that both _Min time interval_ and _Min step_ limit the final value of `$__interval` and `step`. |
|
||||
| _Metric lookup_ | Search for metric names in this input field. |
|
||||
| _Format as_ | Switch between `Table`, `Time series`, or `Heatmap`. `Table` will only work in the Table panel. `Heatmap` is suitable for displaying metrics of the Histogram type on a Heatmap panel. Under the hood, it converts cumulative histograms to regular ones and sorts series by the bucket bound. |
|
||||
@@ -60,7 +60,7 @@ Open a graph in edit mode by clicking the title > Edit (or by pressing `e` key w
|
||||
The Prometheus data source allows you to run "instant" queries, which query only the latest value.
|
||||
You can visualize the results in a table panel to see all available labels of a timeseries.
|
||||
|
||||
Instant query results are made up only of one data point per series but can be shown in the graph panel with the help of [series overrides]({{< relref "../../panels/visualizations/graph-panel.md#series-overrides" >}}).
|
||||
Instant query results are made up only of one data point per series but can be shown in the graph panel with the help of [series overrides]({{< relref "../panels/visualizations/graph-panel.md#series-overrides" >}}).
|
||||
To show them in the graph as a latest value point, add a series override and select `Points > true`.
|
||||
To show a horizontal line across the whole graph, add a series override and select `Transform > constant`.
|
||||
|
||||
@@ -80,7 +80,7 @@ Instead of hard-coding things like server, application and sensor name in your m
|
||||
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
|
||||
being displayed in your dashboard.
|
||||
|
||||
Check out the [Templating]({{< relref "../../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
Check out the [Templating]({{< relref "../variables/_index.md" >}}) documentation for an introduction to the templating feature and the different
|
||||
types of template variables.
|
||||
|
||||
### Query variable
|
||||
@@ -102,7 +102,7 @@ For details of what _metric names_, _label names_ and _label values_ are please
|
||||
|
||||
> Support for `$__range`, `$__range_s` and `$__range_ms` only available from Grafana v5.3
|
||||
|
||||
You can use some global built-in variables in query variables; `$__interval`, `$__interval_ms`, `$__range`, `$__range_s` and `$__range_ms`, see [Global built-in variables]({{< relref "../../variables/variable-types/global-variables.md" >}}) for more information. These can be convenient to use in conjunction with the `query_result` function when you need to filter variable queries since
|
||||
You can use some global built-in variables in query variables; `$__interval`, `$__interval_ms`, `$__range`, `$__range_s` and `$__range_ms`, see [Global built-in variables]({{< relref "../variables/variable-types/global-variables.md" >}}) for more information. These can be convenient to use in conjunction with the `query_result` function when you need to filter variable queries since
|
||||
|
||||
`label_values` function doesn't support queries.
|
||||
|
||||
@@ -142,7 +142,7 @@ options are enabled, Grafana converts the labels from plain text to a regex comp
|
||||
|
||||
## Annotations
|
||||
|
||||
[Annotations]({{< relref "../../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
[Annotations]({{< relref "../dashboards/annotations.md" >}}) allow you to overlay rich event information on top of graphs. You add annotation
|
||||
queries via the Dashboard menu / Annotations view.
|
||||
|
||||
Prometheus supports two ways to query annotations.
|
||||
@@ -156,11 +156,11 @@ The step option is useful to limit the number of events returned from your query
|
||||
|
||||
Grafana exposes metrics for Prometheus on the `/metrics` endpoint. We also bundle a dashboard within Grafana so you can get started viewing your metrics faster. You can import the bundled dashboard by going to the data source edit page and click the dashboard tab. There you can find a dashboard for Grafana and one for Prometheus. Import and start viewing all the metrics!
|
||||
|
||||
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../../administration/metrics.md">}}).
|
||||
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../administration/metrics.md">}}).
|
||||
|
||||
## Provision the Prometheus data source
|
||||
|
||||
You can configure data sources using config files with Grafana's provisioning system. Read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../../administration/provisioning/#datasources" >}})
|
||||
You can configure data sources using config files with Grafana's provisioning system. Read more about how it works and all the settings you can set for data sources on the [provisioning docs page]({{< relref "../administration/provisioning/#datasources" >}})
|
||||
|
||||
Here are some provisioning examples for this data source:
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
+++
|
||||
title = "Tempo"
|
||||
description = "High volume, minimal dependency trace storage. OSS tracing solution from Grafana Labs."
|
||||
keywords = ["grafana", "tempo", "guide", "tracing"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/datasources/tempo"]
|
||||
[menu.docs]
|
||||
name = "Tempo"
|
||||
parent = "datasources"
|
||||
weight = 800
|
||||
+++
|
||||
|
||||
# Tempo data source
|
||||
|
||||
Grafana ships with built-in support for Tempo a high volume, minimal dependency trace storage, OSS tracing solution from Grafana Labs. Add it as a data source, and you are ready to query your traces in [Explore]({{< relref "../explore/index.md" >}}).
|
||||
|
||||
## Adding the data source
|
||||
To access Tempo settings, click the **Configuration** (gear) icon, then click **Data Sources** > **Tempo**.
|
||||
|
||||
| Name | Description |
|
||||
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| _Name_ | The data source name using which you will refer to the data source in panels, queries, and Explore. |
|
||||
| _Default_ | The default data source will be pre-selected for new panels. |
|
||||
| _URL_ | The URL of the Tempo instance, e.g., `http://localhost:16686` |
|
||||
| _Basic Auth_ | Enable basic authentication to the Tempo data source. |
|
||||
| _User_ | User name for basic authentication. |
|
||||
| _Password_ | Password for basic authentication. |
|
||||
|
||||
## Query traces
|
||||
|
||||
You can query and display traces from Tempo via [Explore]({{< relref "../explore/index.md" >}}).
|
||||
To query a particular trace, insert its trace ID into the query text input.
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v73/tempo-query-editor.png" class="docs-image--no-shadow" caption="Screenshot of the Tempo query editor" >}}
|
||||
|
||||
## Linking Trace ID from logs
|
||||
|
||||
You can link to Tempo trace from logs in Loki or Elastic by configuring an internal link. See the [Derived fields]({{< relref "loki.md#derived-fields" >}}) section in the [Loki data source]({{< relref "loki.md" >}}) or [Data links]({{< relref "elasticsearch.md#data-links" >}}) section in the [Elastic data source]({{< relref "elasticsearch.md" >}}) for configuration instructions.
|
||||
+2
-2
@@ -2,13 +2,13 @@
|
||||
title = "TestData"
|
||||
keywords = ["grafana", "dashboard", "documentation", "panels", "testdata"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/features/datasources/testdata"]
|
||||
[menu.docs]
|
||||
name = "TestData"
|
||||
parent = "datasources"
|
||||
weight = 20
|
||||
weight = 1400
|
||||
+++
|
||||
|
||||
|
||||
# Grafana TestData DB
|
||||
|
||||
The purpose of this data source is to make it easier to create fake data for any panel.
|
||||
@@ -1,5 +1,5 @@
|
||||
+++
|
||||
title = "Using Zipkin in Grafana"
|
||||
title = "Zipkin"
|
||||
description = "Guide for using Zipkin in Grafana"
|
||||
keywords = ["grafana", "zipkin", "guide", "tracing"]
|
||||
type = "docs"
|
||||
@@ -7,13 +7,13 @@ aliases = ["/docs/grafana/latest/datasources/zipkin"]
|
||||
[menu.docs]
|
||||
name = "Zipkin"
|
||||
parent = "datasources"
|
||||
weight = 2
|
||||
weight = 1500
|
||||
+++
|
||||
|
||||
# Zipkin data source
|
||||
|
||||
Grafana ships with built-in support for Zipkin, an open source, distributed tracing system.
|
||||
Just add it as a data source and you are ready to query your traces in [Explore]({{< relref "../../explore" >}}).
|
||||
Just add it as a data source and you are ready to query your traces in [Explore]({{< relref "../explore" >}}).
|
||||
|
||||
## Adding the data source
|
||||
To access Zipkin settings, click the **Configuration** (gear) icon, then click **Data Sources**, and then click **Zipkin**.
|
||||
@@ -30,7 +30,7 @@ To access Zipkin settings, click the **Configuration** (gear) icon, then click *
|
||||
|
||||
## Query traces
|
||||
|
||||
Querying and displaying traces from Zipkin is available via [Explore]({{< relref "../../explore" >}}).
|
||||
Querying and displaying traces from Zipkin is available via [Explore]({{< relref "../explore" >}}).
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v70/zipkin-query-editor.png" class="docs-image--no-shadow" caption="Screenshot of the Zipkin query editor" >}}
|
||||
|
||||
@@ -6,7 +6,7 @@ aliases = ["/docs/grafana/latest/plugins/developing/auth-for-datasources/", "/d
|
||||
|
||||
# Add authentication for data source plugins
|
||||
|
||||
This page explains how to use the Grafana data source proxy to authenticate against an third-party API from a data source plugin.
|
||||
This page explains how to use the Grafana data source proxy to authenticate against a third-party API from a data source plugin.
|
||||
|
||||
When a user saves a password or any other sensitive data as a data source option, Grafana encrypts the data and stores it in the Grafana database. Any encrypted data source options can only be decrypted on the Grafana server. This means that any data source that makes authenticated queries needs to request the decrypted data to be sent to the browser.
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ For more information on time series, refer to our [Introduction to time series](
|
||||
|
||||
### Wide format
|
||||
|
||||
When a collection of time series share the same _time index_—the time fields in each time series are identical—they can be stored together, in a _wide_ format. By reusing the time field, we can reduce the amount of data being sent to the browser.
|
||||
When a collection of time series shares the same _time index_—the time fields in each time series are identical—they can be stored together, in a _wide_ format. By reusing the time field, we can reduce the amount of data being sent to the browser.
|
||||
|
||||
In this example, the `cpu` usage from each host share the time index, so we can store them in the same data frame.
|
||||
|
||||
|
||||
@@ -109,13 +109,13 @@ An array of:
|
||||
"text": "Time",
|
||||
"type": "time",
|
||||
"sort": true,
|
||||
"desc": true,
|
||||
"desc": true
|
||||
},
|
||||
{
|
||||
"text": "mean",
|
||||
"text": "mean"
|
||||
},
|
||||
{
|
||||
"text": "sum",
|
||||
"text": "sum"
|
||||
}
|
||||
],
|
||||
"rows": [
|
||||
@@ -128,7 +128,7 @@ An array of:
|
||||
1457425370000,
|
||||
1002.76215352,
|
||||
1002.76215352
|
||||
],
|
||||
]
|
||||
],
|
||||
"type": "table"
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ A minimal `plugin.json` file:
|
||||
- The `type` field should be either `datasource` `app` or `panel`.
|
||||
- The `version` field should be in the form: x.x.x e.g. `1.0.0` or `0.4.1`.
|
||||
|
||||
The full file format for the `plugin.json` file is described [here](http://docs.grafana.org/plugins/developing/plugin.json/).
|
||||
The full file format for `plugin.json` file is in [plugin.json](http://docs.grafana.org/plugins/developing/plugin.json/).
|
||||
|
||||
## Plugin Language
|
||||
|
||||
@@ -133,8 +133,7 @@ Below is a minimal example of an editor row with one form group and two fields,
|
||||
Use the `width-x` and `max-width-x` classes to control the width of your labels and input fields. Try to get labels and input fields to line up neatly by having the same width for all the labels in a group and the same width for all inputs in a group if possible.
|
||||
|
||||
## Data Sources
|
||||
|
||||
A basic guide for data sources can be found [here](http://docs.grafana.org/plugins/developing/datasources/).
|
||||
For more information about data sources, refer to the [basic guide for data sources](http://docs.grafana.org/plugins/developing/datasources/).
|
||||
|
||||
### Config Page Guidelines
|
||||
|
||||
@@ -171,5 +170,5 @@ Each query editor is unique and can have a unique style. It should be adapted to
|
||||
- The data source should be able to handle when a user toggles a query (by clicking on the eye icon) and not execute the query. This is done by checking the `hide` property - an [example](https://github.com/grafana/grafana/blob/e75840737e81f70b6d169df21eca86a624d4bdc4/public/app/plugins/datasource/postgres/datasource.ts#L73).
|
||||
- Should not execute queries if fields in the Query Editor are empty and the query will throw an exception (defensive programming).
|
||||
- Should handle errors. There are two main ways to do this:
|
||||
- use the notification system in Grafana to show a toaster popup with the error message. Example [here](https://github.com/alexanderzobnin/grafana-zabbix/blob/fdbbba2fb03f5f2a4b3b0715415e09d5a4cf6cde/src/panel-triggers/triggers_panel_ctrl.js#L467-L471).
|
||||
- provide an error notification in the query editor like the MySQL/Postgres data sources do. Example code in the `query_ctrl` [here](https://github.com/grafana/azure-monitor-datasource/blob/b184d077f082a69f962120ef0d1f8296a0d46f03/src/query_ctrl.ts#L36-L51) and in the [html](https://github.com/grafana/azure-monitor-datasource/blob/b184d077f082a69f962120ef0d1f8296a0d46f03/src/partials/query.editor.html#L190-L193).
|
||||
- use the notification system in Grafana to show a toaster pop-up with the error message. For an example of a pop-up with the error message, refer to [code in triggers_panel_ctrl](https://github.com/alexanderzobnin/grafana-zabbix/blob/fdbbba2fb03f5f2a4b3b0715415e09d5a4cf6cde/src/panel-triggers/triggers_panel_ctrl.js#L467-L471).
|
||||
- provide an error notification in the query editor like the MySQL/Postgres data sources do. For an example of error notification in the query editor, refer to [code in query_ctrl](https://github.com/grafana/azure-monitor-datasource/blob/b184d077f082a69f962120ef0d1f8296a0d46f03/src/query_ctrl.ts#L36-L51) and in the [html](https://github.com/grafana/azure-monitor-datasource/blob/b184d077f082a69f962120ef0d1f8296a0d46f03/src/partials/query.editor.html#L190-L193).
|
||||
|
||||
@@ -27,7 +27,7 @@ grafana-piechart-panel
|
||||
mtanda-histogram-panel
|
||||
```
|
||||
|
||||
The full file format for plugin.json is described [here]({{< relref "../metadata.md" >}}).
|
||||
For more information about the file format for `plugin.json` file, refer to [metadata]({{< relref "../metadata.md" >}}).
|
||||
|
||||
Minimal plugin.json:
|
||||
|
||||
@@ -141,7 +141,7 @@ Our recommendation is to use whatever you usually use - Grunt, Gulp or npm scrip
|
||||
|
||||
## Linting
|
||||
|
||||
We recommend that you use a linter for your JavaScript. For ES6, the standard linter is [eslint](http://eslint.org/). Rules for linting are described in an .eslintrc that is placed in the root directory. [Here is an example](https://github.com/grafana/worldmap-panel/blob/master/.eslintrc) of linting rules in a plugin.
|
||||
We recommend that you use a linter for your JavaScript. For ES6, the standard linter is [eslint](http://eslint.org/). Rules for linting are described in an .eslintrc that is placed in the root directory. For an example of linting rules in a plugin, refer to [.eslintrc](https://github.com/grafana/worldmap-panel/blob/master/.eslintrc).
|
||||
|
||||
### ES6 features
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ For example:
|
||||
|
||||
- A legacy panel with data source that returns data frames: Grafana converts the response to the legacy format.
|
||||
- A legacy data source with a panel using data frames: Grafana converts the response to the data frame format.
|
||||
- If both panel and data source uses the same format, no transformations are made. Data is passed as is.
|
||||
- If both panel and data source use the same format, no transformations are made. Data is passed as is.
|
||||
|
||||
### target and jsonData are unchanged
|
||||
|
||||
@@ -127,7 +127,7 @@ export const MyPanel: React.FC<Props> = ({ options, data, width, height }) => {
|
||||
|
||||
While all plugins are different, we'd like to share a migration process that has worked for some of our users.
|
||||
|
||||
1. Define you configuration model and `ConfigEditor`. For many plugins, the config editor is the simplest component so it's a good candidate to start with.
|
||||
1. Define your configuration model and `ConfigEditor`. For many plugins, the config editor is the simplest component so it's a good candidate to start with.
|
||||
1. Implement the `testDatasource()` method on the class that extends `DataSourceApi` using the settings in your configuration model to make sure you can successfully configure and access the external API.
|
||||
1. Implement the `query()` method. At this point, you can hard-code your query, because we haven’t yet implemented the query editor. The `query()` method supports both the new data frame response and the old TimeSeries response, so don’t worry about converting to the new format just yet.
|
||||
1. Implement the `QueryEditor`. How much work this requires depends on how complex your query model is.
|
||||
|
||||
@@ -71,36 +71,50 @@ With a Grafana Enterprise license, you get access to premium plugins, including:
|
||||
|
||||
To purchase or obtain a trial license contact the Grafana Labs [Sales Team](https://grafana.com/contact?about=support&topic=Grafana%20Enterprise).
|
||||
|
||||
### License file management
|
||||
## Activate an Enterprise license
|
||||
|
||||
To download your Grafana Enterprise license log in to your [Grafana Cloud Account](https://grafana.com) and go to your **Org Profile**. In the side menu there is a section for Grafana Enterprise licenses. At the bottom of the license details page there is **Download Token** link that will download the *license.jwt* file containing your license.
|
||||
Follow these steps to activate your Grafana Enterprise license:
|
||||
|
||||
Place the *license.jwt* file in Grafana's data folder. This is usually located at `/var/lib/grafana` on Linux systems.
|
||||
### 1. Download your license file
|
||||
|
||||
You can also configure a custom location for the license file via the ini setting:
|
||||
To download your Grafana Enterprise license, log in to your [Grafana Cloud Account](https://grafana.com) and go to your **Org Profile**. In the side menu there is a section for Grafana Enterprise licenses. At the bottom of the license details page there is **Download Token** link that will download the *license.jwt* file containing your license.
|
||||
|
||||
```bash
|
||||
[enterprise]
|
||||
license_path = /company/secrets/license.jwt
|
||||
```
|
||||
### 2. Add your license file to a Grafana instance
|
||||
|
||||
This setting can also be set with an environment variable, which is useful if you're running Grafana with Docker and have a custom volume where you have placed the license file. In this case, set the environment variable `GF_ENTERPRISE_LICENSE_PATH` to point to the location of your license file.
|
||||
There are two different ways to add the license file to a Grafana instance:
|
||||
|
||||
### Root URL
|
||||
- Option 1: Upload the license file through the Grafana Server Administrator page
|
||||
|
||||
Update the [`root_url`](../administration/configuration/#root-url) in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).
|
||||
Sign in as a Server Administrator. Navigate to **Server Admin > Upgrade** within Grafana, click on **Upload license token file**, select your license file, and upload it.
|
||||
|
||||
This is important, because as part of the validation checks at startup, Grafana compares the license URL to the [`root_url`](../administration/configuration/#root-url) in your configuration.
|
||||
- Option 2: Place the *license.jwt* file in Grafana's data folder.
|
||||
|
||||
This is usually located at `/var/lib/grafana` on Linux systems.
|
||||
|
||||
In your configuration file:
|
||||
You can also configure a custom location for the license file via the ini setting:
|
||||
|
||||
```
|
||||
[server]
|
||||
root_url = https://grafana.blah.com/
|
||||
```
|
||||
```bash
|
||||
[enterprise]
|
||||
license_path = /company/secrets/license.jwt
|
||||
```
|
||||
|
||||
Or with an environment variable:
|
||||
This setting can also be set with an environment variable, which is useful if you're running Grafana with Docker and have a custom volume where you have placed the license file. In this case, set the environment variable `GF_ENTERPRISE_LICENSE_PATH` to point to the location of your license file.
|
||||
|
||||
```
|
||||
GF_SERVER_ROOT_URL=https://grafana.blah.com/
|
||||
```
|
||||
### 3. Ensure that the license file's root url matches the root_url configuration option
|
||||
|
||||
Update the [`root_url`](../administration/configuration/#root-url) in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).
|
||||
|
||||
This is important, because as part of the validation checks at startup, Grafana compares the license URL to the [`root_url`](../administration/configuration/#root-url) in your configuration.
|
||||
|
||||
In your configuration file:
|
||||
|
||||
```
|
||||
[server]
|
||||
root_url = https://grafana.blah.com/
|
||||
```
|
||||
|
||||
Or with an environment variable:
|
||||
|
||||
```
|
||||
GF_SERVER_ROOT_URL=https://grafana.blah.com/
|
||||
```
|
||||
|
||||
@@ -41,24 +41,26 @@ In terms of initiation:
|
||||
|
||||
The table below describes all SAML configuration options. Continue reading below for details on specific options. Like any other Grafana configuration, you can apply these options as [environment variables]({{< relref "../administration/configuration.md#configure-with-environment-variables" >}}).
|
||||
|
||||
| Setting | Required | Description | Default |
|
||||
| ----------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------- | ------------- |
|
||||
| Setting | Required | Description | Default |
|
||||
| ----------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------- | ------------- |
|
||||
| `enabled` | No | Whether SAML authentication is allowed | `false` |
|
||||
| `single_logout` | No | Whether SAML Single Logout enabled | `false` |
|
||||
| `certificate` or `certificate_path` | Yes | Base64-encoded string or Path for the SP X.509 certificate | |
|
||||
| `private_key` or `private_key_path` | Yes | Base64-encoded string or Path for the SP private key | |
|
||||
| `signature_algorithm` | No | Signature algorithm used for signing requests to the IdP. Supported values are rsa-sha1, rsa-sha256, rsa-sha512. | |
|
||||
| `idp_metadata`, `idp_metadata_path`, or `idp_metadata_url` | Yes | Base64-encoded string, Path or URL for the IdP SAML metadata XML | |
|
||||
| `max_issue_delay` | No | Duration, since the IdP issued a response and the SP is allowed to process it | `90s` |
|
||||
| `metadata_valid_duration` | No | Duration, for how long the SP metadata is valid | `48h` |
|
||||
| `assertion_attribute_name` | No | Friendly name or name of the attribute within the SAML assertion to use as the user name | `displayName` |
|
||||
| `assertion_attribute_login` | No | Friendly name or name of the attribute within the SAML assertion to use as the user login handle | `mail` |
|
||||
| `assertion_attribute_email` | No | Friendly name or name of the attribute within the SAML assertion to use as the user email | `mail` |
|
||||
| `assertion_attribute_groups` | No | Friendly name or name of the attribute within the SAML assertion to use as the user groups | |
|
||||
| `assertion_attribute_role` | No | Friendly name or name of the attribute within the SAML assertion to use as the user roles | |
|
||||
| `assertion_attribute_org` | No | Friendly name or name of the attribute within the SAML assertion to use as the user organization | |
|
||||
| `metadata_valid_duration` | No | Duration, for how long the SP metadata is valid | `48h` |
|
||||
| `assertion_attribute_name` | No | Friendly name or name of the attribute within the SAML assertion to use as the user name | `displayName` |
|
||||
| `assertion_attribute_login` | No | Friendly name or name of the attribute within the SAML assertion to use as the user login handle | `mail` |
|
||||
| `assertion_attribute_email` | No | Friendly name or name of the attribute within the SAML assertion to use as the user email | `mail` |
|
||||
| `assertion_attribute_groups` | No | Friendly name or name of the attribute within the SAML assertion to use as the user groups | |
|
||||
| `assertion_attribute_role` | No | Friendly name or name of the attribute within the SAML assertion to use as the user roles | |
|
||||
| `assertion_attribute_org` | No | Friendly name or name of the attribute within the SAML assertion to use as the user organization | |
|
||||
| `allowed_organizations` | No | List of comma- or space-separated organizations. User should be a member of at least one organization to log in. | |
|
||||
| `org_mapping` | No | List of comma- or space-separated Organization:OrgId mappings | |
|
||||
| `role_values_editor` | No | List of comma- or space-separated roles which will be mapped into the Editor role | |
|
||||
| `role_values_admin` | No | List of comma- or space-separated roles which will be mapped into the Admin role | |
|
||||
| `org_mapping` | No | List of comma- or space-separated Organization:OrgId mappings | |
|
||||
| `role_values_editor` | No | List of comma- or space-separated roles which will be mapped into the Editor role | |
|
||||
| `role_values_admin` | No | List of comma- or space-separated roles which will be mapped into the Admin role | |
|
||||
| `role_values_grafana_admin` | No | List of comma- or space-separated roles which will be mapped into the Grafana Admin (Super Admin) role | |
|
||||
|
||||
### Enable SAML authentication
|
||||
@@ -77,6 +79,10 @@ Grafana supports two ways of specifying both the `certificate` and `private_key`
|
||||
|
||||
You can only use one form of each configuration option. Using multiple forms, such as both `certificate` and `certificate_path`, results in an error.
|
||||
|
||||
### Signature algorithm
|
||||
|
||||
The SAML standard recommends using digital signature for some types of messages, like authentication or logout requests. If `signature_algorithm` option configured, Grafana will put digital signature into SAML requests. Supported signature types are `rsa-sha1`, `rsa-sha256`, `rsa-sha512`. This option should match your IdP configuration, otherwise, signature won't be validated by the IdP. Grafana uses key and certificate configured with `private_key` and `certificate` options for signing SAML requests.
|
||||
|
||||
### IdP metadata
|
||||
|
||||
You also need to define the public part of the IdP for message verification. The SAML IdP metadata XML defines where and how Grafana exchanges user information.
|
||||
@@ -107,6 +113,10 @@ The integration provides two key endpoints as part of Grafana:
|
||||
- The `/saml/metadata` endpoint, which contains the SP metadata. You can either download and upload it manually, or youmake the IdP request it directly from the endpoint. Some providers name it Identifier or Entity ID.
|
||||
- The `/saml/acs` endpoint, which is intended to receive the ACS (Assertion Customer Service) callback. Some providers name it SSO URL or Reply URL.
|
||||
|
||||
### Single Logout
|
||||
|
||||
Single Logout feature allows user to log out from all applications associated with current IdP session established via SAML SSO. If `single_logout` option set to `true` and user logs out, Grafana requests IdP to terminate user session. Then IdP triggers logout process for all other applications which user logged in with the same IdP session (application should support single logout). And conversely, if another application connected to the same IdP initiates single logout, Grafana gets logout request from IdP and terminates user session.
|
||||
|
||||
### Assertion mapping
|
||||
|
||||
During the SAML SSO authentication flow, Grafana receives the ACS callback. The callback contains all the relevant information of the user under authentication embedded in the SAML response. Grafana parses the response to create (or update) the user within its internal database.
|
||||
@@ -129,7 +139,7 @@ To use SAML Team sync, set [`assertion_attribute_groups`]({{< relref "./enterpri
|
||||
|
||||
> Only available in Grafana v7.0+
|
||||
|
||||
Role sync allows you to map user roles from an identity provider to Grafana. To enable role sync, configure role attribute and possible values for [Editor]({{< relref "../permissions/organization_roles.md#editor-role" >}}), [Admin]({{< relref "../permissions/organization_roles.md#admin-role" >}}) and [Grafana Admin]({{< relref "../permissions/overview.md#grafana-admin" >}}) roles.
|
||||
Role sync allows you to map user roles from an identity provider to Grafana. To enable role sync, configure role attribute and possible values for the [Editor]({{< relref "../permissions/organization_roles.md#editor-role" >}}), [Admin]({{< relref "../permissions/organization_roles.md#admin-role" >}}) and [Grafana Admin]({{< relref "../permissions/_index.md#grafana-admin" >}}) roles.
|
||||
|
||||
1. In the configuration file, set [`assertion_attribute_role`]({{< relref "./enterprise-configuration.md#assertion-attribute-role" >}}) option to the attribute name where the role information will be extracted from.
|
||||
1. Set the [`role_values_editor`]({{< relref "./enterprise-configuration.md#role-values-editor" >}}) option to the values mapped to the `Editor` role.
|
||||
|
||||
@@ -19,7 +19,7 @@ For infrastructure monitoring and incident response, you no longer need to switc
|
||||
|
||||
1. Receive an alert
|
||||
1. Drill down and examine metrics
|
||||
1. Drill down again and search logs related to the metric and time interval (and in the future, distributed traces).
|
||||
1. Drill down again and search logs related to the metric and time interval (and in the future, distributed traces)
|
||||
|
||||
If you just want to explore your data and do not want to create a dashboard, then Explore makes this much easier. If your data source supports graph and table data, then Explore shows the results both as a graph and a table. This allows you to see trends in the data and more details at the same time.
|
||||
|
||||
@@ -35,7 +35,7 @@ If you want to start with an existing query in a panel, choose the Explore optio
|
||||
|
||||
{{< docs-imagebox img="/img/docs/v65/explore_panel_menu.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
|
||||
|
||||
Choose your data source from the dropdown in the top left. Prometheus has a custom Explore implementation, the other data sources use their standard query editor.
|
||||
Choose your data source from the dropdown in the top left. [Prometheus](https://grafana.com/oss/prometheus/) has a custom Explore implementation, the other data sources use their standard query editor.
|
||||
|
||||
The query field is where you can write your query and explore your data. There are three buttons beside the query field, a clear button (X), an add query button (+) and the remove query button (-). Just like the normal query editor, you can add and remove multiple queries.
|
||||
|
||||
@@ -49,9 +49,15 @@ In split view, timepickers for both panels can be linked (if you change one, the
|
||||
|
||||
You can close the newly created query by clicking on the Close Split button.
|
||||
|
||||
## Share shortened link
|
||||
|
||||
> Share shortened link is only available in Grafana 7.3 and above.
|
||||
|
||||
The Share shortened link capability allows you to create smaller and simpler URLs of the format /goto/:uid instead of using longer URLs containing complex query parameters. You can create a shortened link by clicking on the **Share** option in Explore toolbar.
|
||||
|
||||
## Query history
|
||||
|
||||
Query history is a list of queries that you have used in Explore. The history is local to your browser and is not shared with others. To open and interact with your history, click the **Query history** button in Explore.
|
||||
Query history is a list of queries that you have used in Explore. The history is local to your browser and is not shared. To open and interact with your history, click the **Query history** button in Explore.
|
||||
|
||||
### View query history
|
||||
|
||||
@@ -60,7 +66,7 @@ Query history lets you view the history of your querying. For each individual qu
|
||||
- Run a query.
|
||||
- Create and/or edit a comment.
|
||||
- Copy a query to the clipboard.
|
||||
- Copy a URL link with the query to the clipboard.
|
||||
- Copy a shortened link with the query to the clipboard.
|
||||
- Star a query.
|
||||
|
||||
### Manage favorite queries
|
||||
@@ -145,9 +151,9 @@ Click on the filter button <span title="Filter for label" class="logs-label__ico
|
||||
|
||||
Along with metrics, Explore allows you to investigate your logs with the following data sources:
|
||||
|
||||
- [Loki](../features/datasources/loki)
|
||||
- [InfluxDB](../features/datasources/influxdb)
|
||||
- [Elasticsearch](../features/datasources/elasticsearch)
|
||||
- [Loki](../datasources/loki)
|
||||
- [InfluxDB](../datasources/influxdb)
|
||||
- [Elasticsearch](../datasources/elasticsearch)
|
||||
|
||||
### Visualization options
|
||||
|
||||
@@ -191,9 +197,9 @@ If your logs are structured in `json` or `logfmt`, then you can show or hide par
|
||||
|
||||
### Loki-specific features
|
||||
|
||||
As mentioned, one of the log integrations 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).
|
||||
As mentioned, one of the log integrations 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. For more information about Grafana Loki, refer to [Grafana Loki](https://github.com/grafana/loki) or the Grafana Labs hosted variant: [Grafana Cloud Logs](https://grafana.com/loki).
|
||||
|
||||
See [Loki's data source documentation](../features/datasources/loki) on how to query for log data.
|
||||
See [Loki's data source documentation](../datasources/loki) on how to query for log data.
|
||||
|
||||
#### Switch from metrics to logs
|
||||
|
||||
@@ -223,8 +229,8 @@ While in Live tail view new logs will come from the bottom of the screen and wil
|
||||
|
||||
You can visualize traces from tracing data sources in explore. Data sources currently supported:
|
||||
|
||||
- [Jaeger]({{< relref "../features/datasources/jaeger.md" >}})
|
||||
- [Zipkin]({{< relref "../features/datasources/zipkin.md" >}})
|
||||
- [Jaeger]({{< relref "../datasources/jaeger.md" >}})
|
||||
- [Zipkin]({{< relref "../datasources/zipkin.md" >}})
|
||||
|
||||
For information about how to use the query editor see documentation for specific data source.
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
+++
|
||||
title = "Features"
|
||||
description = "List of features"
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Features"
|
||||
identifier = "features"
|
||||
weight = 4
|
||||
+++
|
||||
|
||||
# Grafana features
|
||||
|
||||
This section contains pages that describe Grafana features.
|
||||
@@ -1,22 +0,0 @@
|
||||
+++
|
||||
title = "Data sources overview"
|
||||
description = "Overview of data sources in Grafana"
|
||||
keywords = ["grafana", "data sources"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Data sources overview"
|
||||
parent = "datasources"
|
||||
weight = 1
|
||||
+++
|
||||
|
||||
# Data sources
|
||||
|
||||
Grafana can visualize, explore, and alert on data from many different databases and cloud services. Each database or service type is accessed from a *data source*. Before you can create visualizations in Grafana, you must [add a data source]({{< relref "add-a-data-source.md" >}}).
|
||||
|
||||
Each data source has a specific query editor that is customized for the features and capabilities that the particular data source exposes. The query language and capabilities of each data source are obviously very different. You can combine data from multiple data sources into a single dashboard, but each panel is connected to a specific data source that belongs to a particular organization.
|
||||
|
||||
Use the query editor to build one or more queries in your time series database. The panel instantly updates, allowing you to effectively explore your data in real time and build a perfect query for that particular panel.
|
||||
|
||||
You can use [template variables]({{< relref "../../variables/_index.md" >}}) in the query editor within the queries themselves. This provides a powerful way to explore data dynamically based on the templating variables selected on the dashboard.
|
||||
|
||||
Grafana allows you to reference queries in the query editor by the row that they’re on. If you add a second query to graph, you can reference the first query by typing in #A. This provides an easy and convenient way to build compound queries.
|
||||
@@ -43,12 +43,12 @@ Different user types will have different interests. Some suggestions are listed
|
||||
|
||||
All users might want to learn about:
|
||||
|
||||
- [Panels]({{< relref "../panels/panels-overview.md" >}})
|
||||
- [Dashboards]({{< relref "../dashboards/_index.md" >}})
|
||||
- [Data sources]({{< relref "../features/datasources/data-sources.md" >}}) and [Add a data source]({{< relref "../features/datasources/add-a-data-source.md" >}})
|
||||
- [Keyboard shortcuts]({{< relref "../dashboards/shortcuts.md" >}})
|
||||
- [Explore workflow]({{< relref "../explore/index.md" >}})
|
||||
- [Plugins](https://grafana.com/grafana/plugins?orderBy=weight&direction=asc)
|
||||
* [Panels]({{< relref "../panels/panels-overview.md" >}})
|
||||
* [Dashboards]({{< relref "../dashboards/_index.md" >}})
|
||||
* [Data sources]({{< relref "../datasources/_index.md" >}}) and [Add a data source]({{< relref "../datasources/add-a-data-source.md" >}})
|
||||
* [Keyboard shortcuts]({{< relref "../dashboards/shortcuts.md" >}})
|
||||
* [Explore workflow]({{< relref "../explore/index.md" >}})
|
||||
* [Plugins](https://grafana.com/grafana/plugins?orderBy=weight&direction=asc)
|
||||
|
||||
### Admins
|
||||
|
||||
@@ -56,6 +56,6 @@ Administrators might want to learn about:
|
||||
|
||||
- [Grafana configuration]({{< relref "../administration/configuration.md" >}})
|
||||
- [Authentication]({{< relref "../auth/overview.md" >}})
|
||||
- [User permissions and roles]({{< relref "../permissions/overview.md" >}})
|
||||
- [User permissions and roles]({{< relref "../permissions/_index.md" >}})
|
||||
- [Provisioning]({{< relref "../administration/provisioning.md" >}})
|
||||
- [Grafana CLI]({{< relref "../administration/cli.md" >}})
|
||||
|
||||
@@ -77,7 +77,7 @@ Refer to [Provisioning]({{< relref "../administration/provisioning.md" >}}) for
|
||||
|
||||
## Permissions
|
||||
|
||||
When organizations have one Grafana and multiple teams, they often want the ability to both keep things separate and share dashboards. You can create a team of users and then set [permissions]({{< relref "../permissions/overview.md" >}}) on folders, dashboards, and down to the [data source level]({{< relref "../enterprise/datasource_permissions.md" >}}) if you're using [Grafana Enterprise]({{< relref "../enterprise/_index.md" >}}).
|
||||
When organizations have one Grafana and multiple teams, they often want the ability to both keep things separate and share dashboards. You can create a team of users and then set [permissions]({{< relref "../permissions/_index.md" >}}) on folders, dashboards, and down to the [data source level]({{< relref "../enterprise/datasource_permissions.md" >}}) if you're using [Grafana Enterprise]({{< relref "../enterprise/_index.md" >}}).
|
||||
|
||||
## Grafana Cloud
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
+++
|
||||
title = "Guides"
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Getting Started"
|
||||
identifier = "guides"
|
||||
weight = 3
|
||||
+++
|
||||
|
||||
# Guides
|
||||
|
||||
This section contains guides to help you use Grafana.
|
||||
@@ -0,0 +1,55 @@
|
||||
+++
|
||||
title = "Short URL HTTP API "
|
||||
description = "Grafana Short URL HTTP API"
|
||||
keywords = ["grafana", "http", "documentation", "api", "shortUrl"]
|
||||
aliases = ["/docs/grafana/latest/http_api/short_url/"]
|
||||
type = "docs"
|
||||
[menu.docs]
|
||||
name = "Short URL"
|
||||
parent = "http_api"
|
||||
+++
|
||||
|
||||
# Short URL API
|
||||
|
||||
Use this API to create shortened URLs. A short URL represents a longer URL containing complex query parameters in a smaller and simpler format.
|
||||
|
||||
## Create short URL
|
||||
|
||||
`POST /api/short-urls`
|
||||
|
||||
Creates a short URL.
|
||||
|
||||
**Example request:**
|
||||
|
||||
```http
|
||||
POST /api/short-urls HTTP/1.1
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||
|
||||
```
|
||||
|
||||
JSON body schema:
|
||||
|
||||
- **path** – The path to shorten, relative to the Grafana [root_url]({{< relref "../administration/configuration.md#root_url" >}}).
|
||||
|
||||
**Example response:**
|
||||
|
||||
```http
|
||||
HTTP/1.1 200
|
||||
Content-Type: application/json
|
||||
|
||||
```
|
||||
|
||||
Status codes:
|
||||
|
||||
- **200** – Created
|
||||
- **400** – Errors (invalid JSON, missing or invalid fields)
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Status codes:
|
||||
|
||||
- **200** – Created
|
||||
- **400** – Errors (invalid JSON, missing or invalid fields)
|
||||
@@ -38,7 +38,7 @@ Some features might require more memory or CPUs. Features require more resources
|
||||
|
||||
- [Server side rendering of images]({{< relref "../administration/image_rendering/#requirements" >}})
|
||||
- [Alerting]({{< relref "../alerting/alerts-overview" >}})
|
||||
- Data source proxy
|
||||
- [Data source proxy]({{< relref "../http_api/data_source" >}})
|
||||
|
||||
## Supported databases
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ grafana-cli plugins update-all
|
||||
|
||||
The dashboard grid layout engine has changed. All dashboards will be automatically upgraded to new positioning system when you load them in v5. Dashboards saved in v5 will not work in older versions of Grafana. Some external panel plugins might need to be updated to work properly.
|
||||
|
||||
For more details on the new panel positioning system, [click here]({{< relref "../dashboards/json-model.md#panel-size-position" >}})
|
||||
For more details on the new panel positioning system, refer to [panel size position]({{< relref "../dashboards/json-model.md#panel-size-position" >}})
|
||||
|
||||
## Upgrading to v5.2
|
||||
|
||||
@@ -138,7 +138,7 @@ If you're using systemd and have a large amount of annotations consider temporar
|
||||
## Upgrading to v6.0
|
||||
|
||||
If you have text panels with script tags they will no longer work due to a new setting that per default disallow unsanitized HTML.
|
||||
Read more [here]({{< relref "../administration/configuration/#disable-sanitize-html" >}}) about this new setting.
|
||||
For more information about the new setting, refer to [disable sanitize html]({{< relref "../administration/configuration/#disable-sanitize-html" >}}).
|
||||
|
||||
### Authentication and security
|
||||
|
||||
@@ -183,7 +183,7 @@ configuration.
|
||||
### Embedding Grafana
|
||||
|
||||
If you're embedding Grafana in a `<frame>`, `<iframe>`, `<embed>` or `<object>` on a different website it will no longer work due to a new setting
|
||||
that per default instructs the browser to not allow Grafana to be embedded. Read more [here]({{< relref "../administration/configuration/#allow-embedding" >}}) about
|
||||
that per default instructs the browser to not allow Grafana to be embedded. For more information about embedding Grafana, refer to [configuration embedding]({{< relref "../administration/configuration/#allow-embedding" >}}) about
|
||||
this new setting.
|
||||
|
||||
### Session storage is no longer used
|
||||
@@ -240,15 +240,15 @@ change the `[security]` setting `cookie_secure` to `true` and use HTTPS when `co
|
||||
|
||||
### PhantomJS removed
|
||||
|
||||
PhantomJS was deprecated in [Grafana v6.4]({{< relref "../guides/whats-new-in-v6-4.md#phantomjs-deprecation" >}}) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
|
||||
PhantomJS was deprecated in [Grafana v6.4]({{< relref "../whatsnew/whats-new-in-v6-4.md#phantomjs-deprecation" >}}) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
|
||||
|
||||
### Dashboard minimum refresh interval enforced
|
||||
|
||||
A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds. Read more [here]({{< relref "../administration/configuration/#min-refresh-interval" >}}) about this setting.
|
||||
A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds. For more information about this setting, refer to [minimum refresh interval]({{< relref "../administration/configuration/#min-refresh-interval" >}}).
|
||||
|
||||
### Backend plugins
|
||||
|
||||
Grafana now requires backend plugins to be signed. If a backend plugin is not signed Grafana will not load/start it. This is an additional security measure to make sure backend plugin binaries and files haven't been tampered with. All Grafana Labs authored backend plugins, including Enterprise plugins, are now signed. It's possible to allow unsigned plugins using a configuration setting, but is something we strongly advise against doing. Read more [here]({{< relref "../administration/#allow-loading-unsigned-plugins" >}}) about this setting.
|
||||
Grafana now requires backend plugins to be signed. If a backend plugin is not signed Grafana will not load/start it. This is an additional security measure to make sure backend plugin binaries and files haven't been tampered with. All Grafana Labs authored backend plugins, including Enterprise plugins, are now signed. It's possible to allow unsigned plugins using a configuration setting, but is something we strongly advise against doing. For more information about this setting, refer to [allow loading unsigned plugins]({{< relref "../administration/#allow-loading-unsigned-plugins" >}}).
|
||||
|
||||
### Cookie path
|
||||
|
||||
@@ -277,3 +277,22 @@ For existing alert notification channels, there is no automatic migration of sto
|
||||
> Please note that when migrating a notification channel and later downgrading Grafana to an earlier version, the notification channel will not be able to read stored sensitive settings and, as a result, not function as expected.
|
||||
|
||||
For provisioning of alert notification channels, refer to [Alert notification channels]({{< relref "../administration/provisioning.md#alert-notification-channels" >}}).
|
||||
|
||||
## Upgrading to v7.3
|
||||
|
||||
### AWS CloudWatch data source
|
||||
|
||||
The AWS CloudWatch data source's authentication scheme has changed in Grafana 7.3. Most importantly the authentication method _ARN_ has been removed, and a new one has been added: _AWS SDK Default_. Existing data source configurations using the former will fallback to the latter. Assuming an IAM role will still work though, and the old _ARN_ method would use the default AWS SDK authentication method under the hood anyway.
|
||||
|
||||
Since _ARN_ has been removed as an authentication method, we have instead made it into an option for providing the ARN of an IAM role to assume. This works independently of the authentication method you choose.
|
||||
|
||||
The new authentication method, _AWS SDK Default_, uses the default AWS Go SDK credential chain, which at the time of writing looks for credentials in the following order:
|
||||
|
||||
1. Environment variables.
|
||||
1. Shared credentials file.
|
||||
1. If your application uses an ECS task definition or RunTask API operation, IAM role for tasks.
|
||||
1. If your application is running on an Amazon EC2 instance, IAM role for Amazon EC2.
|
||||
|
||||
The other authentication methods, _Access & secret key_ and _Credentials file_, have changed in regards to fallbacks. If these methods fail, they no longer fallback to other methods. e.g. environment variables. If you want fallbacks, you should use _AWS SDK Default_ instead.
|
||||
|
||||
For more information and details, please refer to [Using AWS CloudWatch in Grafana]({{< relref "../datasources/cloudwatch.md#authentication" >}}).
|
||||
|
||||
@@ -9,7 +9,7 @@ weight = 40
|
||||
|
||||
# Manage users
|
||||
|
||||
Create users and teams and configure [Permissions]({{< relref "../permissions/overview.md" >}}) to make sure that users only have access to the resources they need.
|
||||
Create users and teams and configure [Permissions]({{< relref "../permissions/_index.md" >}}) to make sure that users only have access to the resources they need.
|
||||
|
||||
Only Administrators can manage users and teams.
|
||||
|
||||
|
||||
+49
-47
@@ -48,8 +48,8 @@
|
||||
- name: Administration
|
||||
link: /administration/
|
||||
children:
|
||||
- name: Administration Tasks
|
||||
link: /administration/admin/
|
||||
- name: Administration tasks
|
||||
link: /administration/
|
||||
- name: Change password
|
||||
link: /administration/change-your-password/
|
||||
- name: Change preferences
|
||||
@@ -92,7 +92,7 @@
|
||||
- name: Permissions
|
||||
link: /permissions/
|
||||
children:
|
||||
- link: /permissions/overview/
|
||||
- link: /permissions/
|
||||
name: Overview
|
||||
- link: /permissions/organization_roles/
|
||||
name: Organization Roles
|
||||
@@ -126,39 +126,41 @@
|
||||
- link: /manage-users/add-or-remove-user-from-team/
|
||||
name: Add or remove user from team
|
||||
- name: Data sources
|
||||
link: /features/datasources/
|
||||
link: /datasources/
|
||||
children:
|
||||
- link: /features/datasources/add-a-data-source/
|
||||
- link: /datasources/add-a-data-source/
|
||||
name: Add data source
|
||||
- link: /features/datasources/cloudwatch/
|
||||
- link: /datasources/cloudwatch/
|
||||
name: AWS Cloudwatch
|
||||
- link: /features/datasources/azuremonitor/
|
||||
- link: /datasources/azuremonitor/
|
||||
name: Azure Monitor
|
||||
- link: /features/datasources/elasticsearch/
|
||||
- link: /datasources/elasticsearch/
|
||||
name: Elasticsearch
|
||||
- link: /features/datasources/cloudmonitoring/
|
||||
- link: /datasources/cloudmonitoring/
|
||||
name: Google Cloud Monitoring
|
||||
- link: /features/datasources/graphite/
|
||||
- link: /datasources/graphite/
|
||||
name: Graphite
|
||||
- link: /features/datasources/influxdb/
|
||||
- link: /datasources/influxdb/
|
||||
name: InfluxDB
|
||||
- link: /features/datasources/jaeger/
|
||||
- link: /datasources/jaeger/
|
||||
name: Jaeger
|
||||
- link: /features/datasources/loki/
|
||||
- link: /datasources/loki/
|
||||
name: Loki
|
||||
- link: /features/datasources/mssql/
|
||||
- link: /datasources/mssql/
|
||||
name: Microsoft SQL Server
|
||||
- link: /features/datasources/mysql/
|
||||
- link: /datasources/mysql/
|
||||
name: MySQL
|
||||
- link: /features/datasources/opentsdb/
|
||||
- link: /datasources/opentsdb/
|
||||
name: OpenTSDB
|
||||
- link: /features/datasources/postgres/
|
||||
- link: /datasources/postgres/
|
||||
name: PostgreSQL
|
||||
- link: /features/datasources/prometheus/
|
||||
- link: /datasources/prometheus/
|
||||
name: Prometheus
|
||||
- link: /features/datasources/testdata/
|
||||
- link: /datasources/tempo/
|
||||
name: Tempo
|
||||
- link: /datasources/testdata/
|
||||
name: TestData DB
|
||||
- link: /features/datasources/zipkin/
|
||||
- link: /datasources/zipkin/
|
||||
name: Zipkin
|
||||
- name: Panels
|
||||
link: /panels/
|
||||
@@ -337,59 +339,61 @@
|
||||
- name: What's new in Grafana
|
||||
link: /whatsnew/
|
||||
children:
|
||||
- name: Version 7.3
|
||||
link: /whatsnew/whats-new-in-v7-3/
|
||||
- name: Version 7.2
|
||||
link: /guides/whats-new-in-v7-2/
|
||||
link: /whatsnew/whats-new-in-v7-2/
|
||||
- name: Version 7.1
|
||||
link: /guides/whats-new-in-v7-1/
|
||||
link: /whatsnew/whats-new-in-v7-1/
|
||||
- name: Version 7.0
|
||||
link: /guides/whats-new-in-v7-0/
|
||||
link: /whatsnew/whats-new-in-v7-0/
|
||||
- name: Version 6.7
|
||||
link: /guides/whats-new-in-v6-7/
|
||||
link: /whatsnew/whats-new-in-v6-7/
|
||||
- name: Version 6.6
|
||||
link: /guides/whats-new-in-v6-6/
|
||||
link: /whatsnew/whats-new-in-v6-6/
|
||||
- name: Version 6.5
|
||||
link: /guides/whats-new-in-v6-5/
|
||||
link: /whatsnew/whats-new-in-v6-5/
|
||||
- name: Version 6.4
|
||||
link: /guides/whats-new-in-v6-4/
|
||||
link: /whatsnew/whats-new-in-v6-4/
|
||||
- name: Version 6.3
|
||||
link: /guides/whats-new-in-v6-3/
|
||||
link: /whatsnew/whats-new-in-v6-3/
|
||||
- name: Version 6.2
|
||||
link: /guides/whats-new-in-v6-2/
|
||||
link: /whatsnew/whats-new-in-v6-2/
|
||||
- name: Version 6.1
|
||||
link: /guides/whats-new-in-v6-1/
|
||||
link: /whatsnew/whats-new-in-v6-1/
|
||||
- name: Version 6.0
|
||||
link: /guides/whats-new-in-v6-0/
|
||||
link: /whatsnew/whats-new-in-v6-0/
|
||||
- name: Old versions
|
||||
link: /whatsnew/
|
||||
children:
|
||||
- name: Version 5.4
|
||||
link: /guides/whats-new-in-v5-4/
|
||||
link: /whatsnew/whats-new-in-v5-4/
|
||||
- name: Version 5.3
|
||||
link: /guides/whats-new-in-v5-3/
|
||||
link: /whatsnew/whats-new-in-v5-3/
|
||||
- name: Version 5.2
|
||||
link: /guides/whats-new-in-v5-2/
|
||||
link: /whatsnew/whats-new-in-v5-2/
|
||||
- name: Version 5.1
|
||||
link: /guides/whats-new-in-v5-1/
|
||||
link: /whatsnew/whats-new-in-v5-1/
|
||||
- name: Version 5.0
|
||||
link: /guides/whats-new-in-v5/
|
||||
link: /whatsnew/whats-new-in-v5/
|
||||
- name: Version 4.6
|
||||
link: /guides/whats-new-in-v4-6/
|
||||
link: /whatsnew/whats-new-in-v4-6/
|
||||
- name: Version 4.5
|
||||
link: /guides/whats-new-in-v4-5/
|
||||
link: /whatsnew/whats-new-in-v4-5/
|
||||
- name: Version 4.4
|
||||
link: /guides/whats-new-in-v4-4/
|
||||
link: /whatsnew/whats-new-in-v4-4/
|
||||
- name: Version 4.3
|
||||
link: /guides/whats-new-in-v4-3/
|
||||
link: /whatsnew/whats-new-in-v4-3/
|
||||
- name: Version 4.2
|
||||
link: /guides/whats-new-in-v4-2/
|
||||
link: /whatsnew/whats-new-in-v4-2/
|
||||
- name: Version 4.1
|
||||
link: /guides/whats-new-in-v4-1/
|
||||
link: /whatsnew/whats-new-in-v4-1/
|
||||
- name: Version 4.0
|
||||
link: /guides/whats-new-in-v4/
|
||||
link: /whatsnew/whats-new-in-v4/
|
||||
- name: Version 3.1
|
||||
link: /guides/whats-new-in-v3-1/
|
||||
link: /whatsnew/whats-new-in-v3-1/
|
||||
- name: Version 3.0
|
||||
link: /guides/whats-new-in-v3/
|
||||
link: /whatsnew/whats-new-in-v3/
|
||||
- name: Grafana Enterprise
|
||||
link: /enterprise/
|
||||
children:
|
||||
@@ -551,5 +555,3 @@
|
||||
link: /developers/contribute/
|
||||
- name: Contributor License Agreement (CLA)
|
||||
link: /developers/cla/
|
||||
- name: Docs Archive
|
||||
link: /archive/
|
||||
|
||||
@@ -1,21 +1,6 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "API Reference"
|
||||
keywords = ["grafana","documentation","sdk"]
|
||||
type = "docs"
|
||||
# -------------------------------------------------------------------------
|
||||
# Do not add anything to this folder. The packages reference docs will be
|
||||
# automatically generated when syncing the rest of the docs to the website.
|
||||
# -------------------------------------------------------------------------
|
||||
+++
|
||||
|
||||
## API Reference
|
||||
|
||||
### Packages
|
||||
|
||||
| Package | Description |
|
||||
| --- | --- |
|
||||
| [@grafana/data](./data/) | A library containing most of the core functionality and data types used in Grafana. |
|
||||
| [@grafana/e2e](./e2e/) | A library for writing end-to-end tests for Grafana and its ecosystem. |
|
||||
| [@grafana/e2e-selectors](./e2e-selectors/) | A library containing the different design components of the Grafana ecosystem. |
|
||||
| [@grafana/runtime](./runtime/) | A library containing services, configurations etc. used to interact with the Grafana engine. |
|
||||
| [@grafana/ui](./ui/) | A library containing the different design components of the Grafana ecosystem. |
|
||||
|
||||
|
||||
@@ -1,477 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "@grafana/data"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## @grafana/data package
|
||||
|
||||
A library containing most of the core functionality and data types used in Grafana.
|
||||
|
||||
## Classes
|
||||
|
||||
| Class | Description |
|
||||
| --- | --- |
|
||||
| [AppendedVectors](./appendedvectors/) | This may be more trouble than it is worth. This trades some computation time for RAM -- rather than allocate a new array the size of all previous arrays, this just points the correct index to their original array values |
|
||||
| [AppPlugin](./appplugin/) | |
|
||||
| [ArrayVector](./arrayvector/) | |
|
||||
| [BinaryOperationVector](./binaryoperationvector/) | |
|
||||
| [CircularDataFrame](./circulardataframe/) | This dataframe can have values constantly added, and will never exceed the given capacity |
|
||||
| [CircularVector](./circularvector/) | Circular vector uses a single buffer to capture a stream of values overwriting the oldest value on add.<!-- -->This supports adding to the 'head' or 'tail' and will grow the buffer to match a configured capacity. |
|
||||
| [ConstantVector](./constantvector/) | |
|
||||
| [CSVReader](./csvreader/) | |
|
||||
| [DataFrameView](./dataframeview/) | <b><i>(BETA)</i></b> This abstraction will present the contents of a DataFrame as if it were a well typed javascript object Vector. |
|
||||
| [DataSourceApi](./datasourceapi/) | The main data source abstraction interface, represents an instance of a data source<!-- -->Although this is a class, datasource implementations do not \*yet\* need to extend it. As such, we can not yet add functions with default implementations. |
|
||||
| [DataSourcePlugin](./datasourceplugin/) | |
|
||||
| [FieldCache](./fieldcache/) | |
|
||||
| [FieldConfigEditorBuilder](./fieldconfigeditorbuilder/) | Fluent API for declarative creation of field config option editors |
|
||||
| [FieldConfigOptionsRegistry](./fieldconfigoptionsregistry/) | |
|
||||
| [FormattedVector](./formattedvector/) | |
|
||||
| [GrafanaPlugin](./grafanaplugin/) | |
|
||||
| [LanguageProvider](./languageprovider/) | |
|
||||
| [MutableDataFrame](./mutabledataframe/) | |
|
||||
| [PanelOptionsEditorBuilder](./paneloptionseditorbuilder/) | Fluent API for declarative creation of panel options |
|
||||
| [PanelPlugin](./panelplugin/) | |
|
||||
| [Registry](./registry/) | |
|
||||
| [SortedVector](./sortedvector/) | Values are returned in the order defined by the input parameter |
|
||||
|
||||
## Enumerations
|
||||
|
||||
| Enumeration | Description |
|
||||
| --- | --- |
|
||||
| [BinaryOperationID](./binaryoperationid/) | |
|
||||
| [ColorScheme](./colorscheme/) | |
|
||||
| [CoreApp](./coreapp/) | |
|
||||
| [CSVHeaderStyle](./csvheaderstyle/) | |
|
||||
| [DataSourceStatus](./datasourcestatus/) | |
|
||||
| [DataTransformerID](./datatransformerid/) | |
|
||||
| [ExploreMode](./exploremode/) | |
|
||||
| [FieldColorMode](./fieldcolormode/) | |
|
||||
| [FieldConfigProperty](./fieldconfigproperty/) | |
|
||||
| [FieldMatcherID](./fieldmatcherid/) | |
|
||||
| [FieldType](./fieldtype/) | |
|
||||
| [FrameMatcherID](./framematcherid/) | Field name matchers |
|
||||
| [GrafanaThemeType](./grafanathemetype/) | |
|
||||
| [InternalTimeZones](./internaltimezones/) | |
|
||||
| [LoadingState](./loadingstate/) | Represent panel data loading state. |
|
||||
| [LogLevel](./loglevel/) | Mapping of log level abbreviation to canonical log level. Supported levels are reduce to limit color variation. |
|
||||
| [LogsDedupDescription](./logsdedupdescription/) | |
|
||||
| [LogsDedupStrategy](./logsdedupstrategy/) | |
|
||||
| [LogsMetaKind](./logsmetakind/) | |
|
||||
| [MappingType](./mappingtype/) | |
|
||||
| [MatcherID](./matcherid/) | |
|
||||
| [NullValueMode](./nullvaluemode/) | |
|
||||
| [OrgRole](./orgrole/) | |
|
||||
| [PluginIncludeType](./pluginincludetype/) | |
|
||||
| [PluginSignatureStatus](./pluginsignaturestatus/) | |
|
||||
| [PluginState](./pluginstate/) | |
|
||||
| [PluginType](./plugintype/) | |
|
||||
| [ReducerID](./reducerid/) | |
|
||||
| [ThresholdsMode](./thresholdsmode/) | Display mode |
|
||||
| [VariableOrigin](./variableorigin/) | |
|
||||
| [VariableSuggestionsScope](./variablesuggestionsscope/) | |
|
||||
| [VizOrientation](./vizorientation/) | |
|
||||
|
||||
## Functions
|
||||
|
||||
| Function | Description |
|
||||
| --- | --- |
|
||||
| [addLogLevelToSeries(series, lineIndex)](./addlogleveltoseries/) | |
|
||||
| [applyFieldOverrides(options)](./applyfieldoverrides/) | Return a copy of the DataFrame with all rules applied |
|
||||
| [arrowTableToDataFrame(table)](./arrowtabletodataframe/) | |
|
||||
| [base64StringToArrowTable(text)](./base64stringtoarrowtable/) | |
|
||||
| [calculateFieldStats(rows, extractor)](./calculatefieldstats/) | |
|
||||
| [calculateLogsLabelStats(rows, label)](./calculatelogslabelstats/) | |
|
||||
| [calculateStats(values)](./calculatestats/) | |
|
||||
| [doStandardCalcs(field, ignoreNulls, nullAsZero)](./dostandardcalcs/) | |
|
||||
| [eventFactory(name)](./eventfactory/) | |
|
||||
| [findCommonLabels(labelsSets)](./findcommonlabels/) | Returns a map labels that are common to the given label sets. |
|
||||
| [findHighlightChunksInText({ searchWords, textToHighlight, })](./findhighlightchunksintext/) | Adapt findMatchesInText for react-highlight-words findChunks handler. See https://github.com/bvaughn/react-highlight-words\#props |
|
||||
| [findMatchesInText(haystack, needle)](./findmatchesintext/) | Returns a list of substring regexp matches. |
|
||||
| [findUniqueLabels(labels, commonLabels)](./finduniquelabels/) | Returns a map of labels that are in <code>labels</code>, but not in <code>commonLabels</code>. |
|
||||
| [formatLabels(labels, defaultValue)](./formatlabels/) | Serializes the given labels to a string. |
|
||||
| [formattedValueToString(val)](./formattedvaluetostring/) | |
|
||||
| [getActiveThreshold(value, thresholds)](./getactivethreshold/) | |
|
||||
| [getDataFrameRow(data, row)](./getdataframerow/) | Wrapper to get an array from each field value |
|
||||
| [getDecimalsForValue(value, decimalOverride)](./getdecimalsforvalue/) | |
|
||||
| [getDisplayProcessor(options)](./getdisplayprocessor/) | |
|
||||
| [getDisplayValueAlignmentFactors(values)](./getdisplayvaluealignmentfactors/) | |
|
||||
| [getFieldDisplayName(field, frame, allFrames)](./getfielddisplayname/) | |
|
||||
| [getFieldMatcher(config)](./getfieldmatcher/) | |
|
||||
| [getFlotPairs({ xField, yField, nullValueMode })](./getflotpairs/) | |
|
||||
| [getFlotPairsConstant(seriesData, range)](./getflotpairsconstant/) | Returns a constant series based on the first value from the provide series. |
|
||||
| [getFrameDisplayName(frame, index)](./getframedisplayname/) | Get an appropriate display title |
|
||||
| [getFrameMatchers(config)](./getframematchers/) | |
|
||||
| [getLogLevel(line)](./getloglevel/) | Returns the log level of a log line. Parse the line for level words. If no level is found, it returns <code>LogLevel.unknown</code>.<!-- -->Example: <code>getLogLevel('WARN 1999-12-31 this is great') // LogLevel.warn</code> |
|
||||
| [getLogLevelFromKey(key)](./getloglevelfromkey/) | |
|
||||
| [getParser(line)](./getparser/) | |
|
||||
| [getScaleCalculator(field, theme)](./getscalecalculator/) | |
|
||||
| [getValueFormat(id)](./getvalueformat/) | |
|
||||
| [getValueFormats()](./getvalueformats/) | |
|
||||
| [getValueFormatterIndex()](./getvalueformatterindex/) | |
|
||||
| [grafanaDataFrameToArrowTable(data, keepOriginalNames)](./grafanadataframetoarrowtable/) | |
|
||||
| [guessFieldTypeForField(field)](./guessfieldtypeforfield/) | Looks at the data to guess the column type. This ignores any existing setting |
|
||||
| [guessFieldTypeFromNameAndValue(name, v)](./guessfieldtypefromnameandvalue/) | Given a name and value, this will pick a reasonable field type |
|
||||
| [guessFieldTypeFromValue(v)](./guessfieldtypefromvalue/) | Given a value this will guess the best column type<!-- -->TODO: better Date/Time support! Look for standard date strings? |
|
||||
| [hasLinks(field)](./haslinks/) | |
|
||||
| [locale(value, decimals)](./locale/) | |
|
||||
| [parseFlags(text)](./parseflags/) | Converts any mode modifiers in the text to the Javascript equivalent flag |
|
||||
| [parseLabels(labels)](./parselabels/) | Returns a map of label keys to value from an input selector string.<!-- -->Example: <code>parseLabels('{job="foo", instance="bar"}) // {job: "foo", instance: "bar"}</code> |
|
||||
| [readCSV(csv, options)](./readcsv/) | |
|
||||
| [reduceField(options)](./reducefield/) | |
|
||||
| [renderMarkdown(str)](./rendermarkdown/) | |
|
||||
| [reverseDataFrame(data)](./reversedataframe/) | Returns a copy with all values reversed |
|
||||
| [scaledUnits(factor, extArray)](./scaledunits/) | |
|
||||
| [setMarkdownOptions(optionsOverride)](./setmarkdownoptions/) | |
|
||||
| [simpleCountUnit(symbol)](./simplecountunit/) | |
|
||||
| [sortDataFrame(data, sortIndex, reverse)](./sortdataframe/) | |
|
||||
| [sortThresholds(thresholds)](./sortthresholds/) | Sorts the thresholds |
|
||||
| [stringStartsAsRegEx(str)](./stringstartsasregex/) | |
|
||||
| [stringToJsRegex(str)](./stringtojsregex/) | |
|
||||
| [stringToMs(str)](./stringtoms/) | |
|
||||
| [toCSV(data, config)](./tocsv/) | |
|
||||
| [toDataFrame(data)](./todataframe/) | Inspect any object and return the results as a DataFrame |
|
||||
| [toDataFrameDTO(data)](./todataframedto/) | Returns a copy that does not include functions |
|
||||
| [toFixed(value, decimals)](./tofixed/) | |
|
||||
| [toFixedScaled(value, decimals, scaledDecimals, additionalDecimals, ext)](./tofixedscaled/) | |
|
||||
| [toFixedUnit(unit, asPrefix)](./tofixedunit/) | |
|
||||
| [toFloatOrUndefined(value)](./tofloatorundefined/) | |
|
||||
| [toIntegerOrUndefined(value)](./tointegerorundefined/) | |
|
||||
| [toNumberString(value)](./tonumberstring/) | |
|
||||
| [transformDataFrame(options, data)](./transformdataframe/) | Apply configured transformations to the input data |
|
||||
| [updateDatasourcePluginOption(props, key, val)](./updatedatasourcepluginoption/) | |
|
||||
| [validateFieldConfig(config)](./validatefieldconfig/) | This checks that all options on FieldConfig make sense. It mutates any value that needs fixed. In particular this makes sure that the first threshold value is -Infinity (not valid in JSON) |
|
||||
| [vectorator(vector)](./vectorator/) | Use functional programming with your vector |
|
||||
|
||||
## Interfaces
|
||||
|
||||
| Interface | Description |
|
||||
| --- | --- |
|
||||
| [AbsoluteTimeRange](./absolutetimerange/) | |
|
||||
| [AnnotationEvent](./annotationevent/) | |
|
||||
| [AnnotationQueryRequest](./annotationqueryrequest/) | Options passed to the datasource.annotationQuery method. See docs/plugins/developing/datasource.md |
|
||||
| [AppEvent](./appevent/) | |
|
||||
| [ApplyFieldOverrideOptions](./applyfieldoverrideoptions/) | |
|
||||
| [AppPluginMeta](./apppluginmeta/) | |
|
||||
| [AppRootProps](./approotprops/) | |
|
||||
| [ArrowDataFrame](./arrowdataframe/) | |
|
||||
| [BuildInfo](./buildinfo/) | Describes the build information that will be available via the Grafana configuration. |
|
||||
| [ColorFieldConfigSettings](./colorfieldconfigsettings/) | |
|
||||
| [Column](./column/) | |
|
||||
| [ConfigOverrideRule](./configoverriderule/) | |
|
||||
| [CreatePlotOverlay](./createplotoverlay/) | |
|
||||
| [CSVConfig](./csvconfig/) | |
|
||||
| [CSVOptions](./csvoptions/) | |
|
||||
| [CSVParseCallbacks](./csvparsecallbacks/) | |
|
||||
| [DataConfigSource](./dataconfigsource/) | Describes and API for exposing panel specific data configurations. |
|
||||
| [DataFrame](./dataframe/) | |
|
||||
| [DataFrameDTO](./dataframedto/) | Like a DataFrame, but fields may be a FieldDTO |
|
||||
| [DataLink](./datalink/) | Link configuration. The values may contain variables that need to be processed before showing the link to user.<!-- -->TODO: <<!-- -->T extends DataQuery<!-- -->> is not strictly true for internal links as we do not need refId for example but all data source defined queries extend this so this is more for documentation. |
|
||||
| [DataLinkClickEvent](./datalinkclickevent/) | Callback info for DataLink click events |
|
||||
| [DataLinksFieldConfigSettings](./datalinksfieldconfigsettings/) | |
|
||||
| [DataQuery](./dataquery/) | These are the common properties available to all queries in all datasources Specific implementations will extend this interface adding the required properties for the given context |
|
||||
| [DataQueryError](./dataqueryerror/) | |
|
||||
| [DataQueryRequest](./dataqueryrequest/) | |
|
||||
| [DataQueryResponse](./dataqueryresponse/) | |
|
||||
| [DataQueryTimings](./dataquerytimings/) | |
|
||||
| [DataSourceConstructor](./datasourceconstructor/) | |
|
||||
| [DataSourceInstanceSettings](./datasourceinstancesettings/) | Frontend settings model that is passed to Datasource constructor. This differs a bit from the model above as this data model is available to every user who has access to a data source (Viewers+). This is loaded in bootData (on page load), or from: /api/frontend/settings |
|
||||
| [DataSourceJsonData](./datasourcejsondata/) | |
|
||||
| [DataSourcePluginComponents](./datasourceplugincomponents/) | |
|
||||
| [DataSourcePluginMeta](./datasourcepluginmeta/) | |
|
||||
| [DataSourcePluginOptionsEditorProps](./datasourcepluginoptionseditorprops/) | |
|
||||
| [DataSourceSelectItem](./datasourceselectitem/) | |
|
||||
| [DataSourceSettings](./datasourcesettings/) | Data Source instance edit model. This is returned from: /api/datasources |
|
||||
| [DataTransformerConfig](./datatransformerconfig/) | |
|
||||
| [DataTransformerInfo](./datatransformerinfo/) | |
|
||||
| [DateTime](./datetime/) | |
|
||||
| [DateTimeBuiltinFormat](./datetimebuiltinformat/) | |
|
||||
| [DateTimeDuration](./datetimeduration/) | |
|
||||
| [DateTimeLocale](./datetimelocale/) | |
|
||||
| [DateTimeOptions](./datetimeoptions/) | The type describing date and time options. Used for all the helper functions available to parse or format date and time values. |
|
||||
| [DateTimeOptionsWhenParsing](./datetimeoptionswhenparsing/) | The type that describes options that can be passed when parsing a date and time value. |
|
||||
| [DateTimeOptionsWithFormat](./datetimeoptionswithformat/) | The type describing the options that can be passed to the [dateTimeFormat](./data/datetimeformat.md) helper function to control how the date and time value passed to the function is formatted. |
|
||||
| [DecimalInfo](./decimalinfo/) | |
|
||||
| [Dimension](./dimension/) | |
|
||||
| [DisplayValue](./displayvalue/) | |
|
||||
| [DisplayValueAlignmentFactors](./displayvaluealignmentfactors/) | These represents the display value with the longest title and text. Used to align widths and heights when displaying multiple DisplayValues |
|
||||
| [DynamicConfigValue](./dynamicconfigvalue/) | |
|
||||
| [ExploreQueryFieldProps](./explorequeryfieldprops/) | |
|
||||
| [ExploreStartPageProps](./explorestartpageprops/) | |
|
||||
| [FeatureToggles](./featuretoggles/) | Describes available feature toggles in Grafana. These can be configured via the <code>conf/custom.ini</code> to enable features under development or not yet available in stable version. |
|
||||
| [Field](./field/) | |
|
||||
| [FieldCalcs](./fieldcalcs/) | |
|
||||
| [FieldColor](./fieldcolor/) | |
|
||||
| [FieldConfig](./fieldconfig/) | Every property is optional<!-- -->Plugins may extend this with additional properties. Something like series overrides |
|
||||
| [FieldConfigEditorConfig](./fieldconfigeditorconfig/) | |
|
||||
| [FieldConfigEditorProps](./fieldconfigeditorprops/) | |
|
||||
| [FieldConfigPropertyItem](./fieldconfigpropertyitem/) | |
|
||||
| [FieldConfigSource](./fieldconfigsource/) | |
|
||||
| [FieldDisplay](./fielddisplay/) | |
|
||||
| [FieldDTO](./fielddto/) | Like a field, but properties are optional and values may be a simple array |
|
||||
| [FieldMatcherInfo](./fieldmatcherinfo/) | |
|
||||
| [FieldOverrideContext](./fieldoverridecontext/) | |
|
||||
| [FieldOverrideEditorProps](./fieldoverrideeditorprops/) | |
|
||||
| [FieldReducerInfo](./fieldreducerinfo/) | |
|
||||
| [FieldState](./fieldstate/) | |
|
||||
| [FieldWithIndex](./fieldwithindex/) | |
|
||||
| [FlotDataPoint](./flotdatapoint/) | |
|
||||
| [FormattedValue](./formattedvalue/) | |
|
||||
| [FrameMatcherInfo](./framematcherinfo/) | |
|
||||
| [GetFieldDisplayValuesOptions](./getfielddisplayvaluesoptions/) | |
|
||||
| [GrafanaConfig](./grafanaconfig/) | Describes all the different Grafana configuration values available for an instance. |
|
||||
| [GrafanaTheme](./grafanatheme/) | |
|
||||
| [GrafanaThemeCommons](./grafanathemecommons/) | |
|
||||
| [GraphSeriesXY](./graphseriesxy/) | View model projection of a series |
|
||||
| [GroupedTimeZones](./groupedtimezones/) | |
|
||||
| [HistoryItem](./historyitem/) | |
|
||||
| [IntervalValues](./intervalvalues/) | |
|
||||
| [Labels](./labels/) | |
|
||||
| [LicenseInfo](./licenseinfo/) | Describes the license information about the current running instance of Grafana. |
|
||||
| [LinkModel](./linkmodel/) | Processed Link Model. The values are ready to use |
|
||||
| [LinkModelSupplier](./linkmodelsupplier/) | Provides a way to produce links on demand<!-- -->TODO: ScopedVars in in GrafanaUI package! |
|
||||
| [LogLabelStatsModel](./loglabelstatsmodel/) | |
|
||||
| [LogRowModel](./logrowmodel/) | |
|
||||
| [LogSearchMatch](./logsearchmatch/) | |
|
||||
| [LogsMetaItem](./logsmetaitem/) | |
|
||||
| [LogsModel](./logsmodel/) | |
|
||||
| [LogsParser](./logsparser/) | |
|
||||
| [MatcherConfig](./matcherconfig/) | |
|
||||
| [MetadataInspectorProps](./metadatainspectorprops/) | |
|
||||
| [MetricFindValue](./metricfindvalue/) | |
|
||||
| [MutableVector](./mutablevector/) | Vector with standard manipulation functions |
|
||||
| [NavModel](./navmodel/) | Interface used to describe different kinds of page titles and page navigation. Navmodels are usually generated in the backend and stored in Redux. |
|
||||
| [NavModelBreadcrumb](./navmodelbreadcrumb/) | |
|
||||
| [NavModelItem](./navmodelitem/) | |
|
||||
| [NumberFieldConfigSettings](./numberfieldconfigsettings/) | |
|
||||
| [PanelData](./paneldata/) | |
|
||||
| [PanelEditorProps](./paneleditorprops/) | |
|
||||
| [PanelModel](./panelmodel/) | |
|
||||
| [PanelOptionsEditorConfig](./paneloptionseditorconfig/) | |
|
||||
| [PanelOptionsEditorItem](./paneloptionseditoritem/) | |
|
||||
| [PanelOptionsEditorProps](./paneloptionseditorprops/) | |
|
||||
| [PanelPluginMeta](./panelpluginmeta/) | |
|
||||
| [PanelProps](./panelprops/) | |
|
||||
| [PluginBuildInfo](./pluginbuildinfo/) | |
|
||||
| [PluginConfigPage](./pluginconfigpage/) | |
|
||||
| [PluginConfigPageProps](./pluginconfigpageprops/) | |
|
||||
| [PluginDependencies](./plugindependencies/) | |
|
||||
| [PluginInclude](./plugininclude/) | |
|
||||
| [PluginMeta](./pluginmeta/) | |
|
||||
| [PluginMetaInfo](./pluginmetainfo/) | |
|
||||
| [QueryEditorProps](./queryeditorprops/) | |
|
||||
| [QueryFix](./queryfix/) | |
|
||||
| [QueryFixAction](./queryfixaction/) | |
|
||||
| [QueryHint](./queryhint/) | |
|
||||
| [QueryResultBase](./queryresultbase/) | |
|
||||
| [QueryResultMeta](./queryresultmeta/) | |
|
||||
| [QueryResultMetaNotice](./queryresultmetanotice/) | QueryResultMetaNotice is a structure that provides user notices for query result data |
|
||||
| [QueryResultMetaStat](./queryresultmetastat/) | |
|
||||
| [RangeMap](./rangemap/) | |
|
||||
| [RawTimeRange](./rawtimerange/) | |
|
||||
| [ReadWriteVector](./readwritevector/) | Apache arrow vectors are Read/Write |
|
||||
| [ReduceDataOptions](./reducedataoptions/) | Options for how to turn DataFrames into an array of display values |
|
||||
| [RegexpOrNamesMatcherOptions](./regexpornamesmatcheroptions/) | |
|
||||
| [RegistryItem](./registryitem/) | |
|
||||
| [RegistryItemWithOptions](./registryitemwithoptions/) | |
|
||||
| [ScaledValue](./scaledvalue/) | |
|
||||
| [ScopedVar](./scopedvar/) | |
|
||||
| [ScopedVars](./scopedvars/) | |
|
||||
| [ScreenshotInfo](./screenshotinfo/) | |
|
||||
| [SelectableValue](./selectablevalue/) | Used in select elements |
|
||||
| [SelectFieldConfigSettings](./selectfieldconfigsettings/) | |
|
||||
| [StandardEditorContext](./standardeditorcontext/) | |
|
||||
| [StandardEditorProps](./standardeditorprops/) | |
|
||||
| [StandardEditorsRegistryItem](./standardeditorsregistryitem/) | |
|
||||
| [StringFieldConfigSettings](./stringfieldconfigsettings/) | |
|
||||
| [TableData](./tabledata/) | |
|
||||
| [TextMatch](./textmatch/) | |
|
||||
| [Threshold](./threshold/) | |
|
||||
| [ThresholdsConfig](./thresholdsconfig/) | Config that is passed to the ThresholdsEditor |
|
||||
| [ThresholdsFieldConfigSettings](./thresholdsfieldconfigsettings/) | |
|
||||
| [TimeOption](./timeoption/) | |
|
||||
| [TimeOptions](./timeoptions/) | |
|
||||
| [TimeRange](./timerange/) | |
|
||||
| [TimeSeries](./timeseries/) | |
|
||||
| [TimeZoneCountry](./timezonecountry/) | |
|
||||
| [TimeZoneInfo](./timezoneinfo/) | |
|
||||
| [TransformerRegistyItem](./transformerregistyitem/) | |
|
||||
| [TransformerUIProps](./transformeruiprops/) | |
|
||||
| [UnitFieldConfigSettings](./unitfieldconfigsettings/) | |
|
||||
| [UserOrgDTO](./userorgdto/) | |
|
||||
| [ValueFormat](./valueformat/) | |
|
||||
| [ValueFormatCategory](./valueformatcategory/) | |
|
||||
| [ValueLinkConfig](./valuelinkconfig/) | |
|
||||
| [ValueMap](./valuemap/) | |
|
||||
| [ValueMappingFieldConfigSettings](./valuemappingfieldconfigsettings/) | |
|
||||
| [VariableModel](./variablemodel/) | |
|
||||
| [VariableSuggestion](./variablesuggestion/) | |
|
||||
| [Vector](./vector/) | |
|
||||
| [YAxis](./yaxis/) | |
|
||||
|
||||
## Namespaces
|
||||
|
||||
| Namespace | Description |
|
||||
| --- | --- |
|
||||
| [AppEvents](./appevents/) | |
|
||||
| [dateMath](./datemath/) | |
|
||||
| [PanelEvents](./panelevents/) | |
|
||||
| [rangeUtil](./rangeutil/) | |
|
||||
|
||||
## Variables
|
||||
|
||||
| Variable | Description |
|
||||
| --- | --- |
|
||||
| [binaryOperators](./binaryoperators/) | |
|
||||
| [booleanOverrideProcessor](./booleanoverrideprocessor/) | |
|
||||
| [createDimension](./createdimension/) | |
|
||||
| [DataLinkBuiltInVars](./datalinkbuiltinvars/) | |
|
||||
| [dataLinksOverrideProcessor](./datalinksoverrideprocessor/) | |
|
||||
| [dateTime](./datetime/) | |
|
||||
| [dateTimeAsMoment](./datetimeasmoment/) | |
|
||||
| [dateTimeFormat](./datetimeformat/) | Helper function to format date and time according to the specified options. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->. |
|
||||
| [dateTimeFormatISO](./datetimeformatiso/) | Helper function to format date and time according to the standard ISO format e.g. 2013-02-04T22:44:30.652Z. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->. |
|
||||
| [dateTimeFormatTimeAgo](./datetimeformattimeago/) | Helper function to return elapsed time since passed date. The returned value will be formatted in a human readable format e.g. 4 years ago. If no options are supplied, then default values are used. For more details, see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [dateTimeFormatWithAbbrevation](./datetimeformatwithabbrevation/) | Helper function to format date and time according to the Grafana default formatting, but it also appends the time zone abbreviation at the end e.g. 2020-05-20 13:37:00 CET. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [dateTimeForTimeZone](./datetimefortimezone/) | |
|
||||
| [dateTimeParse](./datetimeparse/) | Helper function to parse a number, text or Date to a DateTime value. If a timeZone is supplied the incoming value is parsed with that timeZone as a base. The only exception to this is if the passed value is in a UTC-based format. Then it will use UTC as the base. Examples on UTC-based values are Unix epoch and ISO formatted strings.<!-- -->It can also parse the Grafana quick date and time format, e.g. now-6h will be parsed as Date.now() - 6 hours and returned as a valid DateTime value.<!-- -->If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [DEFAULT\_DATE\_TIME\_FORMAT](./default_date_time_format/) | |
|
||||
| [DEFAULT\_FIELD\_DISPLAY\_VALUES\_LIMIT](./default_field_display_values_limit/) | |
|
||||
| [DefaultTimeRange](./defaulttimerange/) | |
|
||||
| [DefaultTimeZone](./defaulttimezone/) | |
|
||||
| [deprecationWarning](./deprecationwarning/) | |
|
||||
| [escapeStringForRegex](./escapestringforregex/) | |
|
||||
| [fieldMatchers](./fieldmatchers/) | |
|
||||
| [fieldReducers](./fieldreducers/) | |
|
||||
| [frameMatchers](./framematchers/) | |
|
||||
| [getAllValuesFromDimension](./getallvaluesfromdimension/) | |
|
||||
| [getColorByName](./getcolorbyname/) | |
|
||||
| [getColorDefinition](./getcolordefinition/) | |
|
||||
| [getColorDefinitionByName](./getcolordefinitionbyname/) | |
|
||||
| [getColorForTheme](./getcolorfortheme/) | |
|
||||
| [getColorFromHexRgbOrName](./getcolorfromhexrgborname/) | |
|
||||
| [getColorName](./getcolorname/) | |
|
||||
| [getColumnFromDimension](./getcolumnfromdimension/) | |
|
||||
| [getColumnsFromDimension](./getcolumnsfromdimension/) | |
|
||||
| [getDimensionByName](./getdimensionbyname/) | |
|
||||
| [getFieldDisplayValues](./getfielddisplayvalues/) | |
|
||||
| [getLocaleData](./getlocaledata/) | |
|
||||
| [getMappedValue](./getmappedvalue/) | |
|
||||
| [getNamedColorPalette](./getnamedcolorpalette/) | |
|
||||
| [getSeriesTimeStep](./getseriestimestep/) | Returns minimal time step from series time field |
|
||||
| [getTimeField](./gettimefield/) | |
|
||||
| [getTimeZoneGroups](./gettimezonegroups/) | |
|
||||
| [getTimeZoneInfo](./gettimezoneinfo/) | |
|
||||
| [getTimeZones](./gettimezones/) | |
|
||||
| [getValueFromDimension](./getvaluefromdimension/) | |
|
||||
| [guessFieldTypes](./guessfieldtypes/) | |
|
||||
| [hasMsResolution](./hasmsresolution/) | Checks if series time field has ms resolution |
|
||||
| [identityOverrideProcessor](./identityoverrideprocessor/) | |
|
||||
| [isDataFrame](./isdataframe/) | |
|
||||
| [isDateTime](./isdatetime/) | |
|
||||
| [ISO\_8601](./iso_8601/) | |
|
||||
| [isTableData](./istabledata/) | |
|
||||
| [locationUtil](./locationutil/) | |
|
||||
| [LogsParsers](./logsparsers/) | |
|
||||
| [MISSING\_VALUE](./missing_value/) | |
|
||||
| [MS\_DATE\_TIME\_FORMAT](./ms_date_time_format/) | |
|
||||
| [numberOverrideProcessor](./numberoverrideprocessor/) | |
|
||||
| [objRemoveUndefined](./objremoveundefined/) | |
|
||||
| [onUpdateDatasourceJsonDataOption](./onupdatedatasourcejsondataoption/) | |
|
||||
| [onUpdateDatasourceJsonDataOptionChecked](./onupdatedatasourcejsondataoptionchecked/) | |
|
||||
| [onUpdateDatasourceJsonDataOptionSelect](./onupdatedatasourcejsondataoptionselect/) | |
|
||||
| [onUpdateDatasourceOption](./onupdatedatasourceoption/) | |
|
||||
| [onUpdateDatasourceResetOption](./onupdatedatasourceresetoption/) | |
|
||||
| [onUpdateDatasourceSecureJsonDataOption](./onupdatedatasourcesecurejsondataoption/) | |
|
||||
| [onUpdateDatasourceSecureJsonDataOptionSelect](./onupdatedatasourcesecurejsondataoptionselect/) | |
|
||||
| [selectOverrideProcessor](./selectoverrideprocessor/) | |
|
||||
| [setLocale](./setlocale/) | |
|
||||
| [standardEditorsRegistry](./standardeditorsregistry/) | |
|
||||
| [standardFieldConfigEditorRegistry](./standardfieldconfigeditorregistry/) | |
|
||||
| [standardTransformers](./standardtransformers/) | |
|
||||
| [standardTransformersRegistry](./standardtransformersregistry/) | Registry of transformation options that can be driven by stored configuration files. |
|
||||
| [stringOverrideProcessor](./stringoverrideprocessor/) | |
|
||||
| [textUtil](./textutil/) | |
|
||||
| [thresholdsOverrideProcessor](./thresholdsoverrideprocessor/) | |
|
||||
| [TIME\_FORMAT](./time_format/) | |
|
||||
| [TIME\_SERIES\_TIME\_FIELD\_NAME](./time_series_time_field_name/) | |
|
||||
| [TIME\_SERIES\_VALUE\_FIELD\_NAME](./time_series_value_field_name/) | |
|
||||
| [timeZoneAbbrevation](./timezoneabbrevation/) | Helper function to return only the time zone abbreviation for a given date and time value. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
|
||||
| [timeZoneFormatUserFriendly](./timezoneformatuserfriendly/) | |
|
||||
| [toDuration](./toduration/) | |
|
||||
| [toLegacyResponseData](./tolegacyresponsedata/) | |
|
||||
| [toPascalCase](./topascalcase/) | |
|
||||
| [toUtc](./toutc/) | |
|
||||
| [unEscapeStringFromRegex](./unescapestringfromregex/) | |
|
||||
| [unitOverrideProcessor](./unitoverrideprocessor/) | |
|
||||
| [updateDatasourcePluginJsonDataOption](./updatedatasourcepluginjsondataoption/) | |
|
||||
| [updateDatasourcePluginResetOption](./updatedatasourcepluginresetoption/) | |
|
||||
| [updateDatasourcePluginSecureJsonDataOption](./updatedatasourcepluginsecurejsondataoption/) | |
|
||||
| [urlUtil](./urlutil/) | |
|
||||
| [valueMappingsOverrideProcessor](./valuemappingsoverrideprocessor/) | |
|
||||
| [VAR\_CALC](./var_calc/) | |
|
||||
| [VAR\_CELL\_PREFIX](./var_cell_prefix/) | |
|
||||
| [VAR\_FIELD\_LABELS](./var_field_labels/) | |
|
||||
| [VAR\_FIELD\_NAME](./var_field_name/) | |
|
||||
| [VAR\_SERIES\_NAME](./var_series_name/) | |
|
||||
|
||||
## Type Aliases
|
||||
|
||||
| Type Alias | Description |
|
||||
| --- | --- |
|
||||
| [BinaryOperation](./binaryoperation/) | |
|
||||
| [Color](./color/) | |
|
||||
| [ColorDefinition](./colordefinition/) | |
|
||||
| [DataQueryResponseData](./dataqueryresponsedata/) | |
|
||||
| [DataSourceOptionsType](./datasourceoptionstype/) | |
|
||||
| [DataSourceQueryType](./datasourcequerytype/) | |
|
||||
| [DataTransformer](./datatransformer/) | Function that transform data frames (AKA transformer) |
|
||||
| [DateTimeInput](./datetimeinput/) | |
|
||||
| [DecimalCount](./decimalcount/) | |
|
||||
| [Dimensions](./dimensions/) | |
|
||||
| [DisplayProcessor](./displayprocessor/) | |
|
||||
| [DurationInput](./durationinput/) | |
|
||||
| [DurationUnit](./durationunit/) | |
|
||||
| [FieldMatcher](./fieldmatcher/) | |
|
||||
| [FormatInput](./formatinput/) | |
|
||||
| [FrameMatcher](./framematcher/) | |
|
||||
| [GraphSeriesValue](./graphseriesvalue/) | |
|
||||
| [InterpolateFunction](./interpolatefunction/) | |
|
||||
| [KeyValue](./keyvalue/) | |
|
||||
| [LegacyResponseData](./legacyresponsedata/) | Starting in v6.2 DataFrame can represent both TimeSeries and TableData |
|
||||
| [LinkTarget](./linktarget/) | |
|
||||
| [MutableField](./mutablefield/) | |
|
||||
| [NavIndex](./navindex/) | |
|
||||
| [Omit\_2](./omit_2/) | |
|
||||
| [PanelMigrationHandler](./panelmigrationhandler/) | Called when a panel is first loaded with current panel model |
|
||||
| [PanelOptionEditorsRegistry](./paneloptioneditorsregistry/) | |
|
||||
| [PanelTypeChangedHandler](./paneltypechangedhandler/) | Called before a panel is initialized. Allows panel inspection for any updates before changing the panel type. |
|
||||
| [PreferredVisualisationType](./preferredvisualisationtype/) | |
|
||||
| [ScaleCalculator](./scalecalculator/) | |
|
||||
| [Subtract](./subtract/) | |
|
||||
| [TimeFragment](./timefragment/) | |
|
||||
| [TimeSeriesPoints](./timeseriespoints/) | |
|
||||
| [TimeSeriesValue](./timeseriesvalue/) | |
|
||||
| [TimeZone](./timezone/) | |
|
||||
| [TimeZoneBrowser](./timezonebrowser/) | |
|
||||
| [TimeZoneResolver](./timezoneresolver/) | The type to describe the time zone resolver function that will be used to access the default time zone of a user. |
|
||||
| [TimeZoneUtc](./timezoneutc/) | |
|
||||
| [Trace](./trace/) | |
|
||||
| [TraceData](./tracedata/) | |
|
||||
| [TraceKeyValuePair](./tracekeyvaluepair/) | All timestamps are in microseconds |
|
||||
| [TraceLink](./tracelink/) | |
|
||||
| [TraceLog](./tracelog/) | |
|
||||
| [TraceProcess](./traceprocess/) | |
|
||||
| [TraceSpan](./tracespan/) | |
|
||||
| [TraceSpanData](./tracespandata/) | |
|
||||
| [TraceSpanReference](./tracespanreference/) | |
|
||||
| [UrlQueryMap](./urlquerymap/) | Type to represent the values parsed from the query string. |
|
||||
| [UrlQueryValue](./urlqueryvalue/) | Type to represent the value of a single query variable. |
|
||||
| [ValueConverter](./valueconverter/) | |
|
||||
| [ValueFormatter](./valueformatter/) | |
|
||||
| [ValueMapping](./valuemapping/) | |
|
||||
| [VariableType](./variabletype/) | |
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AbsoluteTimeRange"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AbsoluteTimeRange interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AbsoluteTimeRange
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AbsoluteTimeRange } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [from](#from-property) | <code>number</code> | |
|
||||
| [to](#to-property) | <code>number</code> | |
|
||||
|
||||
### from property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
from: number;
|
||||
```
|
||||
|
||||
### to property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
to: number;
|
||||
```
|
||||
@@ -1,34 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "addLogLevelToSeries"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## addLogLevelToSeries() function
|
||||
|
||||
### addLogLevelToSeries() function
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare function addLogLevelToSeries(series: DataFrame, lineIndex: number): DataFrame;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { addLogLevelToSeries } from '@grafana/data';
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| series | <code>DataFrame</code> | |
|
||||
| lineIndex | <code>number</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`DataFrame`
|
||||
|
||||
@@ -1,169 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AnnotationEvent"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AnnotationEvent interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AnnotationEvent
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AnnotationEvent } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [annotation](#annotation-property) | <code>any</code> | |
|
||||
| [avatarUrl](#avatarurl-property) | <code>string</code> | |
|
||||
| [dashboardId](#dashboardid-property) | <code>number</code> | |
|
||||
| [email](#email-property) | <code>string</code> | |
|
||||
| [id](#id-property) | <code>string</code> | |
|
||||
| [isRegion](#isregion-property) | <code>boolean</code> | |
|
||||
| [login](#login-property) | <code>string</code> | |
|
||||
| [panelId](#panelid-property) | <code>number</code> | |
|
||||
| [source](#source-property) | <code>any</code> | |
|
||||
| [tags](#tags-property) | <code>string[]</code> | |
|
||||
| [text](#text-property) | <code>string</code> | |
|
||||
| [time](#time-property) | <code>number</code> | |
|
||||
| [timeEnd](#timeend-property) | <code>number</code> | |
|
||||
| [title](#title-property) | <code>string</code> | |
|
||||
| [type](#type-property) | <code>string</code> | |
|
||||
| [userId](#userid-property) | <code>number</code> | |
|
||||
|
||||
### annotation property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
annotation?: any;
|
||||
```
|
||||
|
||||
### avatarUrl property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
avatarUrl?: string;
|
||||
```
|
||||
|
||||
### dashboardId property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
dashboardId?: number;
|
||||
```
|
||||
|
||||
### email property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
email?: string;
|
||||
```
|
||||
|
||||
### id property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
id?: string;
|
||||
```
|
||||
|
||||
### isRegion property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
isRegion?: boolean;
|
||||
```
|
||||
|
||||
### login property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
login?: string;
|
||||
```
|
||||
|
||||
### panelId property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
panelId?: number;
|
||||
```
|
||||
|
||||
### source property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
source?: any;
|
||||
```
|
||||
|
||||
### tags property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
tags?: string[];
|
||||
```
|
||||
|
||||
### text property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
text?: string;
|
||||
```
|
||||
|
||||
### time property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
time?: number;
|
||||
```
|
||||
|
||||
### timeEnd property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
timeEnd?: number;
|
||||
```
|
||||
|
||||
### title property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
title?: string;
|
||||
```
|
||||
|
||||
### type property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
type?: string;
|
||||
```
|
||||
|
||||
### userId property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
userId?: number;
|
||||
```
|
||||
@@ -1,67 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AnnotationQueryRequest"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AnnotationQueryRequest interface
|
||||
|
||||
Options passed to the datasource.annotationQuery method. See docs/plugins/developing/datasource.md
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AnnotationQueryRequest<MoreOptions = {}>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AnnotationQueryRequest } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [annotation](#annotation-property) | <code>{</code><br/><code> datasource: string;</code><br/><code> enable: boolean;</code><br/><code> name: string;</code><br/><code> } & MoreOptions</code> | |
|
||||
| [dashboard](#dashboard-property) | <code>any</code> | |
|
||||
| [range](#range-property) | <code>TimeRange</code> | |
|
||||
| [rangeRaw](#rangeraw-property) | <code>RawTimeRange</code> | |
|
||||
|
||||
### annotation property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
annotation: {
|
||||
datasource: string;
|
||||
enable: boolean;
|
||||
name: string;
|
||||
} & MoreOptions;
|
||||
```
|
||||
|
||||
### dashboard property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
dashboard: any;
|
||||
```
|
||||
|
||||
### range property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
range: TimeRange;
|
||||
```
|
||||
|
||||
### rangeRaw property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
rangeRaw: RawTimeRange;
|
||||
```
|
||||
@@ -1,152 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppendedVectors"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppendedVectors class
|
||||
|
||||
This may be more trouble than it is worth. This trades some computation time for RAM -- rather than allocate a new array the size of all previous arrays, this just points the correct index to their original array values
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare class AppendedVectors<T = any> implements Vector<T>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppendedVectors } from '@grafana/data';
|
||||
```
|
||||
<b>Constructors</b>
|
||||
|
||||
| Constructor | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [constructor(startAt)](#constructor-startat) | | Constructs a new instance of the <code>AppendedVectors</code> class |
|
||||
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Modifiers | Type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [length](#length-property) | | <code>number</code> | |
|
||||
| [source](#source-property) | | <code>Array<AppendedVectorInfo<T>></code> | |
|
||||
|
||||
<b>Methods</b>
|
||||
|
||||
| Method | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [append(v)](#append-method) | | |
|
||||
| [get(index)](#get-method) | | |
|
||||
| [setLength(length)](#setlength-method) | | Make the vector look like it is this long |
|
||||
| [toArray()](#toarray-method) | | |
|
||||
| [toJSON()](#tojson-method) | | |
|
||||
|
||||
### constructor(startAt)
|
||||
|
||||
Constructs a new instance of the `AppendedVectors` class
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
constructor(startAt?: number);
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| startAt | <code>number</code> | |
|
||||
|
||||
### length property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
length: number;
|
||||
```
|
||||
|
||||
### source property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
source: Array<AppendedVectorInfo<T>>;
|
||||
```
|
||||
|
||||
### append method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
append(v: Vector<T>): AppendedVectorInfo<T>;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| v | <code>Vector<T></code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`AppendedVectorInfo<T>`
|
||||
|
||||
### get method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
get(index: number): T;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| index | <code>number</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`T`
|
||||
|
||||
### setLength method
|
||||
|
||||
Make the vector look like it is this long
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
setLength(length: number): void;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| length | <code>number</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`void`
|
||||
|
||||
### toArray method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
toArray(): T[];
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`T[]`
|
||||
|
||||
### toJSON method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
toJSON(): T[];
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`T[]`
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppEvent"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvent interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AppEvent<T>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvent } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [name](#name-property) | <code>string</code> | |
|
||||
| [payload](#payload-property) | <code>T</code> | |
|
||||
|
||||
### name property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
readonly name: string;
|
||||
```
|
||||
|
||||
### payload property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
payload?: T;
|
||||
```
|
||||
@@ -1,43 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppEvents"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents namespace
|
||||
|
||||
> This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
|
||||
>
|
||||
|
||||
### AppEvents namespace
|
||||
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
```
|
||||
|
||||
## Interfaces
|
||||
|
||||
| Interface | Description |
|
||||
| --- | --- |
|
||||
| [AppEvent](./appevent/) | |
|
||||
|
||||
## Variables
|
||||
|
||||
| Variable | Description |
|
||||
| --- | --- |
|
||||
| [alertError](./alerterror/) | |
|
||||
| [alertSuccess](./alertsuccess/) | |
|
||||
| [alertWarning](./alertwarning/) | |
|
||||
|
||||
## Type Aliases
|
||||
|
||||
| Type Alias | Description |
|
||||
| --- | --- |
|
||||
| [AlertErrorPayload](./alerterrorpayload/) | |
|
||||
| [AlertPayload](./alertpayload/) | |
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "alertError"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents.alertError variable
|
||||
|
||||
### AppEvents.alertError variable
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
alertError: AppEvent<AlertErrorPayload>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
const { alertError } = AppEvents;
|
||||
```
|
||||
@@ -1,24 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AlertErrorPayload"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents.AlertErrorPayload type
|
||||
|
||||
### AppEvents.AlertErrorPayload type
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare type AlertErrorPayload = [string, (string | Error)?];
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
const { AlertErrorPayload } = AppEvents;
|
||||
```
|
||||
@@ -1,24 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AlertPayload"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents.AlertPayload type
|
||||
|
||||
### AppEvents.AlertPayload type
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare type AlertPayload = [string, string?];
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
const { AlertPayload } = AppEvents;
|
||||
```
|
||||
@@ -1,24 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "alertSuccess"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents.alertSuccess variable
|
||||
|
||||
### AppEvents.alertSuccess variable
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
alertSuccess: AppEvent<AlertPayload>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
const { alertSuccess } = AppEvents;
|
||||
```
|
||||
@@ -1,24 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "alertWarning"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents.alertWarning variable
|
||||
|
||||
### AppEvents.alertWarning variable
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
alertWarning: AppEvent<AlertPayload>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
const { alertWarning } = AppEvents;
|
||||
```
|
||||
@@ -1,44 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppEvent"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppEvents.AppEvent interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AppEvent<T>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppEvents } from '@grafana/data';
|
||||
const { AppEvent } = AppEvents;
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [name](#name-property) | <code>string</code> | |
|
||||
| [payload](#payload-property) | <code>T</code> | |
|
||||
|
||||
### name property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
readonly name: string;
|
||||
```
|
||||
|
||||
### payload property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
payload?: T;
|
||||
```
|
||||
@@ -1,97 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "ApplyFieldOverrideOptions"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## ApplyFieldOverrideOptions interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface ApplyFieldOverrideOptions
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { ApplyFieldOverrideOptions } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [autoMinMax](#autominmax-property) | <code>boolean</code> | |
|
||||
| [data](#data-property) | <code>DataFrame[]</code> | |
|
||||
| [fieldConfig](#fieldconfig-property) | <code>FieldConfigSource</code> | |
|
||||
| [fieldConfigRegistry](#fieldconfigregistry-property) | <code>FieldConfigOptionsRegistry</code> | |
|
||||
| [getDataSourceSettingsByUid](#getdatasourcesettingsbyuid-property) | <code>(uid: string) => DataSourceInstanceSettings | undefined</code> | |
|
||||
| [replaceVariables](#replacevariables-property) | <code>InterpolateFunction</code> | |
|
||||
| [theme](#theme-property) | <code>GrafanaTheme</code> | |
|
||||
| [timeZone](#timezone-property) | <code>TimeZone</code> | |
|
||||
|
||||
### autoMinMax property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
autoMinMax?: boolean;
|
||||
```
|
||||
|
||||
### data property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
data?: DataFrame[];
|
||||
```
|
||||
|
||||
### fieldConfig property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
fieldConfig: FieldConfigSource;
|
||||
```
|
||||
|
||||
### fieldConfigRegistry property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
fieldConfigRegistry?: FieldConfigOptionsRegistry;
|
||||
```
|
||||
|
||||
### getDataSourceSettingsByUid property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
getDataSourceSettingsByUid: (uid: string) => DataSourceInstanceSettings | undefined;
|
||||
```
|
||||
|
||||
### replaceVariables property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
replaceVariables: InterpolateFunction;
|
||||
```
|
||||
|
||||
### theme property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
theme: GrafanaTheme;
|
||||
```
|
||||
|
||||
### timeZone property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
timeZone?: TimeZone;
|
||||
```
|
||||
@@ -1,35 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "applyFieldOverrides"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## applyFieldOverrides() function
|
||||
|
||||
### applyFieldOverrides() function
|
||||
|
||||
Return a copy of the DataFrame with all rules applied
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare function applyFieldOverrides(options: ApplyFieldOverrideOptions): DataFrame[];
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { applyFieldOverrides } from '@grafana/data';
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| options | <code>ApplyFieldOverrideOptions</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`DataFrame[]`
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppPlugin"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppPlugin class
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare class AppPlugin<T = KeyValue> extends GrafanaPlugin<AppPluginMeta<T>>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppPlugin } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Modifiers | Type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [angularPages](#angularpages-property) | | <code>{</code><br/><code> [component: string]: any;</code><br/><code> }</code> | |
|
||||
| [root](#root-property) | | <code>ComponentClass<AppRootProps<T>></code> | |
|
||||
| [rootNav](#rootnav-property) | | <code>NavModel</code> | |
|
||||
|
||||
<b>Methods</b>
|
||||
|
||||
| Method | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [init(meta)](#init-method) | | Called after the module has loaded, and before the app is used. This function may be called multiple times on the same instance. The first time, <code>this.meta</code> will be undefined |
|
||||
| [setComponentsFromLegacyExports(pluginExports)](#setcomponentsfromlegacyexports-method) | | |
|
||||
| [setRootPage(root, rootNav)](#setrootpage-method) | | Set the component displayed under: /a/$<!-- -->{<!-- -->plugin-id<!-- -->}<!-- -->/\* |
|
||||
|
||||
### angularPages property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
angularPages?: {
|
||||
[component: string]: any;
|
||||
};
|
||||
```
|
||||
|
||||
### root property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
root?: ComponentClass<AppRootProps<T>>;
|
||||
```
|
||||
|
||||
### rootNav property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
rootNav?: NavModel;
|
||||
```
|
||||
|
||||
### init method
|
||||
|
||||
Called after the module has loaded, and before the app is used. This function may be called multiple times on the same instance. The first time, `this.meta` will be undefined
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
init(meta: AppPluginMeta): void;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| meta | <code>AppPluginMeta</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`void`
|
||||
|
||||
### setComponentsFromLegacyExports method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
setComponentsFromLegacyExports(pluginExports: any): void;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| pluginExports | <code>any</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`void`
|
||||
|
||||
### setRootPage method
|
||||
|
||||
Set the component displayed under: /a/$<!-- -->{<!-- -->plugin-id<!-- -->}<!-- -->/\*
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
setRootPage(root: ComponentClass<AppRootProps<T>>, rootNav?: NavModel): this;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| root | <code>ComponentClass<AppRootProps<T>></code> | |
|
||||
| rootNav | <code>NavModel</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`this`
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppPluginMeta"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppPluginMeta interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AppPluginMeta<T = KeyValue> extends PluginMeta<T>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppPluginMeta } from '@grafana/data';
|
||||
```
|
||||
@@ -1,63 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "AppRootProps"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## AppRootProps interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface AppRootProps<T = KeyValue>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { AppRootProps } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [meta](#meta-property) | <code>AppPluginMeta<T></code> | |
|
||||
| [onNavChanged](#onnavchanged-property) | <code>(nav: NavModel) => void</code> | Pass the nav model to the container... is there a better way? |
|
||||
| [path](#path-property) | <code>string</code> | |
|
||||
| [query](#query-property) | <code>KeyValue</code> | |
|
||||
|
||||
### meta property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
meta: AppPluginMeta<T>;
|
||||
```
|
||||
|
||||
### onNavChanged property
|
||||
|
||||
Pass the nav model to the container... is there a better way?
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
onNavChanged: (nav: NavModel) => void;
|
||||
```
|
||||
|
||||
### path property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
path: string;
|
||||
```
|
||||
|
||||
### query property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
query: KeyValue;
|
||||
```
|
||||
@@ -1,161 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "ArrayVector"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## ArrayVector class
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare class ArrayVector<T = any> extends FunctionalVector<T> implements MutableVector<T>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { ArrayVector } from '@grafana/data';
|
||||
```
|
||||
<b>Constructors</b>
|
||||
|
||||
| Constructor | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [constructor(buffer)](#constructor-buffer) | | Constructs a new instance of the <code>ArrayVector</code> class |
|
||||
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Modifiers | Type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [buffer](#buffer-property) | | <code>T[]</code> | |
|
||||
| [length](#length-property) | | <code>number</code> | |
|
||||
|
||||
<b>Methods</b>
|
||||
|
||||
| Method | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [add(value)](#add-method) | | |
|
||||
| [get(index)](#get-method) | | |
|
||||
| [reverse()](#reverse-method) | | |
|
||||
| [set(index, value)](#set-method) | | |
|
||||
| [toArray()](#toarray-method) | | |
|
||||
| [toJSON()](#tojson-method) | | |
|
||||
|
||||
### constructor(buffer)
|
||||
|
||||
Constructs a new instance of the `ArrayVector` class
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
constructor(buffer?: T[]);
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| buffer | <code>T[]</code> | |
|
||||
|
||||
### buffer property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
buffer: T[];
|
||||
```
|
||||
|
||||
### length property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
get length(): number;
|
||||
```
|
||||
|
||||
### add method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
add(value: T): void;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| value | <code>T</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`void`
|
||||
|
||||
### get method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
get(index: number): T;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| index | <code>number</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`T`
|
||||
|
||||
### reverse method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
reverse(): void;
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`void`
|
||||
|
||||
### set method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
set(index: number, value: T): void;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| index | <code>number</code> | |
|
||||
| value | <code>T</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`void`
|
||||
|
||||
### toArray method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
toArray(): T[];
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`T[]`
|
||||
|
||||
### toJSON method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
toJSON(): T[];
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`T[]`
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "ArrowDataFrame"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## ArrowDataFrame interface
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export interface ArrowDataFrame extends DataFrame
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { ArrowDataFrame } from '@grafana/data';
|
||||
```
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| [table](#table-property) | <code>Table</code> | |
|
||||
|
||||
### table property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
table: Table;
|
||||
```
|
||||
@@ -1,33 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "arrowTableToDataFrame"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## arrowTableToDataFrame() function
|
||||
|
||||
### arrowTableToDataFrame() function
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare function arrowTableToDataFrame(table: Table): ArrowDataFrame;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { arrowTableToDataFrame } from '@grafana/data';
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| table | <code>Table</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`ArrowDataFrame`
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "base64StringToArrowTable"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## base64StringToArrowTable() function
|
||||
|
||||
### base64StringToArrowTable() function
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare function base64StringToArrowTable(text: string): Table;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { base64StringToArrowTable } from '@grafana/data';
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| text | <code>string</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`Table`
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "BinaryOperation"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## BinaryOperation type
|
||||
|
||||
### BinaryOperation type
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare type BinaryOperation = (left: number, right: number) => number;
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { BinaryOperation } from '@grafana/data';
|
||||
```
|
||||
@@ -1,33 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "BinaryOperationID"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## BinaryOperationID enum
|
||||
|
||||
### BinaryOperationID enum
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare enum BinaryOperationID
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { BinaryOperationID } from '@grafana/data';
|
||||
```
|
||||
|
||||
## Enumeration Members
|
||||
|
||||
| Member | Value | Description |
|
||||
| --- | --- | --- |
|
||||
| Add | <code>"+"</code> | |
|
||||
| Divide | <code>"/"</code> | |
|
||||
| Multiply | <code>"*"</code> | |
|
||||
| Subtract | <code>"-"</code> | |
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "BinaryOperationVector"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## BinaryOperationVector class
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
export declare class BinaryOperationVector implements Vector<number>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { BinaryOperationVector } from '@grafana/data';
|
||||
```
|
||||
<b>Constructors</b>
|
||||
|
||||
| Constructor | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [constructor(left, right, operation)](#constructor-leftrightoperation) | | Constructs a new instance of the <code>BinaryOperationVector</code> class |
|
||||
|
||||
<b>Properties</b>
|
||||
|
||||
| Property | Modifiers | Type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [length](#length-property) | | <code>number</code> | |
|
||||
|
||||
<b>Methods</b>
|
||||
|
||||
| Method | Modifiers | Description |
|
||||
| --- | --- | --- |
|
||||
| [get(index)](#get-method) | | |
|
||||
| [toArray()](#toarray-method) | | |
|
||||
| [toJSON()](#tojson-method) | | |
|
||||
|
||||
### constructor(left, right, operation)
|
||||
|
||||
Constructs a new instance of the `BinaryOperationVector` class
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
constructor(left: Vector<number>, right: Vector<number>, operation: BinaryOperation);
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| left | <code>Vector<number></code> | |
|
||||
| right | <code>Vector<number></code> | |
|
||||
| operation | <code>BinaryOperation</code> | |
|
||||
|
||||
### length property
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
get length(): number;
|
||||
```
|
||||
|
||||
### get method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
get(index: number): number;
|
||||
```
|
||||
<b>Parameters</b>
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| index | <code>number</code> | |
|
||||
|
||||
<b>Returns:</b>
|
||||
|
||||
`number`
|
||||
|
||||
### toArray method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
toArray(): number[];
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`number[]`
|
||||
|
||||
### toJSON method
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
toJSON(): number[];
|
||||
```
|
||||
<b>Returns:</b>
|
||||
|
||||
`number[]`
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
+++
|
||||
# -----------------------------------------------------------------------
|
||||
# Do not edit this file. It is automatically generated by API Documenter.
|
||||
# -----------------------------------------------------------------------
|
||||
title = "binaryOperators"
|
||||
keywords = ["grafana","documentation","sdk","@grafana/data"]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
## binaryOperators variable
|
||||
|
||||
### binaryOperators variable
|
||||
|
||||
<b>Signature</b>
|
||||
|
||||
```typescript
|
||||
binaryOperators: Registry<BinaryOperatorInfo>
|
||||
```
|
||||
<b>Import</b>
|
||||
|
||||
```typescript
|
||||
import { binaryOperators } from '@grafana/data';
|
||||
```
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user