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

Actualización

Mantén CheckMK actualizado de forma segura.

Pre-requisitos

⚠️ SIEMPRE haz backup antes de actualizar

# Backup rápido
docker exec checkmk omd backup /tmp/checkmk-pre-update-$(date +%Y%m%d).tar.gz
docker cp checkmk:/tmp/checkmk-pre-update-$(date +%Y%m%d).tar.gz ./

Actualizar CheckMK

Proceso Manual

# 1. Backup (ver arriba)

# 2. Detener contenedor
docker stop checkmk

# 3. Actualizar imagen
docker pull checkmk/check-mk-raw:latest

# 4. Iniciar contenedor
docker start checkmk

# 5. Verificar versión
docker exec checkmk omd version

# 6. Verificar site
docker exec checkmk omd status

# 7. Acceder y verificar
# https://checkmk.tudominio.com/monitoring/

Con Portainer

  1. Ve al stack checkmk
  2. Click en Pull and redeploy
  3. Espera 2-3 minutos
  4. Verifica logs: docker logs checkmk --tail 100
  5. Accede y verifica funcionamiento

Actualización de Versión Mayor

Ejemplo: 2.1.x → 2.2.x

⚠️ Las actualizaciones mayores requieren migración del site

# 1. Backup completo
docker exec checkmk omd backup /tmp/checkmk-pre-major-update.tar.gz
docker cp checkmk:/tmp/checkmk-pre-major-update.tar.gz ./

# 2. Detener y eliminar contenedor
docker stop checkmk
docker rm checkmk

# 3. Actualizar imagen
docker pull checkmk/check-mk-raw:latest

# 4. Recrear contenedor
docker compose up -d checkmk

# 5. Esperar inicialización
sleep 60

# 6. Verificar migración automática
docker logs checkmk | grep -i "migration"

# 7. Verificar site
docker exec checkmk omd status

# 8. Acceder y verificar

Si hay problemas, restaura desde backup (ver sección siguiente).


Rollback (Revertir Actualización)

Rollback Rápido

# 1. Detener contenedor actual
docker stop checkmk

# 2. Volver a imagen anterior
docker pull checkmk/check-mk-raw:2.1.0
docker tag checkmk/check-mk-raw:2.1.0 checkmk/check-mk-raw:latest

# 3. Iniciar contenedor
docker start checkmk

# 4. Verificar versión
docker exec checkmk omd version

Rollback Completo (con restauración)

# 1. Detener y eliminar
docker stop checkmk
docker rm checkmk

# 2. Eliminar volumen
docker volume rm checkmk_data

# 3. Recrear volumen
docker volume create checkmk_data

# 4. Iniciar contenedor con versión anterior
docker compose up -d checkmk

# 5. Esperar inicialización
sleep 60

# 6. Restaurar desde backup
docker cp checkmk-pre-update-20250105.tar.gz checkmk:/tmp/
docker exec checkmk omd restore /tmp/checkmk-pre-update-20250105.tar.gz

# 7. Reiniciar
docker restart checkmk

Actualización Automática con Watchtower

Desplegar Watchtower

services:
  watchtower:
    image: containrrr/watchtower
    restart: unless-stopped
    environment:
      WATCHTOWER_CLEANUP: "true"
      WATCHTOWER_INCLUDE_STOPPED: "false"
      WATCHTOWER_SCHEDULE: "0 0 3 * * *"  # 3 AM diario
      WATCHTOWER_ROLLING_RESTART: "true"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Excluir CheckMK de Watchtower

Si quieres control manual, añade label a checkmk:

services:
  checkmk:
    labels:
      - "com.centurylinklabs.watchtower.enable=false"

Checklist Post-Actualización

Verificar Funcionalidad

  • CheckMK accesible en https://checkmk.tudominio.com/monitoring/
  • Login funciona correctamente
  • Hosts visibles y con datos
  • Servicios reportando métricas
  • Gráficos de rendimiento cargan
  • Dashboards funcionan
  • Notificaciones activas
  • Agentes conectan correctamente

Verificar Logs

# Sin errores críticos
docker logs checkmk | grep -i error
docker logs checkmk | grep -i fatal

# Site corriendo
docker exec checkmk omd status

Verificar Versión

Setup → Help → Info:

  • Debe mostrar la nueva versión
  • Verificar que el site migró correctamente

Mantenimiento

Limpiar Imágenes Antiguas

# Listar imágenes
docker images | grep checkmk

# Eliminar imágenes sin usar
docker image prune -a

Optimizar Site

# Limpiar logs antiguos
docker exec checkmk bash -c "find /omd/sites/monitoring/var/log -name '*.log' -mtime +30 -delete"

# Compactar RRD databases
docker exec checkmk cmk --optimize-rrds

# Limpiar caché web
docker exec checkmk omd restart apache

Próximos Pasos

  1. Backup - Automatiza backups regulares
  2. Monitoriza - Configura alertas de caídas
  3. Documenta - Mantén registro de versiones