Dashboard di monitoraggio
OmniDB ha una funzionalità interessante chiamata Dashboard di Monitoraggio. Sappiamo che un’immagine vale più di mille parole, quindi dai un’occhiata:

Come puoi vedere, si tratta di un nuovo tipo di scheda interna che mostra alcuni grafici e griglie. Questa scheda interna Monitoraggio si apre automaticamente quando espandi il nodo radice dell’albero (il nodo PostgreSQL). Puoi tenerla aperta o chiuderla in qualsiasi momento. Per riaprirla, fai clic destro sul nodo radice e clicca su Dashboard.

La dashboard è composta da comodi rettangoli informativi chiamati Unità di Monitoraggio. Ecco un esempio di Unità di Monitoraggio e dei suoi elementi dell’interfaccia:

- 1: Titolo dell’Unità di Monitoraggio;
- 2: Aggiorna l’Unità di Monitoraggio. A seconda del tipo, facendo clic su questo pulsante verrà aggiornata l’intera area di disegno oppure il grafico acquisirà semplicemente un nuovo set di valori;
- 3: Metti in pausa l’Unità di Monitoraggio;
- 4: Intervallo in secondi per l’aggiornamento automatico;
- 5: Rimuovi l’Unità di Monitoraggio dalla Dashboard di Monitoraggio;
- 6: Area di disegno, che varia a seconda del tipo di Unità di Monitoraggio.
Tipi di Unità di Monitoraggio
Esistono 3 tipi di Unità di Monitoraggio:
- Griglia: Il tipo più semplice, esegue semplicemente una query di tanto in tanto e mostra i risultati in una griglia di dati.

- Grafico: Ogni volta che si aggiorna, disegna un nuovo grafico completo. Il vecchio set di valori viene perso. Questo è particolarmente utile per i grafici a torta, ma possono essere usati anche altri tipi di grafici.

- Serie temporale: Forse questo è il tipo più utile di Unità di Monitoraggio. È un grafico che aggiunge un nuovo set di valori ogni volta che si aggiorna. I grafici a linee o a barre sono i più adatti per questo tipo. Gli ultimi 100 set di valori vengono mantenuti dal componente lato client per essere visualizzati dall’utente.

Mostrare e nascondere unità nella dashboard
Se fai clic sul pulsante Aggiorna Tutto, tutte le Unità di Monitoraggio verranno aggiornate contemporaneamente. Puoi anche rimuovere le Unità di Monitoraggio indesiderate facendo clic sul pulsante Rimuovi. Procediamo rimuovendo tutte le unità dalla dashboard, rendendola vuota:

Le 17 unità integrate in OmniDB (metriche del server PostgreSQL e MySQL — frequenza delle transazioni, backend, produzione di WAL, dimensione di database/tabelle e così via) vengono eseguite come codice nativo e non richiedono nulla di aggiuntivo installato nel database.

Ora che la nostra dashboard è vuota, aggiungiamo alcune unità. Fai clic sul pulsante Gestisci Unità.

Fai clic sull’azione verde per aggiungere una qualsiasi delle unità integrate — ad es. Backend e Dimensione Database. Attendi qualche secondo e avrai una dashboard come questa:

Allo stesso modo, puoi aggiungere e rimuovere qualsiasi unità per personalizzare la dashboard come desideri.
Scrivere Unità di Monitoraggio personalizzate
OmniDB ti permette di scrivere le tue unità, o personalizzare quelle esistenti, scrivendo una singola query SQL — la stessa connessione e gli stessi permessi che il tuo editor SQL ha già, con la sola differenza che viene eseguita a intervalli invece che su richiesta. Non c’è nessun linguaggio di scripting separato o sandbox da imparare.
Nota: poiché la query viene rieseguita senza supervisione a ogni
intervallo di aggiornamento, sono accettate solo query SELECT (o
WITH ... SELECT) — un’istruzione distruttiva incollata per errore viene
rifiutata immediatamente invece di essere eseguita silenziosamente a ogni
intervallo.
Per creare una nuova Unità di Monitoraggio, fai clic sul pulsante Gestisci Unità nella dashboard, quindi fai clic sul pulsante Nuova Unità. Si aprirà un nuovo tipo di scheda interna con un Nome, un menu a tendina Tipo, un Intervallo di Aggiornamento e un singolo editor di Query SQL (più un menu a tendina Tipo di Grafico, mostrato solo per le unità Grafico).
La forma della query dipende dal Tipo dell’unità:
-
Griglia: nessuna forma particolare — qualsiasi colonna e riga restituita dalla query diventa direttamente la griglia. Ad esempio:
SELECT * FROM pg_stat_activity -
Grafico: una riga per categoria — la prima colonna è l’etichetta, le colonne restanti sono ciascuna una serie (il nome della colonna diventa il nome della serie). Scegli il Tipo di Grafico (a barre, a torta, ad anello o a linee) dal menu a tendina accanto al selettore del Tipo. Ad esempio, un grafico a torta delle dimensioni dei database:
SELECT datname, round(pg_catalog.pg_database_size(datname) / 1048576.0, 2) AS size_mb FROM pg_catalog.pg_database WHERE datname NOT IN ('template0', 'template1') -
Serie temporale: esattamente una riga — ogni colonna numerica diventa una serie a linee aggiunta continuamente, aggiornata all’intervallo configurato. Ad esempio, per tracciare la dimensione del database nel tempo:
SELECT round(sum(pg_catalog.pg_database_size(datname)) / 1048576.0, 2) AS total_size_mb FROM pg_catalog.pg_database WHERE NOT datistemplate
Scrivi (o incolla) la query nell’editor di Query SQL, quindi fai clic sul pulsante Test per vederla visualizzata nell’area di anteprima — puoi provarla tutte le volte che vuoi. Una volta che sei soddisfatto, assegna un nome all’unità, imposta un intervallo di aggiornamento e premi Salva. Chiudi la scheda di modifica e la nuova unità apparirà nell’elenco delle unità, pronta per essere aggiunta alla dashboard (azione verde) proprio come una unità integrata.