CheckMK RAW
Sistema de monitorización IT profesional. Monitoriza servidores, aplicaciones, redes y servicios.
Características
- 🖥️ Monitorización completa: Servidores, aplicaciones, red, cloud
- 📊 Dashboards: Visualización en tiempo real
- 🔔 Alertas: Notificaciones por email, SMS, Slack, etc.
- 📈 Métricas: Históricos de rendimiento y disponibilidad
- 🔌 Agentes: Linux, Windows, Docker, SNMP
- 🌐 Multi-sitio: Gestión centralizada de múltiples sites
- 📱 Aplicación móvil: Monitorización desde el móvil
- 🔧 Extensible: Plugins y checks personalizados
Requisitos Previos
- Docker Engine instalado
- Portainer configurado (recomendado)
- Para Traefik o NPM: Red Docker
proxycreada - Dominio configurado: Para acceso HTTPS
- Contraseña generada: CMK_PASSWORD
⚠️ IMPORTANTE: CheckMK RAW es la versión gratuita. Para funcionalidades enterprise, considera CheckMK Enterprise.
Generar Contraseña
Antes de cualquier despliegue, genera una contraseña segura:
# CMK_PASSWORD (usuario cmkadmin)
openssl rand -base64 32
Guarda el resultado, lo necesitarás en el archivo .env.
⚠️ Importante: Usa comillas simples en el archivo
.envsi la contraseña contiene caracteres especiales. Ejemplo:CMK_PASSWORD='tu_password_generado'
Despliegue con Portainer
Opción A: Git Repository (Recomendada)
- En Portainer, ve a Stacks → Add stack
- Nombra el stack:
checkmk - Selecciona Git Repository
- Configura:
- Repository URL:
https://git.ictiberia.com/groales/checkmk - Repository reference:
refs/heads/main - Compose path:
docker-compose.yml - GitOps updates: Activado (opcional)
- Repository URL:
- Solo para Traefik: En Additional paths, añade:
docker-compose.override.traefik.yml.example
- En Environment variables, añade:
CMK_PASSWORD=tu_password_generado
DOMAIN_HOST=checkmk.tudominio.com
- Click en Deploy the stack
Opción B: Web editor
- En Portainer, ve a Stacks → Add stack
- Nombra el stack:
checkmk - Selecciona Web editor
- Pega el contenido de
docker-compose.yml - En Environment variables, añade las mismas variables que la Opción A
- Click en Deploy the stack
Despliegue con Docker CLI
Si prefieres trabajar desde la línea de comandos:
1. Clonar el repositorio
git clone https://git.ictiberia.com/groales/checkmk.git
cd checkmk
2. Generar contraseña
Contraseña para el usuario cmkadmin:
openssl rand -base64 32
3. Elegir modo de despliegue
Opción A: Traefik (recomendado para producción)
cp docker-compose.override.traefik.yml.example docker-compose.override.yml
cp .env.example .env
nano .env # Editar: pegar CMK_PASSWORD, configurar DOMAIN_HOST
Opción B: Nginx Proxy Manager
cp .env.example .env
nano .env # Editar: pegar CMK_PASSWORD, configurar DOMAIN_HOST
4. Iniciar el servicio
docker compose up -d
⏱️ La inicialización puede tardar 2-3 minutos (creación del site, configuración OMD).
5. Verificar el despliegue
# Ver logs en tiempo real
docker compose logs -f checkmk
# Verificar contenedores activos
docker compose ps
# Verificar estado del site CheckMK
docker compose exec checkmk omd status
# Listar sites disponibles
docker compose exec checkmk omd sites
Acceso:
- Traefik:
https://<DOMAIN_HOST>/monitoring/(ejemplo:https://checkmk.example.com/monitoring/) - NPM: Configurar en NPM apuntando a
checkmkpuerto5000→https://checkmk.example.com/monitoring/
⚠️ IMPORTANTE: El path /monitoring/ es obligatorio (nombre del site CheckMK).
Credenciales iniciales:
- Usuario:
cmkadmin - Contraseña: La configurada en
CMK_PASSWORD
6. Comandos OMD útiles
# Ver todos los servicios del site
docker compose exec checkmk omd status
# Reiniciar site
docker compose exec checkmk omd restart
# Backup manual
docker compose exec checkmk omd backup /tmp/backup.tar.gz
# Ver configuración del site
docker compose exec checkmk omd config
Modos de Despliegue
Traefik (Proxy Inverso con SSL automático)
Requisitos:
- Stack de Traefik desplegado
- Red
proxycreada - DNS apuntando al servidor
Si desplegaste con Opción A (Git Repository) y añadiste el override en el paso 5, ya está todo configurado.
Accede a https://checkmk.tudominio.com
Nginx Proxy Manager (NPM)
Requisitos:
- NPM desplegado y accesible
- Red
proxycreada - DNS apuntando al servidor
Pasos:
-
Despliega el stack con el
docker-compose.ymlbase (sin override) -
En NPM, crea un nuevo Proxy Host:
- Domain Names:
checkmk.tudominio.com - Scheme:
http - Forward Hostname / IP:
checkmk - Forward Port:
5000 - Cache Assets: ✅ Activado
- Block Common Exploits: ✅ Activado
- Websockets Support: ✅ Activado
- Domain Names:
-
En la pestaña SSL:
- SSL Certificate: Request a new SSL Certificate
- Force SSL: ✅ Activado
- HTTP/2 Support: ✅ Activado
-
Guarda y accede a
https://checkmk.tudominio.com
Configuración Inicial
Primer Acceso
- Accede a CheckMK:
https://checkmk.tudominio.com/monitoring/ - Login con:
- Usuario:
cmkadmin - Contraseña: La que configuraste en
CMK_PASSWORD
- Usuario:
Configuración Básica
Cambiar Contraseña (Recomendado)
- Click en cmkadmin (esquina superior derecha)
- Change password
- Ingresa contraseña actual y nueva
- Save
Configurar Site
Setup → General → Global settings:
- Site name: Nombre descriptivo de tu site
- Admin email: Email del administrador
- Timezone:
Europe/Madrid
Configurar Notificaciones
Setup → Notifications:
- Email notifications: Configura servidor SMTP
- Slack/Teams: Webhooks para notificaciones
- SMS: Proveedores de SMS
Añadir Hosts
Host Linux con Agente
- Setup → Hosts → Add host
- Hostname:
servidor01.example.com - IP address: IP del servidor
- Monitoring agents:
Check_MK Agent - Save & go to service configuration
Instalar agente en el host:
# Descargar agente desde CheckMK
wget https://checkmk.tudominio.com/monitoring/check_mk/agents/check-mk-agent_2.x.x-1_all.deb
# Instalar
dpkg -i check-mk-agent_2.x.x-1_all.deb
# Permitir conexión desde CheckMK
# Edita /etc/xinetd.d/check-mk-agent o /etc/check_mk/check-mk-agent.cfg
- Discover services en CheckMK
- Activate changes
Host Windows con Agente
- Descarga el agente Windows desde CheckMK
- Ejecuta
check_mk_agent.msien el servidor Windows - Configura IP del servidor CheckMK
- En CheckMK, añade el host como arriba
- Discover services y Activate changes
Dispositivo de Red (SNMP)
- Setup → Hosts → Add host
- Hostname:
switch01.example.com - Monitoring agents:
SNMP - SNMP community:
public(o tu community string) - Save & discover services
- Activate changes
Dashboards y Vistas
Crear Dashboard Personalizado
- Customize → Dashboards
- Add dashboard
- Añade widgets:
- Host statistics: Resumen de hosts
- Service statistics: Resumen de servicios
- Performance graphs: Gráficas de rendimiento
- Top alerts: Alertas recientes
Vistas Personalizadas
Customize → Views:
- Crea vistas filtradas por grupos
- Exporta vistas como PDF/CSV
- Programa envíos automáticos
Backup y Restauración
Backup Manual
# Backup completo del site
docker exec checkmk omd backup /tmp/checkmk-backup-$(date +%Y%m%d).tar.gz
# Copiar backup fuera del contenedor
docker cp checkmk:/tmp/checkmk-backup-FECHA.tar.gz ./
Backup Automático
Script /root/backup-checkmk.sh:
#!/bin/bash
BACKUP_DIR="/backups/checkmk"
DATE=$(date +%Y%m%d-%H%M%S)
RETENTION_DAYS=7
mkdir -p $BACKUP_DIR
# Backup del site
docker exec checkmk omd backup /tmp/checkmk-backup-$DATE.tar.gz
docker cp checkmk:/tmp/checkmk-backup-$DATE.tar.gz $BACKUP_DIR/
docker exec checkmk rm /tmp/checkmk-backup-$DATE.tar.gz
# Limpiar backups antiguos
find $BACKUP_DIR -name "*.tar.gz" -mtime +$RETENTION_DAYS -delete
echo "Backup completado: $DATE"
Cron:
chmod +x /root/backup-checkmk.sh
crontab -e
# Backup diario a las 3 AM
0 3 * * * /root/backup-checkmk.sh
Restauración
# Copiar backup al contenedor
docker cp checkmk-backup-FECHA.tar.gz checkmk:/tmp/
# Restaurar
docker exec checkmk omd restore /tmp/checkmk-backup-FECHA.tar.gz
# Reiniciar
docker restart checkmk
Actualización
# 1. Backup ANTES de actualizar
docker exec checkmk omd backup /tmp/checkmk-pre-update.tar.gz
docker cp checkmk:/tmp/checkmk-pre-update.tar.gz ./
# 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. Acceder y verificar funcionamiento
Solución de Problemas
CheckMK no inicia
# Ver logs
docker logs checkmk --tail 100
# Verificar permisos del volumen
docker exec checkmk ls -la /omd/sites
# Reiniciar site
docker exec checkmk omd restart
Agente no conecta
# Probar conexión desde CheckMK
docker exec checkmk check_mk_agent HOST
# Verificar firewall en host
# Puerto 6556 TCP debe estar abierto
# Ver logs del agente
# En Linux: /var/log/check_mk/
# En Windows: C:\ProgramData\checkmk\agent\log\
Site corrupto
# Detener site
docker exec checkmk omd stop
# Verificar integridad
docker exec checkmk omd check
# Reparar (si es posible)
docker exec checkmk omd repair
# Restaurar desde backup (última opción)
docker exec checkmk omd restore /tmp/backup.tar.gz
Variables de Entorno
Requeridas
| Variable | Descripción | Ejemplo |
|---|---|---|
CMK_PASSWORD |
Contraseña usuario cmkadmin | generada_con_openssl |
DOMAIN_HOST |
Dominio completo | checkmk.example.com |
Opcionales
| Variable | Descripción | Valor por defecto |
|---|---|---|
CMK_SITE_ID |
ID del site CheckMK | monitoring |
Recursos
Licencia
CheckMK RAW Edition es software de código abierto bajo licencia GPLv2.