El servidor HTTP de Apache, también conocido como Apache HTTPd, es un software de servidor web que se utiliza comúnmente. Su amplio uso se debe a la función fácil de personalizar y su código abierto.
Si ha estado utilizando Apache, es fundamental monitorear su rendimiento para estar al tanto de los problemas de degradación y los obstáculos. Utilice nuestro complemento y vea tendencias de rendimiento en tiempo real y métricas históricas, todo en un solo panel. Detalles en este documento:
Métricas de monitoreo del rendimiento
Solicitudes por segundo
req_per_sec
records the total number of HTTP requests the web server is processing per second.
Trabajadores ocupados
Use the metric busy_workers
to get the total number of processes actively processing an HTTP request
Trabajadores inactivos
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.
Tiempo de actividad
The metric tiempo de actividad
gets the total amount of time the server has been up and running.
Bytes por segundo
bytes_per_sec
records the total amount of data the web server is transferring per second.
Carga de CPU
Use the metric cpu_load
and get the total percentage of CPU used by the web server.
Bytes por solicitud
The average number of bytes being transferred per HTTP request is obtained using the metric bytes_per_req
.
Accesos totales
The total number of accesses on the server is monitored using the metric total_accessess
.
Requisitos previos
- 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.
Configuración de Apache
Siga los pasos que aparecen a continuación para configurar su servidor web a fin de supervisar el rendimiento. Independientemente del sistema que esté utilizando, asegúrese de guardar una copia de seguridad del archivo de configuración antes de realizar cambios, en caso de que necesite volver a una versión anterior.
- Edite el archivo de configuración del módulo de estado: /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
- Edite el archivo de configuración del módulo de estado: /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:
<server-status> SetHandler server-statusAuthUserFile /passwordlocationAuthType BasicAuthNameSe requiere usuario - Make sure the ExtendedStatus is enabled to track additional data about the currently executing requests per worker. ExtendedStatus On
- Reinicie el servidor
- Edit the ports configuration file: Para Ubuntu/Debian: Edit /etc/apache2/ports.confPara CentOS/Red Hat: 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
- Guarde el archivo y reinicie el servidor
- Enable SSL support on Apache default virtual host file, found in the following location: Para Ubuntu/Debian: sudo vi /etc/apache2/sites-enable/000-default.confPara CentOS/Red Hat: sudo vi /etc/httpd/conf.d/ssl.conf
- Edit the virtual host file to support SSL in port 443 Para 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>
Para CentOS/Red Hat:
<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 Para Ubuntu/Debian: sudo a2enmod sslPara CentOS/Red Hat: sudo yum install mod_ssl
- Reinicie el servidor
Instalación de complemento
- Configure Apache como se mencionó anteriormente para monitorear sus atributos de rendimiento.
- Descargue e instale la versión más reciente del agente de Linux de Site24x7 en el servidor en el cual planea ejecutar el complemento. Si se instala correctamente, verá un monitor de servidor Linux en el panel de control de Site24x7. Esto confirma que el agente puede comunicarse con nuestro centro de datos.
- Download the "“apache_monitoring.py”" and the "apache_monitoring.cfg" file from our Repositorio de 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
- Cree una carpeta con el nombre “apache_monitoring” en el directorio de complementos de agentes de Linux de Site24x7 “/opt/site24x7/monagent/plugins/” y coloque “apache_monitoring.py” en “/opt/site24x7/monagent/plugins/apache_monitoring/”
El agente ejecutará automáticamente el complemento en un plazo de cinco minutos y enviará datos de rendimiento al centro de datos de Site24x7.
Manually execute the plugin script using the following command and verify its output:
python apache_monitoring.py
Vea datos en el cliente web de Site24x7
- Inicie sesión y vaya a Servidor > Complementos; luego, haga clic en el nombre del monitor del complemento.
- Podrá ver los gráficos de rendimiento sobre las diversas métricas de su servidor.
Manejo de errores
N.° de serie | Mensaje de error | Motivo |
---|---|---|
1 | Código_de_error: URL Error [Errno -2] Name or service not known | Nombre de host no válido |
2 | Código_de_error: URL Error [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol | Si la URL de estado de Apache no está configurada como HTTPS |
3 | Código_de_error: HTTP Error 404 | URL de estado no válida |
4 | Código_de_error: HTTP Error 400 | Número de puerto no válido |
Contribución de complementos
No dude en contribuir a nuestro complemento existente y compartir sugerencias o comentarios en nuestra comunidad.
Artículos relacionados
- Complementos listos para usar: monitoree toda la pila de aplicaciones con nuestra amplia lista de integraciones
- Monitoreo del servidor: manténgase al tanto de las interrupciones del servidor y de los problemas de rendimiento
- Redis: monitoree las métricas de rendimiento de sus bases de datos de Redis
- MySQL: monitoree las métricas de rendimiento de sus bases de datos de MySQL
- Proceso zombi: analice el rendimiento de su servidor de procesos zombi
- Nagios: ejecute miles de complementos de Nagios en Site24x7 sin necesidad de ejecutar un servidor de Nagios
- Monitoreo de script personalizado: cree plugins personalizados de Linux y Windows, y monitoree los atributos que necesita
- Repositorio de GitHub: revise nuestras más de 50 integraciones de complementos