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
  • building alerting system for grafana

    building alerting system for grafana

    Hi everyone, I recently joined raintank and I will be working with @torkelo, @mattttt , and you, on alerting support for Grafana.

    From the results of the Grafana User Survey it is obvious that alerting is the most commonly missed feature for Grafana. I have worked on/with a few alerting systems in the past (nagios, bosun, graph-explorer, etsy's kale stack, ...) and I'm excited about the opportunity in front of us: we can take the best of said systems, but combine them with Grafana's focus on a polished user experience, resulting in a powerful alerting system, well-integrated and smooth to work with.

    First of all, terminology sync:

    • alerting: executing logic (threshold checks or more advanced) to know the state of an entity. (ok, warning, critical)
    • notifications: emails, text messages, posts to chat, etc to make people aware of a state change
    • monitoring: this term covers everything about monitoring (data collection, visualizations, alerting) so I won't be using it here.

    I want to spec out requirements, possible implementation ideas and their pro's/cons. With your feedback, we can adjust, refine and choose a specific direction.

    General thoughts:

    • integration with existing tools vs built-in: there's some powerfull alerting systems out there (bosun, kale) that deserve integration. Many alerting systems are more basic (define expression/threshold, get notification when breached), for those it seems integration is not worth the pain (though I won't stop you)
      The integrations are a long term effort. I think the low hanging fruit ("meet 80% of the needs with 20% of the effort") can be met with a system that is more closely tied to Grafana, i.e. compiled into the grafana binary. That said, a lot of people confuse seperation of concerns with "must be different services". If the code is sane, it'll be decoupled packages but there's nothing necessarily wrong with compiling them together. i.e. you could run:
      • 1 grafana binary that does everything (grafana as you know it + all alerting features) for simplicity
      • multiple grafana binaries in different modes (visualization instances and alerting instances) even highly available/redundant setups if you want to, using an external worker queue

    That said, we don't want to reinvent the wheel: we want alerting code and functionality to integrate well with Grafana, but if high-quality code is compatible, we should use it. In fact, I have a prototype that leverages some existing bosun code. (see "Current state")

    • polling vs stream processing: they have different performance characteristics, but they should be able to take the same or similar alerting rule definitions (thresholds, boolean logic, ..), they mostly are about how the actual rules are executed and don't change much about how rules are defined. Since polling is much simpler and should be able to scale fairly far this should IMHO be our initial focus.

    Current state

    The raintank/grafana version currently has an alerting package with a simple scheduler, an in-process worker bus as well as rabbitmq based, an alert executor and email notifications. It uses the bosun expression libraries which gives us the ability to evaluate arbitrarily complex expressions (use several metrics, use boolean logic, math, etc). This package is currently raintank-specific but we will merge a generic version of this into upstream grafana. This will provide an alert execution platform but notably still missing is

    1. an interface to create and manage alerting rules
    2. state management (acknowledgements etc)

    these are harder problems, which I hope to tackle with your input.

    Requirements, Future implementations

    First off, I think bosun is a pretty fantastic system for alerting (not so much for visualization) You can make your alerting rules as advanced as you want, and it enables you to fine-tune over time, backtest on historical data, so you can get them just right. And it has a good state machine. In theory we could just compile bosun straight into grafana, and leverage bosun via its REST api instead of Golang api, but then we have less finegrained control and for now I feel more comfortable trying out piece by piece (piece meaning golang package) and make the integration decision on a case by case basis. Though the integration may look different down the road based on experience and as we figure out what we want our alerting to look like.

    Either way, we don't just want great alerting. We want great alerting combined with great visualizations, notifications with context, and a smooth workflow where you can manage your alerts in the same place you manage your visualizations. So it needs to be nicely integrated into Grafana. To that end, there's a few things to consider:

    1. some visualized metrics (metrics plotted on graphs) are not alerted on
    2. some visualized metrics are alerted on:
      • A: with simple threshold checks: easy to visualize alerting logic
      • B: with more advanced logic: (e.g. look at standard deviation of the series being plotted, compare current median against historical median, etc): can't easily be visualized nex to the input series
    3. some metrics used in alerting logic are not to be vizualized

    Basically, there's a bunch of stuff you may want visualized (V), and a bunch of stuff you want alerts (A), and V and A have some overlap. I need to think about this a bit more and wonder what y'all think. There will definitely need to be 1 central place where you can get an overview of all the things you're alerting on, irrespective of where those rules are defined.

    There's a few more complications which I'll explain through an example sketch of how alerting could look like: sketch

    let's say we have a timeseries for requests (A) and one for errorous requests (B) and this is what we want to plot. we then use fields C,D,E to put stuff that we don't want to alert on. C contains the formula for ratio of error requests against the total.

    we may for example want to alert (see E) if the median of this ratio in the last 5min ago is more than 1.5 of what the ratio was in the same 5minute period last week, and also if the errors seen in the last 5min is worse than the errors seen since 2 months ago until 5min ago.

    notes:

    • some queries use different timeranges than what is rendered
    • in addition to processing by tsdb (such as Graphite's sum(), divide() etc which return series) we need to be able to reduce series to single numbers. fairly easy to implement (and in fact currently the bosun library does this for us)
    • we need boolean logic (bosun also gives us this)
    • in this example the expression only uses variables defined within the same panel, but it might make sense to include expressions of other panels/graphs.

    other ponderings:

    • do we integrate with current grafana graph threshold settings (which are currently for viz only, not for processing) ? if the expression is a threshold check, we could automatically display a threshold line
    • using the letters is a bit clunky, could we refer to the aliases instead? like #requests and #errors?
    • if the expression are stats.$site.requests and stats.$site.errors, and we want to have seperate alert instances for every site (but only set up the rule once)? what if we only want it for a select few of the sites. what if we want different parameters based on which site? bosun actually supports all these features, and we could expose them though we should probably build a UI around them.

    I think for an initial implementation every graph could have two fields, like so:

    warn: - expression
             - notification settings (email,http hook, ..)
    crit: - expression
            -notification settings
    

    where the expression is something like what I put in E in the sketch. for logic/data that we don't want to visualize, we just toggle off the visibility icon. grafana would replace the variables in the formula's, execute the expression (with the current bosun based executor). results (state changes) could be fed into something like elasticsearch and displayed via the annotations system.

    Thoughts? Do you have concerns or needs that I didn't addres?

    area/alerting 
    opened by Dieterbe 294
  • [Feature request] Add Alert support for singlestats

    [Feature request] Add Alert support for singlestats

    Please include this information:

    • What Grafana version are you using? v4.0.2 (commit: v4.0.2)

    • What datasource are you using? Graphite

    • What OS are you running grafana on? Mac OS

    • What did you do? Went to a dashboard, clicked on a single stat and expected to find the "Alert" tab.

    • What was the expected result? I was expecting to see the "Alert" tab

    • What happened instead? The "Alert" tab was not present for the Singlestat. It is present for Graph though.

    If it relates to alerting

    • An image of the test execution data fully expanded.
    screen shot 2016-12-16 at 02 28 33 type/feature-request area/alerting 
    opened by costimuraru 209
  • Grafana 2.0: SQL Data source

    Grafana 2.0: SQL Data source

    With the backend comes the possibility to have SQL data source.

    My thinking is that when you add the data source you

    • db type (initially only mysql and postgres and sqlite3)
    • db connection details
    • specify a metric query template (basically a SQL query with params)
    • specify a annotation query template

    Maybe also an option to allow RAW SQL queries from the panel metric query interface.

    Any other ideas?

    type/feature-request 
    opened by torkelo 168
  • [Feature request] Multiple alerts per graph

    [Feature request] Multiple alerts per graph

    As per http://docs.grafana.org/alerting/rules/, Grafana plans to track state per series in future releases.

    • "If a query returns multiple series then the aggregation function and threshold check will be evaluated for each series. What Grafana does not do currently is track alert rule state per series." and
    • "To improve support for queries that return multiple series we plan to track state per series in a future release"

    But it seems like there can be use cases where we have graphs containing set of metrics for which different sets of alerts are required. This is slightly different from "Support per series state change" ( https://github.com/grafana/grafana/issues/6041 ) because

    1. The action (notifications) can be different.
    2. Also, tracking separate states of an alert is not always preferred (as the end-user would need to know the details behind the individual states ) vs just knowing if alert is triggered.

    Grafana version = 4.x

    type/feature-request area/alerting 
    opened by sanchitraizada 149
  • Localize time_format in graphs

    Localize time_format in graphs

    Hello dear developers team. Thank you for a awesome product, but I have one problem.

    Now there is a hadcoded US date format in time_format function. The most annoying case is display month and day. When I see something like "2/3" I'm a bit confused. Is it "the second of Mart" or "the third of February"? The most sad thing, that I can't to configure this behaviour.

    Unfortunately the simplest way (and may be the most proper) doesn't help here. I mean toLocaleString with additional options. You can return different array of options instead of hardcoded format pattern and this method convert date in accordance with a right locale. But in our case there is a jquery plot and it requires date format for converting timestamp by itself.

    So, the second way is make some kind of mapping locale -> format array. Example. It seems a bit ugly. But it could be a single working solution.

    May be I missed some obvious and better solutions. That's why I didn't create a pull request. =)

    type/feature-request area/panel/graph 
    opened by Alarmfifa 141
  • Alerting support for queries using template variables

    Alerting support for queries using template variables

    It would be pretty useful if grafana would support alerting for queries using template variables. The way I see it work it would be as follows:

    1. Generate queries foreach template variable combination (discarding template variable for all)
    2. When generating queries, consider the frozen list if the template variable is set to never refresh, else update the template variable list
    3. Allow filtering (trough regex or by providing a static value) for each template variable

    The current workaround is to use an invisible wildcard metric, but the problem I see with this approach is that it loses context.

    type/feature-request area/alerting area/alerting/evaluation 
    opened by calind 137
  • Elasticsearch as timeseries datasource

    Elasticsearch as timeseries datasource

    I'm aware of #158, but in this issue I want to discuss whether Elasticsearch is a good fit for storing timeseries data and whether grafana's graph panel should support fetching timeseris data from elasticsearch. I'm not suggesting that grafana should also implement features like log analytics.

    Elasticsearch offers the date_histogram aggregation that could be used to feed the graphs. When comparing the available aggregations elasticsearch has to offer to InfluxDB's aggregate functions, you can see, that they are quite simmilar.

    One could argue, that if InfluxDB already offers this features, why add 'yad' (yet another datasource)? Even though it looks like InfluxDB's development is moving fast, I think that elasticsearch is a more mature, easier to scale scaleable, and easier to install and operate. Also, because it's based on Java it just runs anywhere, even Windows and Solaris for example.

    Besides, a lot of people already use elasticsearch to store the dashboards and add annotations to the graphs. If elasticsearch could also be used as a timeseries datasource, you would just have to install one database which again reduces time and cost to install and operate the system.

    Because you would store metrics in a json format, the ideas described in metric 2.0 could be incorporated.

    A metric document could look something like this:

    {
        "@timestamp" : "2013-07-20T09:43:58.000+0000",
        "name" : "bulk-request-timer",
        "tags" : {
            "application"  : "my awesome app",
            "host"  : "host-1",
            "datacenter"  : "dc1"
        },
        "values" : {
            "count" : 114,
            "max" : 109.681,
            "mean" : 5.439666666666667,
            "min" : 2.457,
            "p50" : 4.3389999999999995,
            "p75" : 5.0169999999999995,
            "p95" : 8.37175,
            "p98" : 9.6832,
            "p99" : 94.68429999999942,
            "p999" : 109.681,
            "stddev" : 9.956913151098842,
            "m15_rate" : 0.10779994503690074,
            "m1_rate" : 0.07283351433589833,
            "m5_rate" : 0.10101298115113727,
            "mean_rate" : 0.08251056571678642
        }
    }
    

    Finally, I think that these features should rather be added to grafana than to kibana. IMHO kibana's focus just isn't displaying metrics but analytics. For example, it is not possible to add multiple graphs to one panel. For instance, if you wanted to display multiple percentiles of the response time in one panel, that's just not possible. Also there is no such functionality like grafana's templated queries. That could be implemented in grafana by performing a terms aggregation e.g. on the host field to populate the dropdown with all available hosts.

    I think @Dieterbe already experimented using elasticsearch as a timeseries database for his graphite-ng project. What are your experiences and thoughts about my thoughts? @torkelo what do you think about all of that?

    opened by felixbarny 133
  • Feature Request (Grafana 2.0): LDAP / Active Directory authentication and import groups

    Feature Request (Grafana 2.0): LDAP / Active Directory authentication and import groups

    I need to authenticate user against an Active Directory Backend.

    We need also import all "memberOf" groups as main groups to organize dashboards.

    Could be possible that every user can see / edit (depending on the group permissions ) the dashboards contained on the groups where he belongs ?

    area/auth 
    opened by toni-moreno 132
  • Support for multiple organizations

    Support for multiple organizations

    Update: Thank you for your feedback on this, we've decided to keep multi org support. Refer to the closing comment on this issue for more information.

    Organizations (orgs) were originally created to support a multi-tenancy hosting service. Meaning, to use a single Grafana server to provide a fully isolated Grafana experience to multiple companies.

    But mainly used orgs to help split a large installation up and create some separation between users & teams within a single company. In Grafana v5 we added teams & dashboard permissions to help manage a large single organization within Grafana so that use case is no longer recommended.

    Multi-org support is currently a big usability problem, especially around user management. Removing multi-org support would make Grafana a lot easier to manage and setup for single org setups. But we realize this could be very disruptive and want to gather all feedback on use cases first.

    Whatever we decide, we plan to have some migration story ready when we remove multi-org support.

    opened by torkelo 127
  • Support more datasources in alerting

    Support more datasources in alerting

    Since alerting is executed in the back end we have to reimplement support for the timeserie databases

    • [x] Prometheus
    • [x] Influxdb
    • [x] Elasticsearch
    • [x] Cloudwatch
    • [x] OpenTsdb
    area/alerting 
    opened by bergquist 124
  • Support for multiple series & bars (side by side) for same time point

    Support for multiple series & bars (side by side) for same time point

    I have multiple data source on one single graph. For example I have 6 metrics on one single graph.Under chart options when i select bars they all show up on single bar line I want to show them as different bars ? How do i do that ? I have attached a sample image file.

    The problem with having all of them on one single line is the last data source that i add takes up all the space on the bar.

    git2

    git

    images

    type/feature-request area/panel/graph 
    opened by marshell08 123
  • Storybook: Table component under Visualizations throws error

    Storybook: Table component under Visualizations throws error

    What happened:

    If you go to any story of Visualizations > Table locally on storybook, an error is thrown: imagen

    What you expected to happen:

    Storybook to display the component

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

    Run storybook locally and go to http://localhost:9001/?path=/story/visualizations-table--bar-gauge-cell

    Environment:

    • Grafana version:
    • Data source type & version: -
    • OS Grafana is installed on: -
    • User OS & Browser: -
    • Grafana plugins: -
    • Others: -
    type/bug area/storybook 
    opened by JoaoSilvaGrafana 0
  • GLDS - Fill in gaps between components in Figma and Storybook

    GLDS - Fill in gaps between components in Figma and Storybook

    From the list identified in https://github.com/grafana/grafana/issues/53621, work on filling the gaps between what is in Figma and what is in Storybook.

    area/design-system 
    opened by JoaoSilvaGrafana 0
  • [v8.5.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled

    [v8.5.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled

    Backport d8d97d15ba94223fc94a37cd52c2b1de91a1d530 from #53620

    Changelog

    • Fixed bug when a user with Viewer role and write permissions could not send requests to Prometheus\Alertmanager APIs via Grafana Alerting API.
    area/backend add to changelog backport 
    opened by yuri-tceretian 0
  • [v9.0.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled

    [v9.0.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled

    Backport d8d97d15ba94223fc94a37cd52c2b1de91a1d530 from #53620

    Changelog

    • Fixed bug when a user with Viewer role and write permissions could not send requests to Prometheus\Alertmanager APIs via Grafana Alerting API.
    area/backend add to changelog backport enterprise-failed 
    opened by yuri-tceretian 1
  • [9.1.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled

    [9.1.x] Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled

    Backport d8d97d15ba94223fc94a37cd52c2b1de91a1d530 from #53620

    Changelog

    • Fixed bug when a user with Viewer role and write permissions could not send requests to Prometheus\Alertmanager APIs via Grafana Alerting API.
    type/bug area/backend add to changelog backport enterprise-ok 
    opened by yuri-tceretian 0
Releases(v9.0.7)
  • v9.0.7(Aug 10, 2022)

  • v8.5.10(Aug 8, 2022)

  • v9.1.0-beta1(Aug 2, 2022)

    Download page What's new highlights

    Features and enhancements

    • API: Migrate CSRF to service and support additional options. #48120, @sakjur
    • API: Move swagger definitions to the handlers and rename operations after them. #52643, @papagian
    • Access Control: Allow org admins to invite new users. #52894, @IevaVasiljeva
    • AccessControl: Check dashboards permission for reports. (Enterprise)
    • Alerting: Add config disabled_labels to disable reserved labels. #51832, @JacobsonMT
    • Alerting: Add custom templated title to Wecom notifier. #51529, @dingweiqings
    • Alerting: Add file provisioning for alert rules. #51635, @JohnnyQQQQ
    • Alerting: Add file provisioning for contact points. #51924, @JohnnyQQQQ
    • Alerting: Add file provisioning for mute timings. #52936, @JohnnyQQQQ
    • Alerting: Add file provisioning for notification policies. #52877, @JohnnyQQQQ
    • Alerting: Add file provisioning for text templates. #52952, @JohnnyQQQQ
    • Alerting: Add first Grafana reserved label grafana_folder. #50262, @JacobsonMT
    • Alerting: Add support for images in Kafka alerts. #50758, @grobinson-grafana
    • Alerting: Add support for images in VictorOps alerts. #50759, @grobinson-grafana
    • Alerting: Adds contact point template syntax highlighting. #51559, @gillesdemey
    • Alerting: Adds visual tokens for templates. #51376, @gillesdemey
    • Alerting: Alert rules pagination. #50612, @konrad147
    • Alerting: Change alertScreenshotToken to alertImageToken. #50771, @grobinson-grafana
    • Alerting: Configure alert manager data source as an external AM. #52081, @konrad147
    • Alerting: Do not include button in googlechat notification if URL invalid. #47317, @j6s
    • Alerting: Group alert state history by labels and allow filtering. #52784, @gillesdemey
    • Alerting: Make ticker to tick at predictable time. #50197, @yuri-tceretian
    • Alerting: Persist rule position in the group. #50051, @yuri-tceretian
    • Alerting: Prevent evaluation if "for" shorter than "evaluate". #51797, @peterholmberg
    • Alerting: Provisioning UI. #50776, @gillesdemey
    • Alerting: Rule api to fail update if provisioned rules are affected. #50835, @yuri-tceretian
    • Alerting: Scheduler to drop ticks if a rule's evaluation is too slow. #48885, @yuri-tceretian
    • Alerting: Show evaluation interval global limit warning. #52942, @konrad147
    • Alerting: State manager to use tick time to determine stale states. #50991, @yuri-tceretian
    • Alerting: Support for optimistic locking for alert rules. #50274, @yuri-tceretian
    • Alerting: Update RBAC for alert rules to consider access to rule as access to group it belongs. #49033, @yuri-tceretian
    • Alerting: Update default route groupBy to [grafana_folder, alertname]. #50052, @JacobsonMT
    • Alertmanager: Adding SigV4 Authentication to Alertmanager Datasource. #49718, @lewinkedrs
    • Analytics: Save all view time dates as UTC. (Enterprise)
    • Annotations: Migrate dashboardId to dashboardUID. #52588, @lpskdl
    • Auditing: Allow users to have more verbose logs. (Enterprise)
    • Auth: Add lookup params for saml and LDAP sync. (Enterprise)
    • Auth: Add option for case insensitive login. #49262, @Jguer
    • Auth: Case insensitive ids duplicate usagestats. #50724, @eleijonmarck
    • Auth: Implement Token URL Auth. #52578, @Jguer
    • Auth: Implement Token URL JWT Auth. #52662, @Jguer
    • Auth: Lockdown non-editables in frontend when external auth is configured. #52160, @Jguer
    • Azure Monitor: Add new dashboard with geo map for app insights test availability. #52494, @jcolladokuri
    • Azure Monitor: New template variable editor. #52594, @andresmgot
    • Azure Monitor: Restore Metrics query parameters: subscription, resourceGroup, metricNamespace and resourceName. #52897, @andresmgot
    • Chore: Add dashboard UID as query parameter of Get annotation endpoint. #52764, @ying-jeanne
    • Chore: Remove jest-coverage-badges dep from toolkit. #49883, @zoltanbedi
    • Chore: Rename dashboardUID to dashboardUIDs in search endpoint and up…. #52766, @ying-jeanne
    • CloudWatch: Add default log groups to config page. #49286, @iwysiu
    • CommandPalette: Populate dashboard search when the palette is opened. #51293, @ryantxu
    • Core Plugins: Add support for HTTP logger. #46578, @toddtreece
    • Correlations: Add CreateCorrelation HTTP API. #51630, @Elfo404
    • Correlations: Add DeleteCorrelation HTTP API. #51801, @Elfo404
    • Custom branding: Add UI for setting configuration. (Enterprise)
    • Custom branding: Add custom branding service (early access). (Enterprise)
    • Data Connections: Create a new top-level page. #50018, @leventebalogh
    • DataSource: Allow data source plugins to set query default values. #49581, @sunker
    • Docs: CSRF add configuration options and documentation for additional headers and origins. #50473, @eleijonmarck
    • Elasticsearch: Added modifyQuery method to add filters in Explore. #52313, @svennergr
    • Explore: Add ability to include tags in trace to metrics queries. #49433, @connorlindsey
    • Explore: Download and upload service graphs for Tempo. #50260, @connorlindsey
    • Explore: Make service graph visualization use available vertical space. #50518, @connorlindsey
    • Explore: Reset Graph overrides if underlying series changes. #49680, @Elfo404
    • Explore: Sort trace process attributes alphabetically. #51261, @connorlindsey
    • Frontend Logging: Integrate grafana javascript agent. #50801, @tolzhabayev
    • Geomap: Add ability to select a data query filter for each layer. #49966, @mmandrus
    • Geomap: Route/path visualization. #43554, @alexanderzobnin
    • GeomapPanel: Add base types to data layer options. #50053, @drew08t
    • Graph Panel: Add feature toggle that will allow automatic migration to timeseries panel. #50631, @ryantxu
    • Graphite: Introduce new query types in annotation editor. #52341, @itsmylife
    • Infra: Pass custom headers in resource request. #51291, @aocenas
    • Insights: Add RBAC for insights features. (Enterprise)
    • Instrumentation: Add more buckets to the HTTP request histogram. #51492, @bergquist
    • Instrumentation: Collect database connection stats. #52797, @bergquist
    • Instrumentation: Convert some metrics to histograms. #50420, @SuperQ
    • Jaeger: Add support for variables. #50500, @joey-grafana
    • LDAP: Allow specifying LDAP timeout. #48870, @hannes-256
    • LibraryPanels: Require only viewer permissions to use a Library Panel. #50241, @joshhunt
    • Licensing: Usage-based billing reporting enhancements. (Enterprise)
    • Logs: Handle clicks on legend labels in histogram. #49931, @gabor
    • Logs: Improve the color for unknown log level. #52711, @gabor
    • Loki/Logs: Make it possible to copy log values to clipboard. #50914, @Seyaji
    • Loki: Add hint for pipeline error to query builder. #52134, @ivanahuckova
    • Loki: Add hints for level-like labels. #52414, @ivanahuckova
    • Loki: Add support for IP label and line filter in query builder. #52658, @ivanahuckova
    • Loki: Add unwrap with conversion function to builder. #52639, @ivanahuckova
    • Loki: Implement hints for query builder. #51795, @ivanahuckova
    • Loki: Move explain section to builder mode. #52879, @ivanahuckova
    • Loki: Show label options for unwrap operation. #52810, @ivanahuckova
    • Loki: Support json parser with expressions in query builder. #51965, @ivanahuckova
    • Navigation: Display Starred dashboards in the Navbar. #51038, @ashharrison90
    • Node Graph Panel: Add options to configure units and arc colors. #51057, @connorlindsey
    • OAuth: Allow role mapping from GitHub and GitLab groups. #52407, @Jguer
    • Opentsdb: Add tag values into the opentsdb response. #48672, @xy-man
    • OptionsUI: UnitPicker now supports isClearable setting. #51064, @ryantxu
    • PanelEdit: Hide multi-/all-select datasource variables in datasource picker. #52142, @eledobleefe
    • Piechart: Implements series override -> hide in area for the legend or tooltip. #51297, @daniellee
    • Plugin admin: Add a page to show where panel plugins are used in dashboards. #50909, @ryantxu
    • Plugins: Add validation for plugin manifest. #52787, @wbrowne
    • Prometheus: Move explain section to builder mode. #52935, @itsmylife
    • Prometheus: Support 1ms resolution intervals. #44707, @dankeder
    • Prometheus: Throw error on direct access. #50162, @aocenas
    • RBAC: Add RBAC for query caching. (Enterprise)
    • RBAC: Add access control metadata to folder dtos. #51158, @kalleep
    • RBAC: Allow app plugins access restriction. #51524, @gamab
    • RBAC: Rename alerting roles to match naming convention. #50504, @gamab
    • Report: Calculate grid height unit dynamically instead use hardcode values. (Enterprise)
    • Reports: Add created column in report_dashboards. (Enterprise)
    • Reports: Add dashboard title in all pdf pages. (Enterprise)
    • Reports: Allow saving draft reports. (Enterprise)
    • Reports: Multiple dashboards improvements. (Enterprise)
    • SAML : Support Azure Single Sign Out. (Enterprise)
    • SAML: Add NameIDFormat in SP metadata. (Enterprise)
    • SAML: Improve debug logs for saml logout. (Enterprise)
    • SSE: Add noData type. #51973, @kylebrandt
    • Search: Filter punctuation and tokenize camel case. #51165, @FZambia
    • Search: Sync state on read for HA consistency. #50152, @FZambia
    • Security: Choose Lookup params per auth module (CVE-2022-31107). #52312, @Jguer
    • Service Accounts: Managed permissions for service accounts. #51818, @IevaVasiljeva
    • Service accounts: Grafana service accounts are enabled by default. #51402, @vtorosyan
    • ServiceAccounts: Add Prometheus metrics service. #51831, @Jguer
    • ServiceAccounts: Add Service Account Token last used at date. #51446, @Jguer
    • SharePDF: Use currently selected variables and time range when generating PDF. (Enterprise)
    • Slider: Enforce numeric constraints and styling within the text input. #50905, @drew08t
    • State Timeline: Enable support for annotations. #47887, @dprokop
    • Table panel: Add multiple data links support to Default, Image and JSONView cells. #51162, @dprokop
    • TeamSync: Remove LDAP specific example from team sync. #51368, @Jguer
    • TeamSync: Support case insensitive matches and wildcard groups. (Enterprise)
    • Tempo: Add context menu to edges. #52396, @joey-grafana
    • Tempo: Consider tempo search out of beta and remove beta badge and feature flags. #50030, @connorlindsey
    • Tempo: Tempo/Prometheus links select ds in new tab (cmd + click). #52319, @joey-grafana
    • Time series panel: Hide axis when series is hidden from the visualization. #51432, @dprokop
    • TimeSeries: Add option for symmetrical y axes (align 0). #52555, @leeoniya
    • TimeSeries: Add option to match axis color to series color. #51437, @leeoniya
    • TimeSeries: Improved constantY rendering parity with Graph (old). #51401, @leeoniya
    • Timeseries: Support multiple timezones in x axis. #52424, @ryantxu
    • TopNav: Adds new feature toggle for upcoming nav. #51115, @torkelo
    • Traces: APM table. #48654, @joey-grafana
    • Traces: Add absolute time to span details. #50685, @joey-grafana
    • Traces: Add horizontal scroll. #50278, @joey-grafana
    • Traces: Consistent span colors for service names. #50782, @joey-grafana
    • Traces: Move towards using OTEL naming conventions. #51379, @joey-grafana
    • Traces: Span bar label. #50931, @joey-grafana
    • Transformations: Add standard deviation and variance reducers. #52769, @ryantxu
    • Transforms: Add Join by label transformation. #52670, @ryantxu
    • URL: Encode certain special characters. #51806, @L-M-K-B
    • ValueMappings: Make value mapping row focusable. #52337, @lpskdl
    • Variables: Add 'jsonwithoutquote' formatting options for variables, and format of variable supports pipeline. #51859, @MicroOps-cn
    • Variables: Selectively reload panels on URL update. #51003, @toddtreece
    • Various Panels: Add ability to toggle legend with keyboard shortcut. #52241, @alyssabull

    Bug fixes

    Breaking changes

    Some swagger operations and responses have been renamed to match the respective handler names in order to better highlight their relation. If you use the Swagger specification for generating code, you have to re-generate it and make the necessary adjustments. Issue #52643

    The following metrics have been converted to histograms:

    • grafana_datasource_request_total
    • grafana_datasource_request_duration_seconds
    • grafana_datasource_response_size_bytes
    • grafana_datasource_request_in_flight
    • grafana_plugin_request_duration_milliseconds
    • grafana_alerting_rule_evaluation_duration_seconds Issue #50420

    In Elasticsearch versions 7.x, to specify the interval-value we used the interval property. In Grafana 9.1.0 we switched to use the fixed_interval property. This makes it to be the same as in Elasticsearch versions 8.x, also this provides a more consistent experience, fixed_interval is a better match to Grafana's time invervals. For most situations this will not cause any visible change to query results. Issue #50297

    Grafana now reserves alert labels prefixed with grafana_

    Labels prefixed with grafana_ are reserved by Grafana for special use. If a manually configured label is added beginning with grafana_ it may be overwritten in case of collision.

    The current list of labels created by Grafana and available for use anywhere manually configured labels are:

    | Label | Description | | ------------------- | ----------------------------------------- | | grafana_folder | Title of the folder containing the alert. | Issue #50262

    In Prometheus, browser access mode was deprecated in Grafana 7.4.0 and removed in 9.0.0. If you used this mode, please switch to server access mode on the datasource configuration page. Issue #50162

    Plugin development fixes & changes

    Source code(tar.gz)
    Source code(zip)
  • v9.0.6(Aug 2, 2022)

  • v9.0.5(Jul 26, 2022)

    Download page What's new highlights

    Features and enhancements

    • Access control: Show dashboard settings to users who can edit dashboard. #52535, @grafanabot
    • Alerting: Allow the webhook notifier to support a custom Authorization header. #52515, @gotjosh
    • Chore: Upgrade to Go version 1.17.12. #52523, @sakjur
    • Plugins: Add signature wildcard globbing for dedicated private plugin type. #52163, @wbrowne
    • Prometheus: Don't show errors from unsuccessful API checks like rules or exemplar checks. #52193, @darrenjaneczek

    Bug fixes

    • Access control: Allow organisation admins to add existing users to org (#51668). #52553, @vtorosyan
    • Alerting: Fix alert panel instance-based rules filtering. #52583, @konrad147
    • Apps: Fixes navigation between different app plugin pages. #52571, @torkelo
    • Cloudwatch: Upgrade grafana-aws-sdk to fix auth issue with secret keys. #52420, @sarahzinger
    • Grafana/toolkit: Fix incorrect image and font generation for plugin builds. #52661, @academo
    • Loki: Fix show context not working in some occasions. #52458, @svennergr
    • RBAC: Fix permissions on dashboards and folders created by anonymous users. #52615, @gamab
    Source code(tar.gz)
    Source code(zip)
  • v9.0.4(Jul 20, 2022)

    Download page What's new highlights

    Features and enhancements

    Bug fixes

    Source code(tar.gz)
    Source code(zip)
  • v9.0.3(Jul 14, 2022)

    Download page What's new highlights

    Features and enhancements

    • Access Control: Allow dashboard admins to query org users. #51652, @IevaVasiljeva
    • Access control: Allow organisation admins to add existing users to org. #51668, @IevaVasiljeva
    • Alerting: Add method to provisioning API for obtaining a group and its rules. #51761, @alexweav
    • Alerting: Add method to provisioning API for obtaining a group and its rules. #51398, @alexweav
    • Alerting: Allow filtering of contact points by name. #51933, @alexweav
    • Alerting: Disable /api/admin/pause-all-alerts with Unified Alerting. #51895, @joeblubaugh
    • Analytics: Add total queries and cached queries in usage insights logs. (Enterprise)
    • Annotations: Use point marker for short time range annotations. #51520, @codeincarnate
    • AzureMonitor: Update UI to experimental package. #52123, @asimpson
    • AzureMonitor: Update resource and namespace metadata. #52030, @despian
    • CloudWatch: Remove simplejson in favor of 'encoding/json'. #51062, @asimpson
    • DashboardRow: Collapse shortcut prevent to move the collapsed rows. #51589, @ivanortegaalba
    • Insights: Add dashboard UID to exported logs. (Enterprise)
    • Navigation: Highlight active nav item when Grafana is served from subpath. #51767, @kianelbo
    • Plugins: InfluxDB datasource - set epoch query param value as "ms". #51651, @itsmylife
    • Plugins: InfluxDB update time range query. #51833, @itsmylife
    • StateTimeline: Try to sort time field. #51569, @zoltanbedi

    Bug fixes

    • API: Do not validate/save legacy alerts when saving a dashboard if legacy alerting is disabled. #51883, @papagian
    • Access Control: Fix missing folder permissions. #52153, @IevaVasiljeva
    • Alerting: Add method to reset notification policy tree back to the default. #51934, @alexweav
    • Alerting: Fix Teams notifier not failing on 200 response with error. #52254, @JacobsonMT
    • Alerting: Fix bug where state did not change between Alerting and Error. #52204, @grobinson-grafana
    • Alerting: Fix consistency errors in OpenAPI documentation. #51935, @alexweav
    • Alerting: Fix normalization of alert states for panel annotations. #51637, @gillesdemey
    • Alerting: Provisioning API respects global rule quota. #52180, @alexweav
    • CSRF: Fix additional headers option. #50629, @sakjur
    • Chore: Bump parse-url to 6.0.2 to fix security vulnerabilities. #51796, @jackw
    • Chore: Fix CVE-2020-7753. #51752, @jackw
    • Chore: Fix CVE-2021-3807. #51753, @jackw
    • Chore: Fix CVE-2021-3918. #51745, @jackw
    • Chore: Fix CVE-2021-43138. #51751, @jackw
    • Chore: Fix CVE-2022-0155. #51755, @jackw
    • Custom Branding: Fix login logo size. (Enterprise)
    • Dashboard: Fixes tooltip issue with TimePicker and Setting buttons. #51836, @torkelo
    • Dashboard: Prevent unnecessary scrollbar when viewing single panel. #52122, @lpskdl
    • Logs: Fixed wrapping log lines from detected fields. #52108, @svennergr
    • Loki: Add missing operators in label filter expression. #51880, @ivanahuckova
    • Loki: Fix error when changing operations with different parameters. #51779, @svennergr
    • Loki: Fix suggesting of correct operations in query builder. #52034, @ivanahuckova
    • Plugins: InfluxDB variable interpolation fix. #51917, @itsmylife
    • Plugins: InfluxDB variable interpolation fix for influxdbBackendMigration feature flag. #51624, @itsmylife
    • Reports: Fix line breaks in message. (Enterprise)
    • Reports: Fix saving report formats. (Enterprise)
    • SQLstore: Fix fetching an inexistent playlist. #51962, @papagian
    • Security: Fixes for CVE-2022-31107 and CVE-2022-31097. #52279, @kminehart
    • Snapshots: Fix deleting external snapshots when using RBAC. #51897, @idafurjes
    • Table: Fix scrollbar being hidden by pagination. #51501, @zoltanbedi
    • Templating: Changing between variables with the same name now correctly triggers a dashboard refresh. #51490, @ashharrison90
    • Time series panel: Fix an issue with stacks being not complete due to the incorrect data frame length. #51910, @dprokop
    • [v9.0.x] Snapshots: Fix deleting external snapshots when using RBAC (#51897). #51904, @idafurjes
    Source code(tar.gz)
    Source code(zip)
  • v8.5.9(Jul 14, 2022)

  • v8.4.10(Jul 14, 2022)

  • v9.0.2(Jun 28, 2022)

    Download page What's new highlights

    Features and enhancements

    Bug fixes

    Source code(tar.gz)
    Source code(zip)
  • v9.0.1(Jun 21, 2022)

    Download page What's new highlights

    Features and enhancements

    • Alerting: Add support for image annotation in Alertmanager alerts. #50686, @grobinson-grafana
    • Alerting: Add support for images in SensuGo alerts. #50718, @grobinson-grafana
    • Alerting: Add support for images in Threema alerts. #50734, @grobinson-grafana
    • Alerting: Adds Mimir to Alertmanager data source implementation. #50943, @gillesdemey
    • Alerting: Invalid setting of enabled for unified alerting should return error. #49876, @grobinson-grafana
    • AzureMonitor: Clean namespace when changing the resource. #50311, @andresmgot
    • AzureMonitor: Update supported namespaces and filter resources by the right type. #50788, @andresmgot
    • CLI: Allow relative symlinks in zip archives when installing plugins. #50537, @marefr
    • Dashboard: Don't show unsaved changes modal for automatic schema changes. #50822, @torkelo
    • Dashboard: Unsaved changes warning should not trigger when only pluginVersion has changed. #50677, @torkelo
    • Expression: Execute hidden expressions. #50636, @yesoreyeram
    • Geomap: Support showing tooltip content on click (not just hover). #50985, @ryantxu
    • Heatmap: Remove alpha flag from new heatmap panel. #50733, @ryantxu
    • Instrumentation: Define handlers for requests that are not handled with named handlers. #50613, @bergquist
    • Log Panel: Improve log row hover contrast and visibility. #50908, @Seyaji
    • Logs: Handle backend-mode errors in histogram. #50535, @gabor
    • Loki: Do not show histogram for instant queries. #50711, @gabor
    • Loki: Handle data source configs with path in the url. #50971, @gabor
    • Loki: Handle invalid query type values. #50755, @gabor
    • OAuth: Redirect to login if no oauth module is found or if module is not configured. #50661, @kalleep
    • OptionsUI: Move internal options editors out of @grafana/ui. #50739, @ryantxu
    • Prometheus: Don't show undefined for step in collapsed options in query editor when value is "auto". #50511, @aocenas
    • Prometheus: Show query patterns in all editor modes for Prometheus and Loki. #50263, @ivanahuckova
    • Tempo: Add link to Tempo Search with node service selected. #49776, @joey-grafana
    • Time Series Panel: Add Null Filling and "No Value" Support. #50907, @codeincarnate
    • TimeSeries: Add an option to set legend width. #49126, @bobrik
    • Timeseries: Improve cursor Y sync behavior. #50740, @ryantxu
    • Traces: Do not use red in span colors as this looks like an error. #50074, @joey-grafana

    Bug fixes

    Deprecations

    Support for compact Explore URLs is deprecated and will be removed in a future release. Until then, when navigating to Explore using the deprecated format the URLs are automatically converted. If you have existing links pointing to Explore update them using the format generated by Explore upon navigation.

    You can identify a compact URL by its format. Compact URLs have the left (and optionally right) url parameter as an array of strings, for example &left=["now-1h","now"...]. The standard explore URLs follow a key/value pattern, for example &left={"datasource":"test"...}. Please be sure to check your dashboards for any hardcoded links to Explore and update them to the standard URL pattern. Issue #50873

    Source code(tar.gz)
    Source code(zip)
  • v8.5.6(Jun 14, 2022)

  • v9.0.0(Jun 14, 2022)

    Download page What's new highlights

    Features and enhancements

    Bug fixes

    • Alerting: Fix database unavailable removes rules from scheduler. #49874, @grobinson-grafana
    • AzureMonitor: Fix auto-selection of time-grain for metrics. #49278, @aangelisc
    • DataSources: Fixes issue with expressions not being queried. #50446, @JoaoSilvaGrafana
    • GraphNG: Fix thresholds by color not following data update. #48571, @zoltanbedi
    • Jaeger: Update operations dropdown. #49329, @joey-grafana
    • Login: Fix mismatching label on auth_module in user list. #49177, @Jguer
    • Playlists: Save button now correctly creates a new playlist. #50381, @ashharrison90
    • RBAC: Fix migrations running in the wrong order causing inheritance problem in enterprise. #50452, @gamab
    • RBAC: Fix migrations running into the wrong order. (Enterprise)
    • ServiceAccounts: Add identifiable token prefix to service account tokens. #49011, @Jguer
    • Traces: Fix missing CopyButton on KeyValueTables and overlapping of panels. #49271, @svennergr

    Breaking changes

    The @grafana/ui package helper function selectOptionInTest used in frontend tests has been removed as it caused testing libraries to be bundled in the production code of Grafana. If you were using this helper function in your tests please update your code accordingly:

    // before
    import { selectOptionInTest } from '@grafana/ui';
    // ...test usage
    await selectOptionInTest(selectEl, 'Option 2');
    
    // after
    import { select } from 'react-select-event';
    // ...test usage
    await select(selectEl, 'Option 2', { container: document.body });
    

    Issue #50442

    Removed deprecated checkHealth prop from the @grafana/e2e addDataSource config. Previously this value defaulted to false, and has not been used in end-to-end tests since Grafana 8.0.3. Issue #50296

    Removes the deprecated LegacyBaseMap, LegacyValueMapping, LegacyValueMap, and LegacyRangeMap types, and getMappedValue function from grafana-data. Migration is as follows: | Old | New | | ------------- | ------------- | | LegacyBaseMap | MappingType | | LegacyValueMapping | ValueMapping | | LegacyValueMap | ValueMap | | LegacyRangeMap | RangeMap | | getMappedValue | getValueMappingResult | Issue #50035

    This change fixes a bug in Grafana where intermittent failure of database, network between Grafana and the database, or error in querying the database would cause all alert rules to be unscheduled in Grafana. Following this change scheduled alert rules are not updated unless the query is successful.

    The get_alert_rules_duration_seconds metric has been renamed to schedule_query_alert_rules_duration_seconds. Issue #49874

    • Any secret (data sources credential, alert manager credential, etc, etc) created or modified with Grafana v9.0 won't be decryptable from any previous version (by default) because the way encrypted secrets are stored into the database has changed. Although secrets created or modified with previous versions will still be decryptable by Grafana v9.0.

    • If required, although generally discouraged, the disableEnvelopeEncryption feature toggle can be enabled to keep envelope encryption disabled once updating to Grafana v9.0.

    • In case of need to rollback to an earlier version of Grafana (i.e. Grafana v8.x) for any reason, after being created or modified any secret with Grafana v9.0, the envelopeEncryption feature toggle will need to be enabled to keep backwards compatibility (only from v8.3.x a bit unstable, from 8.5.x stable).

    • As a final attempt to deal with issues related with the aforementioned situations, the grafana-cli admin secrets-migration rollback command has been designed to move back all the Grafana secrets encrypted with envelope encryption to legacy encryption. So, after running that command it should be safe to disable envelope encryption and/or roll back to a previous version of Grafana.

    • Alternatively or complementarily to all the points above, backing up the Grafana database before updating could be a good idea to prevent disasters (although the risk of getting some secrets corrupted only applies to those updates/created with after updating to Grafana v9.0). Issue #49301

    • According to the dynamic labels documentation, you can use up to five dynamic values per label. There’s currently no such restriction in the alias pattern system, so if more than 5 patterns are being used the GetMetricData API will return an error.

    • Dynamic labels only allow ${LABEL} to be used once per query. There’s no such restriction in the alias pattern system, so in case more than 1 is being used the GetMetricData API will return an error.

    • When no alias is provided by the user, Grafana will no longer fallback with custom rules for naming the legend.

    • In case a search expression is being used and no data is returned, Grafana will no longer expand dimension values, for instance when using a multi-valued template variable or star wildcard * in the dimension value field. Ref https://github.com/grafana/grafana/issues/20729

    • Time series might be displayed in a different order. Using for example the dynamic label ${PROP('MetricName')}, might have the consequence that the time series are returned in a different order compared to when the alias pattern {{metric}} is used

    Issue #49173

    In Elasticsearch, browser access mode was deprecated in grafana 7.4.0 and removed in 9.0.0. If you used this mode, please switch to server access mode on the datasource configuration page. Issue #49014

    Environment variables passed from Grafana to external Azure plugins have been renamed:

    • AZURE_CLOUD renamed to GFAZPL_AZURE_CLOUD
    • AZURE_MANAGED_IDENTITY_ENABLED renamed to GFAZPL_MANAGED_IDENTITY_ENABLED
    • AZURE_MANAGED_IDENTITY_CLIENT_ID renamed to GFAZPL_MANAGED_IDENTITY_CLIENT_ID

    There are no known plugins which were relying on these variables. Moving forward plugins should read Azure settings only via Grafana Azure SDK which properly handles old and new environment variables. Issue #48954

    Removes support for for ElasticSearch versions after their end-of-life, currently versions < 7.10.0. To continue to use ElasticSearch data source, upgrade ElasticSearch to version 7.10.0+. Issue #48715

    Application Insights and Insight Analytics queries in Azure Monitor were deprecated in Grafana 8.0 and finally removed in 9.0. Deprecated queries will no longer be executed. Please refer to the documentation for more information about this change.

    Issue #48328

    grafana/ui: Button now specifies a default type="button"

    The Button component provided by @grafana/ui now specifies a default type="button" when no type is provided. In previous versions, if the attribute was not specified for buttons associated with a <form> the default value was submit per the specification

    You can preserve the old behavior by explicitly setting the type attribute: <Button type="submit" />

    Github Issue #41863. Issue #48183

    The Rename by regex transformation has been improved to allow global patterns of the form /<stringToReplace>/g. Depending on the regex match used, this may cause some transformations to behave slightly differently. You can guarantee the same behaviour as before by wrapping the match string in forward slashes (/), e.g. (.*) would become /(.*)/ Issue #48179

    <Select /> menus will now portal to the document body by default. This is to give more consistent behaviour when positioning and overlaying. If you were setting menuShouldPortal={true} before you can safely remove that prop and behaviour will be the same. If you weren't explicitly setting that prop, there should be no visible changes in behaviour but your tests may need updating. Please see the original PR (https://github.com/grafana/grafana/pull/36398) for migration guides. If you were setting menuShouldPortal={false} this will continue to prevent the menu from portalling.

    Issue #48176

    Grafana alerting endpoint prefixed with api/v1/rule/test that tests a rule against a Corte/Loki data source now expects the data source UID as a path parameter instead of the data source numeric identifier. Issue #48070

    Grafana alerting endpoints prefixed with api/prometheus/ that proxy requests to a Cortex/Loki data source now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #48052

    Grafana alerting endpoints prefixed with api/ruler/ that proxy requests to a Cortex/Loki data source now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #48046

    Grafana alerting endpoints prefixed with api/alertmanager/ that proxy requests to an Alertmanager now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #47978

    The format of log messages have been updated, lvl is now level and erorand dbug has been replaced with error and debug. The precision of timestamps has been increased. To smooth the transition, it is possible to opt-out of the new log format by enabling the feature toggle oldlog. This option will be removed in a future minor release. Issue #47584

    In the Loki data source, the dataframe format used to represent Loki logs-data has been changed to a more efficient format. The query-result is represented by a single dataframe with a "labels" column, instead of the separate dataframes for every labels-value. When displaying such data in explore, or in a logs-panel in the dashboard will continue to work without changes, but if the data was loaded into a different dashboard-panel, or Transforms were used, adjustments may be necessary. For example, if you used the "labels to fields" transformation with the logs data, please switch to the "extract fields" transformation. Issue #47153

    Deprecations

    setExploreQueryField, setExploreMetricsQueryField and setExploreLogsQueryField are now deprecated and will be removed in a future release. If you need to set a different query editor for Explore, conditionally render based on props.app in your regular query editor. Please refer to https://grafana.com/docs/grafana/latest/developers/plugins/add-support-for-explore-queries/ for more informations. Issue #48701

    Plugin development fixes & changes

    Source code(tar.gz)
    Source code(zip)
  • v9.0.0-beta3(Jun 7, 2022)

    Download page What's new highlights

    Features and enhancements

    • Alerting: Add provenance guard to config api. #50147, @JohnnyQQQQ
    • Alerting: Make folder filter clearable in Alert list panel. #50093, @peterholmberg
    • Alerting: Provisioning API - Alert rules. #47930, @JohnnyQQQQ
    • Alerting: Remove Image Upload code from Slack notifier. #50062, @joeblubaugh
    • Alerting: Remove double quotes from matchers. #50038, @gotjosh
    • Cloudwatch: Dynamic labels autocomplete. #49794, @sunker
    • Datasource: Remove deprecated max_idle_connections_per_host setting. #49948, @marefr
    • Datasource: Remove support for unencrypted passwords. #49987, @marefr
    • Dependencies: Update to Golang version 1.17.11. #50253, @dsotirakis
    • Loki: Run query when pressing Enter on line-filters. #49913, @svennergr
    • Metrics: Remove support for using summaries instead of histogram for HTTP instrumentation. #49985, @bergquist
    • Plugins: Remove deprecated /api/tsdb/query metrics endpoint. #49916, @wbrowne
    • Plugins: Support headers field for check health. #49930, @marefr
    • Prometheus/Loki: Add raw query and syntax highlight in explain mode. #50070, @aocenas
    • Prometheus: Migrate metadata queries to use resource calls. #49921, @srclosson
    • RBAC: Make RBAC action names more consistent. #49730, @IevaVasiljeva
    • RBAC: Make RBAC action names more consistent. (Enterprise)
    • Settings: Sunset non-duration based login lifetime config. #49944, @sakjur
    • [9.0.x] Alerting: Update alert rule diff to not see difference between nil and empty map. #50198, @yuri-tceretian

    Bug fixes

    • Alerting: Fix alert list panel showing firing alerts with no instances. #50069, @gillesdemey
    • Alerting: Fix notification policy "Override grouping" form save. #50031, @JacobsonMT
    • Alerting: Remove double quotes from matchers. #50046, @alexweav
    • Alerting: Use correct permission scope for external AM updates. #50159, @gillesdemey
    • Datasource: Fix allowed cookies to be forwarded as header to backend datasources. #49541, @marefr
    • Licensing: Fix trial expiration warning. (Enterprise)
    • Loki: Fix uncaught errors if labelKey contains special characters. #49887, @svennergr
    • Prometheus: Fix aligning of labels of exemplars after backend migration. #49924, @aocenas
    • SharePDF: Fix repeated datasource variables in PDF. (Enterprise)
    • State Timeline: Fix Null Value Filling and Value Transformation. #50054, @codeincarnate
    • Usage stats: Divide collection into multiple functions to isolate failures. #49928, @sakjur

    Breaking changes

    Removes support for storing/using datasource password and basicAuthPassword unencrypted which was deprecated in Grafana v8.1.0. Please use secureJsonData.password and secureJsonData.basicAuthPassword. Issue #49987

    Removes the option to instrument HTTP request in Grafana using summaries instead of histograms. Issue #49985

    Removes support for deprecated dataproxy.max_idle_connections_per_host setting. Please use max_idle_connections instead. Issue #49948

    Removes the deprecated getFormStyles function from grafana-ui. Prefer using GrafanaTheme2 and the useStyles2 hook. Issue #49945

    The configuration options auth.login_maximum_inactive_lifetime_days and auth.login_maximum_lifetime_days were deprecated in Grafana v7.2.0 and have now been removed. Use login_maximum_inactive_lifetime_duration and login_maximum_lifetime_duration to customize the maximum lifetime of a login session. Issue #49944

    Removed the deprecated isFocused and isInvalid props from the InlineLabel component. These props haven't done anything for a while, so migration is just a matter of removing the props. Issue #49929

    Removed the deprecated onColorChange prop from ColorPicker. Moving forward the onChange prop should be used. Issue #49923

    /api/tsdb/query API has been removed. Use /api/ds/query instead. Issue #49916

    onClipboardCopy and onClipboardError APIs have been changed such that the callback's argument is just the text that's been copied rather than the old ClipboardEvent interface. Migration should just be a matter of going from

    <ClipboardButton
      {/*other props... */}
      onClipboardCopy={(e) => {
        console.log(`Text "${e.text}" was copied!`);
      }}
    />
    

    to

    <ClipboardButton
      {/* other props... */}
      onClipboardCopy={(copiedText) => {
        console.log(`Text "${copiedText}" was copied!`);
      }}
    />
    

    Related Issue #49847

    The following RBAC action renames have been carried out:

    • users.authtoken:update -> users.authtoken:write;
    • users.password:update -> users.password:write;
    • users.permissions:update -> users.permissions:write;
    • users.quotas:update -> users.quotas:write;
    • org.users.role:update -> org.users:write;
    • alert.instances:update -> alert.instances:write;
    • alert.rules:update -> alert.rules:write;
    • users.authtoken:list -> users.authtoken:read;
    • users.quotas:list -> users.quotas:read;
    • users.teams:read -> replaced by users.read + teams:read

    We've added a migration from the old action names to the new names and have updated our documentation. But you will have to update any scripts and provisioning files that are using the old action names. Issue #49730

    The following RBAC action renames have been carried out:

    • reports.admin:write -> reports:write;
    • reports.admin:create -> reports:create;
    • licensing:update -> licensing:write;
    • roles:list -> roles:read;
    • teams.roles:list -> teams.roles:read;
    • users.roles:list -> users.roles:read;
    • users.permissions:list -> users.permissions:read

    We've added a migration from the old action names to the new names and have updated our documentation. But you will have to update any scripts and provisioning files that are using the old action names. Issue #3372

    Plugin development fixes & changes

    Source code(tar.gz)
    Source code(zip)
  • v8.5.5(Jun 7, 2022)

    Download page What's new highlights

    Features and enhancements

    • Azure Monitor: Include datasource ref when interpolating variables. #49543, @kevinwcyu
    • CloudWatch: Add multi-value template variable support for log group names in logs query builder. #49737, @kevinwcyu
    • Cloudwatch: Add template variable query function for listing log groups. #50100, @yaelleC

    Bug fixes

    Source code(tar.gz)
    Source code(zip)
  • v9.0.0-beta2(May 31, 2022)

    Download page What's new highlights

    Features and enhancements

    Bug fixes

    Breaking changes

    Drop support for deprecated setting ldap_sync_ttl under [auth.proxy] Only sync_ttl will work from now on Issue #49902

    Removes support for deprecated heading and description props. Moving forward, the Card.Heading and Card.Description components should be used. Issue #49885

    Removes the deprecated link variant from the Button component. To migrate, replace any usage of variant="link" with fill="text". Issue #49843

    Removes the deprecated surface prop from the IconButton component. This prop hasn't actually done anything for a while, so it should be safe to just remove any instances of its usage. Issue #49715

    Removes the deprecated TextDisplayOptions export from @grafana/data in favor of VizTextDisplayOptions from @grafana/schema. To migrate, just replace usage of TextDisplayOptions with VizTextDisplayOptions. Issue #49705

    Removed support for the deprecated getColorForTheme(color: string, theme: GrafanaTheme) function in favor of the theme.visualization.getColorByName(color: string) method. The output of this method is identical to the removed function, so migration should just be a matter of rewriting calls of getColorForTheme(myColor, myTheme) to myTheme.visualization.getColorByName(myColor). Issue #49519

    In the Prometheus data source, for consistency and performance reasons, we changed how we represent NaN (not a number) values received from Prometheus. In the past versions, we converted these to null in the frontend (for dashboard and explore), and kept as NaN in the alerting path. Starting with this version, we will always keep it as NaN. This change should be mostly invisible for the users. Issue #49475

    Plugins using custom Webpack configs could potentially break due to the changes between [email protected] and [email protected] Please refer to the official migration guide for assistance.

    Webpack 5 does not include polyfills for node.js core modules by default (e.g. buffer, stream, os). This can result in failed builds for plugins. If polyfills are required it is recommended to create a custom webpack config in the root of the plugin repo and add the required fallbacks:

    // webpack.config.js
    
    module.exports.getWebpackConfig = (config, options) => ({
      ...config,
      resolve: {
        ...config.resolve,
        fallback: {
          os: require.resolve('os-browserify/browser'),
          stream: require.resolve('stream-browserify'),
          timers: require.resolve('timers-browserify'),
        },
      },
    });
    

    Please refer to the webpack build error messages or the official migration guide for assistance with fallbacks.

    Which issue(s) this PR fixes:

    Fixes #

    Special notes for your reviewer:

    It does not bump the following dependencies to the very latest due to the latest versions being ES modules:

    • ora
    • globby
    • execa
    • chalk Issue #47826

    We have changed the internals of backendSrv.fetch() to throw an error when the response is an incorrect JSON.

    // PREVIOUSLY: this was returning with an empty object {} - in case the response is an invalid JSON
    return await getBackendSrv().post(`${API_ROOT}/${id}/install`);
    
    // AFTER THIS CHANGE: the following will throw an error - in case the response is an invalid JSON
    return await getBackendSrv().post(`${API_ROOT}/${id}/install`);
    

    When is the response handled as JSON?

    • If the response has the "Content-Type: application/json" header, OR
    • If the backendSrv options (BackendSrvRequest) specify the response as JSON: { responseType: 'json' }

    How does it work after this change?

    • In case it is recognised as a JSON response and the response is empty, it returns an empty object {}
    • In case it is recognised as a JSON response and it has formatting errors, it throws an error

    How to migrate? Make sure to handle possible errors on the callsite where using backendSrv.fetch() (or any other backendSrv methods). Issue #47493

    Plugin development fixes & changes

    Source code(tar.gz)
    Source code(zip)
  • v8.5.4(May 31, 2022)

    Download page What's new highlights

    Features and enhancements

    • Alerting: Remove disabled flag for data source when migrating alerts. #48559, @yuri-tceretian
    • Alerting: Show notification tab of legacy alerting only to editor. #49624, @yuri-tceretian
    • Alerting: Update migration to migrate only alerts that belong to existing org\dashboard. #49192, @yuri-tceretian
    • AzureMonitor: Do not quote variables when a custom "All" variable option is used. #49428, @andresmgot
    • AzureMonitor: Update allowed namespaces. #48468, @jcolladokuri
    • CloudMonitor: Correctly encode default project response. #49510, @aangelisc
    • Cloudwatch: Add support for new AWS/RDS EBS* metrics. #48798, @szymonpk
    • InfluxDB: Use backend for influxDB by default via feature toggle. #48453, @yesoreyeram
    • Legend: Use correct unit for percent and count calculations. #49004, @dprokop
    • LokI: use millisecond steps in Grafana 8.5.x. #48630, @gabor
    • Plugins: Introduce HTTP 207 Multi Status response to api/ds/query. #48550, @wbrowne
    • Reporting: Improve PDF file size using grid layout. (Enterprise)
    • Transformations: Add an All Unique Values Reducer. #48653, @josiahg
    • Transformers: avoid error when the ExtractFields source field is missing. #49368, @wardbekker
    • [v8.5.x] Alerting: Update migration to migrate only alerts that belong to existing org\dashboard. #49199, @grafanabot
    • [v8.5.x] Reporting: Improve PDF file size using grid layout. (Enterprise)

    Bug fixes

    • Alerting: Allow disabling override timings for notification policies. #48648, @gillesdemey
    • Alerting: Allow serving images from custom url path. #49022, @gillesdemey
    • Alerting: Apply Custom Headers to datasource queries. #47860, @joeblubaugh
    • Alerting: Fix RBAC actions for notification policies. #49185, @yuri-tceretian
    • Alerting: Fix access to alerts for viewer with editor permissions when RBAC is disabled. #49270, @yuri-tceretian
    • Alerting: Fix anonymous access to alerting. #49203, @yuri-tceretian
    • Alerting: correctly show all alerts in a folder. #48684, @gillesdemey
    • AzureMonitor: Fixes metric definition for Azure Storage queue/file/blob/table resources. #49101, @aangelisc
    • Dashboard: Fix dashboard update permission check. #48746, @IevaVasiljeva
    • DashboardExport: Fix exporting and importing dashboards where query data source ended up as incorrect. #48410, @torkelo
    • FileUpload: clicking the Upload file button now opens the modal correctly. #48766, @ashharrison90
    • GrafanaUI: Fix color of links in error Tooltips in light theme. #49327, @joshhunt
    • LibraryPanels: Fix library panels not connecting properly in imported dashboards. #49161, @joshhunt
    • Loki: Improve unpack parser handling. #49074, @gabor
    • RolePicker: Fix menu position on smaller screens. #48429, @Clarity-89
    • TimeRange: Fixes updating time range from url and browser history. #48657, @torkelo
    • TimeSeries: Fix detection & rendering of sparse datapoints. #48841, @leeoniya
    • Timeseries: Fix outside range stale state. #49633, @ryantxu
    • Tooltip: Fix links not legible in Tooltips when using light theme. #48748, @joshhunt
    • Tooltip: Sort decimals using standard numeric compare. #49084, @dprokop
    • Transforms: Labels to fields, fix label picker layout. #49304, @torkelo
    • Variables: Fixes issue with data source variables not updating queries with variable. #49478, @torkelo
    • [v8.5.x] Alerting: Fix RBAC actions for notification policies (#49185). #49348, @yuri-tceretian
    • [v8.5.x] Alerting: Fix access to alerts for viewer with editor permissions when RBAC is disabled. #49427, @konrad147
    • [v8.5.x] Alerting: Fix anonymous access to alerting. #49268, @yuri-tceretian

    Breaking changes

    For a data source query made via /api/ds/query :

    • If the DatasourceQueryMultiStatus feature is enabled and
      • The data source response has an error set as part of the DataResponse, the resulting HTTP status code is now 207 Multi Status instead of 400 Bad gateway
    • If the DatasourceQueryMultiStatus feature is not enabled and
      • The data source response has an error set as part of the DataResponse, the resulting HTTP status code is 400 Bad Request (no breaking change) --> Issue #48550
    Source code(tar.gz)
    Source code(zip)
  • v9.0.0-beta1(May 24, 2022)

    Download page What's new highlights

    Features and enhancements

    • AccessControl: Add setting for permission cache. (Enterprise)
    • AccessControl: Check dashboard permissions for reports. (Enterprise)
    • Auth: Remove grafana ui dependency to the aws sdk. #43559, @sunker
    • BasicRoles: Add API endpoint to reset basic roles permissions to factory. (Enterprise)
    • LDAP Mapping: Allow Grafana Admin mapping without org role. #37189, @krzysdabro
    • Licensing: Only enforce total number of users. (Enterprise)
    • Loki: do not convert NaN to null. #45389, @gabor
    • Report: API support for multiple dashboards. (Enterprise)
    • Report: Support sending embedded image in the report email. (Enterprise)
    • Report: UI for multiple dashboards. (Enterprise)
    • Reporting: Remove redundant empty attachment when export to CSV is enabled. (Enterprise)
    • SAML: Implement Name Templates for assertion_attribute_name option. (Enterprise)
    • SSE/Alerting: Support prom instant vector responses. #44865, @kylebrandt
    • Tracing: Add trace to metrics config behind feature toggle. #46298, @connorlindsey

    Bug fixes

    • Fix: Prevent automatic parsing of string data types to numbers. #46035, @joshhunt
    • Prometheus: Fix inconsistent labels in exemplars resulting in marshal json error. #46135, @hanjm

    Breaking changes

    In the Loki data source, for consistency and performance reasons, we changed how we represent NaN (not a number) values received from Loki. In the past versions, we converted these to null in the frontend (for dashboard and explore), and kept as NaN in the alerting path. Starting with this version, we will always keep it as NaN. This change should be mostly invisible for the users. Issue #45389

    The dependency to grafana/aws-sdk is moved from grafana/ui to the plugin. This means that any plugin that use SIGV4 auth need to pass a SIGV4 editor component as a prop to the DataSourceHttpSettings component. Issue #43559

    Source code(tar.gz)
    Source code(zip)
  • v7.5.16(May 19, 2022)

  • v8.5.3(May 19, 2022)

  • v8.5.2(May 4, 2022)

    Download page What's new highlights

    Features and enhancements

    • Alerting: Add safeguard for migrations that might cause dataloss. #48526, @JohnnyQQQQ
    • AzureMonitor: Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. #48077, @aangelisc
    • Elasticsearch: Add deprecation notice for < 7.10 versions. #48506, @ivanahuckova
    • Traces: Filter by service/span name and operation in Tempo and Jaeger. #48209, @joey-grafana

    Bug fixes

    • AzureAd Oauth: Fix strictMode to reject users without an assigned role. #48474, @kyschouv
    • CloudWatch: Fix variable query tag migration. #48587, @iwysiu
    • Plugins: Ensure catching all appropriate 4xx api/ds/query scenarios. #47565, @wbrowne
    Source code(tar.gz)
    Source code(zip)
  • v8.5.1(Apr 28, 2022)

    Download page What's new highlights

    Bug fixes

    Source code(tar.gz)
    Source code(zip)
  • v8.5.0(Apr 21, 2022)

    Download page What's new highlights

    Features and enhancements

    • Alerting: Add contact points provisioning API. #47197, @JohnnyQQQQ
    • Alerting: Add resolved count to notification title when both firing and resolved present. #46697, @JacobsonMT
    • Alerting: Alert rule should wait For duration when execution error state is Alerting. #47052, @grobinson-grafana
    • Alerting: Classic conditions can now display multiple values. #46971, @gotjosh
    • Alerting: Display query from grafana-managed alert rules on /api/v1/rules. #45969, @gotjosh
    • Alerting: Enhance support for arbitrary group names in managed alerts. #47785, @gillesdemey
    • Alerting: add field for custom slack endpoint. #45751, @nathanrodman
    • Azure Monitor : Adding json formatting of error messages in Panel Header Corner and Inspect Error Tab. #44877, @yaelleC
    • Azure Monitor: Add 2 more Curated Dashboards for VM Insights. #45187, @jcolladokuri
    • CloudWatch: Handle new error codes for MetricInsights. #47033, @Gabrielopesantos
    • Dashboards: show changes in save dialog. #46557, @ryantxu
    • DataSource: Default data source is no longer a persisted state but just the default data source for new panels. #45132, @torkelo
    • DataSourcePlugin API: Allow queries import when changing data source type. #47435, @dprokop
    • Explore: Remove return to panel button. #45018, @gelicia
    • Explore: allow users to save Explore state to a new panel in a new dashboard. #45148, @Elfo404
    • Instrumentation: Proxy status code correction and various improvements. #47473, @marefr
    • Logging: Introduce feature toggle to activate gokit/log format. #47336, @ying-jeanne
    • NewsPanel: Add support for Atom feeds. #45390, @kaydelaney
    • Plugins: Add deprecation notice for /api/tsdb/query endpoint. #45238, @wbrowne
    • Plugins: Adding support for traceID field to accept variables. #45559, @vinisdl
    • PostgreSQL: __unixEpochGroup to support arithmetic expression as argument. #46764, @s0nik42
    • Profile/Help: Expose option to disable profile section and help menu. #46308, @cameronwaterman
    • Prometheus: Enable new visual query builder by default. #46634, @torkelo
    • SAML: Allow disabling of SAML signups. #47481, @mmandrus
    • SAML: Allow disabling of SAML signups. (Enterprise)
    • Table: New pagination option. #45732, @zoltanbedi
    • TablePanel: Add cell inspect option. #45620, @dprokop
    • Tempo / Trace Viewer: Support Span Links in Trace Viewer. #45632, @Shachi16
    • Tempo: Download span references in data inspector. #47074, @connorlindsey
    • Tempo: Separate trace to logs and loki search datasource config. #46655, @connorlindsey
    • Trace View: Show number of child spans. #44393, @tharun208
    • Transformations: Support escaped characters in key-value pair parsing. #47901, @aangelisc

    Bug fixes

    • Azure Monitor: Bug Fix for incorrect variable cascading for template variables. #47478, @jcolladokuri
    • CloudWatch: List all metrics properly in SQL autocomplete. #45898, @sunker
    • CloudWatch: Run query on blur in logs query field. #47454, @fridgepoet
    • Dashboard: Template variables are now correctly persisted when clicking breadcrumb links. #46790, @ashharrison90
    • DashboardPage: Remember scroll position when coming back panel edit / view panel. #47639, @torkelo
    • Panel Edit: Options search now works correctly when a logarithmic scale option is set. #47927, @ashharrison90
    • Postgres: Return tables with hyphenated schemes. #45754, @zuchka
    • Table panel: Fix horizontal scrolling when pagination is enabled. #47776, @dprokop
    • Variables: Ensure variables in query params are correctly recognised. #47049, @ashharrison90
    • Variables: Fix crash when changing query variable datasource. #44957, @joshhunt
    • Visualizations: Stack negative-valued series downwards. #47373, @leeoniya

    Breaking changes

    For a proxied request, e.g. Grafana's datasource or plugin proxy:

    • If the request is cancelled, e.g. from the browser/by the client, the HTTP status code is now 499 Client closed request instead of 502 Bad gateway
    • If the request times out, e.g. takes longer time than allowed, the HTTP status code is now 504 Gateway timeout instead of 502 Bad gateway. Issue #47473

    The change in behavior is that negative-valued series are now stacked downwards from 0 (in their own stacks), rather than downwards from the top of the positive stacks. We now automatically group stacks by Draw style, Line interpolation, and Bar alignment, making it impossible to stack bars on top of lines, or smooth lines on top of stepped lines. Issue #47373

    The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue #45132

    The Tooltip component provided by @grafana/ui is no longer automatically interactive (that is you can hover onto it and click a link or select text). It will from now on by default close automatically when you mouse out from the trigger element. To make tooltips behave like before set the new interactive property to true.
    Issue #45053

    Deprecations

    /api/tsdb/query API has been deprecated and will be removed in a future release. Use /api/ds/query instead. Issue #45238

    Plugin development fixes & changes

    Source code(tar.gz)
    Source code(zip)
  • v8.4.7(Apr 20, 2022)

  • v8.5.0-beta1(Apr 7, 2022)

    Download page What's new highlights

    Features and enhancements

    • Add config option to enable/disable reporting. (Enterprise)
    • Alerting: Accurately set value for prom-compatible APIs. #47216, @gotjosh
    • Alerting: Provisioning API - Notification Policies. #46755, @alexweav
    • Analytics: Enable grafana and plugin update checks to be operated independently. #46352, @wbrowne
    • Azure Monitor: Add support for multiple template variables in resource picker. #46215, @sarahzinger
    • Caching: Add separate TTL for resources cache. (Enterprise)
    • Caching: add support for TLS configuration for Redis Cluster. (Enterprise)
    • NewsPanel: Remove Use Proxy option and update documentation with recommendations. #47189, @joshhunt
    • OAuth: Sync GitHub OAuth user name to Grafana if it's set. #45438, @pallxk

    Bug fixes

    • Plugins: Fix Default Nav URL for dashboard includes. #47143, @wbrowne

    Breaking changes

    When user is using Github OAuth, GitHub login is showed as both Grafana login and name. Now the GitHub name is showed as Grafana name, and GitHub login is showed as Grafana Login. Issue #45438

    The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue #45132

    Source code(tar.gz)
    Source code(zip)
  • v8.4.6(Apr 12, 2022)

  • v8.4.5(Mar 31, 2022)

    Download page What's new highlights

    Features and enhancements

    • Instrumentation: Make backend plugin metrics endpoints available with optional authentication. #46467, @marefr
    • Table panel: Show datalinks for cell display modes JSON View and Gauge derivates. #46020, @mdvictor

    Bug fixes

    • Azure Monitor: Small bug fixes for Resource Picker. #46665, @sarahzinger
    • Logger: Use specified format for file logger. #46970, @sakjur
    • Logs: Handle missing fields in dataframes better. #46963, @gabor
    • ManageDashboards: Fix error when deleting all dashboards from folder view. #46877, @joshhunt
    Source code(tar.gz)
    Source code(zip)
  • v8.4.4(Mar 17, 2022)

    Download page What's new highlights

    Features and enhancements

    • Loki: Add unpack to autocomplete suggestions (#44623). #46573, @glintik
    • Plugins: allow using both Function and Class components for app plugins. #46148, @leventebalogh
    • TimeSeries: Add migration for Graph panel's transform series override. #46577, @dprokop
    • TimeSeries: Preserve null/undefined values when performing negative y transform. #46584, @dprokop

    Bug fixes

    • CloudWatch: Use default http client from aws-sdk-go. #46370, @sunker
    • Dashboards: Fixes repeating by row and no refresh. #46565, @torkelo
    • Gauge: Fixes blank viz when data link exists and orientation was horizontal. #46335, @torkelo
    • Search: sort results correctly when using postgres. #46466, @xlson
    • TagsInput: fix tags remove button accessibility issues. #46254, @Elfo404
    • TextPanel: Sanitize after markdown has been rendered to html. #46166, @ashharrison90
    Source code(tar.gz)
    Source code(zip)
  • v8.4.3(Mar 2, 2022)

    Download page What's new highlights

    Features and enhancements

    • Alerting: Grafana uses > instead of >= when checking the For duration. #46010
    • Alerting: Use expanded labels in dashboard annotations. #45726, @grobinson-grafana
    • Logs: Escape windows newline into single newline. #45771, @perosb

    Bug fixes

    • Alerting: Fix use of > instead of >= when checking the For duration. #46011, @grobinson-grafana
    • Azure Monitor: Fixes broken log queries that use workspace. #45820, @sunker
    • CloudWatch: Remove error message when using multi-valued template vars in region field. #45886, @sunker
    • Middleware: Fix IPv6 host parsing in CSRF check. #45911, @ying-jeanne

    Plugin development fixes & changes

    Source code(tar.gz)
    Source code(zip)
  • v8.3.7(Mar 1, 2022)

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
An example logging system using Prometheus, Loki, and Grafana.

Logging Example Structure Collector Export numerical data for Prometheus and log data for Promtail. Exporter uses port 8080 Log files are saved to ./c

YoungHwan Joo 3 May 11, 2022
Go starter project with Gin, Viper, postgres , redis, zap, prometheus metrics etc setup

Go REST Service Starter/Boilerplate Easily extendible REST API Service boilerplate aiming to follow idiomatic go and best practice. Any feedback and p

Kshitij Singh 1 Jun 23, 2022
SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool

Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc. Documentatio

SigNoz 4.7k Sep 24, 2021
Like Prometheus, but for logs.

Loki: like Prometheus, but for logs. Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It

Grafana Labs 16.7k Aug 17, 2022
gosivy - Real-time visualization tool for Go process metrics

Gosivy tracks Go process's metrics and plot their evolution over time right into your terminal, no matter where it's running on. It helps you understand how your application consumes the resources.

Ryo Nakao 445 Aug 3, 2022
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.2k Aug 12, 2022
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 Jul 25, 2022
Pragmatic and minimalistic module for collecting and sending traces from Go code 💪🏽

tracing-go Pragmatic and minimalistic module for collecting and exporting trace data from the Go code. prometheus/client_golang but for Traces NOTE: T

Bartlomiej Plotka 9 May 20, 2022
pprof is a tool for visualization and analysis of profiling data

Introduction pprof is a tool for visualization and analysis of profiling data. pprof reads a collection of profiling samples in profile.proto format a

Google 5.7k Aug 10, 2022
Write log entries, get X-Ray traces.

logtoxray Write to logs, get X-Ray traces. No distributed tracing instrumenation library required. ?? ?? ?? THIS PROJECT IS A WORK-IN-PROGRESS PROTOTY

JBD 27 Apr 24, 2022
Tracetest - Trace-based testing. End-to-end tests powered by your OpenTelemetry Traces.

End-to-end tests powered by OpenTelemetry. For QA, Dev, & Ops. Live Demo | Documentation | Twitter | Discord | Blog Click on the image or this link to

kubeshop 183 Aug 18, 2022
Structured, composable logging for Go

log15 Package log15 provides an opinionated, simple toolkit for best-practice logging in Go (golang) that is both human and machine readable. It is mo

Alan Shreve 1.1k Aug 16, 2022
Goimportcycle - a tool to visualize Go imports resolved to the file level

Go Import Cycle goimportcycle is a tool to visualize Go imports resolved to the

Sam L 28 Apr 24, 2022
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 119 Aug 12, 2022
mtail - extract internal monitoring data from application logs for collection into a timeseries database

mtail - extract internal monitoring data from application logs for collection into a timeseries database mtail is a tool for extracting metrics from a

Google 3.3k Aug 9, 2022
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 466 Aug 10, 2022
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 Aug 15, 2022
Search and analysis tooling for structured logs

Zed The Zed system provides an open-source, cloud-native, and searchable data lake for semi-structured and structured data. Zed lakes utilize a supers

Brim 837 Aug 11, 2022
A customized GORM logger that implements the appropriate interface and uses Logrus to output logs

CryptoMath GORM Logger A customized GORM logger that implements the appropriate interface and uses Logrus to output logs. Install go get github.com/ma

Crypto Math 0 Nov 6, 2021