LINUX

PRM – Monitor de recursos de proceso para Linux

PRM es un monitor de recursos de CPU, memoria, procesos y tiempo de ejecución (transcurrido) para sistemas Linux. Para ello, supervisa la tabla de procesos en un sistema determinado y hace coincidir los ID del proceso con los límites de recursos establecidos en el archivo de configuración o las reglas basadas en el proceso. Los identificadores de proceso que coinciden o superan los límites establecidos se registran y eliminan y se pueden enviar alertas a las direcciones de correo electrónico.

La función de monitoreo de recursos de PRM se puede controlar a través de una serie de opciones de ignorar, la capacidad de configurar activadores de eliminación suave / dura, esperar / volver a verificar los tiempos y enviar señales de eliminación a los árboles de proceso padre / hijo.

Instalación de PRM

1. Descargue el paquete fuente:

wget http://www.rfxnetworks.com/downloads/prm-current.tar.gz

2. Extraiga el archivo fuente comprimido:

tar –xvzf prm-current.tar.gz

3. Ejecute el script de instalación:

cd prm-*
./install.sh

Configuración del PRM

El archivo de configuración de la instalación de PRM se puede encontrar en “/usr/local/prm/conf.prm”. Podemos revisar los principales parámetros de configuración de PRM aquí.

1. IGNORE_ROOT = «1»

Esto le dice a PRM que ignore cualquier proceso de propiedad raíz; sin embargo, cuando se establece la opción KILL_PARENT, los procesos principales de propiedad raíz aún estarán sujetos a la eliminación.

2. IGNORE = «»

Esta es una opción importante y es el método recomendado para ignorar cuando se usa el sistema de reglas. Los valores aceptados son expresiones regulares básicas y extendidas, que utilizan tuberías (|) como espaciador. Por ejemplo, IGNORE = «^ httpd $ | ^ sendmail $», cuando se coloca en una regla llamada nadie.usuario, ignoraría cualquier proceso bajo usuario nadie que tenga el nombre de comando exactamente «httpd» o «sendmail».

3. USR_ALERT = «1»

Esto habilitará las alertas de correo electrónico del usuario.

4. USR_ADDR = «root, you@domain.com»

Esto configurará las direcciones de correo electrónico para recibir alertas.

5. MIN_LOAD = «1»

El PRM tiene opcionalmente un promedio de carga requerido para funcionar. Si la carga no es igual o mayor que este valor; PRM no se ejecutará.

6. KILL_TRIG = «3»

KILL_WAIT = «10»

Estos valores controlan las nuevas comprobaciones suaves de un proceso, lo que permite que se vuelvan a comprobar los recursos de un proceso en tiempos de TRIG con tiempo de ESPERA entre comprobaciones, dando un poco de margen para que un proceso «estalle» los recursos y vuelva al uso normal. El tiempo máximo para matar un proceso es igual a TRIG * WAIT, estos valores se pueden establecer en 0 si desea eliminar instantáneamente los procesos ofensivos.

7. MAXCPU = «40»

El porcentaje máximo de CPU que un proceso puede usar de forma segura antes de que PRM lo marque para su eliminación.

8. MAXMEM = «20»

Lectura de uso máximo de memoria para un proceso:% de la memoria total del sistema que un proceso puede usar.

9. KILL_PARENT = «1»

Ésta es una opción importante que en la mayoría de los casos debería estar habilitada; permite que el proceso padre y los hijos del padre sean eliminados. Esto es importante, ya que cuando un proceso es creado por un subproceso principal (como Apache), cuando el hijo desaparece, el padre simplemente bifurcará un nuevo subproceso secundario para reemplazarlo.

Archivos de regla para PRM

El sistema de reglas tiene dos métodos de uso, el primero es una regla basada en el usuario y el segundo es una regla basada en comandos de proceso. La ruta de las reglas se encuentra en / usr / local / prm / rules / y las convenciones de nomenclatura son las siguientes:

USERNAME.user
COMMAND.cmd

Ejemplo de archivo de reglas, reglas / nadie.usuario:

IGNORE="^httpd$|^suexec$|^suphp$|^cgiwrap$|^spamd$"
MAX_CPU="50"
MAX_MEM="10"
MAX_PROC="25"
KILL_TRIG="3"
KILL_WAIT="10"
# We need to kill parent here otherwise the HTTP Request that spawned the
# script we are trying to kill, will probably just respawn it.
KILL_PARENT="1"
KILL_SIG="9"
KILL_RESTART_CMD="/etc/init.d/httpd restart"

Ejecución automática de PRM

El programa ejecutable reside en ‘/ usr / local / prm / prm’ y ‘/ usr / local / sbin / prm’. El ejecutable prm puede recibir uno de dos argumentos:

-s Ejecución estándar
-q Carrera silenciosa

La ejecución predeterminada de PRM se maneja a través de /etc/cron.d/prm y se configura para ejecutarse a intervalos de 5 minutos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar