The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

Overview

Grafana

The open-source platform for monitoring and observability.

License Circle CI Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:

  • Visualize: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

License

Grafana is distributed under the Apache 2.0 License.

Issues
  • AdHocFilter: Adds min width to segment input

    AdHocFilter: Adds min width to segment input

    What this PR does / why we need it: Adds a minimum width to the ad-hoc filter segment input so text isn't cut off.

    Which issue(s) this PR fixes: Closes #38937

    area/dashboard/templating area/frontend area/ux 
    opened by kaydelaney 0
  • Grafana Annotations Panel requires interactive Annotation

    Grafana Annotations Panel requires interactive Annotation

    Thank you for this @ashharrison90 et al https://grafana.com/docs/grafana/latest/visualizations/annotations/?src=grafana_news&mdm=rss It is quite inspiring and very well thought through.

    I just spent a lot of time trying to have it work for our use case and I think that there is an issue that is not on my side. Please exclude the brevity of this report because I am short of time now 😊

    I hope that this video is worth a thousand words 😉 Grafana_Annotations_Panel_requireS_interactive_Annotation_Kapture

    The Panel only picks up manual or interactive Annotations and not automatic Annotation based on queries. So all those reddish OGTT queries on the timeline are automatic annotations set up with a query. I need to go it and press the edit pencil and then save. Now Grafana's Annotation Panel sees them!

    Surely unintended by the developer of this panel?

    If more information is required, then I will be happy to supply.

    Thanks again for this feature. Best wishes Eric

    opened by allomorphy 0
  • Postgres/MySQL/MSSQL: Fix engine cache not updating after data source update

    Postgres/MySQL/MSSQL: Fix engine cache not updating after data source update

    What this PR does / why we need it: Happened to notice that MSSQL data source did not use the updated hostname when connecting to database after updating the hostname of a MSSQL data source.

    Seems to have been introduced with #36635.

    Which issue(s) this PR fixes: Ref #36635

    Special notes for your reviewer:

    • Somewhat related to #37299. However after #36635 we shouldn't need to cache engines in sql_engine.go any longer - I'll will try and resolve this in a follow up PR.
    area/backend 
    opened by marefr 0
  • [ngalert] No notification sent when Cortex / Loki alerts firing

    [ngalert] No notification sent when Cortex / Loki alerts firing

    Hello!

    What happened:

    I'm running prometheus-operator on k8s and Grafana 8.1.3

    I have a bunch of alerts set in prometheus-operator through ServiceMonitor or Probe (for blackbox-exporter) k8s resources. I see them in the alert panel [1] and one is firing.

    I have setup notification system to send POST request to https://webhook.site/ because it's convenient for testing [2] [3] [4]. But no notifications are sent at all I don't know why, and debug logs aren't helping [5].

    [1] image

    [2] image

    [3] image

    [4] image

    [5] image

    What you expected to happen:

    To see a notification every 10s.

    How to reproduce it (as minimally and precisely as possible):

    Have some alert firing set in prometheus. Go to https://webhook.site/ and get the URL from there to configure the notification panel according to screenshots.

    Anything else we need to know?:

    Environment:

    • Grafana version: 8.1.3 (tried 8.1.2 after this https://github.com/grafana/grafana/issues/39009#issuecomment-915948936 but same behavior)
    • Data source type & version: Prometheus 2.29.1
    • OS Grafana is installed on: optimized Linux OS on EKS 1.21
    • User OS & Browser: Windows 10, Firefox developer 93
    • Grafana plugins: none
    • Others: setup on EKS done following this method https://grafana.com/docs/grafana/latest/installation/kubernetes/ with two envvar set additionnaly: GF_FEATURE_TOGGLES_ENABLE=ngalert + GF_LOG_LEVEL=debug
    area/unified-alerting 
    opened by damienleger 0
  • Cleanup configuration, silences and alert logs if an org is removed

    Cleanup configuration, silences and alert logs if an org is removed

    null

    area/unified-alerting event/unified-alerting-launch 
    opened by armandgrillet 0
  • Bar graph does not re-calibrate percentages for new time range when stacked to 100%

    Bar graph does not re-calibrate percentages for new time range when stacked to 100%

    What happened: I created a bar graph to display data split into two values (successful commands vs failed in this case) and display the data as a 100% stacked graph against each command - so I can see percentage of failures vs successes.

    The graph renders correctly when first loaded, but if the time range is changed the graph does not update the percentages correctly.

    Example: The first picture is when the graph initially loads with a time range of "Last 30 days". It shows three commands and the percentages of success/fails correctly. Last 30 days

    The second picture is how the graph looks if the time range is changed to "Last 90 days" Last 90 days

    As you can see, two additional commands are captured in the query, but there are no percentages next to the values and the percentages for the data captured by the 30 day range no longer total 100% - although the bars appear to all be rendered correctly.

    Using the refresh dashboard control does not resolve the problem, but refreshing the browser window does. This occurs in vertical and horizontal orientation.

    What you expected to happen: I expected the percentages displayed to refresh/recalibrate when the time range changed.

    How to reproduce it (as minimally and precisely as possible): Create a bar graph stacked to 100% and change the time range.

    Environment:

    • Grafana version: 8.1.3 and 8.1.2
    • Data source type & version: AWS Timestream
    • OS Grafana is installed on: Amazon Linux 2
    • User OS & Browser: macOS Big Sur 11.6/Firefox 92.0
    needs investigation area/datasource/frontend area/panel/barchart 
    opened by Darth-Bobo 0
  • 8.1.3

    8.1.3 "request handler error: failed to query data: type assertion to string failed"

    What happened: image

    As shown in the figure above, I created a chart using the influx data source, which contains 2 queries, where Ref "A" is the SQL statement manually entered, and Ref "B" is the SQL statement generated using the UI interface.

    image

    t=2021-09-15T16:18:03+0800 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=0 name="provider tx zone alert" error="request handler error: failed to query data: type assertion to string failed" changing state to=alerting
    

    As shown in the figure above, the Alert created with Ref "A" will fail to test and run!

    But the Alert created with Ref "B" is normal when running and testing.

    What you expected to happen:

    The queries created in these two methods should all run the Alert jobs normally.

    How to reproduce it (as minimally and precisely as possible):

    just need to manually enter a SQL query and create an Alert for it to reproduce.

    Anything else we need to know?:

    https://github.com/grafana/grafana/blob/fdc681788bb59acbe6229312d6dec7638bb539c2/pkg/tsdb/influxdb/model_parser.go#L28

    Through the tracking code, I know that the error is generated from here, it seems that it is because the "resultFormat" parameter is missing in the query that manually enters the SQL statement.

    {
    "model": {
                  "hide": false,
                  "query": "SELECT sum(\"tx_<500K_sum\") AS \"<500K\" FROM \"rp\".\"measurement\" WHERE $timeFilter GROUP BY time(5m) fill(null)",
                  "rawQuery": true,
                  "refId": "A"
                }
    }
    

    Environment: MacOS and centos

    • Grafana version: 8.1.3
    • Data source type & version: influxdb 1.6.2
    • OS Grafana is installed on:
    • User OS & Browser:
    • Grafana plugins:
    • Others:
    type/bug datasource/InfluxDB 
    opened by YouZhengChuan 1
  • LibraryPanels: Improves export and import of library panels between orgs

    LibraryPanels: Improves export and import of library panels between orgs

    What this PR does / why we need it: This PR makes improvements to the user experience when exporting and importing dashboards containing library panels from Grafana. Keeping it super simple for this first iteration. Only panels that don't exist in the org/instance where the dashboard is imported to will be imported. We will keep all existing library panels unchanged.

    image

    Which issue(s) this PR fixes: Fixes #36897

    Special notes for your reviewer:

    area/backend area/frontend add to changelog area/frontend/library-panels area/libraries 
    opened by hugohaggmark 0
  • Live: default to constant label values for pipeline

    Live: default to constant label values for pipeline

    What this PR does / why we need it:

    This adds support for a constant label value for jsonExact pipeline convertor.

    area/backend 
    opened by atifali 0
  • Bar Gauge not refreshing when data is reloaded

    Bar Gauge not refreshing when data is reloaded

    Bar gauge does not refresh when values change to zero

    I expected the graph to refresh

    Create a bar gauge and attach some (say) date sensitive data to it. Save and view the chart. Then change the date range to a point where no data exists. The chart will not reflect the zero values.

    Pressing F5 refreshes the value successfully

    Environment:

    Grafana version: Community Version 8.1.3 (commit: a61f382, branch: HEAD)
    Data source type & version: MySQL Core
    OS Grafana is installed on: Rocky 8.4
    User OS & Browser:Firefox and Chrome, latest both, on Ubuntu and Windows 10
    Grafana plugins: Only
    
    needs more info 
    opened by laurielounge 8
Releases(v8.1.3)
Owner
Grafana Labs
Grafana Labs is behind leading open source projects Grafana and Loki, and the creator of the first open & composable observability platform.
Grafana Labs
The Prometheus monitoring system and time series database.

Prometheus Visit prometheus.io for the full documentation, examples and guides. Prometheus, a Cloud Native Computing Foundation project, is a systems

Prometheus 38.7k Sep 10, 2021
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

The open-source platform for monitoring and observability. Grafana allows you to query, visualize, alert on and understand your metrics no matter wher

Grafana Labs 43.8k Sep 12, 2021
Metrics dashboards on terminal (a grafana inspired terminal version)

Grafterm Visualize metrics dashboards on the terminal, like a simplified and minimalist version of Grafana for terminal. Features Multiple widgets (gr

Xabier Larrakoetxea Gallego 671 Sep 7, 2021
Simple and extensible monitoring agent / library for Kubernetes: https://gravitational.com/blog/monitoring_kubernetes_satellite/

Satellite Satellite is an agent written in Go for collecting health information in a kubernetes cluster. It is both a library and an application. As a

Teleport 188 Aug 9, 2021
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. ?? ??

SigNoz 4.6k Sep 5, 2021
simple concurrent logger

XMUS-LOGGER pure golang logger compatible with golang io standards. USAGE : logOptions := logger.LoggerOptions{ LogLevel: 6, // read more about lo

amupxm [amir hossein mokarrami far] 5 Sep 6, 2021
CNCF Jaeger, a Distributed Tracing Platform

Jaeger - a Distributed Tracing System Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing platform created by Uber Technologies and do

Jaeger - Distributed Tracing Platform 14.2k Sep 11, 2021
A flexible process data collection, metrics, monitoring, instrumentation, and tracing client library for Go

Package monkit is a flexible code instrumenting and data collection library. See documentation at https://godoc.org/gopkg.in/spacemonkeygo/monkit.v3 S

Space Monkey Go 449 Jul 23, 2021
Monitor your network and internet speed with Docker & Prometheus

Stand-up a Docker Prometheus stack containing Prometheus, Grafana with blackbox-exporter, and speedtest-exporter to collect and graph home Internet reliability and throughput.

Jeff Geerling 1.1k Sep 8, 2021
Pixie gives you instant visibility by giving access to metrics, events, traces and logs without changing code.

Pixie gives you instant visibility by giving access to metrics, events, traces and logs without changing code.

Pixie Labs 1.8k Sep 9, 2021
The open telemetry framework

DISCONTINUATION OF PROJECT This project will no longer be maintained by Intel. Intel will not provide or guarantee development of or support for this

Intel SDI 1.8k Sep 2, 2021
A simple logging interface for Go

A more minimal logging API for Go Before you consider this package, please read this blog post by the inimitable Dave Cheney. I really appreciate what

null 475 Sep 12, 2021
A Postgres Metrics Dashboard

#Pome Pome stands for Postgres Metrics. Pome is a PostgreSQL Metrics Dashboard to keep track of the health of your database. This project is at a very

Rachid Belaid 1.1k Aug 14, 2021
gin-gonic/gin metrics for prometheus.

gin-metrics gin-gonic/gin metrics exporter for Prometheus. 中文 Introduction gin-metrics defines some metrics for gin http-server. There have easy way t

Pelen 48 Sep 13, 2021
Example instrumentation of Golang Application with OpenTelemetry with supported configurations to export to Sentry.

Sentry + Opentelemetry Go Example Requirements To run this example, you will need a kubernetes cluster. This example has been tried and tested on Mini

Uddeshya Singh 6 Jul 23, 2021
Library and program to parse and forward HAProxy logs

haminer Library and program to parse and forward HAProxy logs. Supported forwarder, Influxdb Requirements Go for building from source code git for dow

Shulhan 22 Mar 20, 2019
The Simplest and worst logging library ever written

gologger A Simple Easy to use go logger library. Displays Colored log into console in any unix or windows platform. You can even store your logs in fi

Sadlil Rhythom 39 Jan 18, 2021
Very powerful server agent for collecting & sending logs & metrics with an easy-to-use web console.

logkit-community 中文版 Introduce Very powerful server agent for collecting & sending logs & metrics with an easy-to-use web console. logkit-community De

Qiniu Cloud 1.1k Sep 8, 2021
A 12-factor app logger built for performance and happy development

logxi log XI is a structured 12-factor app logger built for speed and happy development. Simpler. Sane no-configuration defaults out of the box. Faste

Mario Gutierrez 347 May 8, 2021