Wiki completa de CheckMK: 9 páginas en español
- Home: Índice, características, quick start, arquitectura - Traefik: Despliegue con labels puerto 5000, troubleshooting - NPM: Despliegue con Proxy Hosts, comparativa - Configuración Inicial: Primer acceso, usuarios, notificaciones - Monitorización: Añadir hosts Linux/Windows/SNMP, dashboards, checks - Backup y Restauración: omd backup, scripts automáticos, restauración - Actualización: Updates, rollback, Watchtower - Solución de Problemas: Diagnóstico, errores comunes, recuperación - Sidebar: Navegación completa
232
Actualización.md
Normal file
232
Actualización.md
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
# Actualización
|
||||||
|
|
||||||
|
Mantén CheckMK actualizado de forma segura.
|
||||||
|
|
||||||
|
## Pre-requisitos
|
||||||
|
|
||||||
|
⚠️ **SIEMPRE haz backup antes de actualizar**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Listar imágenes
|
||||||
|
docker images | grep checkmk
|
||||||
|
|
||||||
|
# Eliminar imágenes sin usar
|
||||||
|
docker image prune -a
|
||||||
|
```
|
||||||
|
|
||||||
|
### Optimizar Site
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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](Backup-y-Restauración)** - Automatiza backups regulares
|
||||||
|
2. **Monitoriza** - Configura alertas de caídas
|
||||||
|
3. **Documenta** - Mantén registro de versiones
|
||||||
224
Backup-y-Restauración.md
Normal file
224
Backup-y-Restauración.md
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
# Backup y Restauración
|
||||||
|
|
||||||
|
Protege tu configuración de CheckMK con backups automáticos.
|
||||||
|
|
||||||
|
## Qué Hacer Backup
|
||||||
|
|
||||||
|
CheckMK almacena todo en el site (`/omd/sites/monitoring`):
|
||||||
|
|
||||||
|
- Configuración de hosts y servicios
|
||||||
|
- Históricos de rendimiento (RRD databases)
|
||||||
|
- Usuarios y roles
|
||||||
|
- Dashboards personalizados
|
||||||
|
- Reglas y umbrales
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backup Manual
|
||||||
|
|
||||||
|
### Backup Completo del Site
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backup completo
|
||||||
|
docker exec checkmk omd backup /tmp/checkmk-backup-$(date +%Y%m%d).tar.gz
|
||||||
|
|
||||||
|
# Copiar fuera del contenedor
|
||||||
|
docker cp checkmk:/tmp/checkmk-backup-20250105.tar.gz ./
|
||||||
|
|
||||||
|
# Limpiar backup temporal del contenedor
|
||||||
|
docker exec checkmk rm /tmp/checkmk-backup-20250105.tar.gz
|
||||||
|
|
||||||
|
# Verificar
|
||||||
|
tar -tzf checkmk-backup-20250105.tar.gz | head
|
||||||
|
```
|
||||||
|
|
||||||
|
### Backup Solo Configuración
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backup solo config (más rápido, sin históricos)
|
||||||
|
docker exec checkmk omd backup --no-rrds /tmp/checkmk-config-$(date +%Y%m%d).tar.gz
|
||||||
|
docker cp checkmk:/tmp/checkmk-config-20250105.tar.gz ./
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backup Automático
|
||||||
|
|
||||||
|
### Script de Backup
|
||||||
|
|
||||||
|
Crea `/root/backup-checkmk.sh`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Configuración
|
||||||
|
BACKUP_DIR="/backups/checkmk"
|
||||||
|
DATE=$(date +%Y%m%d-%H%M%S)
|
||||||
|
RETENTION_DAYS=7
|
||||||
|
SITE_ID="monitoring"
|
||||||
|
|
||||||
|
# Crear directorio
|
||||||
|
mkdir -p $BACKUP_DIR
|
||||||
|
|
||||||
|
# Backup completo del site
|
||||||
|
echo "Backing up CheckMK site..."
|
||||||
|
docker exec checkmk omd backup /tmp/checkmk-backup-$DATE.tar.gz
|
||||||
|
|
||||||
|
# Copiar fuera del contenedor
|
||||||
|
docker cp checkmk:/tmp/checkmk-backup-$DATE.tar.gz $BACKUP_DIR/
|
||||||
|
|
||||||
|
# Limpiar temporal
|
||||||
|
docker exec checkmk rm /tmp/checkmk-backup-$DATE.tar.gz
|
||||||
|
|
||||||
|
# Limpiar backups antiguos
|
||||||
|
echo "Cleaning old backups..."
|
||||||
|
find $BACKUP_DIR -name "checkmk-backup-*.tar.gz" -mtime +$RETENTION_DAYS -delete
|
||||||
|
|
||||||
|
# Verificar tamaño
|
||||||
|
BACKUP_SIZE=$(du -h "$BACKUP_DIR/checkmk-backup-$DATE.tar.gz" | cut -f1)
|
||||||
|
echo "Backup completado: $DATE (Tamaño: $BACKUP_SIZE)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Automatizar con Cron
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chmod +x /root/backup-checkmk.sh
|
||||||
|
crontab -e
|
||||||
|
|
||||||
|
# Backup diario a las 2 AM
|
||||||
|
0 2 * * * /root/backup-checkmk.sh >> /var/log/backup-checkmk.log 2>&1
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Restauración
|
||||||
|
|
||||||
|
### Restaurar desde Backup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Detener CheckMK
|
||||||
|
docker stop checkmk
|
||||||
|
|
||||||
|
# 2. Copiar backup al contenedor
|
||||||
|
docker cp checkmk-backup-20250105.tar.gz checkmk:/tmp/
|
||||||
|
|
||||||
|
# 3. Restaurar
|
||||||
|
docker exec checkmk omd restore /tmp/checkmk-backup-20250105.tar.gz
|
||||||
|
|
||||||
|
# 4. Iniciar CheckMK
|
||||||
|
docker start checkmk
|
||||||
|
|
||||||
|
# 5. Verificar
|
||||||
|
docker exec checkmk omd status
|
||||||
|
docker logs checkmk --tail 50
|
||||||
|
```
|
||||||
|
|
||||||
|
### Restaurar en Contenedor Nuevo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Crear volumen nuevo
|
||||||
|
docker volume create checkmk_data_new
|
||||||
|
|
||||||
|
# 2. Iniciar contenedor temporal
|
||||||
|
docker run -d --name checkmk-temp \
|
||||||
|
-v checkmk_data_new:/omd/sites \
|
||||||
|
checkmk/check-mk-raw:latest
|
||||||
|
|
||||||
|
# 3. Esperar inicialización
|
||||||
|
sleep 30
|
||||||
|
|
||||||
|
# 4. Copiar y restaurar backup
|
||||||
|
docker cp checkmk-backup-20250105.tar.gz checkmk-temp:/tmp/
|
||||||
|
docker exec checkmk-temp omd restore /tmp/checkmk-backup-20250105.tar.gz
|
||||||
|
|
||||||
|
# 5. Detener temporal
|
||||||
|
docker stop checkmk-temp
|
||||||
|
docker rm checkmk-temp
|
||||||
|
|
||||||
|
# 6. Actualizar docker-compose.yml para usar checkmk_data_new
|
||||||
|
# 7. Desplegar stack normal
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backup Remoto
|
||||||
|
|
||||||
|
### Sincronizar con S3/MinIO
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
BACKUP_DIR="/backups/checkmk"
|
||||||
|
S3_BUCKET="s3://mi-bucket/checkmk/"
|
||||||
|
|
||||||
|
# Hacer backup local primero
|
||||||
|
/root/backup-checkmk.sh
|
||||||
|
|
||||||
|
# Sincronizar con S3
|
||||||
|
aws s3 sync $BACKUP_DIR $S3_BUCKET --storage-class GLACIER
|
||||||
|
|
||||||
|
# O con rclone
|
||||||
|
rclone sync $BACKUP_DIR minio:checkmk-backups
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sincronizar con Rsync
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
BACKUP_DIR="/backups/checkmk"
|
||||||
|
REMOTE_SERVER="backup@servidor-remoto"
|
||||||
|
REMOTE_PATH="/backups/checkmk"
|
||||||
|
|
||||||
|
# Sincronizar
|
||||||
|
rsync -avz --delete $BACKUP_DIR/ $REMOTE_SERVER:$REMOTE_PATH/
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backup de Configuración (Git)
|
||||||
|
|
||||||
|
### Versionado de Configuración
|
||||||
|
|
||||||
|
CheckMK puede exportar configuración a Git:
|
||||||
|
|
||||||
|
**Setup → General → Site Management → Configuration → Enable Git support**
|
||||||
|
|
||||||
|
Esto versiona todos los cambios en `/omd/sites/monitoring/etc/check_mk/`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Commit manual
|
||||||
|
docker exec checkmk bash -c "cd /omd/sites/monitoring/etc/check_mk && git add . && git commit -m 'Cambios de configuración'"
|
||||||
|
|
||||||
|
# Ver historial
|
||||||
|
docker exec checkmk bash -c "cd /omd/sites/monitoring/etc/check_mk && git log --oneline"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verificación de Backups
|
||||||
|
|
||||||
|
### Script de Verificación
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
BACKUP_FILE="/backups/checkmk/checkmk-backup-latest.tar.gz"
|
||||||
|
|
||||||
|
# Verificar integridad
|
||||||
|
if tar -tzf "$BACKUP_FILE" > /dev/null 2>&1; then
|
||||||
|
echo "✓ Backup válido"
|
||||||
|
|
||||||
|
# Verificar contenido
|
||||||
|
FILES=$(tar -tzf "$BACKUP_FILE" | wc -l)
|
||||||
|
echo "✓ Contiene $FILES archivos"
|
||||||
|
else
|
||||||
|
echo "✗ Backup corrupto"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Próximos Pasos
|
||||||
|
|
||||||
|
1. **[Actualización](Actualización)** - Mantén CheckMK actualizado
|
||||||
|
2. **Automatiza** - Configura cron para backups automáticos
|
||||||
|
3. **Prueba restauración** - Verifica que los backups funcionan
|
||||||
163
Configuración-Inicial.md
Normal file
163
Configuración-Inicial.md
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
# Configuración Inicial
|
||||||
|
|
||||||
|
Pasos para configurar CheckMK tras el primer despliegue.
|
||||||
|
|
||||||
|
## Primer Acceso
|
||||||
|
|
||||||
|
1. Accede a CheckMK: `https://checkmk.tudominio.com/monitoring/`
|
||||||
|
2. Login con credenciales iniciales:
|
||||||
|
- **Usuario**: `cmkadmin`
|
||||||
|
- **Contraseña**: La que configuraste en `CMK_PASSWORD`
|
||||||
|
|
||||||
|
### Cambiar Contraseña (Recomendado)
|
||||||
|
|
||||||
|
1. Click en **cmkadmin** (esquina superior derecha)
|
||||||
|
2. **Change password**
|
||||||
|
3. Ingresa contraseña actual y nueva (mínimo 8 caracteres)
|
||||||
|
4. **Save**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuración del Site
|
||||||
|
|
||||||
|
### Global Settings
|
||||||
|
|
||||||
|
**Setup → General → Global settings**:
|
||||||
|
|
||||||
|
- **Site name**: `Monitorización Producción`
|
||||||
|
- **Admin email**: `admin@example.com`
|
||||||
|
- **Timezone**: `Europe/Madrid`
|
||||||
|
- **Date/Time format**: `2025-12-05 14:30:00`
|
||||||
|
|
||||||
|
### Configurar URL Base
|
||||||
|
|
||||||
|
**Setup → General → Site Management → Global Settings**:
|
||||||
|
|
||||||
|
- **Site URL prefix**: `https://checkmk.tudominio.com/monitoring`
|
||||||
|
|
||||||
|
Esto corrige enlaces en emails y notificaciones.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Usuarios y Roles
|
||||||
|
|
||||||
|
### Crear Usuario
|
||||||
|
|
||||||
|
**Setup → Users → Add user**:
|
||||||
|
|
||||||
|
1. **Username**: `jperez`
|
||||||
|
2. **Full name**: `Juan Pérez`
|
||||||
|
3. **Email**: `jperez@example.com`
|
||||||
|
4. **Password**: Contraseña temporal
|
||||||
|
5. **Roles**: `User` (o `Administrator` si necesita acceso completo)
|
||||||
|
6. **Save**
|
||||||
|
|
||||||
|
### Roles Disponibles
|
||||||
|
|
||||||
|
- **Administrator**: Acceso completo al sistema
|
||||||
|
- **User**: Puede ver y gestionar monitorización
|
||||||
|
- **Guest**: Solo lectura
|
||||||
|
|
||||||
|
### Crear Rol Personalizado
|
||||||
|
|
||||||
|
**Setup → Users → Roles → Add role**:
|
||||||
|
|
||||||
|
1. **ID**: `operator`
|
||||||
|
2. **Alias**: `Operador`
|
||||||
|
3. **Permissions**:
|
||||||
|
- ✅ View all hosts and services
|
||||||
|
- ✅ Acknowledge problems
|
||||||
|
- ❌ Configure CheckMK
|
||||||
|
4. **Save**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configurar Notificaciones
|
||||||
|
|
||||||
|
### Email (SMTP)
|
||||||
|
|
||||||
|
**Setup → Notifications → Personal settings**:
|
||||||
|
|
||||||
|
1. Click en **cmkadmin** → **Notification rules**
|
||||||
|
2. **Add rule**:
|
||||||
|
- **Description**: `Alertas críticas por email`
|
||||||
|
- **Notification Method**: `Email`
|
||||||
|
- **Contact selection**: `All contacts of the notified object`
|
||||||
|
- **Match conditions**:
|
||||||
|
- **State**: `CRITICAL` y `DOWN`
|
||||||
|
- **SMTP settings**:
|
||||||
|
- **SMTP server**: `smtp.gmail.com:587`
|
||||||
|
- **From**: `checkmk@example.com`
|
||||||
|
- **TLS**: Activado
|
||||||
|
3. **Save**
|
||||||
|
|
||||||
|
### Slack
|
||||||
|
|
||||||
|
1. Crea Webhook en Slack: `https://hooks.slack.com/services/XXX/YYY/ZZZ`
|
||||||
|
2. **Setup → Notifications → Add rule**:
|
||||||
|
- **Notification Method**: `Slack or Mattermost`
|
||||||
|
- **Webhook URL**: Pega la URL
|
||||||
|
- **Channel**: `#monitoring`
|
||||||
|
3. **Save**
|
||||||
|
|
||||||
|
### Microsoft Teams
|
||||||
|
|
||||||
|
Similar a Slack, usando webhook de Teams.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contactos
|
||||||
|
|
||||||
|
### Añadir Contacto
|
||||||
|
|
||||||
|
**Setup → Users → Contacts → Add contact**:
|
||||||
|
|
||||||
|
1. **ID**: `admin-team`
|
||||||
|
2. **Alias**: `Equipo Admin`
|
||||||
|
3. **Email**: `admin-team@example.com`
|
||||||
|
4. **Pager**: Número de teléfono (opcional)
|
||||||
|
5. **Save**
|
||||||
|
|
||||||
|
### Asignar Contactos a Hosts
|
||||||
|
|
||||||
|
Al crear/editar hosts:
|
||||||
|
- **Contacts**: Seleccionar contactos
|
||||||
|
- Los contactos recibirán notificaciones de ese host
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuración de Site
|
||||||
|
|
||||||
|
### Performance
|
||||||
|
|
||||||
|
**Setup → General → Global settings → User Interface**:
|
||||||
|
|
||||||
|
- **Number of columns for service views**: `3`
|
||||||
|
- **Number of elements to show**: `100`
|
||||||
|
|
||||||
|
**Setup → General → Global settings → Performance**:
|
||||||
|
|
||||||
|
- **Check result expiry**: `1800` (30 minutos)
|
||||||
|
- **Enable cached web pages**: ✅ Activado
|
||||||
|
|
||||||
|
### Logging
|
||||||
|
|
||||||
|
**Setup → General → Global settings → Logging**:
|
||||||
|
|
||||||
|
- **Logging level**: `INFO` (production) o `DEBUG` (troubleshooting)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Licencia (CheckMK RAW)
|
||||||
|
|
||||||
|
CheckMK RAW es gratuito y no requiere licencia.
|
||||||
|
|
||||||
|
Si necesitas funcionalidades enterprise (reportes avanzados, distribuido, etc.), considera CheckMK Enterprise Edition.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Próximos Pasos
|
||||||
|
|
||||||
|
1. **[Monitorización](Monitorización)** - Añade tus primeros hosts
|
||||||
|
2. **[Backup](Backup-y-Restauración)** - Automatiza backups
|
||||||
|
3. **Explora** - Familiarízate con la interfaz
|
||||||
127
Home.md
127
Home.md
@@ -1 +1,126 @@
|
|||||||
¡Bienvenidos a la Wiki!
|
# CheckMK RAW - Wiki
|
||||||
|
|
||||||
|
Documentación completa para desplegar y configurar CheckMK RAW con Docker.
|
||||||
|
|
||||||
|
## 📋 Índice
|
||||||
|
|
||||||
|
### 🚀 Despliegue
|
||||||
|
- [Traefik](Traefik) - Despliegue con Traefik (proxy inverso + SSL automático)
|
||||||
|
- [NPM](NPM) - Despliegue con Nginx Proxy Manager
|
||||||
|
|
||||||
|
### ⚙️ Configuración
|
||||||
|
- [Configuración Inicial](Configuración-Inicial) - Primer acceso, cambiar contraseña, site
|
||||||
|
- [Monitorización](Monitorización) - Añadir hosts, agentes, SNMP, dashboards
|
||||||
|
|
||||||
|
### 💾 Mantenimiento
|
||||||
|
- [Backup y Restauración](Backup-y-Restauración) - Backups automáticos, restauración
|
||||||
|
- [Actualización](Actualización) - Actualizar CheckMK, rollback
|
||||||
|
- [Solución de Problemas](Solución-de-Problemas) - Diagnóstico, errores comunes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Características
|
||||||
|
|
||||||
|
- **Sistema de monitorización IT profesional**
|
||||||
|
- **Agentes**: Linux, Windows, Docker, SNMP
|
||||||
|
- **Dashboards**: Visualización en tiempo real
|
||||||
|
- **Alertas**: Email, SMS, Slack, Teams
|
||||||
|
- **Multi-sitio**: Gestión centralizada
|
||||||
|
- **Gratuito**: CheckMK RAW Edition (GPLv2)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚡ Quick Start
|
||||||
|
|
||||||
|
### Requisitos
|
||||||
|
|
||||||
|
- Docker Engine
|
||||||
|
- Portainer (recomendado)
|
||||||
|
- Red `proxy` creada
|
||||||
|
- Dominio configurado
|
||||||
|
|
||||||
|
### Generar Contraseña
|
||||||
|
|
||||||
|
**ANTES de desplegar**, genera 1 contraseña segura:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# CMK_PASSWORD (usuario cmkadmin)
|
||||||
|
openssl rand -base64 32
|
||||||
|
```
|
||||||
|
|
||||||
|
### Despliegue Básico
|
||||||
|
|
||||||
|
1. **Crea el stack en Portainer** con Git Repository:
|
||||||
|
- URL: `https://git.ictiberia.com/groales/checkmk`
|
||||||
|
- Compose path: `docker-compose.yml`
|
||||||
|
|
||||||
|
2. **Añade variables de entorno**:
|
||||||
|
```env
|
||||||
|
CMK_PASSWORD=password_generado
|
||||||
|
DOMAIN_HOST=checkmk.tudominio.com
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Deploy** y espera 2-3 minutos (CheckMK inicializa el site)
|
||||||
|
|
||||||
|
4. **Accede** según tu proxy inverso:
|
||||||
|
- Con Traefik: `https://checkmk.tudominio.com/monitoring/`
|
||||||
|
- Con NPM: Configura proxy host primero (ver [NPM](NPM))
|
||||||
|
|
||||||
|
5. **Login**:
|
||||||
|
- Usuario: `cmkadmin`
|
||||||
|
- Contraseña: La que configuraste en `CMK_PASSWORD`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 Arquitectura
|
||||||
|
|
||||||
|
### Stack Docker
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────┐
|
||||||
|
│ Traefik / NPM │ ← Puerto 443 (HTTPS)
|
||||||
|
└──────────┬──────────┘
|
||||||
|
│
|
||||||
|
┌──────────▼──────────┐
|
||||||
|
│ CheckMK │ ← Puerto 5000 (interno)
|
||||||
|
│ (check-mk-raw) │
|
||||||
|
└──────────┬──────────┘
|
||||||
|
│
|
||||||
|
┌──────────▼──────────┐
|
||||||
|
│ checkmk_data │ ← Volumen persistente
|
||||||
|
│ (/omd/sites) │
|
||||||
|
└─────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### Componentes
|
||||||
|
|
||||||
|
- **CheckMK**: Aplicación web (puerto 5000)
|
||||||
|
- **Site**: Instancia de monitorización (ID: `monitoring`)
|
||||||
|
- **Proxy**: Traefik o NPM para HTTPS
|
||||||
|
|
||||||
|
### Volúmenes
|
||||||
|
|
||||||
|
- `checkmk_data`: Configuración, históricos, RRD databases
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 Próximos Pasos
|
||||||
|
|
||||||
|
1. **Elige tu modo de despliegue**:
|
||||||
|
- [Traefik](Traefik) - Recomendado para múltiples servicios
|
||||||
|
- [NPM](NPM) - Más simple para configurar
|
||||||
|
|
||||||
|
2. **Configura CheckMK**:
|
||||||
|
- [Configuración Inicial](Configuración-Inicial) - Cambiar contraseña, timezone
|
||||||
|
- [Monitorización](Monitorización) - Añadir tus primeros hosts
|
||||||
|
|
||||||
|
3. **Automatiza backups**:
|
||||||
|
- [Backup y Restauración](Backup-y-Restauración) - Scripts de backup automáticos
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Recursos Externos
|
||||||
|
|
||||||
|
- [CheckMK Documentación Oficial](https://docs.checkmk.com/)
|
||||||
|
- [CheckMK Community](https://forum.checkmk.com/)
|
||||||
|
- [CheckMK GitHub](https://github.com/tribe29/checkmk)
|
||||||
|
|||||||
228
Monitorización.md
Normal file
228
Monitorización.md
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
# 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**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **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"
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **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**
|
||||||
|
|
||||||
|
3. **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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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](Backup-y-Restauración)** - Automatiza backups
|
||||||
|
2. **[Configuración Inicial](Configuración-Inicial)** - Notificaciones
|
||||||
|
3. **Explora** - Crea más dashboards y vistas
|
||||||
143
NPM.md
Normal file
143
NPM.md
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# 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**:
|
||||||
|
```env
|
||||||
|
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 **Hosts** → **Proxy Hosts** → **Add 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)
|
||||||
|
|
||||||
|
3. **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**:
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
```nginx
|
||||||
|
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](Configuración-Inicial)** - Configurar CheckMK
|
||||||
|
2. **[Monitorización](Monitorización)** - Añadir hosts
|
||||||
|
3. **[Backup](Backup-y-Restauración)** - Automatiza backups
|
||||||
430
Solución-de-Problemas.md
Normal file
430
Solución-de-Problemas.md
Normal file
@@ -0,0 +1,430 @@
|
|||||||
|
# Solución de Problemas
|
||||||
|
|
||||||
|
Diagnóstico y resolución de problemas comunes en CheckMK.
|
||||||
|
|
||||||
|
## Diagnóstico General
|
||||||
|
|
||||||
|
### Ver Logs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Logs del contenedor
|
||||||
|
docker logs checkmk --tail 100 -f
|
||||||
|
|
||||||
|
# Logs del site
|
||||||
|
docker exec checkmk tail -f /omd/sites/monitoring/var/log/cmc.log
|
||||||
|
|
||||||
|
# Logs de Apache
|
||||||
|
docker exec checkmk tail -f /omd/sites/monitoring/var/log/apache/access.log
|
||||||
|
docker exec checkmk tail -f /omd/sites/monitoring/var/log/apache/error.log
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verificar Estado
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Estado del contenedor
|
||||||
|
docker ps -a | grep checkmk
|
||||||
|
|
||||||
|
# Estado del site
|
||||||
|
docker exec checkmk omd status
|
||||||
|
|
||||||
|
# Uso de recursos
|
||||||
|
docker stats checkmk --no-stream
|
||||||
|
|
||||||
|
# Versión
|
||||||
|
docker exec checkmk omd version
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Problemas Comunes
|
||||||
|
|
||||||
|
### CheckMK No Inicia
|
||||||
|
|
||||||
|
**Síntomas**: Contenedor se reinicia constantemente
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
```bash
|
||||||
|
docker logs checkmk | grep -i error
|
||||||
|
docker logs checkmk | grep -i fatal
|
||||||
|
```
|
||||||
|
|
||||||
|
**Causas comunes**:
|
||||||
|
|
||||||
|
1. **Volumen corrupto**
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd check
|
||||||
|
```
|
||||||
|
**Solución**: Restaurar desde backup
|
||||||
|
|
||||||
|
2. **Permisos incorrectos**
|
||||||
|
```bash
|
||||||
|
docker exec checkmk ls -la /omd/sites
|
||||||
|
```
|
||||||
|
**Solución**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk chown -R monitoring:monitoring /omd/sites/monitoring
|
||||||
|
docker restart checkmk
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Falta CMK_PASSWORD**
|
||||||
|
|
||||||
|
**Síntomas**: Error "No password set for cmkadmin"
|
||||||
|
|
||||||
|
**Solución**: Añadir `CMK_PASSWORD` en `.env` y recrear contenedor
|
||||||
|
|
||||||
|
### Error 404 al Acceder
|
||||||
|
|
||||||
|
**Síntomas**: `https://checkmk.tudominio.com` da 404
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
|
||||||
|
1. **Falta `/monitoring/` en la URL**:
|
||||||
|
```
|
||||||
|
https://checkmk.tudominio.com/monitoring/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Site no iniciado**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd status
|
||||||
|
docker exec checkmk omd start
|
||||||
|
```
|
||||||
|
|
||||||
|
### Error 502 Bad Gateway (NPM/Traefik)
|
||||||
|
|
||||||
|
**Síntomas**: Proxy no puede conectar con CheckMK
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
```bash
|
||||||
|
# Verificar que CheckMK está corriendo
|
||||||
|
docker ps | grep checkmk
|
||||||
|
|
||||||
|
# Verificar puerto 5000
|
||||||
|
docker exec checkmk netstat -tlnp | grep 5000
|
||||||
|
|
||||||
|
# Verificar desde proxy
|
||||||
|
docker exec npm curl http://checkmk:5000/monitoring/
|
||||||
|
```
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
- Verificar que CheckMK está en red `proxy`
|
||||||
|
- Verificar que el puerto es `5000`, no `80`
|
||||||
|
- Reiniciar CheckMK: `docker restart checkmk`
|
||||||
|
- Verificar que el site está iniciado: `docker exec checkmk omd status`
|
||||||
|
|
||||||
|
### Site No Inicia
|
||||||
|
|
||||||
|
**Síntomas**: `omd status` muestra servicios DOWN
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd status
|
||||||
|
|
||||||
|
# Ver qué servicio falla
|
||||||
|
# Ejemplo salida:
|
||||||
|
# cmcd: stopped
|
||||||
|
# apache: running
|
||||||
|
```
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
|
||||||
|
1. **Reiniciar site completo**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd restart
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Iniciar servicio específico**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd start cmc
|
||||||
|
docker exec checkmk omd start apache
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Verificar configuración**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd check
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Reparar site (si está corrupto)**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd stop
|
||||||
|
docker exec checkmk omd repair
|
||||||
|
docker exec checkmk omd start
|
||||||
|
```
|
||||||
|
|
||||||
|
### Agentes No Conectan
|
||||||
|
|
||||||
|
**Síntomas**: Host en CheckMK muestra "Connection refused" o "Timeout"
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Probar conexión desde CheckMK
|
||||||
|
docker exec checkmk check_mk_agent 192.168.1.10
|
||||||
|
|
||||||
|
# Verificar firewall en host
|
||||||
|
# Puerto 6556 TCP debe estar abierto
|
||||||
|
telnet 192.168.1.10 6556
|
||||||
|
|
||||||
|
# Ver logs del agente (en el host)
|
||||||
|
# Linux: /var/log/check_mk/
|
||||||
|
# Windows: C:\ProgramData\checkmk\agent\log\
|
||||||
|
```
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
|
||||||
|
1. **Firewall bloqueando**:
|
||||||
|
```bash
|
||||||
|
# En el host Linux
|
||||||
|
sudo firewall-cmd --add-port=6556/tcp --permanent
|
||||||
|
sudo firewall-cmd --reload
|
||||||
|
|
||||||
|
# O iptables
|
||||||
|
sudo iptables -A INPUT -p tcp --dport 6556 -j ACCEPT
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Agente no instalado/corriendo**:
|
||||||
|
```bash
|
||||||
|
# Linux
|
||||||
|
systemctl status check-mk-agent@
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
services.msc → buscar "Check MK Agent"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **IP incorrecta en CheckMK**:
|
||||||
|
- Verificar IP del host en **Setup → Hosts**
|
||||||
|
|
||||||
|
### CheckMK Lento
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
```bash
|
||||||
|
# Ver uso de recursos
|
||||||
|
docker stats checkmk
|
||||||
|
|
||||||
|
# Ver procesos
|
||||||
|
docker exec checkmk top -b -n 1
|
||||||
|
|
||||||
|
# Ver queries lentas
|
||||||
|
docker exec checkmk cmk --debug
|
||||||
|
```
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
|
||||||
|
1. **Limpiar caché**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk omd restart apache
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Optimizar RRD databases**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk cmk --optimize-rrds
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Reducir frecuencia de checks**:
|
||||||
|
- **Setup → Service monitoring rules → Normal check interval**
|
||||||
|
- Cambiar de 1 min a 5 min para servicios no críticos
|
||||||
|
|
||||||
|
4. **Aumentar recursos del contenedor**:
|
||||||
|
- Editar `docker-compose.yml`:
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
checkmk:
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '2'
|
||||||
|
memory: 4G
|
||||||
|
```
|
||||||
|
|
||||||
|
### Gráficos No Cargan
|
||||||
|
|
||||||
|
**Síntomas**: Dashboards sin gráficos, errores "RRD not found"
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
```bash
|
||||||
|
# Verificar RRD databases
|
||||||
|
docker exec checkmk ls -la /omd/sites/monitoring/var/pnp4nagios/perfdata/
|
||||||
|
|
||||||
|
# Verificar permisos
|
||||||
|
docker exec checkmk stat /omd/sites/monitoring/var/pnp4nagios
|
||||||
|
```
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
|
||||||
|
1. **Regenerar RRDs**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk cmk --update-rrds
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Corregir permisos**:
|
||||||
|
```bash
|
||||||
|
docker exec checkmk chown -R monitoring:monitoring /omd/sites/monitoring/var/pnp4nagios
|
||||||
|
```
|
||||||
|
|
||||||
|
### Notificaciones No Llegan
|
||||||
|
|
||||||
|
**Diagnóstico**:
|
||||||
|
```bash
|
||||||
|
# Ver logs de notificaciones
|
||||||
|
docker exec checkmk tail -f /omd/sites/monitoring/var/log/notify.log
|
||||||
|
|
||||||
|
# Probar notificación manual
|
||||||
|
docker exec checkmk cmk --notify-test usuario@example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
**Soluciones**:
|
||||||
|
|
||||||
|
1. **Verificar reglas de notificación**:
|
||||||
|
- **Setup → Notifications → Personal notification rules**
|
||||||
|
|
||||||
|
2. **Verificar SMTP**:
|
||||||
|
- Probar conexión SMTP desde CheckMK
|
||||||
|
```bash
|
||||||
|
docker exec checkmk telnet smtp.gmail.com 587
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Verificar contactos asignados**:
|
||||||
|
- **Setup → Hosts** → Verificar que hosts tienen contactos
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Comandos de Emergencia
|
||||||
|
|
||||||
|
### Reiniciar Todo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Reiniciar contenedor
|
||||||
|
docker restart checkmk
|
||||||
|
|
||||||
|
# Reiniciar solo el site
|
||||||
|
docker exec checkmk omd restart
|
||||||
|
```
|
||||||
|
|
||||||
|
### Recrear Contenedor (Mantiene Datos)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker stop checkmk
|
||||||
|
docker rm checkmk
|
||||||
|
docker compose up -d checkmk
|
||||||
|
```
|
||||||
|
|
||||||
|
### Acceso de Emergencia
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Shell del contenedor
|
||||||
|
docker exec -it checkmk bash
|
||||||
|
|
||||||
|
# Shell del site
|
||||||
|
docker exec -it checkmk bash -c "su - monitoring"
|
||||||
|
|
||||||
|
# Resetear password de cmkadmin
|
||||||
|
docker exec checkmk htpasswd -b /omd/sites/monitoring/etc/htpasswd cmkadmin nuevapassword
|
||||||
|
```
|
||||||
|
|
||||||
|
### Limpiar Todo el Site
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Detener site
|
||||||
|
docker exec checkmk omd stop
|
||||||
|
|
||||||
|
# Limpiar caché y logs
|
||||||
|
docker exec checkmk bash -c "rm -rf /omd/sites/monitoring/tmp/*"
|
||||||
|
docker exec checkmk bash -c "rm -rf /omd/sites/monitoring/var/log/*"
|
||||||
|
|
||||||
|
# Reiniciar
|
||||||
|
docker exec checkmk omd start
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recuperación de Desastres
|
||||||
|
|
||||||
|
### Site Corrupto - Restaurar desde Backup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Detener site
|
||||||
|
docker exec checkmk omd stop
|
||||||
|
|
||||||
|
# 2. Copiar backup
|
||||||
|
docker cp checkmk-backup-FECHA.tar.gz checkmk:/tmp/
|
||||||
|
|
||||||
|
# 3. Restaurar
|
||||||
|
docker exec checkmk omd restore /tmp/checkmk-backup-FECHA.tar.gz
|
||||||
|
|
||||||
|
# 4. Iniciar
|
||||||
|
docker exec checkmk omd start
|
||||||
|
|
||||||
|
# 5. Verificar
|
||||||
|
docker exec checkmk omd status
|
||||||
|
docker logs checkmk --tail 50
|
||||||
|
```
|
||||||
|
|
||||||
|
### Volumen Corrupto
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Backup de volumen (si es posible)
|
||||||
|
docker run --rm -v checkmk_data:/data -v $(pwd):/backup alpine tar czf /backup/checkmk_volume_backup.tar.gz -C /data .
|
||||||
|
|
||||||
|
# 2. Detener y eliminar
|
||||||
|
docker stop checkmk
|
||||||
|
docker rm checkmk
|
||||||
|
docker volume rm checkmk_data
|
||||||
|
|
||||||
|
# 3. Recrear
|
||||||
|
docker volume create checkmk_data
|
||||||
|
docker compose up -d checkmk
|
||||||
|
|
||||||
|
# 4. Restaurar backup
|
||||||
|
docker cp checkmk-backup.tar.gz checkmk:/tmp/
|
||||||
|
docker exec checkmk omd restore /tmp/checkmk-backup.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Obtener Ayuda
|
||||||
|
|
||||||
|
### Información del Sistema
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Versión de CheckMK
|
||||||
|
docker exec checkmk omd version
|
||||||
|
|
||||||
|
# Información del site
|
||||||
|
docker exec checkmk omd config show
|
||||||
|
|
||||||
|
# Variables de entorno
|
||||||
|
docker exec checkmk env | grep -E "CMK_|SITE"
|
||||||
|
|
||||||
|
# Configuración del contenedor
|
||||||
|
docker inspect checkmk
|
||||||
|
```
|
||||||
|
|
||||||
|
### Recursos Oficiales
|
||||||
|
|
||||||
|
- [CheckMK Documentation](https://docs.checkmk.com/)
|
||||||
|
- [CheckMK Forum](https://forum.checkmk.com/)
|
||||||
|
- [CheckMK GitHub Issues](https://github.com/tribe29/checkmk/issues)
|
||||||
|
- [CheckMK Discord](https://discord.gg/fR7QEqV)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Prevención
|
||||||
|
|
||||||
|
### Monitorización del Propio CheckMK
|
||||||
|
|
||||||
|
1. Monitoriza el contenedor CheckMK desde otro sistema
|
||||||
|
2. Configura alertas de CPU/RAM/Disco
|
||||||
|
3. Monitoriza logs: `docker logs checkmk | grep -i error`
|
||||||
|
|
||||||
|
### Backups Regulares
|
||||||
|
|
||||||
|
- Automatiza backups diarios (ver [Backup y Restauración](Backup-y-Restauración))
|
||||||
|
- Prueba restauración mensualmente
|
||||||
|
- Guarda backups en ubicación remota
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Próximos Pasos
|
||||||
|
|
||||||
|
1. **[Backup](Backup-y-Restauración)** - Automatiza backups para prevenir desastres
|
||||||
|
2. **[Actualización](Actualización)** - Mantén CheckMK actualizado
|
||||||
|
3. **[Comunidad](https://forum.checkmk.com/)** - Pregunta si no encuentras solución
|
||||||
165
Traefik.md
Normal file
165
Traefik.md
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
# Despliegue con Traefik
|
||||||
|
|
||||||
|
Guía para desplegar CheckMK con Traefik como proxy inverso.
|
||||||
|
|
||||||
|
## Requisitos
|
||||||
|
|
||||||
|
- Stack de Traefik desplegado y funcionando
|
||||||
|
- Red Docker `proxy` creada
|
||||||
|
- DNS apuntando al servidor
|
||||||
|
- Contraseña generada
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Despliegue desde Portainer
|
||||||
|
|
||||||
|
### 1. Configurar Variables
|
||||||
|
|
||||||
|
En Portainer, al crear el stack con **Git Repository**, configura:
|
||||||
|
|
||||||
|
**Environment variables**:
|
||||||
|
```env
|
||||||
|
# Contraseña requerida
|
||||||
|
CMK_PASSWORD=tu_password_generado
|
||||||
|
|
||||||
|
# Site ID (opcional, default: monitoring)
|
||||||
|
CMK_SITE_ID=monitoring
|
||||||
|
|
||||||
|
# Dominio (requerido)
|
||||||
|
DOMAIN_HOST=checkmk.tudominio.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Subir Archivo Override
|
||||||
|
|
||||||
|
En Portainer, en la sección **Additional paths**:
|
||||||
|
- Añade: `docker-compose.override.traefik.yml.example`
|
||||||
|
|
||||||
|
### 3. Desplegar
|
||||||
|
|
||||||
|
Click en **Deploy the stack** y espera 2-3 minutos.
|
||||||
|
|
||||||
|
### 4. Verificar
|
||||||
|
|
||||||
|
- Accede a `https://checkmk.tudominio.com/monitoring/`
|
||||||
|
- Verifica certificado SSL (candado verde)
|
||||||
|
- Login con `cmkadmin` / `tu_password`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Compose Completo con Traefik
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
checkmk:
|
||||||
|
container_name: checkmk
|
||||||
|
image: checkmk/check-mk-raw:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
CMK_SITE_ID: ${CMK_SITE_ID:-monitoring}
|
||||||
|
CMK_PASSWORD: ${CMK_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- checkmk_data:/omd/sites
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
tmpfs:
|
||||||
|
- /opt/omd/sites/${CMK_SITE_ID:-monitoring}/tmp:uid=1000,gid=1000
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.checkmk-http.rule=Host(`${DOMAIN_HOST}`)
|
||||||
|
- traefik.http.routers.checkmk-http.entrypoints=web
|
||||||
|
- traefik.http.routers.checkmk-http.middlewares=redirect-to-https
|
||||||
|
- traefik.http.routers.checkmk.rule=Host(`${DOMAIN_HOST}`)
|
||||||
|
- traefik.http.routers.checkmk.entrypoints=websecure
|
||||||
|
- traefik.http.routers.checkmk.tls=true
|
||||||
|
- traefik.http.routers.checkmk.tls.certresolver=letsencrypt
|
||||||
|
- traefik.http.routers.checkmk.service=checkmk-svc
|
||||||
|
- traefik.http.services.checkmk-svc.loadbalancer.server.port=5000
|
||||||
|
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
|
||||||
|
- traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
checkmk_data:
|
||||||
|
name: checkmk_data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Labels de Traefik
|
||||||
|
|
||||||
|
| Label | Valor | Descripción |
|
||||||
|
|-------|-------|-------------|
|
||||||
|
| `traefik.enable` | `true` | Habilita Traefik |
|
||||||
|
| `Host(\`${DOMAIN_HOST}\`)` | Dominio | Dominio que responde |
|
||||||
|
| `loadbalancer.server.port` | `5000` | Puerto interno CheckMK |
|
||||||
|
| `tls.certresolver` | `letsencrypt` | SSL automático |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Error 404 al acceder
|
||||||
|
|
||||||
|
**Problema**: Accedes a `https://checkmk.tudominio.com` y da 404
|
||||||
|
|
||||||
|
**Solución**: Añade `/monitoring/` al final:
|
||||||
|
```
|
||||||
|
https://checkmk.tudominio.com/monitoring/
|
||||||
|
```
|
||||||
|
|
||||||
|
### CheckMK no responde
|
||||||
|
|
||||||
|
**Verificar**:
|
||||||
|
```bash
|
||||||
|
# CheckMK corriendo
|
||||||
|
docker ps | grep checkmk
|
||||||
|
|
||||||
|
# Site iniciado
|
||||||
|
docker exec checkmk omd status
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
docker logs checkmk --tail 100
|
||||||
|
```
|
||||||
|
|
||||||
|
### Certificado SSL no funciona
|
||||||
|
|
||||||
|
**Verificar**:
|
||||||
|
- DNS apunta correctamente al servidor
|
||||||
|
- Traefik tiene configurado `letsencrypt` certresolver
|
||||||
|
- Puertos 80/443 abiertos en firewall
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuración Avanzada
|
||||||
|
|
||||||
|
### Headers de Seguridad
|
||||||
|
|
||||||
|
Añade middleware en Traefik para headers de seguridad:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
labels:
|
||||||
|
- traefik.http.routers.checkmk.middlewares=secure-headers@file
|
||||||
|
```
|
||||||
|
|
||||||
|
En `traefik/config/middlewares.yml`:
|
||||||
|
```yaml
|
||||||
|
http:
|
||||||
|
middlewares:
|
||||||
|
secure-headers:
|
||||||
|
headers:
|
||||||
|
stsSeconds: 31536000
|
||||||
|
stsIncludeSubdomains: true
|
||||||
|
stsPreload: true
|
||||||
|
forceSTSHeader: true
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Próximos Pasos
|
||||||
|
|
||||||
|
1. **[Configuración Inicial](Configuración-Inicial)** - Configurar CheckMK
|
||||||
|
2. **[Monitorización](Monitorización)** - Añadir hosts
|
||||||
|
3. **[Backup](Backup-y-Restauración)** - Automatiza backups
|
||||||
17
_Sidebar.md
Normal file
17
_Sidebar.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
## CheckMK Wiki
|
||||||
|
|
||||||
|
### 🚀 Inicio
|
||||||
|
- [Home](Home)
|
||||||
|
|
||||||
|
### 📦 Despliegue
|
||||||
|
- [Traefik](Traefik)
|
||||||
|
- [NPM](NPM)
|
||||||
|
|
||||||
|
### ⚙️ Configuración
|
||||||
|
- [Configuración Inicial](Configuración-Inicial)
|
||||||
|
- [Monitorización](Monitorización)
|
||||||
|
|
||||||
|
### 💾 Mantenimiento
|
||||||
|
- [Backup y Restauración](Backup-y-Restauración)
|
||||||
|
- [Actualización](Actualización)
|
||||||
|
- [Solución de Problemas](Solución-de-Problemas)
|
||||||
Reference in New Issue
Block a user