HTTP(s)-Schwellenwert für Timeout ändern

Moin zusammen,

ich scheitere wieder mal an der CheckMK-Logik :
Wir überwachen diverse Hosts darauf, ob http(s) erreichbar ist. Immer wieder nervt das Monitoring mit Mails, weil der Schwellenwert offenbar bei 10 Sekunden liegt und wir entsprechend bereits bei kürzeren Netzaussetzern diese Meldung(en) erhalten:

Could not connect to https://server.irgendwas.de/ within specified timeout: 10 seconds

Wie allgemein in CheckMK finde ich es persönlich ziemlich irritierend, dass man offenbar an vielen Stellen keine Default-Werte ändern kann - oder ich bin zu vernagelt und stehe wie der Ochs vorm Berg und finde es nicht.

Ich habe in => Service check command eine Regel erstellt =>
check_mk_active-httpv2!–url https://server.irgendwas.de --method GET --response-time-levels 60.0,90.0

= und natürlich auch gespeichert und auf alle Hosts angewendet :wink: Ich finde ums Verrecken keine andere Stelle, an der ich diesen herumgeisternden 10-Sekunden-Schwellenwert ändern kann. Irgendwo hier im Forum hat einer empfohlen, es über Service => Other services => Nagios Plugins und die CLI zu ändern. Kann es das wirklich sein für eine m.E. relativ einfache Sache, nämlich einen Schwellenwert etwas hochzusetzen?

Sorry für die dumme Anfängerfrage und Danke im Voraus für Hinweise :slight_smile:

Sommerliche Grüße

Das ist nicht der Timeout welchen du brauchst. Hier ist die Zeit gemeint welche gebraucht wird die Webseite auszuliefern.
Deine Fehlermeldung gehört zum Verbindungsaufbau. Dafür gibt es hier die Option. Diese steht per Default auf 10 Sekunden.
image

1 Like

Danke für die schnelle Antwort! Ich muss allerdings zu meiner Schande gestehen, dass ich weder über die Suche nach Stichworten noch per Manual finde, wo dieser Eintrag zu ändern ist … :\

Sorry - hab´s gefunden :wink: Stand ja quasi direkt davor :slight_smile:

Für die Suche, falls jemand ebenso davor steht:

Setup => Services => HTTP, TCP, Email … => Networking => Check HTTP Web service => Regel erstellen und dann im unteren Feld die Checkbox aktivieren und den dann erscheinenden Wert anpassen.

Generell könnten die Defaults vielleicht im UI anders/deutlicher dargestellt werden. Bisher sind sie doch etwas versteckt und müssen erst “entdeckt” werden.

Bisher werden die Felder incl Default-Werten ja gar nicht angezeigt, solange die Checkbox nicht angekreuzt ist, so dass man meinen könnte, dass es gar keinen Timeout gibt (bzw. entsprechend bei anderen Parametern, zB Limits dass gar keine Limits gesetzt).

@thohenstatt Vielleicht lässt sich das Design so ändern, dass die Defaults immer angezeigt werden, nur eben ausgegraut und nicht editierbar? Und erst mit Ankreuzen der Checkbox werden sie schwarz/editierbar?

Nur als rasche Idee, würde aber vielleicht helfen (dafür eben mehr Platz belegen)

1 Like

Das sehe ich als Nachteil an.
Evtl. kann man im Handbuch (ich habe es jetzt nicht komplett durchgelesen) irgendwo etwas deutlicher ausführen dass man das ja über ‘Parameters for this Service’ auslesen kann. In der folgenden Anzeige wäre es dann hilfreich wenn man ein (default) hinter die Parameter schreibt die nicht geändert wurden.

Danke

Mike

So cool ich CheckMK bisher auch finde, geht für mich persönlich der Faktor “intuitiv / schlüssig bedienbar” gegen Null :
Ich wüsste zum Beispiel gerne, wo Du diese Parameter ändern kannst, Mike - wenn ich (was mir logisch erscheinen würde) über Setup => Suche “http” => Networking => Check http web service gehe, sehe ich ein Fenster, das ähnlich leer ist wie mein Kopf:

= die Regel dadrin habe ich angelegt. Ich hätte ganz intuitiv erwartet, dass dort irgendwo steht “diese und diese Werte nutzt/überwacht der Service”, um sie dort dann auch anzupassen.

Gehe ich auf den Button oben in der Leiste, komme ich hierhin:

= wo sind da die Defaults bzw. wo könnte ich sie ändern?

OK, ich muss also erstmal den Service überhapt einem Host zuweisen, um ihn dann über das Kontextmenü => “Parameters for this service” ändern zu können:

= OK; wenn man´s weiss, ist es einfach … :wink:

Schau mal genau hin, das Fenster zeigt dir dass es eine Regel in ‘main’ gibt.

Die geänderten Werte werden ja angezeigt:

Ich stimme Dir zu dass es hilfreich wäre hier auch gleich die default Werte mit anzuzeigen, dass ist aber ein immenser Platzaufwand der sich ja mit jeder Regel wiederholt und keine neue Erkenntnis bringt.

In der Regel kannst Du die default Werte sehen wenn Du den Parameter aktivierst:

image

Generell ist es so das viele Regeln kumulative wirken. Drüber lassen sich dann auch die default Werte anpassen. Tatsächlich sit das nicht so einfach erkennbar und muss oft über Ausprobieren herausgefunden werden. Da wäre es wünschenswert die Regeln entsprechend Ihren Verhalten leicht erkennbar zu markieren.

Ich empfehel daher immer den Weg über den Service und ‘Parameters for this service’ zu gehen, da hier recht gut erkennbar ist welche Regel überhaupt greift und wie die Parameter beinflusst werden.

Ich habe mit änhlichen Ansätzen in anderen Applikationen bereits gearbeitet und kann sagen dass die Implementation in checkmk nicht soo schlecht ist. Wenn jedoch jemand noch nie mit einem Regelbasierenden Ansatz gearbeitet hat, kann ich mir schon vorstellen dass es erstmal schwierig ist. Hier hilft eine gute Dokumentation oder mal bei youtube die Beträge durchzuforsten. Adhoc habe ich dazu folgendes gefunden:

Ich habs mir aber nicht angesehen :wink:

Gruß

Mike

1 Like

Das ist der von mir empfohlene Weg, oder eben direkt über die Regel wie von Dir oben beschrieben.

@mike1098
Nicht alle User können die View “Parameters for this Service” sehen und diese zeigt auch nicht immer alle Parameter an.

https://ideas.checkmk.com/suggestions/312324/make-the-thresholds-and-other-parameters-of-a-service-available-in-a-view-column
https://ideas.checkmk.com/suggestions/312345/show-all-timebased-thresholds-in-the-parameters-for-this-service-view

Ja, die Videos sind klasse - alleine schon wegen des netten Akzents des Sprechers :slight_smile:
Ich werde mich da mal etwas mehr reinfuchsen müssen. Vermutlich ist es wirklich nicht sinnvoll, jeden Fitzel an Konfigurationsmöglichkeiten in der GUI unterzubringen - die ist ja ohnehin schon ziemlich mächtig …

1 Like

Hi @larsb danke für den Hinweis. Wir haben schon bei den Tests das Gefühl bekommen, dass wir an dem Punkt “Connection buildup” noch etwas machen müssen, damit die darin enthaltenen Optionen besser auffindbar werden. Für die 2.3.0 war das nicht mehr möglich und derzeit kümmern wir uns um ein paar wichtige Funktionen, die wir nicht mehr in der 2.3.0 drin haben konnten.
Aber der Punkt “Connection buildup” ist bei uns auf der Liste und in der Wahrnehmung.

Bzgl. Default-Werte: Es ist leider nicht möglich, die echten Default-Werte anzuzeigen, da diese ja in dem Plugin selbst gesetzt sind. Es liegt also weniger daran, dass wir nicht wollen, sondern eher, dass es nicht (ohne großem Performance-Aufwand) möglich ist.
Wir machen hier aus der Not eine Tugend: Da wir nicht an die tatsächlichen Werte rankommen, nutzen wir die bekannten (bei unserer eigenen Implementierung zum Monitoring von HTTP(s) haben wir sie ja selbst gesetzt) als Beispielwert. Dadurch soll Dir zum einen klar werden, was dort als Eingabe erwartet wird und zum anderen, welchen Wert Du gerade überschreibst. Letzteres ist aber eben aufgrund der genannten Umstände “nach bestem Wissen”.

Moin, Moin,

und Danke für die Erklärungen. Ich muss aber gestehen, dass ich dieses hier:

… nicht verstanden habe - wenn ich die Werte ändere, indem ich eine neue Regel erstelle, werden sie doch ohnehin angezeigt?! Aber da fehlt mir wahrscheinlich das technische Verständnis.

Wie schon gesagt, man muss sich einarbeiten und in die Logik einfinden. Hat halt jedes System seine Besonderheiten - wie z.B. der Klassiker unter Windows “auf Start gehen, um das System herunterzufahren” :wink:

Es gibt entwicklerseitig Default-Werte, die greifen, wenn du gar keine Regel erstellt hast. Sobald du eine Regel erstellst, werden diese Defaults von deinen Thresholds aus der Regel überschrieben.

Das ist auch einer der Stärken von CheckMK. In anderen Monitoringsystemen muss man sich immer selbst beim Implementieren neuer/fremder Checks überlegen, welche Grenzwerte man haben will und für welche Metriken dies überhaupt möglich ist.

Hi,
ich verstehe, dass das im ersten Moment etwas verwirrend sein kann. Wie @simon-mueller schon gut erklärt hat, liegen die Defaults direkt im Plugin. Du kannst dieses Plugin manuell aufrufen, wie Du es ja auch schon getan hast. Auch dann gibt es diverse Default-Werte. Diese sind aber im Code des Plugins und die UI kennt sie nicht. Daher nutzen wir die bekannten Defaults als Hinweis, was an Eingabe in einem Feld erwartet wird.
Wenn der Wert aber nicht überschrieben wird, kann die UI keinen Default anzeigen, weil sie ihn nicht kennt. Ich hoffe, dass das dem Verständnis etwas hilft. :slight_smile: