Hacker News new | past | comments | ask | show | jobs | submit login
Grafana 8.0 (github.com/grafana)
415 points by botayhard on June 8, 2021 | hide | past | favorite | 51 comments



Over the years I've evaluated multiple other solutions like Grafana but none of them came even near the feature set and simplicity of Grafana.

Awesome work, huge thanks to all contributors.


In the years before Grafana the situation was not much better either. Graphite's render endpoint was decent and functional, but Grafana was the first that would let you easily make nice looking graphs and dashboard. I remember there was Giraffe[0] which came close and some other alternatives[1], most of them are dead now. I'm really looking forward to using the Library panels, a feature I always found lacking.

I always found it a nice gesture by Raintank that they took in the Graphite project and are maintaining it to this day.

[0] https://github.com/kenhub/giraffe [1] https://graphite.readthedocs.io/en/latest/tools.html#visuali...


Also Gdash[1] and many others

I agree with your sentiment though.

[1] https://github.com/ripienaar/gdash


A better list of new features in 8.0:

https://grafana.com/docs/grafana/latest/whatsnew/whats-new-i...

I like grafana.

It's the de facto realtime graph consolidation platform where I work; if the thing you want to use for monitoring doesn't interact with grafana, you shouldn't bother trying to deploy it because the rest of the org will be blind to it.


This is the first release under AGPL - feels like a major licensing change should be called out in the changelog.



I'm aware of that article - thought not everyone will be - that's not the changelog.


Changelog is for developers. Terms and Conditions is for lawyers.


Developers often are the ones who need to inform the lawyers of a change in license in the scenario that minimizes wasted effort.


The license change prevents me from using it at work. Here's to being stuck on 7.x!


They offer commercial options.


Link discussing new features in more detail: https://grafana.com/docs/grafana/latest/whatsnew/whats-new-i...



Does the new alerting engine support template variables in queries [1]? Many complained about this.

[1] https://github.com/grafana/grafana/issues/6557


It does not support template variables because alerts have been moved out of Dashboards so that would not really fit.

However, it does now support queries like `host=*` with multiple alerts instances per host from one rule/query. E.g. https://github.com/grafana/grafana/issues/7832#issuecomment-...


As Kyle says, we are sidestepping the template variables problem by decoupling alerts from dashboards. You can instead link from an alert to a dashboard or panel (or run book) and get a similar experience to the old alerting.

When you get a notification, you have a link to the appropriate dashboard and it is also easy to create an alert from a query in a dashboard. You can see the linked alert rule in the panel edit mode.


I just wanted to extend my thanks for this new feature, it will be really, really appreciated. We have Grafana monitoring everything from your usual cloud stuff, down to the temperatures of cryogenic fridges. Being able to configure alerts more dynamically and clearly is going to make my job a lot easier.

Can't wait to fire this up and start re-doing all my alerts.


Hmmm. Grafana Live looks interesting. Does this mean Grafana now hosts and serves timeseries data [1], like InfluxDB? Or is this only temporal, only for events, alerts, etc?

[1] https://grafana.com/tutorials/stream-metrics-from-telegraf-t...


see also https://github.com/grafana/grafana/issues/28097

right now it is streamed to the UI (not persisted), though we have hooks in place to allow persisting the live data into Grafana cloud offerings.

a few days ago our PR for websocket output in telegraf was merged, and available in v1.19.0-rc0 :)

https://github.com/influxdata/telegraf/pull/9188

https://github.com/influxdata/telegraf/releases/tag/v1.19.0-...


From what I understood, the data is not persisted anywhere, but just pushed to currently open dashboards. I could be wrong though..

https://grafana.com/docs/grafana/latest/live/


Thanks. Yes, that does seem to be the case. I found this old design doc [1] and discussion. Nifty feature for IoT to have more responsive alerts.

[1] https://github.com/grafana/grafana/issues/4355#issuecomment-...


in case people want to see Torkel talking Grafana 8 - check it out. go here and hit play, he's on now. https://grafana.com/about/events/grafanacon/2021/


I somewhat regret upgrading my system, which is pulling data out of InfluxDB 2.

— categories now have "_value" in their names, I can't find how to fix this without adding hundreds of overrides.

— two-axis line charts have merged into a single axis and I can't find how to revert this. One series shows the CO₂ level and the other one shows the particulates. They have very different ranges. The PM line is now unreadable. I guess I'll have to split them into two separate charts.

— the time series chart seems to be a rewrite of what was already working fine — but now I can't easily reorder the Total, Min, Max, and other columns without removing and re-adding them; and they don't seem to be sortable (you could sort the legend in the old line chart and it remembered your preferences across page reloads)

— the legend rows can't be clicked with my vim-like navigation plugin (vimium) anymore. If anyone from Grafana is reading this, it's very easy to fix and should help with accessibility:

https://developer.mozilla.org/en-US/docs/Web/Accessibility/A...

On the other hand, the "Connect null values" feature is a lifesaver. My data sources are very unreliable (and I can't fix them because they are provided by a third party) and there were huge gaps there that were filled with meaningless interpolated data. (If it were +20°C outside a day ago and now it's +30°C, that doesn't mean that it was +25°C in the middle of the night when the sensor wasn't working). Now they look like proper empty gaps. Huge thank you to whoever came up with that feature!


Hey, Dominik from Grafana here. Thanks a lot for the feedback. Totally understand some of the issues you are struggling with. One in particular is something we didn't manage to make to GR8 is the legend issue you are describing. We gonna bring this feature back in 8.1.

Regarding the rest of the issues - would you mind opening those on Github with some more details so that we can help you solving those? You can open issues using this link https://github.com/grafana/grafana/issues/new/choose


Thanks for the feedback, we can fix many of this.

Not sure why _value is added, if the name of the series changed then the axis override does not have an effect and you need to assign axis again.


about the "_value" thing.. maybe using a rename-by-regex transform could help?


Will grafana displace industrial historian and HMI software? historians just store time series data and allow you to plot it and cost $30k for a license? The HMI software suites usually have worse time series plotting and trending analysis than a historian but they allow you to put buttons on the screen to control your process, and come with some type of alarm display system.


We hope so, a UI for placing buttons and hooking up graphics to metrics is in the works.


That would be great. A few months ago in our (biophysics-ish) lab, I set up Grafana and InfluxDB to display output from some of our equipment during experiments as a bit of a gimmick, since I had just figured out how to extract real-time data from the machines and had used Grafana for monitoring my own servers. But rather than remaining a gimmick, while at times we've run into cases that feel a bit outside of Grafana's intended use, it has actually become our preferred way of watching the experiments, and far more useful than the manufacturer's software. With buttons and an ability to include some basic control interfaces, Grafana could well replace our everyday need for the manufacturer's software entirely.


you should check out kst-plot from kde it is great for real time plotting and watching of machines and processes. I use it all the time to make plots and zoom in on the interesting parts. It is so fast and easy.


great. Ignition from inductive automation is good, but old players like Allen Bradley / Rockwell Factory Talk, Citect, Wonderware, need a kick in the pants to get with the times.


I really liked Grafana, and I was using it for my personal servers monitoring, using collectd and InfluxDB, but recent updates changed everything, collectd became second class citizen with InfluxDB, and I was unable to replicate my queries with the new Grafana and InfluxDB.

I do not know if it is Grafana or InfluxDB faults (I guess IDB changed their API and Grafana followed), but I got lost.

I went back to plain RRDTool with a few static HTML pages with my graphs on it.

I don't know how you could this turning point where a tool become too complicated for "personal-pro" use, but I've seen this quite a lot (docker, chef.io, grafana).

I still think grafana is a great product, but it has sailed in the "enterprise" territory.


Im using grafana+influx for my home automation setup. I wanted to use my grafana instance through my regular https endpoint on the internet, and I realized I maybe should upgrade it.

I checked the changelog, and each and very version had massive amounts of changes and I realized I will never be able to simply upgrade this monolith, its not just likely to break but almost guaranteed. I ended up not exposing my old installs and not doing anything...


I’m still using carbon/graphite/whisper. Despite being a MySQL expert I just got lost trying to write influxdb queries compared to the Grafana query editor for graphite. I really need to try and convert at some point.


I love using grafana however I abhor creating dashboards and trying to pull data, but that’s mostly because of a lack of documentation.


The relatively new Node graph visualization can't be used with any datasource, even if you select the data to fit the model of the two nodes and edges data frames, because it needs a special meta property to work.

EDIT: it seems it is no longer the case, I will test it :

https://github.com/grafana/grafana/pull/35163/files#diff-148...

Also it would be nice if an embedded panel could select its own time range.


Yes that limitation was removed and you should be able to use the node graph in dashboards with any datasource providing you can query the data in the right format. In Explore though such query will still show the data in a table if the meta property isn't present. We hope to improve that later on.


The uPlot change is amazing. The canvas based stuff seems so fast.


uPlot ended up being a perfect fit for dashboards with tons of timeseries charts. who would've thought? ;)

i'm very happy they hired me, maybe due to extreme lack of uPlot documentation :D

the previous library Grafana was using (Flot) is also canvas based and actually still quite fast [1], but the way it was integrated put a heavy load on other dependencies, like Moment which is not fast at all.

[1] https://github.com/leeoniya/uPlot#performance


Hey @leeoniya, great to hear that you've been involved in including uPlot. Can you now maybe talk a little bit about the React integration [1]?

Another question: are you considering making uPlot more accessible? Right now, at least the uPlot demo is inaccessible to screen reader users and only partially accessible to keyboard users.

[1] https://github.com/leeoniya/uPlot/issues/283


> Can you now maybe talk a little bit about the React integration?

do you have a specific question about it?

there are some third party integrations now:

https://github.com/leeoniya/uPlot#third-party-integrations

in general, my stance on the topic has not changed. wrapping a fast imperative lib in a declarative framework facade has significant performance drawbacks. the main CPU & RAM cost of rendering a Grafana dashboard full of uPlot graphs is almost always React (by far).

> Another question: are you considering making uPlot more accessible?

this is a pretty complex challenge for data vis. i don't think this will ever be built into uPlot since the required code to make it actually good would be quite large.

grafana in general will definitely need a better accessibility story, so we will have to figure something out and at minimum provide some kinds of fallback html summary tables. i imagine this will not be a trivial project. while it's easy to summarize a simple bar or pie chart with 5 series, how do you summarize 100 noisey trendlines with 2k points each? how do you summarize a histogram or temporal heatmap?

it's one thing to have a human summarize some pre-determined/static chart graphic; it's completely something else to usefully auto-summarize arbitrary datasets beyond listing series names and general stats (sum, median, mean, outliers, counts)

at the end of the day, the data you feed into uPlot is already there for you to create an accessibility story externally. if you'd like to write some code that can take arbitrary data as input and output something sensible, please open a PR/discussion in Grafana or uPlot.

https://pauljadam.com/demos/canvas.html


I don't understand the duplication of alerting with Grafana/Alertmanager. Is it not better to keep all alert configuration central in prometheus alerting rules ?


Internally (in the Grafana team), we call it unified alerting because it is a unified UI for non-Prometheus data sources together with Prometheus alerting (and Loki/Cortex/Grafana Cloud alerting) and allows you to see all your alerts together.

- For Prometheus, can view and search for alerts.

- For Loki and Cortex, can create and edit alert rules. See Alertmanager data source: https://grafana.com/docs/grafana/latest/datasources/alertman...

- For non-Prometheus data sources, uses the Grafana alerting engine but also has an embedded Alertmanager. Can use the same routing, grouping, deduping and silencing features that Alertmanager provides but for data sources like InfluxDB or MySQL.


If you use Prometheus and have everything that you want to alert on instrumented with Prometheus then of course that makes sense.

But if you want to alert on other data sources, and especially to see and manage all alerts in one place, then this is what Grafana Alerting now enables.

Example I encountered a while ago: Alert on billing throughput within a third party (not instrumented with Prometheus) billing system that has a RDBMS backend. The alert can be written in SQL and with the changes in Grafana 8 could be acted upon and routed just like the Prometheus alerts were.


I use a combination of:

- Graphite

- InfluxDB

- PostgreSQL

- Timescale

- CloudWatch

- Prometheus

The alerting in Grafana supporting all those variations is a godsend.


Prometheus's language PromQL is pretty inscrutable and the alert manager is very bare-bones. I find the entire project is pretty user-hostile wrt documentation and examples actually.


I find the new panels really useful, not sure I like the color changes to the navbar and panel backgrounds though.


Do you prefer the more darker grays in v7.x?


Yes exactly that, the new colors just feel a little washed out for me.


Are there any new development for replacing our Cacti weathermap? Would love to bury it forever.


Agree, that would be nice.

I use the weathermap as a standalone app with the following custom datasources:

https://github.com/amousset/php-weathermap-zabbix-plugin https://github.com/lodpp/network-weathermap-prometheus-datas...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: