Post

Monitorizacion ligera logs y alertas

Monitorizacion ligera logs y alertas

Monitorizacion ligera logs y alertas

Una monitorizacion ligera puede cubrir bastante con tail, awk, sort, Fail2ban y alertas puntuales por Telegram.

Uso en la infraestructura

Este post cubre vigilancia basica sin desplegar un stack pesado. Sirve para detectar actividad rara en servicios publicados y recibir avisos simples.

RolServicioImpacto si falla
Revision webApache/HTTPErrores 4xx/5xx o abuso pasan desapercibidos
SalasJitsiNo hay visibilidad rapida de uso
BloqueosFail2banAtaques o falsos positivos no se detectan
AvisosTelegramLos scripts no notifican incidencias

No sustituye a una monitorizacion completa; es la primera linea para hosts pequenos o servicios caseros.

Toma estos comandos como señales iniciales. Muchas peticiones 404 pueden ser bots normales, y muchas IPs repetidas pueden venir de un proxy o CDN. Antes de alertar, compara con una linea base de dias anteriores y revisa el servicio afectado. Para Telegram, envia mensajes accionables: host, metrica que cambio y donde mirar el log completo.

Patron recomendado: Apache IPs y codigos

1
2
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head
awk '{print $9}' /var/log/apache2/access.log | sort | uniq -c | sort -nr

Patron recomendado: Jitsi salas detectadas

1
2
3
4
awk '/http-bind\?room=/ {print $1, $4, $7}' /var/log/apache2/jitsi/access.log \
  | awk -F? '{print $1, $2}' \
  | grep -v '<IP_INTERNA>' \
  | sort -u > /var/log/jitsi_rooms.log

Patron recomendado: Fail2ban

1
2
3
fail2ban-client status
fail2ban-client status sshd
tail -n 50 /var/log/fail2ban.log

Patron recomendado: Telegram

1
2
3
4
5
TOKEN="<TOKEN>"
CHAT_ID="<CHAT_ID>"
curl -fsS -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" \
  -d chat_id="$CHAT_ID" \
  --data-urlencode text="Alerta: revisar logs en <HOSTNAME>"

Rutina diaria

  1. Revisar top IPs y 4xx/5xx.
  2. Revisar Fail2ban y jails activas.
  3. Revisar logs de servicios publicados.
  4. Enviar alerta solo si hay cambio o umbral superado.
  5. Guardar evidencia con fecha si se investiga un incidente.

Mejoras

  • Pasar de comandos manuales a scripts idempotentes.
  • Evitar cat | grep; usar awk o grep directamente.
  • Centralizar logs por servicio.
  • No enviar tokens por linea de comandos compartida si queda historial.

Scripts originales relacionados

ScriptUso
accesos.sh, conexiones.sh, conexiones_ssl.shparseos rapidos de logs
jitsi.sh, jitsi1.shextraer salas desde logs Jitsi
libra_bot.sh, libra_bot2.shenviar resumen a Telegram
f2ban_status.shinforme rapido Fail2ban
unban.shdesbaneo manual
This post is licensed under CC BY 4.0 by the author.