Habe ausschließlich Erfahrung mit Check_MK und nutze das beruflich und privat.
Kann also keine Vergleiche zu anderen Systemen anstellen.
Ich finde bei Check_MK die auto-discovery großartig, und dass der Agent einfach nur ein Shell Script ist, der via SSH abgerufen werden kann. Sprich man kommt an seine Server ran ohne Ports zu öffnen und ggf VPN zu benutzen. Etwaige Pakete die das Script braucht (smart als Beispiel) lässt sich zusammen mit dem Script easy via Ansible installieren/verteilen.
Auch das erstellen eigener Checks ist sehr einfach, solange kein Plugin auf Check_MK Seite benötigt wird. So überwache ich zum Beispiel den sync meines VDSL Modems mit einem Shell Script, was die Werte aus dem WebUI des Modems holt. Das kann auf einem beliebigen Host laufen und via Piggyback Mechanismus in den richtigen Host hinzugefügt werden.
Für Jitsi habe ich mir auch ein entsprechenden Local Check gebaut, sodass Check_MK Graphen der Nutzung zeichnet.
Ein Check Plugin kann in einer beliebigen Programmiersprache geschrieben werden. Schwerfällige Local Checks (Health Checks, APT Update) können gecached werden, sodass diese zum Beispiel nur alle 60 Minuten ausgeführt werden.
"Richtige Check Plugins" habe ich bisher nicht programmiert, die Local Checks in Verbindung mit Piggyback waren bisher immer ausreichend.
Bei der Integration in andere Systeme kann ich nichts sagen, ich nutze nur Email Alerts.
Von der Stabilität ist Check_MK rock solid. Ich nutze das jetzt so zirka vier Jahre und jedes Update ist ohne Zicken durch gelaufen, inklusive Upgrade des Debian auf dem Check_MK läuft. Ich update normalerweise so 2-3 Mal pro Jahr auf die zu dem Zeitpunkt aktuelle Version und verteile dann auch den aktuellen Agent via Ansible auf die Systeme.