# SNMP Remoto
# 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.
•netsnmp (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 netsnmp |
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
[](https://pandorafms.com/guides/public/uploads/images/gallery/2023-01/image-1672742827541.png)
Pandorafms vista
[](https://pandorafms.com/guides/public/uploads/images/gallery/2023-01/image-1672742853915.png)
[](https://pandorafms.com/guides/public/uploads/images/gallery/2023-01/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.
```
* * * * *
```
Ejemplo de una ejecución que se realice cada hora:
```
@hourly / -H -v 3 -u -l -a -A -x -X
```
**\* 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..**