Esta página describe Calíope 1.7, la versión que estoy construyendo ahora mismo. La 1.6 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 › Monitor de 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é; en el iPad y el iPhone se toca para leer el motivo, y lo mismo el rótulo del estado cuando el motor no alcanza el almacén.
- Si el último sondeo fue bien pero algo pasa de su umbral, en lugar del triángulo aparece el aviso con su motivo y la cifra que lo disparó: un triángulo ámbar para un aviso y un octágono rojo para algo crítico, por ejemplo Almacenamiento casi lleno: 100%. Es el mismo veredicto que llega a Calíope TV y al widget de la granja; en el iPad y el iPhone se toca para leerlo.
- 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, iPhone y Apple Vision Pro.
ClickHouse
Con ClickHouse: un servidor ClickHouse se puede vigilar, pero no aloja el almacén: el historial va en un MySQL, MariaDB, PostgreSQL o SQL Server, y el selector de Servidor de almacenamiento no ofrece los perfiles ClickHouse.
Oracle
Con Oracle: un servidor Oracle se puede vigilar, pero no aloja el almacén: el historial va en un MySQL, MariaDB, PostgreSQL o SQL Server, y el selector de Servidor de almacenamiento no ofrece los perfiles Oracle. Si un almacén Oracle llega de otro aparato o de una configuración vieja, la pantalla dice Este servidor no puede guardar el histórico, con su motivo, y lo que queda es elegir otro en Configuración de monitoreo. Calíope avisa cuando el tablespace más lleno pasa del 85 % de su tamaño máximo, en rojo desde el 95 %, y en rojo también si la instancia no está OPEN o su base no está ACTIVE (Instancia no abierta, con las dos palabras del servidor).
Apple Vision Pro: como en el iPad y el iPhone, mira el triángulo o el rótulo y pellizca para ver el motivo.
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 › Monitor de 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. En esas cuatro puedes tocar o hacer clic en cualquier punto 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.
ClickHouse
Con ClickHouse:Hilos conectados suma las conexiones TCP y HTTP (TCPConnection + HTTPConnection); QPS cuenta las consultas recibidas (Query de system.events); Procesos activos son las consultas en curso; Red sale de NetworkReceiveBytes y NetworkSendBytes. Tasa de acierto de caché % y DML / s dicen Este servidor no lo mide: ClickHouse no tiene caché de páginas ni contador por verbo.
Oracle
Con Oracle:Hilos conectados son las sesiones de usuario de V$SESSION; QPS cuenta las ejecuciones de sentencias (execute count de V$SYSSTAT); Tasa de acierto de caché % sale de physical reads y session logical reads; Procesos activos son las sesiones de usuario en estado ACTIVE; Red sale de los bytes que van y vienen del cliente por SQL*Net. DML / s dice Este servidor no lo mide: Oracle no tiene un contador por verbo.
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, iPhone y Apple Vision Pro. 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 (fuera del Mac, Listo) 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 (un interruptor fuera del Mac) 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, en el widget de la granja y en la barra de este monitor. El del almacenamiento más lleno —hoy sólo lo mide Oracle— no está en la hoja: avisa al 85 % y es crítico al 95 %.
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;).