Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Monit (monitorización completa) en OPNsense


 OPNsense utiliza el paquete Monit como una herramienta nativa para supervisar servicios del sistema, recursos de hardware (CPU, memoria, espacio en disco) y el estado de la red o pasarelas (gateways), enviando alertas automáticas por correo electrónico cuando ocurren anomalías.





Puedes usar Monit para monitorizar procesos demonio o programas similares que se ejecutan en localhost. Monit es especialmente útil para monitorizar procesos demonio, como los que se inician al arrancar el sistema. Por ejemplo, sendmail, sshd, apache y mysql. A diferencia de muchos otros sistemas de monitorización, Monit puede actuar si se produce un error; por ejemplo, si sendmail no se está ejecutando, Monit puede reiniciarlo automáticamente; o si apache consume demasiados recursos (por ejemplo, durante un ataque DoS), Monit puede detenerlo o reiniciarlo y enviarte una alerta. Monit también puede monitorizar las características de los procesos, como la cantidad de memoria o ciclos de CPU que utilizan.

Además, puedes usar Monit para monitorizar archivos, directorios y sistemas de archivos en localhost. Monit puede monitorizar estos elementos para detectar cambios, como cambios en las marcas de tiempo, las sumas de comprobación o el tamaño. Esto también resulta útil por motivos de seguridad: puede monitorizar la suma de comprobación md5, sha1 o sha256 de los archivos que no deberían cambiar y recibir una alerta o realizar una acción si se produce algún cambio. Se recomienda SHA256 para una mayor seguridad criptográfica.

Monit puede monitorizar las conexiones de red a diversos servidores, tanto en el equipo local como en hosts remotos. Admite TCP, UDP y sockets de dominio Unix. Las pruebas de red se pueden realizar a nivel de protocolo; Monit incluye pruebas integradas para los principales protocolos de Internet, como HTTP, SMTP, etc. Incluso si un protocolo no es compatible, puede probar el servidor, ya que puede configurar Monit para enviar cualquier dato y comprobar la respuesta del servidor.

Monit se puede utilizar para probar programas o scripts en momentos específicos, de forma similar a cron, pero además, puede comprobar el valor de salida de un programa y realizar una acción o enviar una alerta si el valor de salida indica un error. Esto significa que puede utilizar Monit para realizar cualquier tipo de comprobación para la que pueda escribir un script.

Por último, Monit se puede utilizar para monitorizar los recursos generales del sistema en el equipo local, como el uso general de la CPU, la memoria y la carga del sistema.


Monit cuenta con una interfaz HTTP(S) integrada y ligera que puedes utilizar para navegar por el servidor de Monit y comprobar el estado de todos los servicios supervisados. Desde la interfaz web puedes iniciar, detener y reiniciar procesos, así como desactivar o activar la supervisión de los servicios. 




Configuración General




  • Habilitar Monit (Activa o desactiva Monit)
  • Intervalo de sondeo (Con qué frecuencia Monit comprueba el estado de los componentes que monitoriza.)
  • Retardo de inicio (Cuánto tiempo espera Monit antes de comprobar los componentes al iniciarse.)
  • Servidor de correo (Lista de servidores de correo a los que enviar notificaciones (ver también debajo de esta tabla).
  • Puerto del servidor de correo (Puerto del servidor de correo que se utilizará. 25 y 465 son ejemplos comunes.)
  • Nombre de usuario (Nombre de usuario que se utiliza para iniciar sesión en el servidor SMTP, si es necesario. Suele ser el mismo que la dirección de correo electrónico, pero no siempre.)
  • Contraseña (Contraseña que se utiliza para iniciar sesión en el servidor SMTP, si es necesario.)
  • Conexión segura (Utiliza TLS al conectarte al servidor de correo.)
  • Versión SSL (Versión TLS que se utilizará. AUTO intentará negociar una versión compatible.)
  • Verificar certificados SSL (Comprueba la validez del certificado TLS. Si utiliza un certificado autofirmado, desactive esta opción.)
  • Archivo de registro (El archivo de registro del proceso Monit. Puede ser la palabra clave `syslog` o la ruta a un archivo.)
  • Archivo de estado (El archivo de estado del proceso Monit.)


Ejemplos Tests


Los ejemplos (Tests) de Monit no son muy extensos, ya que la herramienta admite muchos más.

Los que aparecen por defecto son:


CPUUsage
cpu usage is greater than 75%


LoadAvg1
loadavg (1min) is greater than 8

LoadAvg5
loadavg (5min) is greater than 6

LoadAvg15
loadavg (15min) is greater than 4


MemoryUsage
memory usage is greater than 75%

Estos son para monitorizar el HOST (Sistema)


Para monitorizar la red tenemos: 


NetworkLink
failed link

NetworkSaturation
saturation is greater than 75%


NonZeroStatus
status != 0

Ping
failed ping

SpaceUsage
space usage is greater than 75%




En nuestro caso hemos añadido dos reglas nuevas para la red con la sintaxis correspondiente:

Receive_Packets

download > 850000 packets/s

Si se reciben más de 850.000 paquetes


WAN_INPUT

download > 450 MB/s

Si el tráfico de entada es superior a 4,5Gbps

Simplemente tenemos que crear un nuevo servicio, tipo red, elegir la interfaz a monitorizar y seleccionar los tests, en nuestro caso Receive_Packets y WAN_INPUT

Cuando un test se cumple podemos enviar un e-mail (alert) o bien ejecutar un script (execute)

Ejemplo monitorización HOST


System 'OPNsense.localdomain'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.15] [0.19] [0.16]
  cpu                          0.0%usr 3.5%sys 0.0%nice 0.4%hardirq 
  memory usage                 1007.8 MB [6.3%]
  swap usage                   0 B [0.0%]
  uptime                       2d 14h 26m
  boot time                    Fri, 14 Aug 2026 22:44:57
  filedescriptors              183 [0.0% of 514234 limit]
  data collected               Mon, 17 Aug 2026 13:11:30

Ejemplo monitorización red


Network 'WAN'

  status                       OK

  monitoring status            Monitored

  monitoring mode              active

  on reboot                    start

  link                         0 errors

  capacity                     10000 Mb/s full-duplex

  download bytes               118.1 MB/s (9.9% link saturation)

  upload bytes                 49.7 MB/s (4.2% link saturation)

  download packets             92846 per second

  upload packets               41438 per second

  data collected               Sun, 16 Aug 2026 12:57:45


Eventos Tests

Event:     | Failure state:              | Success state:

---------------------------------------------------------------------

action     | "Action failed"             | "Action done"

checksum   | "Checksum failed"           | "Checksum succeeded"

bytein     | "Download bytes exceeded"   | "Download bytes ok"

byteout    | "Upload bytes exceeded"     | "Upload bytes ok"

connection | "Connection failed"         | "Connection succeeded"

content    | "Content failed",           | "Content succeeded"

data       | "Data access error"         | "Data access succeeded"

exec       | "Execution failed"          | "Execution succeeded"

fsflags    | "Filesystem flags failed"   | "Filesystem flags succeeded"

gid        | "GID failed"                | "GID succeeded"

icmp       | "Ping failed"               | "Ping succeeded"

instance   | "Monit instance changed"    | "Monit instance changed not"

invalid    | "Invalid type"              | "Type succeeded"

link       | "Link down"                 | "Link up"

nonexist   | "Does not exist"            | "Exists"

packetin   | "Download packets exceeded" | "Download packets ok"

packetout  | "Upload packets exceeded"   | "Upload packets ok"

permission | "Permission failed"         | "Permission succeeded"

pid        | "PID failed"                | "PID succeeded"

ppid       | "PPID failed"               | "PPID succeeded"

resource   | "Resource limit matched"    | "Resource limit succeeded"

saturation | "Saturation exceeded"       | "Saturation ok"

size       | "Size failed"               | "Size succeeded"

speed      | "Speed failed"              | "Speed ok"

status     | "Status failed"             | "Status succeeded"

timeout    | "Timeout"                   | "Timeout recovery"

timestamp  | "Timestamp failed"          | "Timestamp succeeded"

uid        | "UID failed"                | "UID succeeded"

uptime     | "Uptime failed"             | "Uptime succeeded"


0 comments :

Post a Comment

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.