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

Questa è una citazione di uno dei miei amici che una volta si avvicinò a me con una domanda su Postgres. Poi abbiamo risolto il suo problema in un paio di giorni e, ringraziandomi, ha aggiunto: “È bello avere un DBA familiare”.

Ma cosa fare se non conosci un DBA? Possono esserci molte opzioni di risposta, che vanno dalla ricerca di amici tra amici allo studio tu stesso della domanda. Ma qualunque risposta ti venga in mente, ho buone notizie per te. In modalità test, abbiamo lanciato un servizio di consigli per Postgres e tutto ciò che lo circonda. Cos'è questo e come siamo arrivati ​​a vivere così?

Perché è tutto?

Postgres almeno non è facile, e talvolta molto difficile. Dipende dal grado di coinvolgimento e responsabilità.

Coloro che lavorano nelle operazioni devono garantire che Postgres as a service funzioni correttamente e stabilmente: monitorare l'utilizzo delle risorse, la disponibilità, l'adeguatezza della configurazione, eseguire periodicamente aggiornamenti e controlli sanitari regolari. Chi è in fase di sviluppo e scrive applicazioni, in termini generali, ha bisogno di monitorare come l'applicazione interagisce con il database e che non crei situazioni di emergenza che potrebbero far crollare il database. Se una persona è così sfortunata da essere un capo tecnico/direttore tecnico, allora è importante per lui che Postgres nel suo insieme funzioni in modo affidabile, prevedibile e non crei problemi, mentre è consigliabile non immergersi profondamente in Postgres per molto tempo .

In ognuno di questi casi, ci siete tu e Postgres. Per servire bene Postgres, è necessario comprenderlo bene e capire come funziona. Se Postgres non è una specializzazione diretta, puoi dedicare molto tempo al suo apprendimento. Idealmente, quando c'è tempo e voglia, non è sempre chiaro da dove cominciare, come e dove muoversi.

Anche se viene introdotto un monitoraggio, che in teoria dovrebbe facilitare il funzionamento, la questione della conoscenza degli esperti rimane aperta. Per essere in grado di leggere e comprendere i grafici, è comunque necessario avere una buona conoscenza di come funziona Postgres. Altrimenti, qualsiasi monitoraggio si trasforma in immagini tristi e spam provenienti da avvisi in orari casuali della giornata.

Armi appena fatto per rendere Postgres più facile da usare. Il servizio raccoglie e analizza i dati su Postgres e fornisce raccomandazioni su cosa può essere migliorato.

L'obiettivo principale del servizio è fornire raccomandazioni chiare che diano un'idea di ciò che sta accadendo e di cosa è necessario fare dopo.

Per i professionisti che non dispongono di conoscenze specialistiche, le raccomandazioni forniscono un punto di partenza per una formazione avanzata. Per gli specialisti avanzati, le raccomandazioni indicano i punti a cui prestare attenzione. A questo proposito, Weaponry funge da assistente che svolge compiti di routine per individuare problemi o carenze che richiedono particolare attenzione. Le armi possono essere paragonate a un linter che controlla Postgres e ne evidenzia i difetti.

Come vanno le cose adesso?

Al momento, Armi è in modalità prova ed è gratuito, la registrazione è temporaneamente limitata. Insieme a diversi volontari, stiamo finalizzando il motore delle raccomandazioni nelle basi vicine al combattimento, identificando i falsi positivi e lavorando sul testo delle raccomandazioni.

A proposito, i consigli sono ancora abbastanza semplici - dicono solo cosa fare e come farlo, senza ulteriori dettagli - quindi all'inizio dovrai seguire i link correlati o cercarlo su Google. I controlli e le raccomandazioni riguardano le impostazioni del sistema e dell'hardware, le impostazioni di Postgres stesso, lo schema interno e le risorse utilizzate. Ci sono ancora molte cose da aggiungere nei piani.

E, naturalmente, stiamo cercando volontari pronti a provare il servizio e a fornire feedback. Abbiamo anche dimostrazione, puoi entrare e dare un'occhiata. Se capisci che ne hai bisogno e sei pronto a provare, scrivici a posta.

Aggiornato il 2020-09-16. Iniziare.

Dopo la registrazione, all'utente viene richiesto di creare un progetto, che consente di combinare le istanze del database in gruppi. Dopo aver creato un progetto, l'utente viene indirizzato alle istruzioni per la configurazione e l'installazione dell'agente. In poche parole, è necessario creare utenti per l'agente, quindi scaricare lo script di installazione dell'agente ed eseguirlo. Nei comandi della shell assomiglia a questo:

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 l'host dispone di pgbouncer, dovrai anche creare un utente per connettere l'agente. Il modo specifico di configurare un utente in pgbouncer può essere molto variabile e fortemente dipendente dalla configurazione utilizzata. In termini generali, la configurazione si riduce all'aggiunta di un utente statistiche_utenti file di configurazione (normalmente pgbouncer.ini) e scrivendo la password (o il suo hash) nel file specificato nel parametro file_auth. Se cambi stats_users, dovrai riavviare pgbouncer.

Lo script install.sh accetta un paio di argomenti richiesti che sono univoci per ciascun progetto e, tramite variabili di ambiente, accetta i dettagli degli utenti creati. Successivamente, lo script avvia l'agente in modalità bootstrap: l'agente si copia su PATH, crea una configurazione con i dettagli, un'unità systemd e si avvia come servizio systemd.
Questo completa l'installazione. Entro un paio di minuti, l'istanza del database apparirà nell'elenco degli host nell'interfaccia e potrai già consultare i primi consigli. Ma un punto importante è che molte raccomandazioni richiedono un gran numero di parametri accumulati (almeno al giorno).

Fonte: habr.com

Aggiungi un commento