Grafana 9.3 release: Enhanced navigation, Grafana localization, Grafana Alerting updates, and more!
Welcome to Grafana 9.3!
In our continued efforts to make Grafana more accessible and easier to use, we are excited to showcase new updates to improve navigation, introduce localization, and much more.
Read our What’s New documentation to learn all about the latest release and for more details, refer to the changelog.
New Grafana navigation
Available in beta in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
As Grafana has grown from a visualization tool to an observability solution, we’ve added many new tools along the way. This has resulted in pages that are visually inconsistent or hard to find.
With the Grafana 9.3 release, the navigation update gives Grafana a new look and feel and makes page layouts and navigation patterns more consistent. We’ve also revamped the navigation menu and grouped related tools together, making it easier to find what you need.
A few highlights: Pages in Grafana now leverage new layouts that include breadcrumbs and a sidebar, allowing you to quickly jump between pages. We’ve also introduced a header that appears on all pages in Grafana, making the dashboard search function accessible from any page.
To try out Grafana’s new navigation, enable the topnav
feature toggle. If you are a Grafana Cloud Pro or Advanced customer, open a ticket with our support team and we will enable it for you.
Note: The Grafana documentation has not yet been updated to reflect changes to the navigation.
View Grafana dashboards in Spanish, French, German, and Chinese
Generally available in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
Willkommen, bienvenue, welcome to the new Grafana localization functionality.
With the Grafana 9.3 release, we have taken the first steps in localizing key workflows in four languages: Spanish, French, German and simplified Chinese. You can now set Grafana’s language for the navigation, viewing dashboards, and a handful of other settings. This will cover the main activities a Viewer would perform within Grafana.
With millions of users across the globe, Grafana has a global footprint. In order to make it accessible to a wider audience, we are excited to introduce localization in Grafana. Read more about how to configure the default language for you organization and how to how to update your profile in our documentation.
Updated Grafana panels
Geomap panel
Generally available in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
We have added a new alpha layer type in Geomap called photo layer. This layer enables you to render a photo at each data point. To learn more about the photo layer, see the geomap panel documentation.
Canvas panel
Available in beta in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
Canvas is a new panel that was introduced in Grafana 9.2. It combines the power of Grafana with the flexibility of custom elements. Canvas visualizations are extensible form-built panels that allow you to explicitly place elements within static and dynamic layouts. This empowers you to design custom visualizations and overlay data in ways that aren’t possible with standard Grafana panels, all within Grafana’s UI. If you’ve used popular UI and web design tools, then designing Canvas panels will feel very familiar.
In the Grafana 9.3 release, we have added icon value mapping support to the Canvas panel. This enables you to dynamically set which icon to display based on your data. To learn more, check out the Canvas panel documentation.
Public dashboards improvements
Manage public dashboards in one place
Available as experimental in Grafana OSS, Grafana Cloud Advanced, and Grafana Enterprise
You can use Public Dashboards to make a given dashboard available to anyone on the internet with no need to sign in. In the Grafana 9.3 release, we have introduced a new screen where you can now manage all of your public dashboards in one place. From here, you can view a list of all the public dashboards in your Grafana instance, navigate to the underlying dashboard, see if it is enabled, link out to the public version of the dashboard, or update the public dashboard’s configuration.
You can see a public dashboard’s configuration if you have “view” access to the dashboard itself, and you can edit its configuration if you have the Admin or Server Admin role, or the “Public Dashboard writer” role if you are using RBAC in Grafana Enterprise or Grafana Cloud Advanced.
To check out this new screen and configure your public dashboards, navigate to Dashboards > Public dashboards.
Display annotations in public dashboards
Available as experimental in Grafana OSS, Grafana Cloud Advanced, and Grafana Enterprise
Annotations are now supported in public dashboards, with the exception of query annotations. They are turned off by default, but can be turned on in your public dashboard settings.
Note that since Public Dashboards is an experimental feature, you need to enable it in Grafana using the publicDashboards
feature toggle, or open a support ticket requesting public dashboards if you are a Grafana Cloud Advanced customer.
Learn more about Public Dashboards documentation.
New transformation: Partition by values
Available as experimental in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
This new transformation can help eliminate the need for multiple queries to the same data source with different WHERE clauses when graphing multiple series.
Consider a metrics SQL table with the following data:
Time | Region | Value |
---|---|---|
2022-10-20 12:00:00 | US | 1520 |
2022-10-20 12:00:00 | EU | 2936 |
2022-10-20 01:00:00 | US | 1327 |
2022-10-20 01:00:00 | EU | 912 |
Prior to v9.3, if you wanted to plot a red trendline for U.S. and a blue one for EU in the same Time series panel, you would likely have to split this into two queries:
SELECT Time, Value FROM metrics WHERE Time > ‘2022-10-20’ AND Region=’US’
SELECT Time, Value FROM metrics WHERE Time > ‘2022-10-20’ AND Region=’EU’
This approach also requires you to know ahead of time which regions exist in the metrics table.
With the partition by values transformer, you can issue a single query and split the results by unique (enum) values from one or more columns (fields) of your choosing. In this case, Region.
SELECT Time, Region, Value FROM metrics WHERE Time > ‘2022-10-20’
Time | Region | Value |
---|---|---|
2022-10-20 12:00:00 | US | 1520 |
2022-10-20 01:00:00 | US | 1327 |
Time | Region | Value |
---|---|---|
2022-10-20 12:00:00 | EU | 2936 |
2022-10-20 01:00:00 | EU | 912 |
Reporting upgrade: Zoom in and out on your data
Generally available in Grafana Enterprise, Grafana Cloud Pro, and Grafana Cloud Advanced
Because dashboards appear on a screen and reports are PDFs, it can be challenging to render data just the way you want for stakeholders. Sometimes the report doesn’t show enough columns in a table, or the titles appear too small. In the Grafana 9.3 release, you have the ability to adjust the scale of your report — you can zoom into a dashboard to make each text field and panel larger or zoom out to show more data.
The zoom feature is located in the Format Report section of your reporting configuration. To learn more about reporting, refer to Create and manage reports.
Grafana Alerting updates
All of the following new alerting features are generally available in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
Email templating: The email template framework utilizes MJML to define and compile the final email HTML output. Sprig functions in the email templates provide more customizable template functions.
Support for Webex Teams: You can now use Cisco Webex Teams as a contact point to send alerts to a Webex Teams channel.
Edit alert rules using the provisioning API: You can edit API-provisioned alert rules from the Grafana UI. To make a provisioned alert editable, add the x-disable-provenance header to the following requests when creating or editing your alert rules in the API:
POST /api/v1/provisioning/alert-rules
PUT /api/v1/provisioning/alert-rules/{UID}
Support values in notification templates: You can add alert values to notification templates so that you can create a single template that prints the annotations, labels, and values for your alerts in a format of your choice.
View notification errors: When an alert fails to fire, you can see when something is wrong with your contact point(s) and the reason for the error. The Receivers API contains information on the error, including a time stamp, duration of the attempt, and the error. You can also view the errors for each contact point in the UI.
Updated expressions pipeline: We’ve redesigned the expressions pipeline editor to combine the expressions editor and the preview into a single view.
Authentication and authorization features
OAuth: token handling improvements
Generally available in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
As part of our efforts to improve the security of Grafana, we are introducing a long-awaited feature which enhances Grafana’s OAuth 2.0 compatibility. When a user logs in using an OAuth provider, Grafana verifies on each request that the user’s access token has not expired. When an access token expires, Grafana uses the refresh token provided (if any exists) to obtain a new access token.
This feature introduces a breaking change, thus it is behind the accessTokenExpirationCheck
feature toggle, and it is disabled by default. Enabling this functionality without configuring refresh tokens for the specific OAuth provider will sign users out after their access token has expired, and they would need to sign in again every time.
Complete documentation on how to configure obtaining a refresh token can be found on the authentication configuration page, in the instructions for your Oauth identity provider.
Resolve user conflicts in Grafana’s CLI
Generally available in Grafana OSS and Grafana Enterprise
In older versions of Grafana, usernames were case sensitive. This created conflicts, where a user might sign in using two different methods (like SAML and oauth) and have two accounts created, like elastigirl@incredibles.com and ElastiGirl@incredibles.com. Users in this situation might think they have lost their preferences and permissions. If this has occurred in your Grafana instance, you can use a new Grafana CLI command to resolve user identity conflicts between users within Grafana.
# lists all the conflicting users
$ grafana-cli user-manager conflicts list
# creates a conflict patch file to edit
$ grafana-cli user-manager conflicts generate-file
# reads edited conflict patch file for validation
$ grafana-cli user-manager conflicts validate-file <filepath>
# ingests the conflict users file. Can be executed once per file and will change the state of the database.
$ grafana-cli user-manager conflicts ingest-file <filepath>
Note: If you use Grafana Cloud or you run Grafana with MySQL as your database, you will not experience any user identity conflicts and you do not need to use this tool.
LDAP: Role mapping improvements
Generally available in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
If you use an LDAP directory to authenticate to Grafana but prefer to assign organizations and roles in the Grafana UI or via API, you can now skip user organization role synchronization with your LDAP directory.
Use the skip_org_role_sync LDAP authentication configuration option when configuring LDAP authentication to prevent the synchronization between your LDAP groups and organization roles and make user roles editable manually.
Azure AD OAuth2: New option to always fetch groups from the Graph API
Generally available in Grafana OSS, Grafana Cloud (Free, Pro, Advanced), and Grafana Enterprise
If you use Azure AD OAuth2 authentication and use SecurityEnabled groups that you don’t want Azure to embed in the authentication token, you can configure Grafana to use Microsoft’s Graph API instead.
Use the force_use_graph_api configuration option when configuring Azure AD authentication to force Grafana to fetch groups using Graph API.
RBAC: List token’s permissions
Generally available in Grafana Enterprise and Grafana Cloud Advanced
We added a new endpoint to help users diagnose permissions-related issues with user and token authorization. This endpoint allows users to get the full list of RBAC permissions associated with their token.
For more details, see the related service accounts documentation.
RBAC with Terraform: Extended support for provisioning permissions
Generally available in Grafana Enterprise and Grafana Cloud Advanced
All Grafana users can now use the latest release of Terraform’s Grafana provider (version 1.31.1+) to provision user and team access to service accounts. This allows full management of service accounts through Terraform, from creating a service account and allowing users to access it to assigning roles to the service account and generating service account tokens.
Grafana Enterprise and Grafana Cloud Pro and Advanced users can now provision access to data sources for Grafana’s Viewer, Editor and Admin basic roles, as well as assign Edit permission.
We have also added documentation on provisioning RBAC roles and role assignments to guide our Grafana Enterprise and Grafana Cloud Pro and Advanced users through this process.
Finally, we have fixed several access control-related bugs to ensure a smoother provisioning experience.
Learn more about Grafana 9.3
For a complete list of new features, check out the changelog or the What’s New in Grafana 9.3 documentation.
You can also join us on our Grafana Labs community forums to discuss any of the new features, workflows, or how to incorporate these changes into your dashboards, queries, and visualizations.
Plus check out our “Getting started with Grafana” webinar on demand for free!
Upgrade to Grafana 9.3
Download Grafana 9.3 today or try Grafana 9.3 on Grafana Cloud, which has a generous free forever tier and plans for every use case. Sign up for free today!
Refer to our Upgrade Grafana documentation for more information about upgrading your Grafana installation.
Thanks!
A big thanks to all the Grafana users who contributed by submitting PRs, bug reports, and feedback!