Il monitoraggio è un modo per sapere se i tuoi sistemi funzionano correttamente. Anche quando si utilizza una tecnologia solida come PostgreSQL, è importante disporre di un buon sistema di monitoraggio che consenta di prevenire i problemi prima che influiscano sulla tua attività. Il modo migliore per monitorare il tuo database in modo proattivo è avere controlli personalizzati per adattarli al tuo carico di lavoro e anche una notifica per assicurarti di essere avvisato in caso di guasto.
Questa potrebbe essere un'attività che richiede tempo poiché è necessario creare tutto manualmente, ma che ne dici di utilizzare ClusterControl per questo? Sì, puoi farlo e in questo blog scopriremo come.
Notifiche ClusterControl
ClusterControl dispone di un sistema di allarme che utilizza gli Advisor per avvisarti in caso di guasto o comportamento imprevisto. Viene fornito con alcuni consulenti predefiniti, ma puoi modificarlo o persino crearne uno nuovo utilizzando lo strumento integrato Developer Studio. Inoltre, ha l'integrazione con strumenti di terze parti come Slack o PagerDuty, quindi puoi ricevere notifiche anche lì.
Consulenti ClusterControl
ClusterControl ha un mini-programma interno chiamato Advisors, in cui si scrive un piccolo programma che vive ed esegue all'interno della struttura degli oggetti ClusterControl. Puoi pensarla come una funzione pianificata che esegue uno script creato in Developer Studio e produce un risultato contenente stato, consigli e giustificazione. Ciò consente agli utenti di estendere facilmente la funzionalità di ClusterControl creando advisor personalizzati che possono essere eseguiti su richiesta o in base a una pianificazione.
Ci sono alcuni Advisor predefiniti che possono essere trovati in ClusterControl -> Performance -> Advisor, ma puoi anche programmarne di nuovi utilizzando l'opzione Schedule Advisor:l'opzione ti invierà alla sezione Developer Studio.
Per gli Advisor esistenti, puoi vedere la configurazione della pianificazione, l'ultima esecuzione e anche informazioni come lo stato corrente, l'istanza del database, un messaggio sull'output e un avviso se necessario.
Studio per sviluppatori ClusterControl
Gli advisor menzionati sono mini script scritti in ClusterControl Domain Specific Language (DSL) che è un linguaggio simile a Javascript. Questi script possono essere scritti, compilati, salvati, eseguiti e programmati in ClusterControl utilizzando lo strumento Developer Studio integrato in ClusterControl.
Per accedere a questo strumento, vai su ClusterControl -> Gestisci -> Developer Studio . Una volta lì, sarai in grado di vedere gli script disponibili, ma puoi anche creare, importare o esportare nuovi script.
Quando modifichi o crei uno script, puoi compilare il tuo lavoro, compilarlo ed eseguirlo, pianificarlo o disabilitarlo del tutto.
Nel caso in cui desideri pianificare un nuovo script, la configurazione è fondamentalmente un cron job, in cui puoi specificare quando e con quale frequenza eseguirlo in due diverse modalità:Base (Base) o Avanzata .
Se stai pianificando uno script esistente, puoi vedere l'output nel sezione messaggi.
E, se vuoi creare un nuovo script, ad esempio, esegui una query SQL sul tuo database PostgreSQL per conoscere la versione corrente, c'è un esempio di base:
Per ulteriori esempi sull'utilizzo del linguaggio DSL, puoi fare riferimento a la Documentazione Ufficiale.
Conclusione
Un buon sistema di monitoraggio deve essere in grado di inviare notifiche, mostrare allarmi e anche offrire la possibilità di personalizzare gli script per adattarli alla tua azienda.
ClusterControl ha tutte le funzionalità menzionate:può offrire funzionalità che vanno da molte funzionalità di gestione e monitoraggio come ripristino automatico, backup, implementazione, sicurezza e altro ancora.
All'inizio, la creazione di advisor personalizzati per il tuo database PostgreSQL potrebbe essere difficile poiché hai bisogno di una conoscenza di javascript e di alcune conoscenze di base su ClusterControl, ma una volta creato il tuo primo advisor, il resto dovrebbe essere un compito facile.