Grafana v6.2
grafana.com
grafana.com
Even stuff as basic as being able to pan a plot back and forth after you've zoomed in— here's the four year old ticket for that in their issue tracker: https://github.com/grafana/grafana/issues/1387
I ended up generating Bokeh plots and had a much better time. So Grafana is great for what it's great at, but I don't recommend it for uses other than current-moment data.
Bokeh is a nice kit as far as it goes, but I hit scaling problems quite early with it - as I understood it, it was supposed to send incremental updates to the client, but in fact it resent everything every time - and therefore fell over after half an hour when the time to update exceeded the update rate. Maybe I was holding it wrong.
KST has been a total game changer for me commissioning plants and machines.
SCADA systems and HMIs are generally not set up to poll data from PLCs faster than 1 Hz.
Using a driver for the PLC communications protocol I write all of the variables of interest to a CSV file at 10 Hz.
PLC scan times are usually 10-100Hz so while I can't capture everything the PLC sees or higher frequency components to the signals than the PLC can measure, it is happy middle ground between a proper DAQ and just using the HMI software.
In addition a DAQ wouldn't be connected to all of the PLC IO but with this system I can easily grab all the PLC tags I want, as well as internal PLC tags that are not IO points.
Most HMI software has pretty brutal plotting capabilities as well (Citect process analyst being the only one that is better than passable), so on top of getting at least 10x the resolution in the data I get to use KST which is great for zooming and panning on the plots, creating sets of plots, or different plots for specific tests.
Not all HMI software even allows plot configurations to be saved, so you can spend a lot of time just re-adding the time series to the plot and setting the scales.
The plots are used for commissioning reports and records.
grafana has traditionally been used for 'real time dashboarding and analytics' in the IT/devops world. that's the original use case, and its sweet spot, as you allude to.
but, since the beginning, the mission of the open source grafana project has had nothing to do with IT per se. it was about democratizing metrics; helping teams understand their 'systems', by breaking down silos between databases and people.
over the last few years, interesting things are afoot in grafana community. we're seeing grafana used for more and more non-IT use cases. it's being deployed in the industrial and business worlds. about 10-20% of the grafana community now deal with things that have nothing to do with IT/devops.
the 'systems' are no longer limited to things like servers, switches, containers and clusters. these emerging users deal with things like temperature sensors, dollars, robots and ambulances. we are making progress in bringing grafana to these worlds, while also ideally improving it overall.
there's tangential threads in various stages of recent completeness (none of which solve your specific issue admittedly). things like sql support, general focus on ad-hoc analysis with ('explore'), the upcoming abstraction around being able to better use ui components within grafana ('grafana/ui'), improved support for tabular data, new panels, etc.
sorry about the four year old issue; i'd be lying if i said there weren't myriad things we'd like to do, that don't make the cut not due to desire but due to time and resources.
again, thanks for the feedback, please know that we're very interested in continuing to develop and improve grafana for use cases like yours!
-r
[disclosure, very biased and opinionated response. am co-founder/ceo at grafana labs. lucky enough to work with torkel and the team on making grafana better]
What kind of data were you wanting to analyse?
In any case, for me it's "the robot had a problem sometime in this 30 minute window, please dig through 3GB of logs to figure out what went wrong", and doing a bunch of pandas crunching upfront and dumping out a bunch of time series plots makes that kind of task really straightforward.
I aim to keep dashboards no larger than what can be displayed in a single window on a desktop, with perhaps some supplementary plots below, often in a collapsed row. I make heavy use of "drill-down" links, preferably from tables or single-stats (or more often the "status panel" for denser displays [1]), or in panel notes otherwise, to dive further into the data.
When designing a dashboard, I ask myself "what story is this dashboard going to tell?", and as with a good novel I try to keep from straying too far from that narrative, branching side-plots out into new dashboards as needed.
> show me everything so I can see at a glance
Yes, exactly, at a glance, not after scrolling through five pages. With careful dashboard design, you should be able to see a problem area actually "at a glance," and then drill-down to pinpoint the actual cause, faster than you'll find it scrolling through a single large dashboard.
I admit this is something of an ideal to aim for, and it can take a lot of time and effort to achieve, which may not be available. However, it will pay off in the "Oh my god something is wrong in production right now" scenario if you can take that time.
Scrolling through 100 graphs is slower than scanning 10 main graphs and 10 subgraphs per.
After endless grinding with configuration options, debugging go code (new skill) and javascript running in the browser I tried switching out to a local mariadb and it worked instantly. Lesson learned, be wary of a Galera mysql cluster. My running but unproved theory that during the login process the creation of the user token in the db and reading it back happen so quickly that the item isn't available yet so Grafana can't find it and logs the user out.
I honestly just used some basic graph-generation tools which would spit out PNGs, which is always less than satisfying. I looked at Grafana, but never had the time to actually try it out. My feeling also was that it was a bit different of a use-case as I had no real-time data, but I may be totally wrong here.
Additionaly, you can see results while JMeter is still running.
That, and retention policies. I just had a disk fill up because Loki keeps saving data.
That said, I’ve been using Loki for several months and I love it. Keep up the great work!
I'm also looking at sonic, which is a new full-text search engine in rust with less overhead than Elasticsearch. It's lacking a gui focused on log search.
Could they work together somehow, maybe as an alternative backend to you distributed grep?
Sonic does not store the original content, so it could store a reference into your compressed chunk.
Thanks!
Even a simple label match would be a good start.