Questa pagina descrive Calíope 1.5, la versione che sto costruendo adesso. La 1.4 è sull'App Store per Mac, iPad, iPhone, Apple Watch, Apple TV e Apple Vision Pro. Il changelog dice in quale versione è arrivata ogni funzione.

Aggiunge a ogni argomento un pulsante «Apri in Calíope». Funziona solo con l'app installata.

Monitor di salute

Monitor di salute dei server

Raccoglie e visualizza metriche storiche di uno o più dei tuoi server: QPS, thread, tasso di successo della cache, rete, DML e altro. I dati vengono memorizzati in un server centralizzato che scegli tu e sono disponibili anche se chiudi l'app.

Dove si trova: Workspace › Strumenti › Salute

Il Monitor di salute permette di supervisionare le prestazioni di più dei tuoi server nel tempo. A differenza del Dashboard (che mostra metriche in tempo reale del server attualmente connesso), il Monitor di salute memorizza snapshot storici in un archivio centralizzato, accessibili da qualsiasi sessione e condivisi tra i membri del team.

Architettura:
- Server di archiviazione — un server dove Calíope crea l'archivio caliope_monitoring con le tabelle degli snapshot. Su MySQL, MariaDB e SQL Server è un database; su PostgreSQL è uno schema dentro il database a cui punta il profilo, quindi due profili dello stesso server che puntano a database diversi sono due archivi distinti. Deve essere accessibile a tutti gli utenti che vogliono consultare lo storico.
- Server monitorati — i server dai quali si raccolgono le metriche. Possono essere diversi dal server di archiviazione.
- Motore di monitoraggio — viene eseguito in background dal momento in cui l'app si avvia; non è necessario tenere aperto il tab perché il monitoraggio funzioni.

Configurazione iniziale:
1. Apri il tab Monitor di salute dalla barra di navigazione del workspace (icona a forma di cuore).
2. Premi Configurazione del monitoraggio —l'icona ingranaggio (⚙) appena c'è qualcosa da mostrare— per aprire la configurazione.
3. Attiva Abilita il monitoraggio nella parte superiore del pannello. Puoi disattivarlo in qualsiasi momento per fermare completamente la raccolta di metriche senza perdere la configurazione.
4. In Server di archiviazione, seleziona un profilo di connessione esistente e premi Salva e provvedi. Calíope crea automaticamente l'archivio caliope_monitoring e tutte le tabelle necessarie. L'utente deve avere il privilegio CREATE sul server selezionato.
5. In Server monitorati, premi + per aggiungere ogni server che vuoi supervisionare. Per ciascun server puoi definire:
- Alias — nome descrittivo per identificarlo nei grafici.
- Intervallo — frequenza di raccolta: 15 s, 30 s, 1 min (predefinito), 5 min, 15 min, 30 min o 1 ora.
- Attivo — toggle per mettere in pausa il monitoraggio di un server senza eliminarlo.
6. In Conservazione dei dati, scegli per quanti giorni conservare i dati (7, 14, 30, 60, 90 o 180 giorni). Il valore «Senza limite» conserva tutti i dati indefinitamente.
7. Chiudi la configurazione. Il motore si avvia automaticamente se il monitoraggio è abilitato.

Funzionamento in background:
Il monitoraggio continua finché l'app è aperta, indipendentemente dal tab attivo. Se chiudi e riapri l'app, il motore si riavvia automaticamente all'avvio.

Visualizzazione:
- Seleziona il server nel selettore della barra superiore per vedere le sue metriche.
- Scegli l'intervallo temporale, da Ultima ora a Ultimi 30 giorni.
- Lo stato del motore —un punto verde, giallo o rosso con la sua etichetta: Attivo, Avvio in corso…, Nuovo tentativo, Nessuno storage…— dice se il monitoraggio è attivo, in avvio o senza accesso al server di archiviazione. Un triangolo arancione accanto significa che l'ultimo campionamento del server scelto è fallito, e il suo suggerimento dice perché.
- Il pulsante ↻ ricarica i dati manualmente dal server di archiviazione.
- Il pulsante ⏱ (orologio con freccia) attiva l'aggiornamento automatico ogni 30 secondi: i grafici si ricaricano automaticamente senza bisogno di premere ↻. Su macOS appare l'etichetta 30 s accanto all'icona quando è attivo. Disattivalo se vuoi una vista statica per esaminare i dati senza che cambino.

Disporre i grafici:
- Il pulsante con i cursori (Personalizza disposizione dei grafici di salute) mette due frecce e un occhio su ogni grafico. Le frecce lo spostano di un posto —puoi anche trascinarlo—, l'occhio lo nasconde, e i grafici nascosti aspettano in fondo, sotto Grafici nascosti, finché non li clicchi.
- Il pulsante ↺ (Ripristina disposizione) rimette ogni grafico al suo posto predefinito, dopo averlo chiesto.
- Il segno di spunta termina. La disposizione viene ricordata e, con la sincronizzazione iCloud attiva, ti segue sugli altri dispositivi.

Disponibile su macOS, iPad e iPhone.

Parole chiave: monitor di salute, health monitor, monitoraggio, metriche, storico, snapshot, archiviazione, caliope_monitoring, provvedere, intervallo, conservazione, background, secondo piano, server monitorato, qps, cache, innodb, abilitare, disabilitare, attivare, disattivare, aggiornamento automatico, auto-refresh, 30 secondi

Metriche del monitor di salute

Descrizione di ogni grafico: thread connessi, QPS, tasso di successo della cache, processi attivi, rete (byte/s) e DML al secondo.

Dove si trova: Workspace › Strumenti › Salute

Il monitor mostra sei grafici di serie temporale: i quattro a valore singolo disegnano una linea sopra un'area di riempimento, e Rete e DML disegnano una linea per serie. Puoi toccare o fare clic su qualsiasi punto del grafico per vedere il valore esatto in quell'istante.

Thread connessi
Numero di connessioni aperte in quel momento. Un valore vicino al limite max_connections indica rischio di saturazione.

QPS — Query al secondo
Tasso di query eseguite al secondo, calcolato come la differenza di Queries tra snapshot consecutivi divisa per l'intervallo. Riflette il carico generale del server.

Tasso di successo della cache (%)
Percentuale di richieste di lettura servite dalla cache del server senza scendere al disco. Si calcola come:

(1 − Δ letture da disco / Δ richieste di lettura) × 100

Ogni motore pubblica questi due contatori con nomi propri, e un server che non ne pubblica nessuno lascia il grafico vuoto.
Un valore costantemente al di sotto del 95% indica che la cache è insufficiente per il carico di lavoro e conviene aumentarlo.

Processi attivi
Numero di istruzioni in esecuzione in quell'istante: i thread che stanno eseguendo una query (Query o Execute in SHOW PROCESSLIST; su PostgreSQL, le sessioni nello stato active; su SQL Server, le sessioni utente con una richiesta in corso). Le connessioni inattive, i thread di replica e i demoni del server stesso non contano. Un valore elevato e persistente suggerisce query lente o blocchi.

Rete (byte/s)
Traffico di rete verso e dal server:
- RX — byte ricevuti al secondo (Bytes_received).
- TX — byte inviati al secondo (Bytes_sent).
Utile per rilevare query che trasferiscono volumi di dati anormalmente grandi.

DML / s — Istruzioni di modifica
Tasso di istruzioni DML al secondo, suddiviso in:
- SELECT — letture.
- INSERT — inserimenti.
- UPDATE — aggiornamenti.
- DELETE — eliminazioni.
Un aumento improvviso di INSERT/UPDATE/DELETE può indicare processi batch o ETL attivi.

Interpretazione generale:
- I grafici mostrano valori calcolati a partire dai contatori cumulativi del server, quindi rappresentano tassi al secondo, non totali assoluti.
- Non tutti i motori pubblicano tutti i contatori. Ciò che un server non misura viene salvato vuoto, e il suo grafico indica Questo server non lo misura: PostgreSQL, per esempio, non conta il traffico di rete e non suddivide le istruzioni per verbo, e il suo QPS conta transazioni invece di istruzioni. SQL Server non conta né i byte di rete né le righe, non suddivide nemmeno le istruzioni per verbo, e il suo QPS conta batch.
- Gli intervalli di campionamento brevi (15 s, 30 s) producono grafici più dettagliati ma generano più dati sul server di archiviazione.
- La conservazione configurabile (vedi Monitor di salute dei server) controlla il periodo visibile nell'intervallo Ultimi 30 giorni.

Parole chiave: thread connessi, threads_connected, qps, query al secondo, tasso di successo della cache, innodb hit rate, buffer pool, processi attivi, processlist, bytes_received, bytes_sent, com_select, com_insert, com_update, com_delete, dml, rete, throughput, serie temporale, grafico, metriche

Configurare lo storico del monitor di salute

Come attivare il monitoraggio, scegliere il server di archiviazione, aggiungere server monitorati e regolare la conservazione.

Dove si trova: Monitor di salute › Configurazione del monitoraggio

Il Monitor di salute di Calíope conserva uno storico di metriche raccolte periodicamente dai tuoi server. Questo storico risiede in uno schema dedicato, caliope_monitoring, ospitato su un server che scegli tu — non nell'app.

Aprire la finestra di configurazione
- Il pulsante ⚙︎ nella barra superiore del Monitor di salute, su macOS, iPad e iPhone. Finché non c'è niente di configurato, la barra e la schermata vuota lo mostrano come Configurazione del monitoraggio.
- Ogni modifica viene salvata subito; Chiudi chiude soltanto la finestra.

1. Abilita il monitoraggio
- Toggle nell'intestazione della finestra. Attivandolo, MonitoringEngine si avvia in background; disattivandolo, si ferma.

2. Server di archiviazione
- Scegli, nel picker raggruppato, quale dei tuoi profili ospiterà lo schema caliope_monitoring.
- Può essere lo stesso server che monitori o uno dedicato (consigliato per la produzione).
- Premi Salva e provvedi affinché Calíope crei l'archivio e le tabelle necessarie — è idempotente (usa CREATE … IF NOT EXISTS), quindi puoi ripeterlo in sicurezza se hai cancellato qualcosa manualmente.
- Stato visivo: Schema pronto in verde quando funziona, o etichetta rossa con l'errore se la connessione fallisce.

Tabelle create
- caliope_monitoring.monitoring_config — versione dello schema, conservazione e timestamp dell'ultima pulizia.
- caliope_monitoring.monitored_servers — server registrati come monitorati.
- caliope_monitoring.server_snapshots — snapshot temporali (uptime, threads, cache, istruzioni per verbo, traffico, processi attivi, longest query, ecc.).
- caliope_monitoring.collection_errors — errori di raccolta, utili per la diagnosi.

3. Server monitorati
- Pulsante + per aggiungerne uno. Seleziona il profilo, dagli un alias leggibile e scegli l'intervallo di polling (15 s, 30 s, 1 min, 5 min, ecc.).
- Ogni riga ha una casella per abilitarlo/disabilitarlo senza cancellare la configurazione, il suo intervallo, un pulsante con le soglie di salute proprie di quel server, e un pulsante − per eliminarlo.
- Il server di archiviazione non può aggiungere sé stesso come monitorato: l'elenco non lo propone.
- Sotto l'elenco, le Soglie di salute decidono quando un server passa ad avviso o a critico nella dashboard di Calíope sulla tua Apple TV.

4. Conservazione dei dati
- Menu a discesa con preset (7, 14, 30, 60, 90 e 180 giorni, e Senza limite).
- Senza limite non elimina mai nulla e mostra un avviso arancione — ricorda che server_snapshots cresce a ogni tick.
- La pulizia viene eseguita a ogni avvio del motore e una volta al giorno finché l'app è aperta.

Note di sicurezza
- Tutte le connessioni al server di archiviazione usano le stesse credenziali salvate nel Portachiavi per quel profilo (sincronizzazione Keychain opzionale).
- Eliminando l'app o premendo Elimina tutti i miei dati, l'app smette di scrivere; le tabelle caliope_monitoring.* rimangono sul server finché non le cancelli manualmente (DROP DATABASE caliope_monitoring;).

Parole chiave: monitoraggio, monitor di salute, caliope_monitoring, provvedere, storage server, server di archiviazione, conservazione, snapshot, MonitoringEngine, intervallo, sondaggio, polling, monitored_servers, server_snapshots, config