Back to blog
Extending Grafana with Workflows
Gil Zellner
August 4, 2024

We all have that one service that, for some Phantom-de-la-machina reason, gets stuck and requires some manual action, like maybe a reboot or a REST call.

Why not automate it? You can do it with Keep's Python provider or the bash provider.

About the writer

Gil runs infrastructure at HourOne.ai, a Generative AI video startup.

Being the single infrastructure guy at a company, Gil has to be very prudent with his tool selection and overall time spent.

Here is a nice example of their work:

At HourOne we love our Grafana Cloud for graphs and alerts. We connected all our sources, and have tons of graphs, logs, traces, etc, but we were unhappy with the alert management flow, and how it actually reaches our users.

Grafana’s Alert manager leaves much to be desired, and we were not getting the results we wanted with it.

Their alert filtering system, and flow are complex to manage, and this resulted in us simply using it less.

Furthermore, we also want to be able to do some auto-remediation attempts before we actually bother people during their night sleep.

Unfortunately, Grafana does not offer that. Fortunately, Keep does.

I heard of Keep via a friend who saw them at Hackernews (https://news.ycombinator.com/item?id=37381268) and recommended we try to build something together.

Here are a few examples of cool things we can do

We all have that one service that, for some Phantom-de-la-machina reason, gets stuck and requires some manual action, like maybe a reboot, or a REST call.

Why not automate it? You can do it with Keep's Python provider or the bash provider. Also, Keep supports providers that Grafana does not, like Auth0, which we use. This allows us to automate around issues users may have with authentication, which we previously could not.

Another thing that Keep allows us to do is cross-reference multiple sources very easily.

It's not that Grafana can’t do that, but Keep makes it way more convenient. So, for example, you may get an alert from your scaling system, but you want to cross-reference it from data coming in from another system before you actually raise an alert.

This is made easier with Keep's workflows, which can allow you to run multiple successive steps.

Discover more post