Ich habe versucht, check_http zu verwenden, aber ich erhalte auch dann Erfolg, wenn die Website auf eine Fehlerseite umgeleitet wird
Dies kann mit gelöst werden check_http --expect
. Hier ist die Dokumentation von check_http --help :
-e, --expect = STRING Durch Kommas getrennte Liste von Zeichenfolgen, von denen mindestens eine in der ersten (Status-) Zeile der Serverantwort erwartet wird (Standard: HTTP / 1.) Wenn angegeben, werden alle anderen Statuszeilenlogiken übersprungen ( Beispiel: 3xx, 4xx, 5xx Verarbeitung)
Das folgende Beispiel gibt ein 'OK' für einen HTTP-Antwortcode mit 200 OK zurück , gibt jedoch einen kritischen Fehler für eine 302-Umleitung aus.
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Überprüfen Sie für eine sichere Website (über SSL) und Authentifizierung auch check_http --ssl
und die --authorization
Flags.
-S, --ssl Verbindung über SSL herstellen. Port ist standardmäßig 443
-a, --authorization = AUTH_PAIR Benutzername: Kennwort auf Websites mit Basisauthentifizierung
Oder Sie möchten sich möglicherweise nicht beim System anmelden, sondern nur sicherstellen, dass für die Seite ein Benutzername / Kennwort erforderlich ist, da dieser Benutzername / dieses Kennwort zu einem Sicherheitsrisiko werden kann. Versuchen Sie in diesem Fall Folgendes: / 401
ist der HTTP-Antwortcode für "Nicht autorisiert" oder "Autorisierung erforderlich" - dies 401
ist obligatorisch, die nachfolgende Textzeichenfolge ist optional und kann eine von mehreren verschiedenen Aussagen machen, also sage ich Nagios nur zu erwarten 401
.
check_http --expect="401"
check_http
Plugin unterstützt die-s string
Option, mit der Sie nach bestimmten Zeichenfolgen für die HTTP-Antwort suchen können. Wenn die Seite bei Erfolg eine bestimmte Zeichenfolge druckt, können Sie diese überprüfen, um sie von Fehlern zu unterscheiden.