J'ai essayé d'utiliser check_http mais j'obtiens du succès même si le site Web est redirigé vers une page d'erreur
Cela peut être résolu avec check_http --expect
. Voici la documentation de check_http --help :
-e, --expect = STRING Liste de chaînes délimitées par des virgules, au moins l'une d'entre elles est attendue dans la première ligne (état) de la réponse du serveur (par défaut: HTTP / 1). Si spécifié, ignore toute autre logique de ligne d'état ( ex: traitement 3xx, 4xx, 5xx)
L'exemple suivant renverra un «OK» pour un code de réponse HTTP 200 OK , mais donnera une erreur critique pour une redirection 302.
host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.0 301 OK
Pour un site Web sécurisé (sur SSL) et une authentification, consultez également check_http --ssl
et les --authorization
indicateurs.
-S, --ssl Connectez-vous via SSL. Le port par défaut est 443
-a, --authorization = AUTH_PAIR Nom d'utilisateur: mot de passe sur les sites avec authentification de base
Ou, vous ne voulez peut-être pas réellement vous connecter au système, mais vous voulez simplement vous assurer que la page nécessite un nom d'utilisateur / mot de passe, car ce nom d'utilisateur / mot de passe peut devenir un problème de sécurité. Dans ce cas, essayez quelque chose comme ce qui suit / 401
est le code de réponse HTTP pour 'Non autorisé' ou 'Autorisation requise' - le 401
est obligatoire, la chaîne de texte par la suite est facultative et peut dire plusieurs choses différentes, donc je dis juste à Nagios à attendre 401
.
check_http --expect="401"
check_http
plugin prend en charge l'-s string
option qui vous permet de rechercher certaines chaînes de la réponse HTTP. Si la page imprime une chaîne spécifique en cas de succès, vous pouvez la vérifier pour la distinguer de l'erreur.