Cómo verificar el estado y el tiempo de actividad de Apache en CentOS / Ubuntu
En este tutorial, explicaré diferentes formas de identificar el estado de tiempo de actividad de Apache en nuestras últimas distribuciones de CentOS 7.4 y Ubuntu 16.04 utilizando varias utilidades de línea de comandos y otros métodos.
utilidad ps
ps es un programa que muestra los procesos que se están ejecutando actualmente. Esta utilidad muestra información sobre una selección de los procesos activos que se ejecutan en un sistema Linux, podemos usarla con el comando grep para verificar el tiempo de actividad del servicio Apache de la siguiente manera.
En Ubuntu / Debian
El resultado de muestra a continuación muestra que el servicio Apache2 se ha estado ejecutando durante 8 horas, 30 minutos y 5 segundos considerando el que se ejecutó como root.
# ps -eo comm,etime,user | grep apache2 apache2 08:30:05 root apache2 08:13:59 www-data apache2 08:13:59 www-data # ps -eo comm,etime,user | grep root | grep apache2 apache2 08:30:18 root
En CentOS / RHEL
El resultado de muestra a continuación muestra que el servicio Apache se ha estado ejecutando durante 2 días, 5 horas, 53 minutos y 17 segundos considerando el que se ejecutó como root.
# ps -eo comm,etime,user | grep httpd httpd 2-05:53:17 root httpd 11:07:49 apache httpd 11:07:49 apache httpd 11:07:49 apache httpd 11:07:49 apache httpd 11:07:49 apache httpd 09:19:24 apache # ps -eo comm,etime,user | grep root | grep httpd httpd 2-05:53:17 root
Aquí, la bandera:
-e: enables selection of every processes on the system. -o: is used to specify output comm: command etime: mention process execution time user: specifies the process owner
Utilidad Systemctl
El comando systemctl es el comando básico que se utiliza para administrar y controlar systemd, incluidos los servicios del sistema. Le permite habilitar, deshabilitar, ver, iniciar, detener o reiniciar los servicios del sistema. Podemos usar este subcomando systemctl status para ver el estado de nuestro servicio Apache como se muestra a continuación:
En Ubuntu / Debian
Puede usar el siguiente comando para obtener el tiempo de actividad de Apache2 en un servidor Ubuntu / Debian.
# systemctl status apache2 | grep -i active Active: active (running) since Sun 2018-03-04 14:45:59 UTC; 19min ago
En CentOS / RHEL
Puede utilizar el mismo comando «systemctl» para encontrar el estado de httpd
# systemctl status httpd | grep -i active Active: active (running) since Fri 2018-03-02 08:47:46 UTC; 2 days ago
Utilidad Apachectl
Apachectl es una interfaz de control de front-end para el servidor Apache HyperText Transfer Protocol (HTTP). Está diseñado para ayudar a los administradores a controlar el funcionamiento del demonio Apache. Este método requiere que el módulo mod_status esté instalado y habilitado en el servidor para que funcione según sea necesario. Se presenta una página HTML en el navegador que brinda las estadísticas actuales del servidor en una forma fácilmente legible. Está habilitado en todos los servidores de forma predeterminada. Para verificar el estado de Apache usando esta utilidad desde la línea de comando, necesitamos habilitar el navegador web de línea de comando como lynx o elinks. De lo contrario, informará de la siguiente manera:
# apachectl status /usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found 'www-browser -dump http://localhost:80/server-status' failed. Maybe you need to install a package providing www-browser or you need to adjust the APACHE_LYNX variable in /etc/apache2/envvars
Por lo tanto, instalé estos navegadores web de línea de comandos para que funcione desde la terminal del servidor.
En Ubuntu / Debian
Podemos instalar el navegador de línea de comandos Lynx para habilitar el estado de apachectl aquí.
# apt install lynx # apachectl status Apache Server Status for localhost (via ::1) Server Version: Apache/2.4.18 (Ubuntu) Server MPM: event Server Built: 2017-09-18T15:09:02 __________________________________________________________________
Current Time: Sunday, 04-Mar-2018 15:24:38 UTC Restart Time: Sunday, 04-Mar-2018 14:45:58 UTC Parent Server Config. Generation: 1 Parent Server MPM Generation: 0 Server uptime: 38 minutes 39 seconds Server load: 0.00 0.00 0.00 Total accesses: 0 - Total Traffic: 0 kB CPU Usage: u0 s0 cu0 cs0 0 requests/sec - 0 B/second - 1 requests currently being processed, 49 idle workers PID Connections Threads Async connections total accepting busy idle writing keep-alive closing 18424 0 yes 1 24 0 0 0 18425 0 yes 0 25 0 0 0 Sum 0 1 49 0 0 0 W_________________________________________________.............. ................................................................ ...................... Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "C" Closing connection, "L" Logging, "G" Gracefully finishing, "I" Idle cleanup of worker, "." Open slot with no current process
En CentOS / RHEL
Podemos instalar el navegador de línea de comandos elinks para habilitar el estado de apachectl aquí.
# yum install elinks # apachectl status * httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2018-03-04 15:28:20 UTC; 6min ago Docs: man:httpd(8) man:apachectl(8) Process: 21280 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Process: 14448 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS) Main PID: 21286 (httpd) Status: "Total requests: 1; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service |-21286 /usr/sbin/httpd -DFOREGROUND |-21288 /usr/sbin/httpd -DFOREGROUND |-21289 /usr/sbin/httpd -DFOREGROUND |-21290 /usr/sbin/httpd -DFOREGROUND |-21291 /usr/sbin/httpd -DFOREGROUND |-21292 /usr/sbin/httpd -DFOREGROUND `-21293 /usr/sbin/httpd -DFOREGROUND Mar 04 15:28:20 li694-77.members.linode.com systemd[1]: Starting The Apache HTTP Server... Mar 04 15:28:20 li694-77.members.linode.com systemd[1]: Started The Apache HTTP Server.
Habilitación del módulo Mod-Status
Alternativamente, para ver la información de estado del servidor web Apache desde un navegador web gráfico, debe habilitar el módulo de estado del servidor en la configuración de Apache.
En CentOS / RHEL
Para habilitar el módulo de estado del servidor, debe crear un archivo llamado /etc/httpd/conf.d/server-status.conf
en nuestro servidor con el siguiente contenido y reinicie Apache para que los cambios sean efectivos.
# cat /etc/httpd/conf.d/server-status.conf <Location "/server-status"> SetHandler server-status #Require host localhost #uncomment to only allow requests from localhost </Location>
Ahora puedes navegar por la URL http://server-IP/server-status
para ver el estado.
En Ubuntu / Debian
Del mismo modo, puede comentar las siguientes entradas en el /etc/apache2/mods-enabled/status.conf
en nuestros servidores Debian / Ubuntu y vuelva a cargar la configuración de Apache2 para que estos cambios sean efectivos.
# cat /etc/apache2/mods-enabled/status.conf <IfModule mod_status.c> # Allow server status reports generated by mod_status, # with the URL of http://servername/server-status # Uncomment and change the "192.0.2.0/24" to allow access from other hosts. <Location /server-status> SetHandler server-status #Require local #uncomment to only allow requests from localhost #Require ip 192.0.2.0/24 #uncomment and change the “192.0.2.0/24” to allow access from other hosts. </Location> # Keep track of extended status information for each request ExtendedStatus On # Determine if mod_status displays the first 63 characters of a request or # the last 63, assuming the request itself is greater than 63 chars. # Default: Off #SeeRequestTail On <IfModule mod_proxy.c> # Show Proxy LoadBalancer status in mod_status ProxyStatus On </IfModule> </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Ahora puedes navegar por la URL http://server-IP/server-status
para ver el estado. Alternativamente, puede ejecutar el comando usando un navegador en modo texto como elinks o lynx para ver el tiempo de actividad de Apache como
#elinks http://localhost/server-status or #lynx http://localhost/server-status
Seguimiento del tiempo de actividad desde los registros de Apache
En servidores Ubuntu / Debian, puede ver los registros de Apache ubicados en /var/log/apache2/error.log
para identificar los últimos intentos de reinicio de Apache usando este comando a continuación:
# tail -f /var/log/apache2/error.log | grep resuming [Sun Mar 04 06:25:02.611615 2018] [mpm_event:notice] [pid 15230:tid 140159687124864] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Mar 04 14:45:58.950825 2018] [mpm_event:notice] [pid 18421:tid 139913481500544] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Sun Mar 04 15:42:25.768467 2018] [mpm_event:notice] [pid 18421:tid 139913481500544] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
Asimismo, en los servidores CentOS / RHEL puede ver los registros de Apache ubicados en /var/log/httpd/error_log
para identificar el intento reciente de reinicio de Apache usando este comando a continuación:
# tail -f /var/log/httpd/error_log | grep resuming [Sun Mar 04 15:28:20.579455 2018] [mpm_prefork:notice] [pid 21286] AH00163: Apache/2.4.6 (CentOS) configured -- resuming normal operations
Seguimiento del tiempo de actividad desde los paneles de control de alojamiento web
Estamos familiarizados con varios paneles de control de alojamiento web como WHM, DirectAdmin, Plesk, InterWorx, Webmin, Kloxo, etc. Lo guiaré a través de los pasos para ver el tiempo de actividad de Apache en dos de los paneles de alojamiento web más utilizados como WHM e Interworx a continuación. :
WHM
En un servidor WHM, podemos ver el estado de Apache, navegando por la ruta WHM HOME >> Server Status >> Apache Status
después de iniciar sesión en su Panel WHM en la URL >>https://serverIP or hostname:2087
como se muestra en la captura de pantalla.
Interworx
El Panel de control web de InterWorx es un panel de control de alojamiento web basado en Linux para alojamiento dedicado y VPS. Tanto los administradores del sistema como el administrador del sitio web pueden utilizarlo con facilidad. En este Panel, podemos verificar el tiempo de actividad de Apache navegando por los pasos a continuación:
Inicie sesión en su Panel de Nodeworx en >> https://hostname or ServerIP:2443
Navegar por el Camino Nodeworx Home >> System Services >> Web Server
En aquellos paneles que no tienen una interfaz fácil de usar para verificar el estado del servidor web, podemos habilitar el módulo mod_status para ver su tiempo de actividad desde el navegador.
Todos estos métodos permiten al administrador del servidor averiguar qué tan bien está funcionando su servidor. Además, también se puede utilizar para solucionar problemas relacionados con los tiempos de inactividad del dominio. Espero que este artículo les sea de utilidad a todos. Por favor déjeme saber sus sugerencias y pensamientos para compartir sobre esto.