SNMP Remoto

Este documento tiene como objetivo la descripción de la monitorización básica de equipos windows
y linux mediante snmp de forma remota usando un plugin de servidor.

Este plugin nos muestra la información de % Memoria RAM en uso, % de disco o filesystem en uso,
estado de un proceso / servicio, % CPU total.

Mediante las OIDs SNMP podemos conseguir el tamaño libre en bytes de RAM o % en disco, pero
con este plugin podemos conseguir el % de forma remota.

Introducción

Este documento tiene como objetivo la descripción de la monitorización básica de equipos windows y linux mediante snmp de forma remota usando un plugin de servidor.

Este plugin nos muestra la información de % Memoria RAM en uso, % de disco o filesystem en uso, estado de un proceso / servicio, % CPU total.

Mediante las OIDs SNMP podemos conseguir el tamaño libre en bytes de RAM o % en disco, perocon este plugin podemos conseguir el % de forma remota.

Requisitos

El plugin tiene como requisitos para poder funcionar:

•Tener habilitado snmp remoto con acceso desde el servidor de Pandora.
•net­snmp (Imprescindible para el servidor de Pandora).

Matriz de compatibilidad

La matriz de compatibilidad del agente es la siguiente:

Sistemas donde se ha probado Linux (SUSE,Fedora, Ubuntu...) con net­snmp
Sistemas donde debería funcionar Cualquier sistema

Módulos de agentes software generados

El Plugin creará un agente con 3 posibles módulos en su ejecución.
– % Mem Usage
– % CPU Usage
– % Disk use

Y un módulo por cada proceso monitorizado, definido en el conf.

 

Ejecución

Ejemplo de archivo conf:

# name for the agent
agent_name=snmp_remote
# configuration (1 for activate modules)
memuse=1
diskuse=1
cpuload=1
process=1
# number of proces to monitoring, each one create a module
numberprocess=3
# name for each process
process1=dhcp
process2=dockerd
process3=docker-proxy
# transfer configuration
mode=tentacle
tentacle_ip=172.42.42.101
tentacle_port=41121
#define
as_server_plugin=1

En agent_name se especifica el nombre para el agente, en las siguientes 4 opciones se configura que módulos quieren estar activados con 1 y los que lo estén crearan módulo en el agente.

Para los procesos se tiene que especificar el numero de procesos que se va a monitorizar y abajo especificar el nombre de cada proceso en cada opción process, en este por defecto he puesto 3 pero se pueden poner los que sean.

En transfer configuration las opciones de tentacle.

Ejemplo de lo que crearía este conf en pandora:

Ejecución

image-1672742827541.png

Pandorafms vista

image-1672742853915.png

image-1672742864931.png

Configurar como crontab

Para configurar el plugin, habrá que crear un crontab que haga una ejecución del plugin cada cierto tiempo.

Con el comando crontab podemos automatizar tareas, como en este caso, automatizar la ejecución de este script, para que se ejecute cada X tiempo, configurado por el usuario.

crontab -l → Listar todos los crontab programados
crontab -r → Borrar crontab
crontab -e → Crear un crontab

Las tareas cron siguen una determinada sintaxis, tienen 5 asteriscos seguidos del comando a ejecutar.

* * * * * comando a ejecutar.

Los 5 asteriscos
De izquierda a derecha, los asteriscos representan:
1. Minutos: de 0 a 59.
2. Horas: de 0 a 23.
3. Día del mes: de 1 a 31.
4. Mes: de 1 a 12.
5. Día de la semana: de 0 a 6, siendo 0 el domingo.

Si se deja un asterisco, quiere decir "cada" minuto, hora, día de mes, mes o día de la semana.

Palabras reservadas: Se pueden usar para facilitar el uso del programa.

●@monthly: ejecutar una vez al mes.
●@weekly: una vez a la semana.
●@daily/@midnight: una vez al día.
●@hourly: cada hora.

Por lo tanto habrá que crear un crontab que ejecute el script cuando le indiquemos.

* * * * * </ruta plugin recon_task con los parámetros necesarios, como en la ejecución manual>

Ejemplo de una ejecución que se realice cada hora:

@hourly /<path snmp remote plugin> <path snmp conf> -H <host> -v 3 -u <user> -l <auth level> -a <auth method> -A <auth pass> -x <privacy method> -X <privacy pass>

* Recuerda definir bien en el conf todos los parámetros, el nombre de agente, la ip de tentacle para poder mandar los agentes de pandora..