Architecture at icinga (a little bit of criticism ...)

Hey there!
Like Carsten said, passive checks sound like what you described.
I just wanted to share the link to the documentation here too, so you can read up on it:

https://icinga.com/docs/icinga2/latest/doc/08-advanced-topics/#external-passive-check-results

Or did you have something different in mind?

Greetings
Feu

@monigacom if you’re referring to push based when it comes to check results - you can configure the way the communication is going. There’s two parts where a direction comes into place: Scheduling and start of a connection.

  • You can use the host option in Endpoint objects to define which Icinga node will start the connection. It can either be “top down” (master starting to talk with satellite) or “bottom up” (satellite starting to talk with master). Same goes for agents
  • Schedulers are run on satellites. So they actively tell agents when to run checks and collect the outcome. Satellites themselves push results to the masters
  • Masters only actively trigger checks and collect data when there are no satellites between masters and agents.
  • There is even a way you can run a scheduler on agents but this is discouraged. Especially because it’s most of the time useless and more complicated to configure.
2 Likes

Thank you @theFeu and @twidhalm

Yes, I was talking about a scheduler on Icinga2 agent and/or “ncpa/nrpe” daemon which will run the tests locally and send the result to Satellite/Master. If there are no results sent by the agent, the test will report that.

Thanks

If you’re looking for an alternative to NRPE, just more secure, flexibel, powerful and overall more sophisticated, just go for the Icinga agent, that’s for you.

In most cases you’re fine with having a satellite close to your agents. All satellites run their own scheduler and even if they get disconnected from the master they will keep polling those agents. Most of the time you don’t want a scheduler on every agent. It’s cumbersome to configure and produces definitely more load on your agents than just a regular agent.

Either way, if your masters stop receiving messages from satellites and agents you will see it in Icinga Web 2. If you configure your checks (icinga and cluster-zone) correctly you can even get notified.

Most cases where you want a local scheduler have to do with losing connection to whole network/subnet. This is where a satellite comes in handy. The only case where you might want a scheduler on an agent is when you want to run checks even when the host is completely disconnected from all network connections.

Some Follow-Up Blogposts:

1 Like