Le serveur Apache HTTP, également appelé Apache HTTPd, est un logiciel de serveur Web couramment utilisé. Son utilisation étendue est due à sa facilité de personnalisation et à son caractère open source.
Si vous avez utilisé Apache, il est essentiel de surveiller ses performances pour être conscient des problèmes de dégradation et des goulots d'étranglement. Utilisez notre plug-in pour afficher les tendances des performances en temps réel et les indicateurs historiques, le tout dans un seul tableau de bord. Ce document détaille :
Indicateurs de surveillance des performances
Demandes par seconde
req_per_sec
records the total number of HTTP requests the web server is processing per second.
Travailleurs occupés
Use the metric busy_workers
to get the total number of processes actively processing an HTTP request
Travailleurs inactifs
idle_workers
is the total number of idle workers/idle processes waiting for an HTTP request. If you have very few or no idle processes, it means your server is using up all the processes and new requests have to be on hold until the older requests are completed.
Disponibilité
The metric disponibilité
gets the total amount of time the server has been up and running.
Octets par seconde
bytes_per_sec
records the total amount of data the web server is transferring per second.
Charge du processeur
Use the metric cpu_load
and get the total percentage of CPU used by the web server.
Octets par demande
The average number of bytes being transferred per HTTP request is obtained using the metric bytes_per_req
.
Nombre total d'accès
The total number of accesses on the server is monitored using the metric total_accessess
.
Conditions préalables
- This is a Python-based plugin supported from Python versions 2.7 and above. For version 2.7, we use
urllib2
module and for version 3.0 and above, we useurllib
module for monitoring the web server.
Configuration d’Apache
Veuillez suivre les étapes ci-dessous pour configurer votre serveur Web et surveiller ses performances. Quel que soit le système que vous utilisez, assurez-vous de sauvegarder le fichier de configuration avant d'y apporter des modifications, au cas où vous auriez besoin de revenir à une version antérieure.
- Modifiez le fichier de configuration du module d'état : /etc/apache2/mods-enabled/status.load
- Find the below line and make sure it is uncommented LoadModule status_module /usr/lib/apache2/modules/mod_status.so
- Modifiez le fichier de configuration du module d'état : /etc/apache2/mods-enabled/status.conf
- The below line allows access to the Status page from localhost using the URI /server-status <Location /server-status>
SetHandler server-status
Require local
</Location> - To restrict access to authenticated users and to specific IP addresses:
erver-status> SetHandler server-statusAuthUserFile /passwordlocationAuthType BasicAuthNameExiger l'utilisateur - Make sure the ExtendedStatus is enabled to track additional data about the currently executing requests per worker. ExtendedStatus activé
- Redémarrez le serveur
- Edit the ports configuration file: Pour Ubuntu/Debian : Edit /etc/apache2/ports.confPour CentOS/Redhat : Edit /etc/httpd/conf/httpd.conf
- Check for the line
Listen 80
. Change port from 80 to the desired port. - To make the server accept connections on the port for only specific interfaces, change
Listen 90
toListen domain.com:90
- Enregistrez le fichier et redémarrez le serveur
- Enable SSL support on Apache default virtual host file, found in the following location: Pour Ubuntu/Debian : sudo vi /etc/apache2/sites-enable/000-default.confPour CentOS/Redhat : sudo vi /etc/httpd/conf.d/ssl.conf
- Edit the virtual host file to support SSL in port 443 Pour Ubuntu/Debian :
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile <File Name>
SSLCertificateKeyFile <Key>
</VirtualHost>
Pour CentOS/Redhat :
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSLProtocol all -SSLv2
# SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile <File Name>
SSLCertificateKeyFile <Key>
</VirtualHost> - Run the below commands to enable SSL mode Pour Ubuntu/Debian : sudo a2enmod sslPour CentOS/Redhat : sudo yum install mod_ssl
- Redémarrez le serveur
Installation du plug-in
- Configurez Apache comme indiqué ci-dessus pour surveiller ses attributs de performances.
- Téléchargez et installez la dernière version de l'agent Linux de Site24x7 sur le serveur sur lequel vous prévoyez d'exécuter le plug-in. S'il est installé avec succès, vous verrez un moniteur de serveur Linux dans le panneau de configuration Site24x7. Cela confirme que l'agent est en mesure de communiquer avec notre centre de données.
- Download the "apache_monitoring.py" and the "apache_monitoring.cfg" file from our Référentiel GitHub wget https://raw.githubusercontent.com/site24x7/plugins/master/apache_monitoring/apache_monitoring.py && sed -i "1s|^.*|#! $(which python3)|" apache_monitoring.pywget https://raw.githubusercontent.com/site24x7/plugins/master/apache_monitoring/apache_monitoring.cfg
- Update the file with your Status URL for monitoring apache. By default, we have enabled it to be:
http://localhost:80/server-status?auto
- Créez un dossier portant le nom « apache_monitoring » dans le répertoire des plug-ins de l'agent Linux de Site24x7 « /opt/site24x7/monagent/plugins/ » et placez le fichier « apache_monitoring.py » sous « /opt/site24x7/monagent/plugins/apache_monitoring/ »
L'agent exécute automatiquement le plug-in dans un délai de cinq minutes et envoie les données de performances au centre de données Site24x7.
Manually execute the plugin script using the following command and verify its output:
python apache_monitoring.py
Afficher les données dans le client Web de Site24x7
- Connectez-vous à Serveur > Plug-ins > et cliquez sur le nom du moniteur de plug-in.
- Vous pourrez afficher les graphiques de performances sur les différents indicateurs de votre serveur.
Gestion des erreurs
N° de série | Message d'erreur | Motif |
---|---|---|
1 | Error_code : Erreur URL [errno -2] Nom ou service inconnu | Nom d'hôte non valide |
2 | Error_code : URL Error [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol | Si l'URL d'état d'Apache n'est pas configurée en HTTPS |
3 | Error_code : Erreur HTTP 404 | URL d'état non valide |
4 | Error_code : Erreur HTTP 400 | Numéro de port non valide |
Contribution du plug-in
N'hésitez pas à contribuer à notre plug-in existant et à faire des suggestions ou des commentaires sur notre communauté.
Articles connexes
- Plug-ins prêts à l'emploi : surveillez l'ensemble de votre pile d'applications grâce à notre liste complète d'intégrations
- Surveillance de serveurs : restez à l'affût des pannes de serveurs et des problèmes de performances
- Redis : surveillez les indicateurs de performance de vos bases de données Redis
- MySQL : surveillez les indicateurs de performance de vos bases de données MySQL
- Zombie Process : analysez les performances de votre serveur Zombie Process
- Nagios : exécutez des milliers de plug-ins Nagios dans Site24x7 sans avoir besoin d'exécuter un serveur Nagios
- Contrôle de script personnalisé : créez les plug-ins Linux et Windows personnalisés et des attributs de moniteur dont vous avez besoin
- Référentiel GitHub : découvrez nos intégrations de plus de 50 plug-ins