+++ title = "What's New in Grafana v4.0" description = "Feature and improvement highlights for Grafana v4.0" keywords = ["grafana", "new", "documentation", "4.0"] type = "docs" [menu.docs] name = "Version 4.0" identifier = "v4.0" parent = "whatsnew" weight = 4 +++ # What's New in Grafana v4.0 As usual this release contains a ton of minor new features, fixes and improved UX. But on top of the usual new goodies is a core new feature: Alerting! Read on below for a detailed description of what's new in v4.0. ## Alerting {{< imgbox max-width="40%" img="/img/docs/v4/drag_handles_gif.gif" caption="Alerting overview" >}} Alerting is a really revolutionary feature for Grafana. It transforms Grafana from a visualization tool into a truly mission critical monitoring tool. The alert rules are very easy to configure using your existing graph panels and threshold levels can be set simply by dragging handles to the right side of the graph. The rules will continually be evaluated by grafana-server and notifications will be sent out when the rule conditions are met. This feature has been worked on for over a year with many iterations and rewrites just to make sure the foundations are really solid. We are really proud to finally release it! Since the alerting execution is processed in the backend not all data source plugins are supported. Right now Graphite, Prometheus, InfluxDB and OpenTSDB are supported. Elasticsearch is being worked on but will be not ready for v4 release.
### Rules {{< imgbox max-width="40%" img="/img/docs/v4/alerting_conditions.png" caption="Alerting Conditions" >}} The rule config allows you to specify a name, how often the rule should be evaluated and a series of conditions that all need to be true for the alert to fire. Currently the only condition type that exists is a `Query` condition that allows you to specify a query letter, time range and an aggregation function. The letter refers to a query you already have added in the **Metrics** tab. The result from the query and the aggregation function is a single value that is then used in the threshold check. We plan to add other condition types in the future, like `Other Alert`, where you can include the state of another alert in your conditions, and `Time Of Day`. ### Notifications {{< imgbox max-width="40%" img="/img/docs/v4/slack_notification.png" caption="Alerting Slack Notification" >}} Alerting would not be very useful if there was no way to send notifications when rules trigger and change state. You can setup notifications of different types. We currently have `Slack`, `PagerDuty`, `Email` and `Webhook` with more in the pipe that will be added during beta period. The notifications can then be added to your alert rules. If you have configured an external image store in the grafana.ini config file (s3, webdav, and azure_blob options available) you can get very rich notifications with an image of the graph and the metric values all included in the notification. ### Annotations Alert state changes are recorded in a new annotation store that is built into Grafana. This store currently only supports storing annotations in Grafana's own internal database (mysql, postgres or sqlite). The Grafana annotation storage is currently only used for alert state changes but we hope to add the ability for users to add graph comments in the form of annotations directly from within Grafana in a future release. ### Alert List Panel {{< imgbox max-width="30%" img="/img/docs/v4/alert_list_panel.png" caption="Alert List Panel" >}} This new panel allows you to show alert rules or a history of alert rule state changes. You can filter based on states you are interested in. This panel is very useful for overview style dashboards. ## Ad-hoc filter variable {{< imgbox max-width="30%" img="/img/docs/v4/adhoc_filters.gif" caption="Ad-hoc filters variable" >}} This is a new and very different type of template variable. It will allow you to create new key/value filters on the fly with autocomplete for both key and values. The filter condition will be automatically applied to all queries that use that data source. This feature opens up more exploratory dashboards. In the gif animation to the right you have a dashboard for Elasticsearch log data. It uses one query variable that allow you to quickly change how the data is grouped, and an interval variable for controlling the granularity of the time buckets. What was missing was a way to dynamically apply filters to the log query. With the `Ad-Hoc Filters` variable you can dynamically add filters to any log property! ## UX Improvements We always try to bring some UX/UI refinements and polish in every release. ### TV-mode and Kiosk modeGrafana is so often used on wall mounted TVs that we figured a clean TV mode would be really nice. In TV mode the top navbar, row and panel controls will all fade to transparent.
This happens automatically after one minute of user inactivity but can also be toggled manually
with the d v
sequence shortcut. Any mouse movement or keyboard action will
restore navbar and controls.
Another feature is the kiosk mode. This can be enabled with d k
shortcut or by adding &kiosk
to the URL when you load a dashboard.
In kiosk mode the navbar is completely hidden/removed from view.