Questa pagina descrive Calíope 1.5, la versione che stiamo costruendo adesso. La 1.4 è finita ed è in revisione sull'App Store, e il negozio serve oggi la 1.3 sul Mac e la 1.2 su iPad. 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 e MariaDB è 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 l'icona ingranaggio (⚙) per aprire la configurazione.
3. Attiva l'interruttore 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, 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: 1 h, 6 h, 24 h, 7 d o 30 d.
- Gli indicatori di stato del motore (punto verde/giallo/rosso) mostrano se il monitoraggio è attivo, in avvio o senza connessione al server di archiviazione.
- 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.

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, ognuno con area di riempimento e linea per facilitare la lettura delle tendenze. 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 query in esecuzione in quell'istante (SHOW PROCESSLIST, escludendo i thread in stato Sleep). 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 resta bianco: 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.
- 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 30 d.

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 › Configura

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
- macOS: menu Finestra › Monitor di salute › Configura… o pulsante ⚙︎ nella barra superiore della vista Monitor di salute.
- iPad: nel tab Monitor di salute, premi il pulsante ⚙︎ della barra superiore.

1. Abilitare 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 un toggle per abilitare/disabilitare senza cancellare la configurazione, e un pulsante per eliminarla.
- Il server di archiviazione non può aggiungere sé stesso come monitorato.

4. Conservazione
- Menu a discesa con preset (7, 14, 30, 60 giorni, ecc.).
- Il valore 0 significa "non eliminare mai" e mostra un avviso arancione — ricorda che server_snapshots cresce a ogni tick.
- La pulizia viene eseguita a ogni avvio del motore e a intervalli regolari durante la sessione.

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