Leistung des Apache-Webservers überwachen

Der Apache HTTP Server, auch bekannt als Apache HTTPd, ist eine weit verbreitete Webserversoftware. Seine weite Verbreitung ist auf seine leicht anpassbare Funktionalität und seinen offenen Quellcode zurückzuführen.

Wenn Sie Apache verwenden, ist es wichtig, die Leistung zu überwachen, um Leistungsabfallprobleme und Engpässe festzustellen. Nutzen Sie unser Plug-in, um Leistungstrends in Echtzeit und historische Kennzahlen in einem zentralen Dashboard anzuzeigen. In diesem Dokument werden folgende Informationen aufgeführt:

Kennzahlen zur Leistungsüberwachung

Anfragen pro Sekunde

req_per_sec records the total number of HTTP requests the web server is processing per second.

Beschäftigte Worker

Use the metric busy_workers to get the total number of processes actively processing an HTTP request

Inaktive Worker

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.

Verfügbarkeit

The metric Verfügbarkeit gets the total amount of time the server has been up and running.

Byte pro Sekunde

bytes_per_sec records the total amount of data the web server is transferring per second.

CPU-Last

Use the metric cpu_load and get the total percentage of CPU used by the web server.

Byte pro Anfrage

The average number of bytes being transferred per HTTP request is obtained using the metric bytes_per_req.

Zugriffe insgesamt

The total number of accesses on the server is monitored using the metric total_accessess.

Voraussetzungen

  • 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.

Apache-Konfiguration

Führen Sie die folgenden Schritte aus, um Ihren Webserver zu konfigurieren und seine Leistung zu überwachen. Unabhängig vom verwendeten System sollten Sie die Konfigurationsdatei sichern, bevor Sie Änderungen vornehmen, damit Sie bei Bedarf zu einer früheren Version zurückkehren können.

  • Bearbeiten Sie die Konfigurationsdatei des Statusmoduls: /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
  • Bearbeiten Sie die Konfigurationsdatei des Statusmoduls: /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
    Benutzer erforderlich
  • Make sure the ExtendedStatus is enabled to track additional data about the currently executing requests per worker.
    ExtendedStatus aktiviert
  • Starten Sie den Server neu.
  • Edit the ports configuration file:
    Für Ubuntu/Debian: Edit /etc/apache2/ports.conf
    Für 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
  • Speichern Sie die Datei und starten Sie den Server neu.
  • Enable SSL support on Apache default virtual host file, found in the following location:
    Für Ubuntu/Debian: sudo vi /etc/apache2/sites-enable/000-default.conf
    Für Centos/Redhat: sudo vi /etc/httpd/conf.d/ssl.conf
  • Edit the virtual host file to support SSL in port 443
    Für 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>

    Für 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
    Für Ubuntu/Debian: sudo a2enmod ssl
    Für Centos/Redhat: sudo yum install mod_ssl
  • Starten Sie den Server neu.

Plug-in-Installation

  • Konfigurieren Sie Apache wie oben beschrieben, um die Leistungsmerkmale des Systems zu überwachen.
  • Laden Sie die neueste Version des Linux-Agenten von Site24x7 herunter und installieren Sie ihn auf dem Server, auf dem Sie das Plug-in ausführen möchten. Nach erfolgreicher Installation sehen Sie die Überwachung des Linux-Servers in der Steuerkonsole von Site24x7. Dies bestätigt, dass der Agent in der Lage ist, mit unserem Rechenzentrum zu kommunizieren.
  • Download the "apache.py" file from our GitHub-Repository
    wget https://raw.githubusercontent.com/site24x7/plugins/master/apache/apache.py
  • Update the file with your Status URL for monitoring apache. By default, we have enabled it to be: http://localhost:80/server-status?auto
  • Erstellen Sie den Ordner "apache" im Plug-in-Verzeichnis "/opt/site24x7/monagent/plugins/" des Linux-Agenten von Site24x7 und legen Sie "apache.py" unter "/opt/site24x7/monagent/plugins/apache/" ab.

Der Agent führt das Plug-in automatisch innerhalb von fünf Minuten aus und sendet Leistungsdaten an das Site24x7-Rechenzentrum.

Tipp

Manually execute the plugin script using the following command and verify its output:

python apache.py

Daten im Webclient von Site24x7 anzeigen

  1. Melden Sie sich an, navigieren Sie zu "Server" > "Plug-ins" und klicken Sie auf den Namen der Plug-in-Überwachung.
  2. Sie können Leistungsdiagramme für die verschiedenen Kennzahlen des Servers anzeigen.

Fehlerbehandlung

S.No Fehlermeldung Grund
1 Error_code: URL-Fehler [Errno -2] Name oder Dienst nicht bekannt Ungültiger Hostname
2 Error_code: URL Error [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Wenn die Apache-Status-URL nicht für HTTPS konfiguriert ist
3 Error_code: HTTP-Fehler 404 Ungültige Status-URL
4 Error_code: HTTP-Fehler 400 Ungültige Portnummer

Plug-in-Beitrag

Sie können gerne einen Beitrag zu unseren bestehenden Plug-ins leisten und Vorschläge oder Feedback in unserer Community einreichen.

Verwandte Artikel

  • Sofort einsetzbare Plug-ins – Zur Überwachung Ihres gesamten App-Stacks mit unserer umfangreichen Auswahl an Integrationen
  • Server-Überwachung – Um den Überblick über Serverausfälle und Leistungsprobleme zu behalten
  • Redis – Zur Überwachung der Leistungskennzahlen Ihrer Redis-Datenbanken
  • MySQL – Zur Überwachung der Leistungskennzahlen von MySQL-Datenbanken
  • Zombie-Prozess – Zur Analyse der Leistung Ihres Servers für Zombie Prozesse
  • Nagios – Zur Ausführung Tausender von Nagios-Plug-ins in Site24x7, ohne einen Nagios-Server betreiben zu müssen
  • Benutzerdefinierte Skriptüberwachung – Zur Erstellung benutzerdefinierter Linux- und Windows-Plug-ins und Überwachung der erforderlichen Attribute
  • GitHub Repository – Zur Anzeige von mehr als 50 Plug-in-Integrationen