Cómo comprobar el estado y el tiempo de actividad de Apache en CentOS/Ubuntu
En este tutorial, explicaré diferentes formas de identificar el estado de ejecución de Apache en las distribuciones más recientes de CentOS 7.4 y Ubuntu 16.04 utilizando varias utilidades de línea de comandos y otros métodos.
pd utilitario
ps es un programa que muestra los procesos que se están ejecutando actualmente. Esta utilidad muestra información sobre una selección de 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 el servicio Apache2 ejecutándose durante 8 horas, 30 minutos y 5 segundos, considerando el que se ejecuta 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 está ejecutando 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í está 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
La utilidad Systemctl
El comando systemctl es el comando básico que se usa 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 de la siguiente manera:
En Ubuntu/Debian
Puede usar el siguiente comando para obtener el tiempo de ejecución 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 usar 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 frontal 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 proporciona estadísticas actuales del servidor en un formato fácil de leer. Está habilitado por defecto en todos los servidores. Para verificar el estado de Apache usando esta utilidad de línea de comandos, debemos habilitar el navegador web de línea de comandos como lynx o elinks. O, 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
Así que instalé estos navegadores web de línea de comandos para que funcionen desde la terminal del servidor.
En Ubuntu/Debian
Podemos instalar el navegador de línea de comandos Lynx para habilitar el estado 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 de 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.
Activació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 su 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 puede 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 /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 puede 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 ejecución de Apache como
#elinks http://localhost/server-status
or
#lynx http://localhost/server-status
Seguimiento del tiempo de actividad de los registros de Apache
En servidores Ubuntu/Debian, puede ver los registros de Apache en /var/log/apache2/error.log
para identificar los intentos de reinicio de Apache más recientes 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
También 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 a continuación para ver el tiempo de actividad de Apache en dos de los paneles de control de alojamiento web más utilizados, como WHM e Interworx. :
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 URL >>https://serverIP or hostname:2087
como se muestra en la captura de pantalla.
intertrabajar
InterWorx Web Control Panel es un panel de control de alojamiento web basado en Linux para alojamiento dedicado y VPS. Puede ser utilizado fácilmente tanto por los administradores del sistema como por el administrador del sitio web. En este panel, podemos verificar el tiempo de actividad de Apache navegando a través de los pasos a continuación:
Inicie sesión en el panel de Nodeworx en >> https://hostname or ServerIP:2443
Navegar por el Camino Nodeworx Home >> System Services >> Web Server
En aquellos paneles que no cuenten con 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 le permiten al administrador del servidor averiguar qué tan bien está funcionando su servidor. Además, también se puede utilizar para solucionar problemas de tiempo de inactividad del dominio. Espero que este artículo sea útil para todos ustedes. Por favor, hágame saber sus sugerencias y pensamientos para compartir sobre esto.