We use Icinga at work (and so do a lot of companies). Setting it up
locally is not easy, but is nice to test integration with other things
like Kubernetes events and storage monitoring.
Related:
GitHub - Icinga/icinga2: The core of our monitoring platform with a powerful configuration language and REST API. https://github.com/Icinga/icinga2