Agent liefert keine vollständige Daten für bestimmte Services/Plugins mehr, was passiert mit Services? (OK -> Stale -> ?)

Hallo,

ich habe eine Frage an CheckMK Spezialisten.

Ein Agent liefert RAW Daten an CMK Server.
CMK Server bearbeitet diese Daten und die Services erhalten ihren aktuellen Status.

Was passiert, wenn der Agent aus irgendwelchen Gründen nicht alle Daten liefern wird?
Z.b. ein Dateisystem wird ungemountet oder eine Datenbank (ca. 20-30 Services) wird heruntergefahren. Es fehlen also RAW Daten für dieses Mount und für die DB Services.

Nach Beobachtung bleibt bei allen Services “letzter” Status erhalten und nach kurzer Zeit werden diese Services als “Stale” Services im GUI markiert.

Dabei kommt keine Notification darüber, dass die Services nicht mehr geprüft werden.

Und genau das ist schwierig zu verstehen, dass ein Monitoring System keine Meldung rausgibt,
wenn z.B. eine Datenbank abgestürzt wird oder ein Dateisystem aus der Überwachung verschwindet.

Gibt es vielleicht spezielle Rules oder irgendein globaler Schalter, was alle “Stale” Services auf z.B. “UNKNOWN” ändert?

Ganz anders ist es bei Lokalen-Checks. Hier kriegt ein Service direkt ein “UNKNOWN” Status, wenn keine RAW Daten geliefert werden, ohne dass es zuerst “Stale” wird.

Vielen Dank für eine Antwort!

Wenn die gesamte Agentendatensektion fehlt und nicht nur einzelne Einträge wie bei den Local Checks, dann wird das dazu passende Check-Plugin gar nicht aufgerufen und kann deshalb auch den Zustand der Services nicht ändern. Sie veralten.
In der Situation zeigt aber der Check_MK-Service an, dass eine Sektion der Agentendaten fehlt und geht in den Zustand WARN.

1 Like

Als Ergänzung zu @r.sander , es kommt auch drauf an wie ein Check selber mit fehlenden Daten umgeht.
Filesystem welches nicht mehr vorhanden ist wird nicht stale sondern unknown und erzeugt damit auf jeden Fall selbst eine Notification.
Bei einer Datenbank gibt es im Normalfall einen führenden Check welcher selbst den Status der Datenbank wiedergibt dieser wird beim Stop auf jeden Fall nicht stale sondern im Normalfall Crit.

Stale ist kein Status sondern nur eine Anzeige in der WebGUI. Dem Core ist das “egal”. Früher hat man beim klassischen Nagios auf “freshness” von passiven Check Results geprüft und falls die “freshness” nicht mehr gegeben war ein Command ausführen können.

Ich muss ehrlich sagen, hab das in den ganzen Jahren noch nicht erlebt das eine wie von dir geschilderte Situation aufgetreten ist. Minimum ist das von Robert geschilderte Verhalten mit fehlender Agent Sektion.
Um dieses fehlende Agent Sektion Verhalten zu verhindern geben der Oracle und auch der MSSQL Check immer Dummy Sektionen am Anfang aus. Damit wird das Plugin immer aktiviert und gibt dann den Fehler über fehlende Daten zurück.

Es stimmt, aber in meinem Fall ist die Agentendatensektion vorhanden. Es sind Daten von anderen laufenden Datenbanken vorhanden, aber es fehlen Daten von heruntergefahrener Datenbank. Nur CheckMK meldet das leider nicht… Das ist das Problem.
Ich muss ständig prüfen, ob die Services Stale sind oder nicht und zwar nur über GUI, um sicher zu sein, dass alles noch überwacht wird.

Ich habe gerade es mit Dateisystem nachgestellt. Der Service geht sofort auf UNKNOWN, was sehr gut ist. Aber bei Datenbanken… Speziell Oracle und MsSQL sieht es so aus:

MSSQL:

  1. Services sind im CheckMK definiert
  2. Ein Detach von einer DB wird auf SQL Server ausgeführt
  3. Keine Meldung wird generiert, dass die Datenbank nicht mehr in der Überwachung ist…

Oracle, Test1:

  1. Services sind im CheckMK definiert (ca. 20)
  2. Eine Datenbank wird heruntergefahren
  3. Nur ein Service geht auf CRIT

Oracle, Test2 - z.B. Tablespace Überwachung:

  1. Services sind im CheckMK definiert (ca. 20)
  2. Ein Tabelespace wird gelöscht
  3. Keine Meldung wird generiert, dass ein Tablespace nicht mehr gibt, also nicht in der Überwachung ist…