Avec Áú»¢¶Ä²©, vous pouvez v¨¦rifier plusieurs aspects de la disponibilit¨¦ des sites Web.
Pour effectuer une supervision Web, le serveur Áú»¢¶Ä²© doit ¨ºtre initialement ³¦´Ç²Ô´Ú¾±²µ³Ü°ù¨¦ avec le support cURL (libcurl).
Pour activer la supervision Web, vous devez d¨¦finir des sc¨¦narios Web. Un sc¨¦nario Web consiste en une ou plusieurs requ¨ºtes HTTP ou "¨¦tapes". Les ¨¦tapes sont ex¨¦cut¨¦es p¨¦riodiquement par le serveur Áú»¢¶Ä²© dans un ordre pr¨¦d¨¦fini. Si un h?te est supervis¨¦ par proxy, les ¨¦tapes sont ex¨¦cut¨¦es par le proxy.
Les sc¨¦narios Web sont associ¨¦s aux h?tes/mod¨¨les de la m¨ºme mani¨¨re que les ¨¦±ô¨¦³¾±ð²Ô³Ù²õ, les d¨¦clencheurs, etc. Cela signifie que les sc¨¦narios Web peuvent ¨¦galement ¨ºtre cr¨¦¨¦s au niveau du mod¨¨le, puis appliqu¨¦s ¨¤ plusieurs h?tes en m¨ºme temps.
Les informations suivantes sont collect¨¦es pour tout le sc¨¦nario Web :
Les informations suivantes sont collect¨¦es pour chaque ¨¦tape de sc¨¦nario Web :
Pour plus de d¨¦tails, voir les ¨¦±ô¨¦³¾±ð²Ô³Ù²õ de supervision web.
Les donn¨¦es collect¨¦es lors de l'ex¨¦cution de sc¨¦narios Web sont conserv¨¦es dans la base de donn¨¦es. Les donn¨¦es sont automatiquement utilis¨¦es pour les graphiques, les d¨¦clencheurs et les notifications.
Áú»¢¶Ä²© peut ¨¦galement v¨¦rifier si une page HTML r¨¦cup¨¦r¨¦e contient une cha?ne pr¨¦d¨¦finie. Il peut ex¨¦cuter une connexion simul¨¦e et suivre un chemin de clics simul¨¦s sur la page.
La supervision Web Áú»¢¶Ä²© prend en charge ¨¤ la fois HTTP et HTTPS. Lors de l'ex¨¦cution d'un sc¨¦nario Web, Áú»¢¶Ä²© suit ¨¦ventuellement les redirections (voir l'option Suivre les redirections en dessous). Le nombre maximal de redirections est cod¨¦ en dur ¨¤ 10 (en utilisant l'option cURL ). Tous les cookies sont conserv¨¦s lors de l'ex¨¦cution d'un sc¨¦nario unique.
Voir aussi les probl¨¨mes connus pour la supervision Web ¨¤ l'aide du protocole HTTPS.
Pour configurer un scenario web :
L'onglet ³§³¦¨¦²Ô²¹°ù¾±´Ç vous permet de configurer les param¨¨tres g¨¦n¨¦raux d'un sc¨¦nario Web.
Tous les champs de saisie obligatoires sont marqu¨¦s d'un ast¨¦risque rouge.
±Ê²¹°ù²¹³¾¨¨³Ù°ù±ðs de sc¨¦nario :
±Ê²¹°ù²¹³¾¨¨³Ù°ù±ð | Description |
---|---|
* H?te* | Nom de l'h?te/mod¨¨le auquel le sc¨¦nario appartient. |
Nom | Nom unique du sc¨¦nario. |
Intervalle d'actualisation | A quelle fr¨¦quence le sc¨¦nario sera ex¨¦cut¨¦. Les suffixes de temps sont support¨¦s, ex : 30s, 1m, 2h, 1d. Les macros utilisateurs sont support¨¦es. A noter : si une macro utilisateur est utilis¨¦e et que sa valeur change (e.g. 5m ¡ú 30s), la prochaine v¨¦rification sera ex¨¦cut¨¦e selon la valeur pr¨¦c¨¦dente (plus tard dans le futur avec les valeurs d'exemple). |
* TentativesNombre de tentatives d'ex¨¦cution des ¨¦tapes du sc¨¦nario Web. En cas de probl¨¨mes r¨¦seau (timeout, absence de connectivit¨¦, etc.), Áú»¢¶Ä²© peut r¨¦p¨¦ter plusieurs fois l'ex¨¦cution d'une ¨¦tape. Le chiffre positionn¨¦ affectera ¨¦galement chaque ¨¦tape du sc¨¦nario. Vous pouvez sp¨¦cifier jusqu'¨¤ 10 tentatives, la valeur par d¨¦faut est 1. A noter* : Áú»¢¶Ä²© ne r¨¦p¨¨tera pas une ¨¦tape en raison d'un code de r¨¦ponse erron¨¦ ou d'une non-concordance d'une cha?ne requise. |
|
Agent | Choix du client. Áú»¢¶Ä²© fera semblant d'¨ºtre le navigateur s¨¦lectionn¨¦. Ceci est utile lorsqu'un site Web renvoie un contenu diff¨¦rent pour diff¨¦rents navigateurs. Les macros utilisateur peuvent ¨ºtre utilis¨¦es dans ce champ. |
Proxy HTTP | Vous pouvez sp¨¦cifier un proxy HTTP ¨¤ utiliser, en utilisant le format [protocol://][username[:password]@]proxy.example.com[:port] .Cela d¨¦finit l'option cURL . Le pr¨¦fixe facultatif protocol:// peut ¨ºtre utilis¨¦ pour sp¨¦cifier des protocoles proxy alternatifs (la prise en charge du pr¨¦fixe de protocole a ¨¦t¨¦ ajout¨¦e dans cURL 7.21.7). Sans protocole sp¨¦cifi¨¦, le proxy sera trait¨¦ comme un proxy HTTP.Par d¨¦faut, le port 1080 sera utilis¨¦. Si sp¨¦cifi¨¦, le proxy ¨¦crasera les variables d'environnement li¨¦es au proxy comme HTTP_PROXY, HTTPS_PROXY. S'il n'est pas sp¨¦cifi¨¦, le proxy n'¨¦crasera pas les variables d'environnement li¨¦es au proxy. La valeur saisie est transmise "telle quelle", aucune v¨¦rification de coh¨¦rence n'a lieu. Vous pouvez ¨¦galement entrer une adresse proxy SOCKS. Si vous sp¨¦cifiez le mauvais protocole, la connexion ¨¦chouera et l'¨¦l¨¦ment ne sera plus pris en charge. A noter : seule l'authentification simple est prise en charge avec le proxy HTTP. Les macros utilisateur peuvent ¨ºtre utilis¨¦es dans ce champ. |
* Variables* | Variables pouvant ¨ºtre utilis¨¦es dans les ¨¦tapes du sc¨¦nario (URL, variables post). Elles ont le format suivant : {macro1}=value1 {macro2}=value2 {macro3}=regex:<regular expression> Par exemple : {username}=Alexei {password}=kj3h5kJ34bd {hostid}=regex:hostid is ([0-9]+) Les macros peuvent ensuite ¨ºtre r¨¦f¨¦renc¨¦es dans les ¨¦tapes sous la forme {username}, {password} et {hostid}. Áú»¢¶Ä²© les remplacera automatiquement par des valeurs r¨¦elles. Notez que les variables avec regex: ont besoin d'une ¨¦tape pour obtenir la valeur de l'expression r¨¦guli¨¨re afin que la valeur extraite ne puisse ¨ºtre appliqu¨¦e qu'¨¤ l'¨¦tape suivante.Si la partie valeur commence par regex: la partie apr¨¨s celle-ci est trait¨¦e comme une expression r¨¦guli¨¨re qui recherche la page Web et, si elle est trouv¨¦e, stocke la correspondance dans la variable. Au moins un sous-groupe doit ¨ºtre pr¨¦sent pour que la valeur correspondante puisse ¨ºtre extraite. Les macros utilisateur et les macros {HOST.*} sont prises en charge. Les variables sont automatiquement encod¨¦es en URL lorsqu'elles sont utilis¨¦es dans des champs de requ¨ºte ou des donn¨¦es de formulaire pour des variables post, mais doivent ¨ºtre encod¨¦es manuellement lorsqu'elles sont utilis¨¦es en post brut ou directement dans l'URL. |
·¡²Ô-³Ù¨º³Ù±ð²õ | Les en-t¨ºtes HTTP personnalis¨¦s qui seront envoy¨¦s lors de l'ex¨¦cution d'une requ¨ºte. Les en-t¨ºtes doivent ¨ºtre r¨¦pertori¨¦s en utilisant la m¨ºme syntaxe qu'ils appara?ssent dans le protocole HTTP, en utilisant ¨¦ventuellement certaines fonctionnalit¨¦s suppl¨¦mentaires prises en charge par l'option cURL cURL option. Par exemple : Accept-Charset=utf-8 Accept-Language=en-US Content-Type=application/xml; charset=utf-8 Les macros utilisateur et les macros {HOST.*} sont support¨¦es. |
´¡³¦³Ù¾±±¹¨¦ | Le sc¨¦nario est activ¨¦ si cette case est coch¨¦e, sinon - d¨¦sactiv¨¦. |
Notez que lors de l'¨¦dition d'un sc¨¦nario existant, deux boutons suppl¨¦mentaires sont disponibles dans le formulaire :
![]() |
Cr¨¦er un autre sc¨¦nario bas¨¦ sur les propri¨¦t¨¦s d'un sc¨¦nario existant. |
![]() |
Supprimer l'historique et les donn¨¦es de tendance du sc¨¦nario. Cela obligera le serveur ¨¤ ex¨¦cuter le sc¨¦nario imm¨¦diatement apr¨¨s la suppression des donn¨¦es. |
Si le champs HTTP proxy est laiss¨¦ vide, un autre moyen d'utiliser un proxy HTTP est de positionner les variables d'environnement li¨¦es au proxy.
Pour les v¨¦rifications HTTP - positionnez la variable d'environnement HTTP_PROXY pour l'utilisateur du serveur Áú»¢¶Ä²©. Par exemple, HTTP_PROXY=http://proxy_ip:proxy_port
.
Pour les v¨¦rifications HTTPS - positionnez la variable d'environnement HTTPS_PROXY pour l'utilisateur du serveur Áú»¢¶Ä²©. Par exemple, HTTPS_PROXY=http://proxy_ip:proxy_port
. Plus de d¨¦tails sont disponibles en ex¨¦cutant la commande : # man curl.
L'onglet ?tapes vous permet de configurer les ¨¦tapes du sc¨¦nario web. Pour ajouter une ¨¦tape d'un sc¨¦nario web, cliquez sur Ajouter dans le bloc ?tapes.
Les macros utilisateur secr¨¨tes ne doivent pas ¨ºtre utilis¨¦es dans les URL car elles seront r¨¦solue en "*".
±Ê²¹°ù²¹³¾¨¨³Ù°ù±ðs d'¨¦tape :
±Ê²¹°ù²¹³¾¨¨³Ù°ù±ð | Description |
---|---|
Nom | Nom unique de l'¨¦tape. |
URL | URL o¨´ se connecter et o¨´ r¨¦cup¨¦rer les donn¨¦es. Par exemple : https://www.example.com http://www.example.com/download Les noms de domaines peuvent ¨ºtre sp¨¦cifi¨¦s en caract¨¨res Unicode. Ils sont automatiquement convertis en ASCII lors de l'ex¨¦cution de l'¨¦tape du sc¨¦nario web. Le bouton Analyser peut ¨ºtre utilis¨¦ pour s¨¦parer les champs de requ¨ºte facultatifs (comme ?name=Admin&password=mypassword) de l'URL, et ainsi placer les attributs et les valeurs dans le Champs de requ¨ºte pour un encodage automatique d'URL. Variables can be used in the URL, using the {macro} syntax. Les variables peuvent ¨ºtre utilis¨¦es dans l'URL, en utilisant la syntaxe {macro}. Les variables peuvent ¨ºtre encod¨¦e manuellement en utilisant la syntaxe {{macro}.urlencode()}. Les macros utilisateurs et les macros {HOST.*} sont support¨¦es. Limit¨¦ ¨¤ 2048 caract¨¨res. |
Champs de requ¨ºte | Variables HTTP GET pour l'URL. Sp¨¦cifi¨¦ comme paires attribut/valeur. Les valeurs sont automatiquement encod¨¦es en URL. Les valeurs des variables de sc¨¦nario, des macros utilisateur ou des macros {HOST.*} sont r¨¦solues puis automatiquement cod¨¦es en URL. L'utilisation d'une syntaxe {{macro}.urlencode()} doublera leur encodage URL. Les macros utilisateurs et les macros {HOST.*} sont support¨¦es. |
Post | Variables HTTP POST. Dans le mode Donn¨¦es de formulaire, sp¨¦cifi¨¦ comme paires attribut/valeur. Les valeurs sont encod¨¦es automatiquement. Les valeurs issues des variables de sc¨¦nario, les macros utilisateurs ou les macros {HOST.} sont r¨¦solues et sont encod¨¦es automatiquement. Dans le mode Donn¨¦es brutes, les paires attribut/valeur sont affich¨¦es sur une seule ligne et concat¨¦n¨¦es avec le symbole &. Les valeurs brutes peuvent ¨ºtre encod¨¦es/d¨¦cod¨¦es manuellement en utilisant une syntaxe {{macro}.urlencode()} ou {{macro}.urldecode()}. Par exemple : id=2345&userid={user} Si {user} est d¨¦fini comme variable du sc¨¦nario web, il sera remplac¨¦ par sa valeur lors de l'ex¨¦cution de l'¨¦tape. Si vous souhaitez encoder la variable au format URL, il faut substituer {user} par {{user}.urlencode()}. Les macros utilisateurs et les macros {HOST.} sont support¨¦es. |
Variables | Variables qui peuvent ¨ºtre utilis¨¦es pour les fonctions GET et POST dans l'¨¦tape. Sp¨¦cifi¨¦ comme paires d'attribut/valeur. Les variables d'¨¦tape remplacent les variables de sc¨¦nario ou les variables de l'¨¦tape pr¨¦c¨¦dente. N¨¦anmoins, la valeur d'une variable d'¨¦tape affecte uniquement l'¨¦tape suivante (et non pas l'¨¦tape actuelle). Elles ont le format suivant : {macro}=value {macro}=regex:<regular expression> Pour plus d'informations, voir la description des variables au niveau du scenario. Les variables sont automatiquement encod¨¦es au format URL quand elles sont utilis¨¦es dans le champs de requ¨ºte ou dans les donn¨¦es de formulaire pour les variables post, mais doivent ¨ºtre encod¨¦es manuellement quand elles sont utilis¨¦es dans les donn¨¦es brutes ou directement dans l'URL. |
·¡²Ô-³Ù¨º³Ù±ð²õ | ·¡²Ô-³Ù¨º³Ù±ð²õ HTTP personnalis¨¦s ¨¤ envoyer lors de l'ex¨¦cution d'une requ¨ºte. Sp¨¦cifi¨¦ sous forme de paires d'attributs et de valeurs. Les en-t¨ºtes au niveau de l'¨¦tape remplaceront les en-t¨ºtes sp¨¦cifi¨¦s pour le sc¨¦nario. Par exemple, la d¨¦finition d'un attribut 'User-Agent' sans valeur supprimera la valeur User-Agent d¨¦finie au niveau du sc¨¦nario. Les macros utilisateurs et les macros {HOST.} sont support¨¦es. Cela d¨¦fini l'option cURL . La sp¨¦cification des en-t¨ºtes personnalis¨¦s est support¨¦e depuis Áú»¢¶Ä²© 2.4*. |
Suivre les redirections | Cochez la case pour suivre les redirections HTTP. Cela d¨¦fini l'option cURL . |
Mode de r¨¦cup¨¦ration | S¨¦lectionnez le mode de r¨¦cup¨¦ration : Corps - r¨¦cup¨¦rer uniquement le corps de la r¨¦ponse HTTP ·¡²Ô-³Ù¨º³Ù±ð²õ - r¨¦cup¨¦rer uniquement les en-t¨ºtes de la r¨¦ponse HTTP Corps et en-t¨ºtes - r¨¦cup¨¦rer le corps et les en-t¨ºtes de la r¨¦ponse HTTP |
* Expiration* | Áú»¢¶Ä²© ne passera pas plus de temps que pr¨¦vu ¨¤ traiter l¡¯URL (maximum 1 heure). En r¨¦alit¨¦, ce param¨¨tre d¨¦finit le d¨¦lai maximal de connexion ¨¤ l'URL et le d¨¦lai maximal d'ex¨¦cution d'une requ¨ºte HTTP. Par cons¨¦quent, Áú»¢¶Ä²© ne passera pas plus de **2xExpiration* secondes sur l¡¯¨¦tape. Les suffixes temporels sont support¨¦s, ex : 30s, 1m, 1h. Les macros utilisateur sont support¨¦es. |
Cha?ne requise | ²Ñ´Ç»å¨¨±ô±ð requis d'expression r¨¦guli¨¨re. ? moins que le contenu r¨¦cup¨¦r¨¦ (HTML) ne corresponde au mod¨¨le requis, l'¨¦tape ¨¦chouera. Si vide, aucune v¨¦rification sur la cha?ne n'est effectu¨¦e. Par exemple : Homepage of Áú»¢¶Ä²© Welcome.*admin A noter : Les expressions r¨¦guli¨¨res cr¨¦¨¦es dans l'interface Áú»¢¶Ä²© ne sont pas support¨¦es dans ce champs. Les macros utilisateur et les macros {HOST.*} sont support¨¦es. |
Code d'¨¦tat requis | Liste des codes d'¨¦tat HTTP attendus. Si Áú»¢¶Ä²© obtient un code qui ne figure pas dans la liste, l'¨¦tape ¨¦chouera. S'il est vide, aucune v¨¦rification de code d'¨¦tat n'est effectu¨¦e. Par exemple : 200,201,210-299 Les macros utilisateur sont support¨¦es. |
Toute modification apport¨¦e aux ¨¦tapes du sc¨¦nario Web ne sera enregistr¨¦e que lorsque l'int¨¦gralit¨¦ du sc¨¦nario sera enregistr¨¦.
Voir aussi un exemple concret de la configuration des ¨¦tapes de surveillance Web.
####?Configuration des tags
L'onglet Tags permet de d¨¦finir des tags au niveau du sc¨¦nario.
Les tags permettent de filtrer les sc¨¦narios Web et les ¨¦±ô¨¦³¾±ð²Ô³Ù²õ de surveillance Web.
L'onglet Authentification vous permet de configurer les options d'authentification du sc¨¦nario. Un point vert ¨¤ c?t¨¦ du nom de l'onglet indique qu'un certain type d'authentification HTTP est activ¨¦.
±Ê²¹°ù²¹³¾¨¨³Ù°ù±ðs d'authentification :
±Ê²¹°ù²¹³¾¨¨³Ù°ù±ð | Description |
---|---|
Authentification | Options d'authentification. Aucun - aucune authentification utilis¨¦e. Basique - l'authentification de base est utilis¨¦e. NTLM - l'authentification NTLM ( est utilis¨¦e. Kerberos : l'authentification Kerberos est utilis¨¦e. Voir aussi : Configuration de Kerberos avec Áú»¢¶Ä²©. Digest - L'authentification Digest est utilis¨¦e. La s¨¦lection d'une m¨¦thode d'authentification fournira deux champs suppl¨¦mentaires pour entrer un utilisateur nom et mot de passe. Des macros utilisateur peuvent ¨ºtre utilis¨¦es dans les champs utilisateur et mot de passe. |
V¨¦rifier le pair SSL | Cochez la case pour v¨¦rifier le certificat SSL du serveur Web. Le certificat du serveur sera automatiquement extrait de l'emplacement de l'autorit¨¦ de certification (CA) ¨¤ l'¨¦chelle du syst¨¨me. Vous pouvez remplacer l'emplacement des fichiers CA ¨¤ l'aide du serveur Áú»¢¶Ä²© ou du param¨¨tre de configuration proxy SSLCALocation. Cela d¨¦finit l'option cURL . |
V¨¦rifier l'h?te SSL | Cochez la case pour v¨¦rifier que le champ Common Name ou le champ Subject Alternate Name du certificat de serveur Web correspond. Cela d¨¦finit l'option cURL . |
Fichier de certificat SSL | Nom du fichier de certificat SSL utilis¨¦ pour l'authentification du client. Le fichier de certificat doit ¨ºtre au format PEM1. Si le fichier de certificat contient ¨¦galement la cl¨¦ priv¨¦e, laissez le champ fichier de cl¨¦ SSL vide. Si la cl¨¦ est crypt¨¦e, indiquez le mot de passe dans le champ mot de passe de la cl¨¦ SSL. Le r¨¦pertoire contenant ce fichier est sp¨¦cifi¨¦ par le param¨¨tre de configuration du serveur Áú»¢¶Ä²© ou du proxy SSLCertLocation. Les macros HOST.* et les macros utilisateur peuvent ¨ºtre utilis¨¦es dans ce champ.Cela d¨¦finit l'option cURL . |
Fichier de cl¨¦ SSL | Nom du fichier de cl¨¦ priv¨¦e SSL utilis¨¦ pour l'authentification du client. Le fichier de cl¨¦ priv¨¦e doit ¨ºtre au format PEM1. Le r¨¦pertoire contenant ce fichier est sp¨¦cifi¨¦ par le param¨¨tre de configuration du serveur ou du proxy Áú»¢¶Ä²© SSLKeyLocation. Les macros HOST.* et les macros utilisateur peuvent ¨ºtre utilis¨¦es dans ce champ.Cela d¨¦finit l'option cURL . |
Mot de passe de la cl¨¦ SSL | Mot de passe du fichier de cl¨¦ priv¨¦e SSL. Des macros utilisateur peuvent ¨ºtre utilis¨¦es dans ce champ. Cela d¨¦finit l'option cURL . |
[1] Áú»¢¶Ä²© prend uniquement en charge les fichiers de certificat et de cl¨¦ priv¨¦e au format PEM. Si vous avez votre certificat et vos donn¨¦es de cl¨¦ priv¨¦e dans un fichier au format PKCS #12 (g¨¦n¨¦ralement avec l'extension *.p12 ou *.pfx), vous pouvez g¨¦n¨¦rer le fichier PEM ¨¤ partir de celui-ci ¨¤ l'aide des commandes suivantes :
Le serveur Áú»¢¶Ä²© r¨¦cup¨¨re les modifications des certificats sans red¨¦marrage.
Si vous avez un certificat client et une cl¨¦ priv¨¦e dans un seul fichier, sp¨¦cifiez-le simplement dans un champ "Fichier de certificat SSL" et laissez le champ "Fichier de cl¨¦ SSL" vide. Le certificat et la cl¨¦ doivent toujours ¨ºtre au format PEM. Combiner certificat et cl¨¦ est simple :
Pour afficher les sc¨¦narios Web ³¦´Ç²Ô´Ú¾±²µ³Ü°ù¨¦s pour un h?te, acc¨¦dez ¨¤ Surveillance ¡ú H?tes, localisez l'h?te dans la liste et cliquez sur l'hyperlien Web dans la derni¨¨re colonne. Cliquez sur le nom du sc¨¦nario pour obtenir des informations d¨¦taill¨¦es.
Un aper?u des sc¨¦narios Web peut ¨¦galement ¨ºtre affich¨¦ dans Surveillance ¡ú Tableau de bord par un widget de surveillance Web.
Les r¨¦sultats r¨¦cents de l'ex¨¦cution du sc¨¦nario Web sont disponibles dans la section Surveillance ¡ú Derni¨¨res donn¨¦es.
Parfois, il est n¨¦cessaire de consigner le contenu de la page HTML re?u. Ceci est particuli¨¨rement utile si une ¨¦tape du sc¨¦nario Web ¨¦choue. Le niveau de d¨¦bogage 5 (trace) sert ¨¤ cela. Ce niveau peut ¨ºtre d¨¦fini dans les fichiers de configuration serveur et proxy ou en utilisant une option de contr?le d'ex¨¦cution (-R log_level_increase="http poller ,N"
, o¨´ N est le num¨¦ro de processus). Les exemples suivants montrent comment la surveillance ¨¦tendue peut ¨ºtre d¨¦marr¨¦e ¨¤ condition que le niveau de d¨¦bogage 4 soit d¨¦j¨¤ d¨¦fini :
Augmentez le niveau de journalisation de tous les pollers http :
shell> zabbix_server -R log_level_increase="http poller"
Augmentez le niveau de journalisation du second poller http :
shell> zabbix_server -R log_level_increase="http poller,2"
Si une surveillance Web ¨¦tendue n'est pas requise, elle peut ¨ºtre arr¨ºt¨¦e ¨¤ l'aide de l'option -R log_level_decrease
.