1
Monitorización
groales edited this page 2025-12-05 09:43:15 +01:00

Monitorización

Guía completa para añadir hosts y configurar monitorización en CheckMK.

Añadir Host Linux

Con Agente CheckMK

  1. En CheckMK: Setup → Hosts → Add host

    • Hostname: servidor01.example.com
    • IPv4 address: 192.168.1.10
    • Site: monitoring
    • Monitoring agents: Check_MK Agent (Server)
    • Save & go to service configuration
  2. En el servidor Linux:

# Descargar agente
wget https://checkmk.tudominio.com/monitoring/check_mk/agents/check-mk-agent_2.x.x-1_all.deb

# Instalar (Debian/Ubuntu)
sudo dpkg -i check-mk-agent_*.deb

# O para RHEL/CentOS
sudo rpm -i check-mk-agent-*.rpm

# Verificar instalación
systemctl status check-mk-agent@

# Permitir conexión desde CheckMK
# El agente escucha en puerto 6556
sudo firewall-cmd --add-port=6556/tcp --permanent
sudo firewall-cmd --reload
  1. En CheckMK: Discover services
    • Click Full scan
    • Revisa servicios detectados
    • Accept all
    • Activate changes

Añadir Host Windows

  1. En CheckMK: Setup → Hosts → Add host

    • Configuración igual que Linux
    • Monitoring agents: Check_MK Agent (Server)
  2. En el servidor Windows:

    • Descarga check_mk_agent.msi desde CheckMK
    • Ejecuta el instalador
    • Configura IP/hostname del servidor CheckMK
    • El agente se instala como servicio de Windows
  3. Firewall Windows:

    • Permite puerto TCP 6556 entrante
    • O el instalador lo hace automáticamente
  4. En CheckMK: Discover services y Activate changes


Añadir Dispositivo SNMP

Switch/Router

  1. Habilitar SNMP en el dispositivo:
# Cisco IOS example
snmp-server community public RO
snmp-server location "Datacenter Madrid"
snmp-server contact "admin@example.com"
  1. En CheckMK: Setup → Hosts → Add host

    • Hostname: switch01.example.com
    • IPv4 address: 192.168.1.1
    • Monitoring agents: SNMP
    • SNMP community: public (o tu community)
    • SNMP version: v2c
    • Save & go to service configuration
  2. Discover services y Activate changes

Impresora de Red

Similar a switches:

  • Monitoring agents: SNMP
  • CheckMK detecta automáticamente niveles de tóner, papel, etc.

Monitorización Docker

Opción 1: Agente en Host Docker

Instala agente CheckMK en el host que corre Docker. Detectará automáticamente contenedores.

Opción 2: Plugin Docker

# En el host Docker, instala plugin
cd /usr/lib/check_mk_agent/plugins
wget https://checkmk.tudominio.com/monitoring/check_mk/agents/plugins/mk_docker.py
chmod +x mk_docker.py

Esto monitoriza:

  • Contenedores corriendo
  • Uso de CPU/RAM por contenedor
  • Estado de imágenes y volúmenes

Dashboards

Crear Dashboard

Customize → Dashboards → Add dashboard:

  1. ID: overview
  2. Title: Resumen General
  3. Add dashlet:
    • Host statistics: Muestra hosts UP/DOWN
    • Service statistics: Muestra servicios OK/WARNING/CRITICAL
    • Top alerters: Hosts con más problemas
    • Performance graphs: CPU, RAM, disco
  4. Save

Dashlets Útiles

  • Host/Service statistics: Resumen de estado
  • Average scatterplot: Gráficos de rendimiento
  • Event bar chart: Eventos por tiempo
  • Custom graph: Gráficos personalizados
  • View: Vistas personalizadas

Grupos

Crear Grupos de Hosts

Setup → Hosts → Host groups → Add group:

  • Name: servidores-web
  • Alias: Servidores Web

Al añadir hosts, asígnalos a grupos:

  • Host tags: Prod, Web, Critical
  • Host groups: Seleccionar grupos

Grupos de Servicios

Similar a host groups, para organizar servicios.


Checks Personalizados

Local Check (Script Bash)

En el host monitoreado:

# Crear script en /usr/lib/check_mk_agent/local/
cat > /usr/lib/check_mk_agent/local/custom_check.sh << 'EOF'
#!/bin/bash
# CheckMK local check format: STATUS NAME METRICS|OUTPUT

if [ $(df / | tail -1 | awk '{print $5}' | sed 's/%//') -gt 90 ]; then
    echo "2 DiskRoot - Disco raíz > 90%"
else
    echo "0 DiskRoot size=85% Disco raíz OK"
fi
EOF

chmod +x /usr/lib/check_mk_agent/local/custom_check.sh

En CheckMK, Discover services detectará DiskRoot.


Thresholds (Umbrales)

Configurar Umbrales

Setup → Hosts → Service monitoring rules:

  1. Busca el servicio (ej: CPU utilization)
  2. Create rule
  3. Conditions:
    • WARNING: 80%
    • CRITICAL: 95%
  4. Apply to: Seleccionar hosts/grupos
  5. Save y Activate changes

Business Intelligence (BI)

Crear Agregación BI

Setup → Business Intelligence → Add aggregation:

Ejemplo: Disponibilidad de aplicación web

  1. ID: webapp-availability
  2. Title: Aplicación Web
  3. Tree structure:
    • Nodo raíz: WebApp
      • Nodo hijo: Servidor Web (host: web01)
      • Nodo hijo: Base de Datos (host: db01)
      • Nodo hijo: Balanceador (host: lb01)
  4. Aggregation function: Best (OK si al menos uno está OK)
  5. Save

Próximos Pasos

  1. Backup - Automatiza backups
  2. Configuración Inicial - Notificaciones
  3. Explora - Crea más dashboards y vistas