HTTPd de surveillance
Vous pouvez surveiller de manière exhaustive votre serveur HTTPd et votre site IBM HTTP Server à l'aide de Instana afin d'identifier les goulots d'étranglement et d'optimiser ses performances.
Une fois l 'agent hôte d' Instana s installé, le capteur d' HTTPd s est automatiquement installé. Vous pouvez ensuite configurer le serveur d' HTTPd s et activer le traçage afin de consulter les métriques et les traces liées à l' Apache dans l'interface utilisateur d' Instana.
Informations de support
Pour vous assurer que le capteur et le traceur d' HTTPd s sont compatibles avec votre configuration actuelle, consultez les sections d'informations d'assistance suivantes :
Systèmes d'exploitation pris en charge
Les systèmes d'exploitation pris en charge par le capteur d' HTTPd s sont conformes aux exigences des agents hôtes. Vous pouvez consulter la section « Systèmes d'exploitation pris en charge » de chaque agent hôte, par exemple « Systèmes d'exploitation pris en charge pour Unix ».
Versions et plateformes prises en charge d' ApacheHTTPd
HTTPd Le capteur et le traçage d' HTTPd s ont des exigences différentes en matière de version et de plateforme. Pour plus d'informations, consultez la section « Versions et plateformes prises en charge d' HTTPd ».
Configuration
Le fichier de configuration principal du serveur HTTPd se trouve dans /etc/apache2/apache2.conf, /etc/httpd/conf/httpd.conf, ou /etc/apache2/httpd.conf. L'emplacement exact du fichier de configuration utilisé est disponible:
- Dans les arguments de processus:
-dspécifie le répertoire racine et-fle fichier de configuration. - Dans la sortie
apachectl -V:HTTPD_ROOT=etSERVER_CONFIG_FILE=.
Debian Les utilisateurs appliquent les modifications dans le fichier de configuration du module dédié, qui se trouve à l'emplacement /etc/apache2/mods-enabled/status.conf, plutôt que dans le fichier de configuration principal HTTPd.
Vous devez apporter les modifications suivantes au fichier de configuration HTTPd :
- Activez la page d'état du serveur à l'adresse HTTPd
/server-status. - Chargez la fonction status_module(
mod_status) pour consulter les statistiques du serveur web HTTPd. - Affichez les métriques détaillées du trafic, du trafic par demande et de l'UC en activant le
ExtendedStatus.
<Location /server-status>
SetHandler server-status
</Location>
LoadModule status_module lib/httpd/modules/mod_status.so
ExtendedStatus On
Placez la server-status configuration au début de votre fichier de configuration HTTPd.
Vous pouvez rechercher des erreurs dans votre fichier de configuration à l'aide de la commande suivante:
apachectl configtest
Redémarrez pour appliquer les modifications sans interrompre les connexions actives ( apachectl -k graceful ou service apache2 graceful).
Le capteur « Instana » récupère automatiquement la configuration depuis HTTPd; il n'est pas nécessaire de redémarrer l'agent. Par conséquent, vous pouvez choisir n'importe quel emplacement pour la page de statut. Les redirections ne sont pas suivies pour des raisons de performances.
Si le statut URL est protégé, vous devez fournir des données d'authentification de base dans le fichier de configuration de l'agent <agent_install_dir>/etc/instana/configuration.yml:
com.instana.plugin.httpd:
user: ''
password: ''
Affichage des mesures
Pour afficher les métriques, procédez comme suit:
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- Cliquez sur un hôte surveillé spécifique.
Vous pouvez ensuite voir un tableau de bord hôte avec toutes les métriques collectées et les processus surveillés.
Données de configuration
Le capteur Apache HTTPd recueille les métriques suivantes auprès du serveur HTTPd :
| Métrique | Description |
|---|---|
| ID du processus | Identifiant du processus principal d' HTTPd |
| Version | Version du serveur HTTPd |
| Architecture | Architecture du processeur sur laquelle le serveur fonctionne |
| Démarre à | Date et heure du lancement du processus d' HTTPd |
| Nombre maximal de workers | Nombre maximal de threads de travail pouvant traiter des requêtes simultanément |
| MPM | Module de multitraitement (MPM) qui définit le modèle de gestion des requêtes |
| Écouter | Port ou ports sur lesquels le serveur HTTPd est à l'écoute |
| Modules | Liste des modules actuellement chargés sur le serveur HTTPd |
Métriques de performance
Le tableau suivant répertorie les indicateurs de performance recueillis auprès du serveur HTTPd :
| Métrique | Description |
|---|---|
| Demandes | Nombre d'accès au serveur HTTPd |
| Trafic | Nombre de kBytes servis |
| Noeuds workers occupés | Nombre d'unités d'exécution et de processus de travail occupés |
| Nombre de connexions | Nombre total de connexions (uniquement avec Events MPM et Apache 2.3) |
| Ecriture asynchrone | Nombre de connexions asynchrones à l'état d'écriture (uniquement avec Events MPM et Apache 2.3) |
| Signal de présence asynchrone | Nombre de connexions asynchrones à l'état de signal de présence (uniquement avec Event MPM et Apache 2.3) |
| Fermeture asynchrone | Nombre de connexions asynchrones à l'état fermé (uniquement avec les événements MPM et Apache 2.3) |
| Noeuds workers | En attente, Démarrage, Lecture, Ecriture, keepalive, Dns, Fermeture, Journalisation, Gracieux, Inactif |
| Charge UC | L'utilisation actuelle du processeur du serveur HTTPd, exprimée en pourcentage |
| Trafic par demande | Octets transférés par demande |
Le tableau suivant présente les différents statuts des travailleurs surveillés depuis le serveur HTTPd :
| Type de travailleur | Description |
|---|---|
| En attente | Nombre de travailleurs inactifs en attente de nouvelles demandes |
| Démarrage | Nombre d'employés qui se préparent à commencer le traitement des demandes |
| Lecture | Nombre de travailleurs qui lisent les en-têtes ou le corps des requêtes provenant des clients |
| Ecriture | Nombre de collaborateurs qui répondent au client |
| Connexion active | Nombre de processus en attente sur des connexions Keep-Alive |
| DNS | Nombre de travailleurs effectuant des requêtes « DNS » pour les noms d'hôte des clients |
| En cours de fermeture | Nombre de processus qui ferment les connexions client après le traitement des requêtes |
| Journalisation | Nombre de travailleurs qui rédigent des journaux après avoir terminé le traitement des requêtes |
| Correctement | Nombre de processus ayant terminé leur exécution et s'arrêtant normalement |
| En veille | Nombre de travailleurs inactifs chargés de libérer les ressources inutilisées |
Signatures d'intégrité
Pour chaque détecteur, il existe une base de connaissances organisée des signatures de santé qui sont évaluées en continu par rapport aux métriques entrantes et qui sont utilisées pour soulever des problèmes ou des incidents, qui dépendent de l'impact sur l'utilisateur.
Les événements intégrés déclenchent des problèmes ou des incidents en fonction de signatures de santé défaillantes sur des entités, tandis que les événements personnalisés déclenchent des problèmes ou des incidents en fonction des seuils d'une métrique spécifique à une entité donnée.
Pour plus d'informations sur les événements intégrés du capteur « HTTPd », consultez la référence des événements intégrés.
Traçage
Vous devez installer et configurer le traçage d' HTTPd s afin de collecter les traces provenant du serveur HTTPd.
Prérequis
Installez les packages redistribuables Visual C++ pour Visual Studio 2015-2022 avant d'activer le traçage d' HTTPd s sur Windows.
Veillez à installer le Runtime d' XL C/C++ pour AIX 16.1.0 Fix Pack 7 ou une version ultérieure sur AIX 7.2, qui comprend l'ensemble de fichiers libc++.rte, avant d'activer le traçage HTTPd.
Vous pouvez vérifier l'installation de l'ensemble de fichiers libc++.rte à l'aide de la commande suivante:
lslpp -l |grep libc++.rte
Installation
La fonction de traçage HTTPd est désactivée par défaut. Lorsque le traçage d' HTTPd s est activé comme décrit dans la section « Activer le traçage », le capteur HTTPd télécharge automatiquement la dernière version du module de traçage HTTPd. La configuration du traçage se trouve à l'adresse <agent_install_dir>/etc/instana/configuration.yaml, et la version actuelle de l'agent Instana contient un exemple des paramètres de configuration disponibles.
Installation manuelle
Si le serveur HTTPd fonctionne avec des privilèges limités en lecture seule dans un environnement conteneurisé, l'installation automatique du module de traçage HTTPd ne fonctionne pas dans ce cas. Vous pouvez installer manuellement le module de traçabilité d' HTTPd. en suivant les étapes suivantes :
- Obtenez les modules appropriés pour votre version d' HTTP Server .
- Copiez les modules dans votre dossier de modules HTTP Server .
- Chargez les modules dans votre fichier de configuration d' HTTPd.
Télécharger les modules
Les liens de téléchargement des modules pour les versions prises en charge du serveur HTTP sont disponibles sur la page « Modules de traçage » du site HTTPd.
Copier les modules
Les deux modules téléchargés à l'étape précédente doivent être placés dans un dossier contenant d'autres modules HTTP et doivent disposer des droits d'accès aux fichiers associés. Pour les versions du module antérieures à l' 1.0.7, le fichier tracelibrary_x86_64-1.0.7.so doit être renommé en tracelibrary.so.
Charger les modules
Créez un fichier nommé instana_tracing.conf au même emplacement que le fichier de configuration HTTPd (par exemple /etc/httpd/conf/httpd.conf). Le contenu du fichier peut ressembler à ce qui suit:
LoadModule dem_module /usr/lib64/httpd/modules/mod_dem_x86_64-1.0.8.so
Ensuite, ajoutez une ligne dans le fichier de configuration d' HTTPd. pour inclure le fichier instana_tracing.conf.
Include /etc/httpd/conf/instana_tracing.conf
Configuration
Voici la liste des paramètres de configuration de traçage d' HTTPd s disponibles dans le configuration.yaml fichier de l'agent Instana :
# Apache Httpd
#com.instana.plugin.httpd:
# tracing:
# # Enabling tracing will automatically download the HTTPd Tracing module and
# # load it in your Apache configuration file. You will need to manually restart
# # Apache HTTP Server unless you specify a restart script in notificationScript
# # or enable autoRestart. Disabling tracing will not remove the HTTPd Tracing module.
# # It will only remove the tracing module config from the Apache configuration file.
# enabled: false
# # Pins the HTTPd Tracing module to download and install to a specific version.
# # This can be used to rollback to previous versions of the module or to test
# # beta versions (when asked to do so). Expects the version to be given as
# # major.minor.patch format, e.g. 1.0.0
# pinModuleVersion: x.y.z
# # The absolute path to the script to trigger whenever the sensor installed
# # a different version of the HTTPd Tracing module than is currently installed.
# # Works for upgrades and downgrades. Default is empty.
# notificationScript: /path/to/restart_apache.sh
# # Enabling auto-restart will let the sensor attempt a graceful restart of your
# # Apache HTTP Server to load the updated HTTPd Tracing module into memory.
# # If you specify a notificationScript, then the sensor will ignore autoRestart setting
# # unless the execution of.notificationScript failed.
# autoRestart: false
Activer le traçage
Ouvrez <agent_install_dir>/etc/instana/configuration.yaml à l'aide d'un éditeur de texte. Les entrées sont de nature similaire:
#com.instana.plugin.httpd:
# tracing:
# enabled: false
Supprimez la mise en commentaire de ces lignes et remplacez enabled: false par enabled: true.
com.instana.plugin.httpd:
tracing:
enabled: true
Si le redémarrage automatique n'est pas configuré, vous devez redémarrer manuellement HTTP Server pour charger le module de traçage HTTPd en mémoire.
Désactiver la fonction de trace
Ouvrez <agent_install_dir>/etc/instana/configuration.yaml à l'aide d'un éditeur de texte. Remplacez enabled: true par enabled: false. La fonction de trace des remarques est désactivée par défaut, par conséquent, la mise en commentaire de cette ligne est la même. Après la modification, les entrées doivent ressembler au code suivant:
com.instana.plugin.httpd:
tracing:
enabled: false
Si le redémarrage automatique n'est pas configuré, vous devez redémarrer manuellement HTTP Server pour décharger le module de traçage HTTPd de la mémoire.
Epinglage de la version
Le module de traçage « HTTPd » à télécharger et à installer peut être associé à une version spécifique. Si cette ligne pinModuleVersion: x.y.z est commentée, la version actuelle du module de traçage d' HTTPd est téléchargée et installée.
Remplacez x.y.z par la version de module spécifiée à la ligne pinModuleVersion: x.y.z dans <agent_install_dir>/etc/instana/configuration.yaml. Après la modification, les entrées doivent ressembler au code yaml suivant:
com.instana.plugin.httpd:
tracing:
enabled: true
pinModuleVersion: 1.0.8
Si les modules de traçage d' HTTPd s sont téléchargés et installés manuellement, la valeur de pinModuleVersion la configuration doit correspondre à la version des modules téléchargés.
Redémarrage automatique
Lorsque le traçage est activé (comme indiqué dans « Activer le traçage »), le capteur « HTTPd » télécharge et installe automatiquement le module de traçage « HTTPd » adapté à votre configuration « HTTP Server ». De plus, le capteur pourrait alors tenter un redémarrage en douceur (apachectl -k graceful) de votre HTTP Server. Un redémarrage en douceur charge le module de traçage d' HTTPd s en mémoire sans redémarrer le processus maître. Il fonctionne donc même lorsque le processus s'exécute en tant que PID 1 à l'intérieur du conteneur.
Vous pouvez activer ou désactiver le redémarrage automatique en configurant le paramètre de configuration autoRestart dans <agent_install_dir>/etc/instana/configuration.yaml. Par exemple, le paramètre suivant active le redémarrage automatique:
com.instana.plugin.httpd:
tracing:
enabled: true
autoRestart: true
Vous pouvez également modifier la manière dont le capteur « HTTPd » tente de redémarrer votre environnement « HTTP Server » via le notificationScript paramètre de configuration. Ce paramètre accepte un chemin d'accès absolu vers un script shell exécutable. Si votre HTTP Server s'exécute dans un conteneur, il s'agit du chemin absolu au sein du conteneur. Ce script se déclenche chaque fois que le capteur détecte une version du module de traçabilité « HTTPd » différente de celle qui est installée. Lorsque ce script est configuré et exécuté avec succès, il remplace le mécanisme par défaut pour le redémarrage automatique.
Remarque : si les modules de traçage d' HTTPd s sont téléchargés et installés manuellement, le redémarrage automatique doit être désactivé dans les paramètres autoRestart de configuration et le paramètre de configuration doit notificationScript être commenté. Vous devez redémarrer manuellement HTTP Server pour charger ou décharger le module de traçage HTTPd.
HTTPd dans la prise en charge du traçage des conteneurs sans racine Podman
Pour collecter des métriques et des traces à partir d' HTTPd s s'exécutant dans un conteneur « rootless » Podman, vous devez maintenir la communication réseau entre l'agent Instana et le réseau du conteneur « rootless » Podman.
Suppression du module de traçage d' HTTPd
HTTPd Le module de traçage peut être désinstallé manuellement en suivant les étapes suivantes :
Placez-le
instana_tracing.confau même emplacement que le fichier de configuration HTTPd (par exemple/etc/httpd/conf/httpd.conf). Récupérez le chemin d'accès absolu du module de traçage HTTPd à partir du contenu deinstana_tracing.conf. Par exemple, le contenu du fichier peut ressembler au code suivant:LoadModule dem_module /usr/lib64/httpd/modules/mod_dem_x86_64-1.0.8.soLe module de traçage de l' HTTPd, quant à lui, se trouve à l'adresse
/usr/lib64/httpd/modules/mod_dem_x86_64-1.0.8.so.Désactiver le traçage d' HTTPd, comme dans « Désactiver le traçage ».
Retirez le module de traçage « HTTPd
mod_dem_[arch]-[version].so» (par exemple,/usr/lib64/httpd/modules/mod_dem_x86_64-1.0.8.so) ettracelibrary_[arch]-[version].soplacez-le au même emplacement (par exemple,/usr/lib64/httpd/modules/tracelibrary_x86_64-1.0.8.so).