Surveiller les performances du serveur Web Apache

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 use urllib 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-status
    AuthUserFile /passwordlocation
    AuthType Basic
    AuthName
    Exiger 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.conf
    Pour 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 to Listen 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.conf
    Pour 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 ssl
    Pour 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.py
    wget 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.

Conseil

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

  1. Connectez-vous à Serveur > Plug-ins > et cliquez sur le nom du moniteur de plug-in.
  2. 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