Skip to content

[New Package] Add Grafana integration - #17433

Merged
mykola-elastic merged 14 commits into
elastic:mainfrom
Oddly:add-grafana-integration
Feb 26, 2026
Merged

[New Package] Add Grafana integration#17433
mykola-elastic merged 14 commits into
elastic:mainfrom
Oddly:add-grafana-integration

Conversation

@Oddly

@Oddly Oddly commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

New integration for collecting logs and Prometheus metrics from Grafana instances (10.x, 11.x, 12.x). Includes ingest pipelines for both JSON and logfmt log formats, field mappings that rename prometheus.metrics.* to a structured grafana.* namespace, two Kibana dashboards (overview and logs), and pipeline tests with data captured from a real Grafana 12.3.2 instance.

Proposed commit message

This adds a new grafana integration package with two data streams: logs and metrics.

The logs data stream reads Grafana server log files. The ingest pipeline handles both JSON and logfmt formats — it tries JSON parsing first and falls back to logfmt via grok. Both formats are supported across Grafana 10, 11, and 12 since the field names are identical across those versions. The pipeline extracts HTTP request fields (method, path, status, duration, remote_addr), maps log levels to ECS severity values, and populates the grafana.log.* namespace.

The metrics data stream scrapes Grafana's Prometheus /metrics endpoint using the prometheus/metrics input type. The ingest pipeline renames prometheus.metrics.* fields into a structured grafana.* namespace — instance stats go to grafana.stat.*, database connection pool metrics to grafana.database.connections.*, Go runtime to grafana.go.*, and so on. There are explicit renames for about 100 known metrics, plus a catch-all painless script that handles any remaining metrics by convention.

Two Kibana dashboards are included: an overview dashboard showing instance stats, resource usage, database connections, and alerting status, and a logs dashboard with log volume over time, level breakdown, top error messages, HTTP status codes, and a log stream panel.

Pipeline test fixtures use real data captured from a Grafana 12.3.2 instance. The metrics tests cover three versions (v10, v11, v12) with progressively more metrics present in each, reflecting the additive nature of Grafana's metric surface across major versions.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Author's Checklist

  • elastic-package lint passes
  • elastic-package build succeeds
  • All 10 pipeline tests pass (elastic-package test pipeline)
  • Sample events reflect post-pipeline field structure
  • Tested with live Grafana 12.3.2 instance — logs and metrics both index correctly and dashboards render

How to test this PR locally

cd packages/grafana
elastic-package test pipeline

For a full end-to-end test with a running Grafana instance:

elastic-package stack up -v -d
elastic-package test system

Or point the agent at any Grafana instance with metrics enabled (GF_METRICS_ENABLED=true) and a log file path configured. Both logfmt (default) and JSON (GF_LOG_FILE_FORMAT=json) log formats are handled automatically.

Related issues

Screenshots

[Grafana] Overview Dashboard
Overview Dashboard

[Grafana] Logs Dashboard
Logs Dashboard

New integration for collecting logs and Prometheus metrics from Grafana
instances (10.x, 11.x, 12.x). Includes ingest pipelines for both JSON
and logfmt log formats, field mappings that rename prometheus.metrics.*
to a structured grafana.* namespace, two Kibana dashboards (overview
and logs), and pipeline tests with data captured from a real Grafana
12.3.2 instance.
@Oddly
Oddly requested a review from a team as a code owner February 17, 2026 00:44
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Reviewers

Buildkite won't run for external contributors automatically; you need to add a comment:

  • /test : will kick off a build in Buildkite.

NOTE: https://github.com/elastic/integrations/blob/main/.buildkite/pull-requests.json contains all those details.

@Oddly Oddly changed the title Add Grafana integration Feb 17, 2026
@Oddly

Oddly commented Feb 17, 2026

Copy link
Copy Markdown
Contributor Author

/test

@lalit-satapathy

Copy link
Copy Markdown
Contributor

@claude for detailed initial review, as a new package all requirements to be met.

@github-actions

github-actions Bot commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

Claude finished @lalit-satapathy's task in 3m 6s —— View job


Detailed Review of New Grafana Integration Package

I've completed a thorough review of this new Grafana integration package. The review has been submitted formally on the PR.

Summary:

  • ✅ Package passes elastic-package lint and elastic-package build
  • ✅ All major new package requirements are met
  • 🟡 One medium-severity issue: changelog PR link needs to be updated to [New Package] Add Grafana integration #17433

See the formal review for complete details.



Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a well-structured new integration package for Grafana. I've reviewed the package against integration requirements and found it to be comprehensive.

✅ Requirements Met

  • Package manifest: Format version 3.3.0, proper categories (observability, monitoring), Kibana version constraint ^8.16.0 || ^9.0.0
  • Data streams: Both logs and metrics properly configured with correct input types (logfile, prometheus/metrics)
  • Ingest pipelines: Comprehensive handling of both JSON and logfmt log formats, proper Prometheus metric renaming
  • Field definitions: Fields are properly typed with metric types (gauge/counter) and units where applicable
  • Pipeline tests: Coverage across Grafana versions 10, 11, and 12, plus both log formats
  • Time series support: Metrics manifest correctly enables index_mode: time_series
  • Dashboards: Two dashboards covering overview metrics and log analysis
  • Documentation: README with setup instructions and field reference tables
  • Icons/Screenshots: Logo SVG and dashboard screenshots included
  • Docker-compose: Proper test setup with healthcheck

🔬 Verification

  • elastic-package lint ✅ passes
  • elastic-package build ✅ succeeds

💡 Optional Improvements

  1. The logs dashboard "eror" query filter (log.level: eror) handles Grafana's unique spelling, but consider normalizing erorerror in the ingest pipeline for consistency in searches
  2. The stat.data_keys.total field is defined in fields.yml but not covered in pipeline test fixtures

Overall this is a quality integration ready for merge after addressing the changelog PR link.


Why is Claude responding? | Type @claude to interact further

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Comment thread packages/grafana/changelog.yml Outdated
@andrewkroh andrewkroh added dashboard Relates to a Kibana dashboard bug, enhancement, or modification. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. New Integration Issue or pull request for creating a new integration package. labels Feb 17, 2026
Oddly added a commit to Oddly/integrations that referenced this pull request Feb 17, 2026
…link

The logs dashboard now references the standard logs-* data view instead of
the integration-specific logs-grafana.logs-* view. This resolves "field not
found" warnings on Lens panels using ECS fields like user.name and
http.request.method, since logs-* has full ECS field coverage. The
event.dataset: grafana.logs filter already scopes results to Grafana logs.

The overview dashboard's Datasources stat panel uses a formula to aggregate
across labeled Prometheus metric documents. Also fixes the changelog PR link
to reference elastic#17433.
…elog

Major changes synced from local testing environment:

Logs pipeline now extracts ECS fields from Grafana's structured log output —
user.name, http.request.method, http.response.status_code, client.ip,
url.path, event.duration, and log.logger are all mapped from their Grafana
equivalents. Log level normalization handles Grafana's non-standard "eror"
spelling. The logs dashboard references the standard logs-* data view instead
of logs-grafana.logs-* to avoid "field not found" warnings on ECS fields.

Metrics manifest enables TSDS (index_mode: time_series) with dimension fields
for prometheus.labels.*, service.address, and service.name. The metrics
pipeline includes the full _embedded_ecs dynamic template block. The overview
dashboard's Datasources panel uses a formula to handle labeled Prometheus
metric documents.

Also adds correctly-named screenshot images referenced by the manifest, and
fixes the changelog PR link to elastic#17433.
@Oddly
Oddly force-pushed the add-grafana-integration branch from 51f8e1f to fbc55ad Compare February 17, 2026 14:32
The ecs@mappings component template is automatically composed into
Fleet-managed index templates and already handles all ECS field type
mappings. The inline _embedded_ecs block was duplicating ~460 lines
of dynamic templates in each data stream manifest for no benefit.
@Oddly

Oddly commented Feb 17, 2026

Copy link
Copy Markdown
Contributor Author

Recent changes:

  • Aligned fields to ECS
  • Fixed some dashboard bugs (now uses logs-* dataview)
  • Fixed Claude's review improvements.

Ready for another test.

@github-actions

github-actions Bot commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

Vale Linting Results

Summary: 4 warnings, 20 suggestions found

⚠️ Warnings (4)
File Line Rule Message
packages/grafana/docs/README.md 380 Elastic.Latinisms Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'.
packages/grafana/docs/README.md 380 Elastic.DontUse Don't use 'please'.
packages/grafana/docs/README.md 381 Elastic.Latinisms Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'.
packages/grafana/docs/README.md 394 Elastic.Latinisms Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'.
💡 Suggestions (20)
File Line Rule Message
packages/grafana/docs/README.md 149 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 152 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 152 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 210 Elastic.WordChoice Consider using 'start, run' instead of 'boot', unless the term is in the UI.
packages/grafana/docs/README.md 211 Elastic.WordChoice Consider using 'start, run' instead of 'boot', unless the term is in the UI.
packages/grafana/docs/README.md 212 Elastic.WordChoice Consider using 'start, run' instead of 'boot', unless the term is in the UI.
packages/grafana/docs/README.md 212 Elastic.WordChoice Consider using 'start, run' instead of 'boot', unless the term is in the UI.
packages/grafana/docs/README.md 213 Elastic.WordChoice Consider using 'start, run' instead of 'boot', unless the term is in the UI.
packages/grafana/docs/README.md 213 Elastic.WordChoice Consider using 'start, run' instead of 'boot', unless the term is in the UI.
packages/grafana/docs/README.md 228 Elastic.Wordiness Consider using 'because' instead of 'since'.
packages/grafana/docs/README.md 259 Elastic.Wordiness Consider using 'because' instead of 'since'.
packages/grafana/docs/README.md 356 Elastic.Wordiness Consider using 'tell' instead of 'inform'.
packages/grafana/docs/README.md 374 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 378 Elastic.Wordiness Consider using 'tell' instead of 'inform'.
packages/grafana/docs/README.md 378 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 378 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 380 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 380 Elastic.WordChoice Consider using 'deactivated, deselected, hidden, turned off, unavailable' instead of 'disabled', unless the term is in the UI.
packages/grafana/docs/README.md 381 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
packages/grafana/docs/README.md 394 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.

The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

Comment thread packages/grafana/manifest.yml Outdated
Comment on lines +21 to +28
- src: /img/screenshot-overview.png
title: Grafana Overview Dashboard
size: 1024x1100
type: image/png
- src: /img/screenshot-logs.png
title: Grafana Logs Dashboard
size: 1024x1100
type: image/png

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- src: /img/screenshot-overview.png
title: Grafana Overview Dashboard
size: 1024x1100
type: image/png
- src: /img/screenshot-logs.png
title: Grafana Logs Dashboard
size: 1024x1100
type: image/png
- src: /img/grafana-overview.png
title: Grafana Overview Dashboard
size: 1024x1100
type: image/png
- src: /img/grafana-logs.png
title: Grafana Logs Dashboard
size: 1024x1100
type: image/png

Looks like these two were used accidentally, I see there are newer screenshots - better looking and with actual data.

Shall the screenshot-logs.png and screenshot-overview.png be deleted alltogether?

@mykola-elastic mykola-elastic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manually tested with Grafana 12.3.3 and Elastic Stack 9.2.4.

Overall good.

The following things need to be addressed:

  • [Grafana] Overview: almost all Y-axis names simply copy the name of the first group/category. For example: panel "Memory" (see screenshot)
Image

Minor stuff to address:

  • Screenshots
  • Vale linter warnings
Comment on lines +8 to +19
- set:
tag: set_event_kind
field: event.kind
value: event
- set:
tag: set_event_module
field: event.module
value: grafana
- set:
tag: set_event_dataset
field: event.dataset
value: grafana.logs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These fields are already defined in the base-fields.yml

- name: event.module
  type: constant_keyword
  value: grafana
  description: Event module.
- name: event.dataset
  type: constant_keyword
  value: grafana.logs
  description: Event dataset.
Comment thread packages/grafana/data_stream/metrics/manifest.yml
@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@Oddly
Oddly force-pushed the add-grafana-integration branch from 2123a52 to 33bcae5 Compare February 20, 2026 18:34
Dashboard UX fixes, pipeline cleanup, docs linting, screenshot renames.
Also fix event.module rejection in TSDB by removing the value the
promtheus input sets before indexing.
@Oddly
Oddly force-pushed the add-grafana-integration branch from 33bcae5 to 554eba2 Compare February 20, 2026 18:39
@Oddly

Oddly commented Feb 20, 2026

Copy link
Copy Markdown
Contributor Author

Added changes as I think they were requested.

@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

Remove event.module and event.dataset from expected output since
the pipeline no longer sets these constant_keyword fields.
@Oddly
Oddly force-pushed the add-grafana-integration branch from 5605043 to 9f12ed4 Compare February 20, 2026 20:49
@Oddly

Oddly commented Feb 20, 2026

Copy link
Copy Markdown
Contributor Author

Sorry, will run the elstic-package tests myself before pushing in the future, I could've seen this myself.
I removed the ingest processors on the event.dataset and event.module field for metrics datastream, but this only has to happen for the logs datastream. Last push is tested and has these changes properly.

@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

Comment thread packages/grafana/_dev/deploy/docker/docker-compose.yml
Comment thread packages/grafana/docs/README.md Outdated
Comment on lines +380 to +394
| event.original | Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. | keyword |
| event.severity | The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`. | long |
| grafana.log.handler | Request handler name. | keyword |
| grafana.log.orgId | Organization ID in context. | long |
| grafana.log.subUrl | Grafana sub-URL prefix. | keyword |
| host.containerized | Whether the host is a container. | boolean |
| host.name | Host name. | keyword |
| host.os.build | OS build information. | keyword |
| host.os.codename | OS codename, if any. | keyword |
| http.request.method | HTTP request method. The value should retain its casing from the original event. For example, `GET`, `get`, and `GeT` are all considered valid values for this field. | keyword |
| http.request.referrer | Referrer for this HTTP request. | keyword |
| http.response.body.bytes | Size in bytes of the response body. | long |
| http.response.status_code | HTTP response status code. | long |
| input.type | Type of Filebeat input. | keyword |
| log.level | Original log level of the log event. If the source of the event provides a log level or textual severity, this is the one that goes in `log.level`. If your source doesn't specify one, you may put your event transport's severity here (e.g. Syslog severity). Some examples are `warn`, `err`, `i`, `informational`. | keyword |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address these Vale lint warning

@mykola-elastic mykola-elastic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Please, address Vale lint warnings and please try removing user: "0" from docker-compose

Comment thread .github/CODEOWNERS
@Oddly

Oddly commented Feb 23, 2026

Copy link
Copy Markdown
Contributor Author

In the latest commit, I also removed the fields/ecs.yml files from the metrics and logs datastreams, since the ECS fields are now defined in ecs@mapping.

@mykola-elastic

Copy link
Copy Markdown
Contributor

/test

@elasticmachine

Copy link
Copy Markdown

💚 Build Succeeded

History

@lalit-satapathy lalit-satapathy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code owner approval for merge

@mykola-elastic
mykola-elastic merged commit d5e83ea into elastic:main Feb 26, 2026
11 checks passed
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Package grafana - 0.1.0 containing this change is available at https://epr.elastic.co/package/grafana/0.1.0/

@andrewkroh andrewkroh added the Integration:grafana Grafana (Community supported) label Feb 26, 2026
ilyannn pushed a commit that referenced this pull request Feb 28, 2026
* Add Grafana integration

New integration for collecting logs and Prometheus metrics from Grafana
instances (10.x, 11.x, 12.x). Includes ingest pipelines for both JSON
and logfmt log formats, field mappings that rename prometheus.metrics.*
to a structured grafana.* namespace, two Kibana dashboards (overview
and logs), and pipeline tests with data captured from a real Grafana
12.3.2 instance.

* Switch logs dashboard to logs-*, add ECS field mapping, and fix changelog

Major changes synced from local testing environment:

Logs pipeline now extracts ECS fields from Grafana's structured log output —
user.name, http.request.method, http.response.status_code, client.ip,
url.path, event.duration, and log.logger are all mapped from their Grafana
equivalents. Log level normalization handles Grafana's non-standard "eror"
spelling. The logs dashboard references the standard logs-* data view instead
of logs-grafana.logs-* to avoid "field not found" warnings on ECS fields.

Metrics manifest enables TSDS (index_mode: time_series) with dimension fields
for prometheus.labels.*, service.address, and service.name. The metrics
pipeline includes the full _embedded_ecs dynamic template block. The overview
dashboard's Datasources panel uses a formula to handle labeled Prometheus
metric documents.

Also adds correctly-named screenshot images referenced by the manifest, and
fixes the changelog PR link to #17433.

* Remove redundant _embedded_ecs dynamic templates from manifests

The ecs@mappings component template is automatically composed into
Fleet-managed index templates and already handles all ECS field type
mappings. The inline _embedded_ecs block was duplicating ~460 lines
of dynamic templates in each data stream manifest for no benefit.

* Update CODEOWNERS

* Update docs/README.md: run `elastic-package build` to regenerate it

* Update test-json-log.json-expected.json

* Update test-logfmt-log.log-expected.json

* Fix PR review feedback and TSDB event.module issue

Dashboard UX fixes, pipeline cleanup, docs linting, screenshot renames.
Also fix event.module rejection in TSDB by removing the value the
promtheus input sets before indexing.

* Update pipeline test expected output

Remove event.module and event.dataset from expected output since
the pipeline no longer sets these constant_keyword fields.

* Add requested changes

* Fix CODEOWNERS: remove unrelated trailing newline diff

* Remove unnecessary import_mappings from build.yml

---------

Co-authored-by: Mykola Kmet <mykola.kmet@elastic.co>
navnit-elastic pushed a commit to navnit-elastic/integrations that referenced this pull request Mar 2, 2026
* Add Grafana integration

New integration for collecting logs and Prometheus metrics from Grafana
instances (10.x, 11.x, 12.x). Includes ingest pipelines for both JSON
and logfmt log formats, field mappings that rename prometheus.metrics.*
to a structured grafana.* namespace, two Kibana dashboards (overview
and logs), and pipeline tests with data captured from a real Grafana
12.3.2 instance.

* Switch logs dashboard to logs-*, add ECS field mapping, and fix changelog

Major changes synced from local testing environment:

Logs pipeline now extracts ECS fields from Grafana's structured log output —
user.name, http.request.method, http.response.status_code, client.ip,
url.path, event.duration, and log.logger are all mapped from their Grafana
equivalents. Log level normalization handles Grafana's non-standard "eror"
spelling. The logs dashboard references the standard logs-* data view instead
of logs-grafana.logs-* to avoid "field not found" warnings on ECS fields.

Metrics manifest enables TSDS (index_mode: time_series) with dimension fields
for prometheus.labels.*, service.address, and service.name. The metrics
pipeline includes the full _embedded_ecs dynamic template block. The overview
dashboard's Datasources panel uses a formula to handle labeled Prometheus
metric documents.

Also adds correctly-named screenshot images referenced by the manifest, and
fixes the changelog PR link to elastic#17433.

* Remove redundant _embedded_ecs dynamic templates from manifests

The ecs@mappings component template is automatically composed into
Fleet-managed index templates and already handles all ECS field type
mappings. The inline _embedded_ecs block was duplicating ~460 lines
of dynamic templates in each data stream manifest for no benefit.

* Update CODEOWNERS

* Update docs/README.md: run `elastic-package build` to regenerate it

* Update test-json-log.json-expected.json

* Update test-logfmt-log.log-expected.json

* Fix PR review feedback and TSDB event.module issue

Dashboard UX fixes, pipeline cleanup, docs linting, screenshot renames.
Also fix event.module rejection in TSDB by removing the value the
promtheus input sets before indexing.

* Update pipeline test expected output

Remove event.module and event.dataset from expected output since
the pipeline no longer sets these constant_keyword fields.

* Add requested changes

* Fix CODEOWNERS: remove unrelated trailing newline diff

* Remove unnecessary import_mappings from build.yml

---------

Co-authored-by: Mykola Kmet <mykola.kmet@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard Relates to a Kibana dashboard bug, enhancement, or modification. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Integration:grafana Grafana (Community supported) New Integration Issue or pull request for creating a new integration package.

6 participants