Dette er et citat fra en af mine venner, der engang stillede mig et spørgsmål om Postgres. Så løste vi hans problem på et par dage, og han takkede mig og tilføjede: "Det er godt, når man har en ven, der er DBA-ekspert."
Men hvad nu hvis du ikke kender en DBA? Der kan være en hel del svarmuligheder, lige fra at søge blandt venners venner til at studere spørgsmålet selv. Men uanset hvilket svar der falder dig ind, har jeg gode nyheder til dig. I testtilstand lancerede vi en anbefalingstjeneste til Postgres og alt omkring det. Hvad er det, og hvordan er vi endt med at leve sådan?
Hvorfor alt dette?
Postgres er i det mindste ikke simpelt, og til tider meget vanskeligt. Afhænger af niveauet af engagement og ansvar.
De, der er i drift, skal sikre, at Postgres som en tjeneste fungerer korrekt og stabilt - overvåge ressourceudnyttelse, tilgængelighed, konfigurationstilstrækkelighed, udføre periodiske opdateringer og regelmæssige sundhedstjek. De, der udvikler og skriver applikationer, skal generelt overvåge, hvordan applikationen interagerer med databasen, og at det ikke skaber nødsituationer, der kan få databasen til at nedbryde. Hvis en person er så uheldig at være tech lead/tech director, så er det vigtigt for vedkommende, at Postgres som helhed fungerer pålideligt, forudsigeligt og ikke skaber problemer, samtidig med at det er ønskeligt ikke at dykke dybt og i lang tid ned i Postgres.
I alle disse tilfælde er der dig og Postgres. For korrekt at vedligeholde Postgres, skal du have en god forståelse af det og en idé om, hvordan det fungerer. Hvis Postgres ikke er en direkte specialisering, kan det tage en del tid at lære det. Ideelt set, når der er tid og lyst, er det ikke altid klart, hvor man skal starte, hvordan og hvor man skal bevæge sig hen.
Selv hvis vi indfører overvågning, hvilket i teorien burde gøre udnyttelsen lettere, forbliver spørgsmålet om ekspertviden åbent. For at kunne læse og forstå grafer, skal du stadig have en god forståelse af, hvordan Postgres fungerer. Ellers bliver enhver overvågning til triste billeder og spam fra advarsler på tilfældige tidspunkter af dagen.
Det blev lavet netop for at gøre Postgres nemmere at bruge. Tjenesten indsamler og analyserer data om Postgres og giver anbefalinger til, hvad der kan forbedres.
Hovedformålet med tjenesten er at give klare anbefalinger, der giver en idé om, hvad der sker, og hvad der skal gøres næste gang.
For fagfolk, der ikke har ekspertviden, giver anbefalingerne et udgangspunkt for at forbedre deres kvalifikationer. For avancerede specialister angiver anbefalingerne de punkter, der skal være opmærksomme på. I denne henseende fungerer Weaponry som en assistent, der udfører rutineopgaver for at finde problemer eller mangler, der kræver særlig opmærksomhed. Våben kan sammenlignes med en linter, der tjekker Postgres og påpeger fejl.
Hvordan er tingene nu?
I øjeblikket er i testtilstand og gratis, tilmelding er midlertidigt begrænset. Sammen med flere frivillige færdiggør vi anbefalingssystemet på nærkampsbaser, identificerer falske positiver og arbejder på teksten til anbefalingerne.
Forresten er anbefalingerne stadig ret ligetil - de fortæller dig bare, hvad og hvordan du skal gøre, uden yderligere detaljer - så i starten bliver du nødt til at følge de medfølgende links eller google det. Kontroller og anbefalinger dækker system- og hardwareindstillinger, selve Postgres-indstillingerne, det interne skema og de anvendte ressourcer. Der er stadig en del planlagte ting, som skal tilføjes.
Og selvfølgelig leder vi efter frivillige, der er klar til at prøve tjenesten og give feedback. Vi har også , du kan komme ind og kigge. Hvis du forstår, at du har brug for dette, og er klar til at prøve, så skriv til os på .
Opdateret 2020-09-16. Kom godt i gang.
Efter registrering bliver brugeren bedt om at oprette et projekt, som gør det muligt at kombinere DB-instanser i grupper. Efter oprettelse af et projekt dirigeres brugeren til instruktioner til konfiguration og installation af agenten. Kort sagt skal du oprette brugere til agenten, derefter downloade agentinstallationsscriptet og køre det. I shell-kommandoer ser det nogenlunde sådan ud:
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-da23f72c14a5Hvis der er pgbouncer på værten, skal du også oprette en bruger for at forbinde agenten. Den præcise måde at konfigurere en bruger i pgbouncer på kan være meget variabel og afhænger i høj grad af den anvendte konfiguration. Generelt handler opsætningen om at tilføje en bruger til statistik_brugere konfigurationsfil (normalt er dette pgbouncer.ini) og skrive adgangskoden (eller dens hash) til den fil, der er angivet i parameteren autentificeringsfil. Ændring af stats_users kræver genstart af pgbouncer.
install.sh-scriptet accepterer et par obligatoriske argumenter, der er unikke for hvert projekt, og accepterer via miljøvariabler detaljerne om de oprettede brugere. Dernæst starter scriptet agenten i bootstrap-tilstand - agenten kopierer sig selv til PATH, opretter en konfiguration med detaljer, en systemd-enhed og starter som en systemd-tjeneste.
Dette fuldfører installationen. Inden for et par minutter vil DB-instansen vises på listen over værter i brugergrænsefladen, og du kan allerede se de første anbefalinger. Men et vigtigt punkt er, at mange anbefalinger kræver et stort antal akkumulerede målinger (i det mindste for en dag).
Kilde: www.habr.com
