I’m thinking about building a plugin that sends queries against elasticsearch and use a numerical output for comparing against thresholds. You can look at it as an “elastalert-very-light”. I know, there’s the elasticsearch Icinga Web 2 module that allows to send queries but translating elasticsearch queries into Icinga Web 2 filter syntax is not always easy or even possible.
I was thinking about the possibility to just place the query in an extra file that’s read by the plugin because using big JSON-blobs in arguments for plugins might be a big pain in the bottom.
I built a very, very, very simple prototype with bash, curl and jq but I’m thinking of translating it into a better fitting language like Ruby or Python.
Would you be ok with external command files or is that a thing you didn’t want to use? Especially since you can’t deploy them with Director and shouldn’t send them via Icinga 2 API.
Some older plugins like
check_logfiles use something like and the monitoring plugin development guidelines say nothing about it but just because we did in the past doesn’t mean it’s a good thing to carry on.