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 useurllib
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-statusAuthUserFile /passwordlocationAuthType BasicAuthNameBenutzer 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.confFü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
toListen 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.confFü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 sslFü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_monitoring.py" and the "apache_monitoring.cfg" file from our GitHub-Repository 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
- Erstellen Sie den Ordner "apache_monitoring" im Plug-in-Verzeichnis "/opt/site24x7/monagent/plugins/" des Linux-Agenten von Site24x7 und legen Sie "apache_monitoring.py" unter "/opt/site24x7/monagent/plugins/apache_monitoring/" ab.
Der Agent führt das Plug-in automatisch innerhalb von fünf Minuten aus und sendet Leistungsdaten an das Site24x7-Rechenzentrum.
Manually execute the plugin script using the following command and verify its output:
python apache_monitoring.py
Daten im Webclient von Site24x7 anzeigen
- Melden Sie sich an, navigieren Sie zu "Server" > "Plug-ins" und klicken Sie auf den Namen der Plug-in-Überwachung.
- 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 Linuxn - und Windows -Plug-ins und Überwachung der erforderlichen Attribute
- GitHub Repository – Zur Anzeige von mehr als 50 Plug-in-Integrationen