Performanceprobleme und weiss nicht genau wo ansetzen

Hallo zusammen,
wir haben die Enterpriseversion mit installiterter Versoin1.6.0p11. Wir nutzen die VirtualAppliance und haben dieser 4CPUs und 8GB RAM zugewiesen, der Storage ist ein SSD-Only.

Wir haben das ganze schon viele Jahre am laufen und es ist nach und nach gewachsen.

Aktuell überwachen wir 352 Hosts mit 5690 Services. Ich denke verglichen mit anderen eine eher kleine Umgebung. von den 352 Hosts sind ca. 100 Windowsserver vorhanden die mit Agent abgefragt werden und ca. 90 Switche die per SNMP abgefragt werden. Die restlichen Geräte sind hauptsächlich einfache Ping-Checks.

Wenn ich mir links im Menü den “Service Speed-o-Meter” und “Server Performance” einblenden lasse, sehe ich bei dem Speed-o-Meter eigentlich den Zeiger fast immer bei 100 und die “scheduled Rate” ist meisst bei über 100%.
Bei der Server Performance sind die Service checks bei größer 100/s und die Host Checks bei ca. 18/s. Die Cached Log Messages stehen bei 48678. Ich muss zugeben die Angaben sagen mir nichts und auch beim googeln habe ich nichts gefunden was mich aufschlaut.
Ebenso sehe ich bei meinen ServiceProblems einen Eintrag des Checkmk-Server mit “OMD Sitename Performance” und der Ausgabe:

CRIT - HostChecks: 16.9/s, ServiceChecks: 92.8/s, ProcessCreations: 0.0/s, LivestatusConnects: 0.4/s, LivestatusRequests: 2.3/s, LogMessages: 0.0/s, Average check latency: 0.000s, Average Check_MK latency: 0.000s, Check helper usage: 4.0%, Check_MK helper usage: 18.4%, Livestatus usage: 5.0%, Livestatus overflow rate: 0.0/s, 352 Hosts, 5690 Services, Core version: Check_MK 1.6.0p11, Livestatus version: 1.6.0p11, Notifications are disabled

Diesen Eintrag habe ich aber erst als ich gestern den checkmk “optimieren” wollte und die Checkintervalle erhöht habe (wollte damit den Server entlasten).

Könnt ihr mir hier etwas helfen mich da aufzuschlauen?

Gruss Lars

Hallo Lars,

vll habe ich es überlesen, aber was genau ist jetzt dein Performanceproblem? Merkst du aktuell etwas, z.B. viele Stale Checks oder leuchtet nur dieser eine Check? Der könnte z.B. leuchten weil die Notifications disabled sind. Von deinen Werten aus der Server Performance klingt eigentlich alles so, als müsste das mit einem 60s Intervall laufen. Wenn der Zeiger bei dem Speed-o-Meter auf 100 steht, heisst das auch, dass alles im grünen Bereich läuft.
Wie gesagt, vll. hab ich nicht genau genug gelesen.

Hallo Marcus,
erstmal danke für deine Antwort. Habe tatsächlich einige Stale-Checks (zwischen 5 und 10 immer). Wenn ich diese dann prüfen lasse laufen sie auch durch. Sind auch diese paar Stale-Checks normal?
Ich dachte wenn der Zeiger auf 100% steht wäre das eben nicht gut und es wären zuviel Checks.
Habe den Checkintervall dann hoch gesetzt auf die doppelte Zeit und hätte damit gerechnet das die Auslastung deutlich runtergeht bei dem Zeiger, was aber nicht der Fall war.
Das mit dem Check hast du recht, hatte generell die Notifications deaktivert und nachdem ich es eben wieder aktiviert habe, war der Check weg.

Ich sags auch einfach mal so deine posteten Werte sind alle voll in Ordnung.

Das sollte immer bei 100% sein wenn weniger dann schafft das System nicht alle geplanten Checks.

Das ist auch voll ok wenn die Werte 100% erreichen dann hat dein System nicht mehr genug Helper um alles abzuarbeiten.

Dann wäre jetzt meine nächste Frage, ob deine Stale Checks ggf. SNMP Checks sind. Je nach Gerät sind die gerne mal etwas “zickig”.
Sind die Stale Checks neu, oder schön länger da?
Immer die gleichen oder verschiedene?

Wenn ich über den Speed-o mit der Maus gehe erhalte ich folgende Meldung: “scheduled service check rate: 69.6/s, current rate: 86.6/s, that is 125% of scheduled rate”.
Das interpretierte ich eben als Fehler das er nicht alles schafft.
Aber wenn ihr sagt ich muss mir erst Gedanken machen wenn der Zeiger unter 100% ist - dann ist ja alles super und ich habe es nur falschrum gesehen.

Danke für die Aufklärung.

Die Stale Checks sind eigentlich immer nur Windows-Agent-Checks. Oft kommen da “Web Service Default Web Site” und “DotNet Memory Management Global”.

Die Meldungen verschwinden in der Regel immer wieder schnell von allein, kommen aber immer wieder.

Aber gefühlt hatte ich die früher nicht.

@HolChecker Vielleicht zur Einordnung bzw. zum Verständnis: Du hast 352 Hosts und 5690 Services. Die müssen innerhalb von einer Minute gecheckt werden. Daher muss man in etwa folgende Checkraten erwarten:

352 Hosts / 60 Sekunden ≈ 6 Hostchecks/s
5690 Services / 60 Sekunden ≈ 95 Servicechecks/s

Wenn Du also z.B. nur 50 Servicechecks/s hättest, dann würde das bedeuten, dass checkmk nur etwa die Hälfte Deiner Services innerhalb einer Minute ausführen kann. Du darfst aber nicht unbedingt nur die 95/s sehen. Es könnte ja auch passieren, dass Dein checkmk-Server alle 5690 Checks in nur 20 Sekunden schafft (285/s) und dann in den restlichen 40 Sekunden nur noch so vereinzelte Checks erledigt, meinetwegen nur noch so 2/s. Im Schnitt mussen es eben 95/s sein.

Zum Service Speed-o-Meter: Mir hat mal ein Teacher in einer Schulung erzählt, das sei so eine “witzige” Idee gewesen, dieses Ding einzubauen, aber eigentlich hätte es nicht so den richtigen Nährwert. Es sieht hübsch aus, aber zumindest die Skala ist irreführend. Man muss es wie folgt lesen: Checkmk rechnet die erwartete Checkrate aus (5690 Services / 60 Sekunden ≈ 95/s; scheduled service check rate) und vergleicht diese 95 mit der tatsächlichen Checkrate (current rate). Wenn dein Server in einem Moment beispielsweise gerade 150 Checks/s schafft, dann zeigt das Instrument 100*(150/95) ≈ 157 % an. Wenn er gerade nur 48 Checks schafft, wird 100*(48/95) ≈ 50 % angezeigt.

Das heißt: Alles was unter 100 % liegt, ist tendenziell schlecht und 100 % und größer sind gut. Je mehr, desto besser. Die Nadel muss also mindestens einmal pro Minute auf 100 % oder höher stehen. Besser wäre, wenn die 100 %-Marke in der Mitte oder im ersten Drittel wäre und die Skala links davon rot und rechts davon grün wäre. Abgesehen davon passt das Instrument nicht in den Checkmk-Skin. Weder in den neuen noch in den alten. Es ist aber trotzdem nett anzuschauen.

… oder ist früher fertig. :wink: Das beobachte ich auf einer meiner Testsites mit wenigen Services. Die Nadel geht für ein paar Sekunden auf 100 % und höher und dümpelt die restlichen 45 Sekunden bei 10-20% rum. Einfach, weil checkmk schon fertig ist.

1 Like

Hallo Dirk,
vielen Dank für deine Erklärung, jetzt habe ich es verstanden.
Damit ist mein Problem hiermit gelöst, vielen Dank euch allen für die Unterstützung.

Lars

Da muss ich einwenden - das wäre falsch :slight_smile:
CMK weiß selbst genau wie viele Checks es gerade ausführt und dies wird mit den 100% angezeigt. Falls der Wert niedriger ist dann ist etwas “kaputt” im System. Diese 100% beziehen sich nicht darauf was statistisch ausgeführt werden sollte sondern darauf was der Scheduler intern denk das sein müsste. Über 100% kann sein aber sollte eigentlich auch recht selten vorkommen.

:thinking: So die Theorie. Jedoch: Ich habe eben eine neue Site angelegt, die nur localhost mit 36 Services überwacht. 36 Services in 60 Sekunden macht 0,6/s (scheduled). Im Minutentakt springt der Zeiger auf Anschlag:

Nach 20 Sekunden fällt er langsam bis runter auf 13 % (im Bild 19 %):

Pünktlich zur Minute springt er dann wieder auf jenseits der 100 % und bleibt da wieder 20 Sekunden.
Ich finde das Verhalten eigentlich recht einleuchtend. checkmk baut ja nicht künstlichen Sekundenschlaf in die Checks ein, nur um die Rate während der ganzen Minute konstant bei 0,6/s zu halten.

1 Like

Das is ja logisch. Man sollte hier schon von sinnvollen Beispielen ausgehen.
Halt paar hundert Server. Selbst in ner kleinen Site mit ca 20 Hosts bleibt das meist bei 80-100%. Es kann sich hier anders verhalten wenn eine RAW Version benutzt wird da hier das Scheduling vom Core nicht so optimal ist.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.