Grafana 8.0
github.com
github.com
Awesome work, huge thanks to all contributors.
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...
I agree with your sentiment though.
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.
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-...
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.
Can't wait to fire this up and start re-doing all my alerts.
[1] https://grafana.com/tutorials/stream-metrics-from-telegraf-t...
[1] https://github.com/grafana/grafana/issues/4355#issuecomment-...
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-...
— 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!
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.
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
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.
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...
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.
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.
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.
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.
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.
- 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.
- Graphite
- InfluxDB
- PostgreSQL
- Timescale
- CloudWatch
- Prometheus
The alerting in Grafana supporting all those variations is a godsend.
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...