Esta página describe Calíope 1.5, la versión que estoy construyendo ahora mismo. La 1.4 ya está en la App Store para Mac, iPad, iPhone, Apple Watch, Apple TV y Apple Vision Pro. El changelog dice en qué versión llegó cada función.
Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.
Recopila y visualiza métricas históricas de uno o más de tus servidores: QPS, hilos, tasa de acierto de caché, red, DML y más. Los datos se almacenan en un servidor centralizado que eliges tú y están disponibles aunque cierres la app.
Dónde está: Espacio de Trabajo › Herramientas › Salud
El Monitor de salud permite supervisar el rendimiento de varios de tus servidores a lo largo del tiempo. A diferencia del Tablero (que muestra métricas en tiempo real del servidor actualmente conectado), el Monitor de salud almacena snapshots históricos en un almacén centralizado, accesibles desde cualquier sesión y compartidos entre miembros del equipo.
Arquitectura:
- Servidor de almacenamiento — un servidor donde Calíope crea el almacén caliope_monitoring con las tablas de snapshots. En MySQL, MariaDB y SQL Server es una base de datos; en PostgreSQL es un esquema dentro de la base a la que apunta el perfil, así que dos perfiles del mismo servidor que apunten a bases distintas son dos almacenes distintos. Debe ser accesible para todos los usuarios que quieran consultar el historial.
- Servidores monitoreados — los servidores de los que se recopilan métricas. Pueden ser distintos al servidor de almacenamiento.
- Motor de monitoreo — se ejecuta en segundo plano desde el momento en que arranca la app; no es necesario tener abierta la pestaña para que el monitoreo funcione.
Configuración inicial:
1. Abre la pestaña Monitor de salud desde la barra de navegación del workspace (ícono de corazón).
2. Pulsa Configuración de monitoreo —el ícono engranaje (⚙) en cuanto hay algo que enseñar— para abrir la configuración.
3. Activa Habilitar monitoreo en la parte superior del panel. Puedes desactivarlo en cualquier momento para detener por completo la recopilación de métricas sin perder la configuración.
4. En Servidor de almacenamiento, selecciona un perfil de conexión existente y pulsa Guardar y provisionar. Calíope crea automáticamente el almacén caliope_monitoring y todas las tablas necesarias. El usuario debe tener privilegio CREATE en el servidor seleccionado.
5. En Servidores monitoreados, pulsa + para agregar cada servidor que deseas supervisar. Por cada servidor puedes definir:
- Alias — nombre amigable para identificarlo en las gráficas.
- Intervalo — frecuencia de recopilación: 15 s, 30 s, 1 min (defecto), 5 min, 15 min, 30 min o 1 hora.
- Activo — toggle para pausar el monitoreo de un servidor sin eliminarlo.
6. En Retención de datos, elige cuántos días conservar los datos (7, 14, 30, 60, 90 o 180 días). El valor «Sin límite» conserva todos los datos indefinidamente.
7. Cierra la configuración. El motor arranca automáticamente si el monitoreo está habilitado.
Funcionamiento en segundo plano:
El monitoreo continúa mientras la app esté abierta, independientemente de qué pestaña tengas activa. Si cierras y reabres la app, el motor se reinicia automáticamente al arrancar.
Visualización:
- Selecciona el servidor en el selector de la barra superior para ver sus métricas.
- Elige el rango temporal, de Última hora a Últimos 30 días.
- El estado del motor —un punto verde, amarillo o rojo con su etiqueta: Activo, Iniciando…, Reintentando, Sin storage…— dice si el monitoreo está activo, arrancando o sin llegar al servidor de almacenamiento. Un triángulo naranja a su lado significa que falló el último sondeo del servidor elegido, y su globo dice por qué.
- El botón ↻ recarga los datos manualmente desde el servidor de almacenamiento.
- El botón ⏱ (reloj con flecha) activa la auto-actualización cada 30 segundos: las gráficas se recargan automáticamente sin necesidad de pulsar ↻. En macOS aparece la etiqueta 30 s junto al ícono cuando está activo. Desactívalo si quieres una vista estática para inspeccionar los datos sin que cambien.
Ordenar las gráficas:
- El botón de deslizadores (Personalizar disposición de gráficos de salud) pone dos flechas y un ojo sobre cada gráfica. Las flechas la mueven un puesto —también se puede arrastrar—, el ojo la oculta, y las ocultas esperan abajo, en Gráficos ocultos, hasta que las pulses.
- El botón ↺ (Restablecer disposición) devuelve cada gráfica a su sitio de siempre, tras preguntar.
- La marca de verificación termina. La disposición se recuerda y, con la sincronización de iCloud activada, llega a tus otros dispositivos.
Disponible en macOS, iPad e iPhone.
Palabras clave: monitor de salud, health monitor, monitoreo, métricas, historial, snapshots, almacenamiento, caliope_monitoring, provisionar, intervalo, retención, segundo plano, background, servidor monitoreado, qps, caché, innodb, habilitar, deshabilitar, activar, desactivar, auto-actualizar, auto-refresco, 30 segundos
Descripción de cada gráfica: hilos conectados, QPS, tasa de acierto de caché, procesos activos, red (bytes/s) y DML por segundo.
Dónde está: Espacio de Trabajo › Herramientas › Salud
El monitor muestra seis gráficas de serie temporal: las cuatro de un solo valor dibujan una línea sobre un área de relleno, y Red y DML dibujan una línea por serie. Puedes tocar o hacer clic en cualquier punto de la gráfica para ver el valor exacto en ese instante.
Hilos conectados
Número de conexiones abiertas en ese momento. Un valor cercano al límite max_connections indica riesgo de saturación.
QPS — Queries por segundo
Tasa de consultas ejecutadas por segundo, calculada como la diferencia de Queries entre snapshots consecutivos dividida por el intervalo. Refleja la carga general del servidor.
Tasa de acierto de caché (%)
Porcentaje de peticiones de lectura servidas desde la caché del servidor sin bajar a disco. Se calcula como:
(1 − Δ lecturas de disco / Δ peticiones de lectura) × 100
Cada motor publica esos dos contadores con sus propios nombres, y el servidor que no publique ninguno deja la gráfica vacía.
Un valor sostenido por debajo del 95% indica que la caché es insuficiente para la carga de trabajo y conviene aumentarlo.
Procesos activos
Número de sentencias en ejecución en ese instante: los hilos que están ejecutando una consulta (Query o Execute en SHOW PROCESSLIST; en PostgreSQL, las sesiones en estado active; en SQL Server, las sesiones de usuario con una petición en curso). Las conexiones ociosas, los hilos de replicación y los demonios del propio servidor no cuentan. Un valor elevado y persistente sugiere consultas lentas o bloqueos.
Red (bytes/s)
Tráfico de red hacia y desde el servidor:
- RX — bytes recibidos por segundo (Bytes_received).
- TX — bytes enviados por segundo (Bytes_sent).
Útil para detectar consultas que transfieren volúmenes anormalmente grandes de datos.
DML / s — Sentencias de modificación
Tasa de sentencias DML por segundo, desglosada en:
- SELECT — lecturas.
- INSERT — inserciones.
- UPDATE — actualizaciones.
- DELETE — eliminaciones.
Un aumento repentino en INSERT/UPDATE/DELETE puede indicar procesos batch o ETL activos.
Interpretación general:
- Las gráficas muestran valores calculados a partir de los contadores acumulados del servidor, por lo que representan tasas por segundo, no totales absolutos.
- No todos los motores publican todos los contadores. Lo que un servidor no mide se guarda vacío, y su gráfica dice Este servidor no lo mide: PostgreSQL, por ejemplo, no cuenta el tráfico de red ni desglosa las sentencias por verbo, y su QPS cuenta transacciones en vez de sentencias. SQL Server no cuenta ni los bytes de red ni las filas, tampoco desglosa las sentencias por verbo, y su QPS cuenta lotes.
- Los intervalos de muestreo cortos (15 s, 30 s) producen gráficas más detalladas pero generan más datos en el servidor de almacenamiento.
- La retención configurable (ver Monitor de salud de servidores) controla el período visible en el rango Últimos 30 días.
Palabras clave: hilos conectados, threads_connected, qps, queries por segundo, tasa de acierto de caché, innodb hit rate, buffer pool, procesos activos, processlist, bytes_received, bytes_sent, com_select, com_insert, com_update, com_delete, dml, red, throughput, serie temporal, gráfica, métricas
Cómo activar el monitoreo, elegir el servidor de almacenamiento, añadir servidores monitoreados y ajustar la retención.
Dónde está: Monitor de salud › Configuración de monitoreo
El Monitor de salud de Calíope conserva un historial de métricas tomadas periódicamente contra tus servidores. Ese historial vive en un schema propio, caliope_monitoring, alojado en un servidor que tú eliges — no en la app.
Abrir el diálogo de configuración
- El botón ⚙︎ de la barra superior del Monitor de salud, en macOS, iPad y iPhone. Mientras no hay nada configurado, la barra y la pantalla vacía lo muestran como Configuración de monitoreo.
- Cada cambio se guarda al hacerlo; Cerrar sólo cierra el diálogo.
1. Habilitar monitoreo
- Toggle en la cabecera del diálogo. Al activarlo, MonitoringEngine arranca en segundo plano; al desactivarlo, se detiene.
2. Servidor de almacenamiento
- Elige, en el picker agrupado, cuál de tus perfiles hospedará el schema caliope_monitoring.
- Puede ser el mismo servidor que monitoreas o uno dedicado (recomendado para producción).
- Pulsa Guardar y provisionar para que Calíope cree el almacén y las tablas necesarias — es idempotente (usa CREATE … IF NOT EXISTS), así que puedes repetirlo con seguridad si borraste algo manualmente.
- Estado visual: Esquema listo en verde cuando funciona, o etiqueta roja con el error si la conexión falla.
Tablas creadas
- caliope_monitoring.monitoring_config — versión de schema, retención y timestamp de la última limpieza.
- caliope_monitoring.monitored_servers — servidores registrados como monitoreados.
- caliope_monitoring.server_snapshots — snapshots temporales (uptime, threads, caché, sentencias por verbo, tráfico, procesos activos, longest query, etc.).
- caliope_monitoring.collection_errors — errores de recolección, útiles para diagnosticar.
3. Servidores monitoreados
- Botón + para añadir uno. Selecciona el perfil, dale un alias legible y elige el intervalo de sondeo (15 s, 30 s, 1 min, 5 min, etc.).
- Cada fila tiene una casilla para habilitarlo/deshabilitarlo sin borrar la configuración, su intervalo, un botón con los umbrales de salud propios de ese servidor, y un botón − para eliminarlo.
- El servidor de almacenamiento no se puede añadir a sí mismo como monitoreado: la lista no lo ofrece.
- Debajo de la lista, los Umbrales de salud deciden cuándo un servidor pasa a aviso o a crítico en el panel de Calíope de tu Apple TV.
4. Retención de datos
- Desplegable con valores fijos (7, 14, 30, 60, 90 y 180 días, y Sin límite).
- Sin límite no borra nunca y muestra un aviso naranja — recuerda que server_snapshots crece con cada tick.
- La limpieza corre en cada arranque del motor y una vez al día mientras la app está abierta.
Notas de seguridad
- Todas las conexiones al servidor de almacenamiento usan las mismas credenciales guardadas en el Llavero para ese perfil (Keychain sync opcional).
- Al eliminar la app o pulsar Eliminar todos mis datos, la app deja de escribir; las tablas caliope_monitoring.* permanecen en el servidor hasta que las borres manualmente (DROP DATABASE caliope_monitoring;).