Questa è una citazione di un mio conoscente che tempo fa mi ha contattato con una domanda su PostgreSQL. All’epoca abbiamo risolto il suo problema in pochi giorni e, dopo avermi ringraziato, ha aggiunto: «È bello avere un DBA conosciuto».
Ma cosa fare se non si conosce un DBA? Le opzioni possono essere molte, a partire dalla ricerca tra amici e finendo con lo studiare il problema da soli. Ma qualunque risposta ti venga in mente, ho una buona notizia per te. In modalità di test, abbiamo lanciato un servizio di raccomandazioni per PostgreSQL e tutto ciò che lo circonda. Cos'è e come siamo arrivati a questo punto?
A cosa serve tutto questo?
PostgreSQL non è semplicemente complesso, a volte è davvero molto difficile. Dipende dal grado di coinvolgimento e responsabilità.
Chi si occupa delle operazioni deve assicurarsi che PostgreSQL come servizio funzioni correttamente e stabilmente: monitorare l’utilizzo delle risorse, la disponibilità, l’adeguatezza della configurazione, eseguire aggiornamenti regolari e controlli di salute. Chi lavora nello sviluppo e scrive applicazioni deve, in termini generali, monitorare come l’applicazione interagisce con il database e assicurarsi che non crei situazioni di emergenza che possano far collassare il database. Se una persona non è così fortunata da essere team leader o direttore tecnico, è importante che PostgreSQL funzioni in modo affidabile, prevedibile e senza problemi, idealmente senza approfondire troppo e a lungo il suo funzionamento.
In ogni caso, ci sei tu e PostgreSQL. Per gestire bene PostgreSQL, è necessario comprenderlo e avere un’idea di come è strutturato. Se PostgreSQL non è una specializzazione diretta, si può impiegare molto tempo per studiarlo. Idealmente, quando si ha tempo e voglia, non è sempre chiaro da dove iniziare e come procedere.
Anche se si utilizzano strumenti di monitoraggio, che dovrebbero teoricamente semplificare l'operazione, resta aperta la questione delle conoscenze esperte. Per sapere leggere e interpretare i grafici, è comunque necessaria una buona comprensione di come funziona PostgreSQL. Altrimenti, qualsiasi monitoraggio diventa una serie di immagini tristi e spam di avvisi in momenti casuali.
è stato realizzato per semplificare l'uso di Postgres. Il servizio raccoglie e analizza i dati su Postgres e fornisce raccomandazioni su cosa migliorare.
L'obiettivo principale del servizio è fornire raccomandazioni chiare, che diano un'idea di ciò che sta accadendo e di cosa fare dopo.
Per i professionisti senza conoscenze esperte, le raccomandazioni offrono un punto di partenza per migliorare le proprie competenze. Per i professionisti avanzati, le raccomandazioni evidenziano aspetti su cui prestare attenzione. In questo senso, Weaponry funge da assistente che esegue compiti routinari di individuazione di problemi o difetti, che richiedono un'attenzione particolare. Weaponry può essere paragonato a un linter che controlla Postgres e segnala carenze.
Come stanno le cose adesso
Al momento è in modalità test e gratuita, la registrazione è temporaneamente limitata. Insieme a diversi volontari, stiamo perfezionando il motore delle raccomandazioni su basi quasi operative, identificando falsi allarmi e lavorando sul testo delle raccomandazioni.
A proposito, le raccomandazioni sono ancora piuttosto dirette — semplicemente dicono cosa e come fare, senza dettagli aggiuntivi — quindi per un po' sarà necessario seguire i link correlati o cercare ulteriori informazioni. I controlli e le raccomandazioni coprono le impostazioni del sistema e dell'hardware, le configurazioni di Postgres stesso, la struttura interna e le risorse utilizzate. Ci sono ancora molte cose che abbiamo in programma di aggiungere.
E ovviamente stiamo cercando volontari che siano disposti a provare il servizio e fornire feedback. Abbiamo anche , puoi entrare e dare un'occhiata. Se hai capito che hai bisogno di questo e sei pronto a provare, allora scrivici a .
Aggiornato il 2020-09-16. Iniziare.
Dopo la registrazione, all'utente viene chiesto di creare un progetto — che consente di raggruppare gli istanze del database. Dopo aver creato il progetto, l'utente viene reindirizzato alle istruzioni per la configurazione e l'installazione dell'agente. In breve, è necessario creare utenti per l'agente, dopodiché scaricare lo script di installazione dell'agente e avviarlo. Nei comandi shell, si presenta così:
psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5Se sul host è presente pgbouncer, per connettere l'agente sarà necessario creare un utente. Il modo specifico per configurare l'utente in pgbouncer può variare notevolmente e dipende fortemente dalla configurazione utilizzata. In generale, la configurazione consiste nell'aggiungere l'utente a stats_users nel file di configurazione (di solito si tratta di pgbouncer.ini) e nel file specificato nel parametro auth_file. Se si modifica stats_users, sarà necessario riavviare pgbouncer.
Lo script install.sh accetta un paio di argomenti obbligatori che sono unici per ogni progetto e tramite variabili d'ambiente accetta le credenziali degli utenti creati. Successivamente, lo script avvia l'agente in modalità bootstrap: l'agente copia se stesso nel PATH, crea una configurazione con le credenziali, un'unità systemd e si avvia come servizio systemd.
A questo punto, l'installazione è completata. Nel giro di pochi minuti, l'istanza del database apparirà nell'elenco degli host nell'interfaccia e sarà possibile iniziare a ricevere le prime raccomandazioni. È importante notare che molte raccomandazioni richiedono un numero significativo di metriche accumulate (almeno per un giorno).
Fonte: habr.com
