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

Despliegue con NPM

Guía para desplegar CheckMK con Nginx Proxy Manager.

Requisitos

  • NPM desplegado y accesible
  • Red Docker proxy creada
  • DNS apuntando al servidor

Pasos de Despliegue

1. Desplegar CheckMK

En Portainer, crea el stack sin archivo override (solo docker-compose.yml):

Variables de entorno:

CMK_PASSWORD=password_generado
DOMAIN_HOST=checkmk.tudominio.com

2. Configurar Proxy Host en NPM

  1. Accede a NPM (ej: https://npm.tudominio.com)
  2. Ve a HostsProxy HostsAdd Proxy Host

Pestaña Details

  • Domain Names: checkmk.tudominio.com
  • Scheme: http
  • Forward Hostname / IP: checkmk
  • Forward Port: 5000
  • Cache Assets: Activado
  • Block Common Exploits: Activado
  • Websockets Support: Activado

Pestaña SSL

  • SSL Certificate: Request a new SSL Certificate
  • Email: tu@email.com
  • Force SSL: Activado
  • HTTP/2 Support: Activado
  • HSTS Enabled: Activado (opcional)
  1. Save

3. Verificar

  • Accede a https://checkmk.tudominio.com/monitoring/
  • Verifica el certificado SSL (candado verde)
  • Login con cmkadmin / password_generado

Comparativa Traefik vs NPM

Aspecto Traefik NPM
Configuración Labels en compose UI web
SSL Automático Manual por dominio
Dificultad Media Fácil
Renovación SSL Automática Automática
Multi-dominio Excelente Bueno
Recomendado para Múltiples servicios Pocos servicios

Troubleshooting

Error 502 Bad Gateway

Verificar:

# CheckMK corriendo
docker ps | grep checkmk

# CheckMK en red proxy
docker inspect checkmk | grep -A 5 Networks

# Site iniciado
docker exec checkmk omd status

Soluciones:

  • Verificar que CheckMK está en red proxy
  • Reiniciar CheckMK: docker restart checkmk
  • Verificar que el puerto es 5000, no 80

Error 404 al acceder

Problema: NPM redirige correctamente pero da 404

Solución: Añade /monitoring/ al final del dominio:

https://checkmk.tudominio.com/monitoring/

O configura redirect en NPM Custom locations:

  • Define location: /
  • Forward Hostname / IP: checkmk
  • Forward Port: 5000
  • Forward Scheme: http

Certificado SSL falla

Soluciones:

  • Verificar DNS apunta correctamente
  • Intentar con DNS Challenge si puertos 80/443 bloqueados
  • Regenerar certificado en NPM UI

Configuración Avanzada

Custom Locations para Agentes

Si quieres servir agentes descargables directamente:

Custom locations:

  • Define location: /monitoring/agents/
  • Forward Hostname / IP: checkmk
  • Forward Port: 5000

Rate Limiting

Para proteger contra ataques, añade en NPM:

Advanced tab:

limit_req_zone $binary_remote_addr zone=checkmk_limit:10m rate=10r/s;
limit_req zone=checkmk_limit burst=20 nodelay;

Próximos Pasos

  1. Configuración Inicial - Configurar CheckMK
  2. Monitorización - Añadir hosts
  3. Backup - Automatiza backups