Abbiamo Postgres lì, ma non so cosa farci (c)

Questa è una citazione di uno dei miei conoscenti che una volta si è rivolto a me con una domanda su Postgres. Allora abbiamo risolto il suo problema in pochi giorni e, dopo avermi ringraziato, ha aggiunto: «È bello avere un DBA amico».

Ma cosa fare se non si ha un DBA amico? Le opzioni possono essere diverse, iniziando dalla ricerca tra amici di amici e arrivando fino allo studio autonomo della questione. Qualunque sia la risposta che ti viene in mente, ho buone notizie per te. In modalità di test abbiamo lanciato un servizio di raccomandazione per Postgres e tutto ciò che lo circonda. Di cosa si tratta e come siamo arrivati a questo punto?

Perché tutto questo?

Postgres non è semplicemente complesso, a volte è molto difficile. Dipende dal livello di coinvolgimento e responsabilità.

A chi è nelle operazioni spetta assicurarsi che Postgres funzioni correttamente e stabilmente come servizio: monitorare l'utilizzo delle risorse, la disponibilità, l'adeguatezza della configurazione, eseguire aggiornamenti periodici e controlli regolari dello stato. Chi sviluppa applicazioni deve, in generale, prestare attenzione al modo in cui l'applicazione interagisce con il database e garantire che non generi situazioni di emergenza che possano compromettere il database. Se la persona è sfortunata al punto da essere il tech lead/CTO, è fondamentale che Postgres funzioni in modo affidabile e prevedibile, evitando problemi, preferibilmente senza doversi immergere troppo a lungo in Postgres.

In ciascuno di questi casi, ci sei tu e Postgres. Per gestire efficacemente Postgres, è necessario avere una buona comprensione e conoscere il suo funzionamento. Se Postgres non è la tua specializzazione principale, potresti spendere molto tempo per studiarlo. Nel caso ideale, quando hai tempo e voglia, non è sempre chiaro da dove cominciare e come procedere.

Anche con un monitoraggio che, in teoria, dovrebbe semplificare la gestione, resta aperta la questione delle competenze esperte. Per saper leggere e comprendere i grafici, è necessario avere anche una buona comprensione di come funziona Postgres. Altrimenti, qualsiasi monitoraggio si trasforma in immagini poco utili e spam di avvisi a orari casuali.

Weaponry è specificamente progettato per semplificare la gestione di Postgres. Il servizio raccoglie e analizza 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 succedendo e di cosa fare successivamente.

Per i professionisti che non possiedono competenze esperte, le raccomandazioni offrono un punto di partenza per accrescere le proprie competenze. Per i professionisti avanzati, le raccomandazioni evidenziano aspetti a cui prestare attenzione. In questo senso, Weaponry funge da assistente che svolge compiti routinari di ricerca di problemi o carenze che richiedono attenzione. Weaponry può essere paragonato a un linter che verifica Postgres e segnala le carenze.

Come stanno le cose adesso

Attualmente Weaponry è in fase di test e disponibile gratuitamente, la registrazione è attualmente limitata. Stiamo migliorando il motore delle raccomandazioni con l'aiuto di alcuni volontari, identificando falsi positivi e lavorando sul testo delle raccomandazioni.

Va detto che le raccomandazioni sono ancora piuttosto dirette — semplicemente dicono cosa e come fare, senza ulteriori dettagli — quindi inizialmente sarà necessario seguire i link di accompagnamento o cercare ulteriori informazioni. I controlli e le raccomandazioni riguardano le impostazioni del sistema e dell'hardware, la configurazione di Postgres, lo schema interno e le risorse utilizzate. Ci sono ancora molte cose da aggiungere ai piani.

Naturalmente, stiamo cercando volontari pronti a provare il servizio e fornire feedback. Abbiamo anche demo, potete registrarvi e dare un'occhiata. Se avete capito che è qualcosa di cui avete bisogno e siete pronti a provare, scriveteci a email.

Aggiornato il 16-09-2020. Iniziare.

Dopo la registrazione, all'utente viene chiesto di creare un progetto, che consente di raggruppare le istanze del database. Dopo la creazione del progetto, l'utente viene indirizzato a una guida per la configurazione e l'installazione dell'agente. In breve, bisogna creare utenti per l'agente, dopodiché scaricare lo script di installazione dell'agente e avviarlo. Nei comandi shell, ciò appare circa 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-da23f72c14a5

Se sul host è presente pgbouncer, sarà necessario creare un utente anche per connettere l'agente. Il modo specifico di configurare l'utente in pgbouncer può variare notevolmente e dipende fortemente dalla configurazione utilizzata. In generale, la configurazione si riduce all'aggiunta dell'utente a stats_users , nel file di configurazione (di solito è pgbouncer.ini) e specificando la password (o il suo hash) nel file indicato nel parametro auth_file. Una volta modificato stats_users, sarà necessario riavviare pgbouncer.

Lo script install.sh accetta un paio di argomenti obbligatori, unici per ogni progetto, e tramite le variabili d'ambiente accetta le credenziali degli utenti creati. Successivamente, lo script avvia l'agente in modalità bootstrap: l'agente si copia nel PATH, crea una configurazione con i dettagli, un'unità systemd e si avvia come servizio systemd.
Con questo, l'installazione è completata. Nel giro di pochi minuti, l'istanza del database apparirà nell'elenco degli host nell'interfaccia e sarà possibile visualizzare i primi suggerimenti. Tuttavia, è importante notare che molti suggerimenti richiedono un ampio insieme di metriche accumulate (almeno per un giorno).

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster