Aceasta este o citată de la unul dintre cunoștințele mele care, cândva, s-a adresat mie cu o întrebare despre Postgres. Atunci, am rezolvat problema lui în câteva zile și, după ce m-a mulțumit, a adăugat: „E bine să ai un DBA cunoscut.”
Dar ce să faci dacă nu ai un DBA cunoscut? Răspunsurile pot fi destul de diverse, de la a căuta printre prietenii prietenilor până la a studia problema singur. Însă, oricare ar fi răspunsul care îți vine în minte, am vești bune pentru tine. În regim de test, am lansat un serviciu de recomandări pentru Postgres și tot ceea ce îl înconjoară. Ce este acesta și cum am ajuns aici?
De ce toate acestea?
Postgres nu este, cu siguranță, simplu, ci uneori chiar foarte complicat. Totul depinde de gradul de implicare și responsabilitate.
Cei care lucrează în operațiuni trebuie să monitorizeze pentru a se asigura că Postgres ca serviciu funcționează corect și stabil — să țină evidența utilizării resurselor, disponibilității, adecvării configurației, să efectueze actualizări periodic și verificări regulate de sănătate. Cei care dezvoltă aplicații trebuie, în linii mari, să monitorizeze modul în care aplicația interacționează cu baza de date și să se asigure că nu cauzează situații de urgență care ar putea distruge baza de date. Dacă cineva nu are norocul să fie CTO/tech lead, este important ca Postgres să funcționeze fiabil, previzibil și să nu creeze probleme, dar este de dorit să nu se aprofundeze prea mult în Postgres.
În oricare dintre aceste cazuri, sunteți tu și Postgres. Pentru a gestiona bine Postgres, trebuie să ai o bună înțelegere a modului în care funcționează. Dacă Postgres nu este specializarea ta, poate dura destul de mult timp să-l studiezi. În cazul ideal, când ai timp și dorință, nu este întotdeauna clar de unde să începi, cum și în ce direcție să te îndrepți.
Chiar dacă te înconjori cu monitorizări, care, teoretic, ar trebui să faciliteze exploatarea, problema cunoștințelor experte rămâne deschisă. Pentru a ști să citești și să înțelegi graficele, trebuie la fel să ai o bună înțelegere despre cum funcționează Postgres. În caz contrar, orice monitorizare se transformă în imagini nefericite și spam de alerte la momente ale zilei aleatorii.
este creat tocmai pentru a ușura gestionarea Postgres. Serviciul colectează și analizează date despre Postgres și oferă recomandări despre ce poate fi îmbunătățit.
Scopul principal al serviciului este de a oferi recomandări clare, care să ofere o imagine de ansamblu asupra a ceea ce se întâmplă și a ce trebuie făcut ulterior.
Pentru specialiștii care nu au cunoștințe de expertiză, recomandările oferă un punct de plecare pentru îmbunătățirea abilităților. Specialiștii avansați beneficiază de recomandări care indică aspectele la care ar trebui să acorde atenție. În acest sens, Weaponry joacă rolul de asistent care îndeplinește sarcini rutinate de căutare a problemelor sau deficiențelor care necesită atenție separată. Weaponry poate fi comparat cu un linte care verifică Postgres și indică deficiențele.
Cum stau lucrurile acum
În prezent se află în modul de testare și pe o bază gratuită, înregistrarea este temporar restricționată. Împreună cu câțiva voluntari, perfecționăm motorul de recomandări pe baze aproape operaționale, identificăm false alerte și lucrăm la textul recomandărilor.
Recomandările sunt momentan destul de simple — pur și simplu spun ce și cum să faci, fără detalii suplimentare — astfel că, în prima fază, va trebui să accesați link-uri adiacente sau să căutați suplimentar. Verificările și recomandările acoperă configurațiile sistemului și ale echipamentului, setările propriu-zise ale Postgres, schema internă și resursele utilizate. În planuri există încă multe lucruri ce trebuie adăugate.
Și, bineînțeles, suntem în căutarea voluntarilor care sunt dispuși să încerce serviciul și să ofere feedback. De asemenea, avem , puteți accesa și verifica. Dacă ați realizat că aveți nevoie de așa ceva și sunteți pregătiți să încercați, atunci scrieți-ne pe .
Actualizat 2020-09-16. Începere.
După înregistrare, utilizatorului i se propune să creeze un proiect — care permite gruparea instanțelor de baze de date. După crearea proiectului, utilizatorul este direcționat către instrucțiunile de configurare și instalare a agentului. Pe scurt, trebuie să creați utilizatori pentru agent, după care să descărcați scriptul de instalare a agentului și să-l rulați. În comenzile shell, arată cam așa:
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-da23f72c14a5Dacă pe host există pgbouncer, atunci pentru a conecta agentul va trebui, de asemenea, să creați un utilizator. Metoda specifică de configurare a utilizatorului în pgbouncer poate varia semnificativ și depinde foarte mult de configurația utilizată. În general, setările se rezumă la adăugarea utilizatorului în stats_users fișierul de configurare (de obicei, este pgbouncer.ini) și specificarea parolei (sau a hash-ului acesteia) în fișierul indicat în parametrul auth_file. Când modificați stats_users, va fi necesar să reporniți pgbouncer.
Scriptul install.sh acceptă o pereche de argumente obligatorii, care sunt unice pentru fiecare proiect, și prin variabile de mediu primesc datele utilizatorilor creați. Apoi, scriptul pornește agentul în modul bootstrap — agentul se copiază în PATH, creează un fișier de configurare cu datele, unitatea systemd și pornește ca serviciu systemd.
Instalarea se încheie aici. În câteva minute, instanța DB va apărea în lista host-urilor din interfață și se pot vizualiza deja primele recomandări. Dar un aspect important este că multe dintre recomandări necesită o cantitate mare de metrici acumulate (cel puțin timp de 24 de ore).
Sursa: habr.com
