We hebben daar Postgres, maar ik weet niet wat ik ermee moet doen (c)

Dit is een citaat van een van mijn vrienden die mij ooit benaderde met een vraag over Postgres. Vervolgens hebben we zijn probleem binnen een paar dagen opgelost en, mij bedankend, voegde hij eraan toe: “Het is goed om een ​​vertrouwde DBA te hebben.”

Maar wat moet u doen als u geen DBA kent? Er kunnen heel wat antwoordmogelijkheden zijn, variërend van het zoeken naar vrienden onder vrienden tot het zelf bestuderen van de vraag. Maar welk antwoord er ook in je opkomt, ik heb goed nieuws voor je. In de testmodus hebben we een aanbevelingsservice gelanceerd voor Postgres en alles eromheen. Wat is dit en hoe zijn wij zo gekomen?

Waarom is dit alles?

Postgres is in ieder geval niet gemakkelijk, en soms erg moeilijk. Afhankelijk van de mate van betrokkenheid en verantwoordelijkheid.

Degenen die in de operaties werken, moeten ervoor zorgen dat Postgres as a service goed en stabiel werkt - het gebruik van bronnen, de beschikbaarheid en de geschiktheid van de configuratie monitoren, periodiek updates uitvoeren en regelmatige gezondheidscontroles uitvoeren. Degenen die bezig zijn met het ontwikkelen en schrijven van applicaties moeten in het algemeen in de gaten houden hoe de applicatie met de database communiceert en dat er geen noodsituaties ontstaan ​​die de database plat kunnen leggen. Als iemand de pech heeft om technisch leider/technisch directeur te zijn, dan is het voor hem belangrijk dat Postgres als geheel betrouwbaar, voorspelbaar werkt en geen problemen oplevert, terwijl het raadzaam is om niet lange tijd diep in Postgres te duiken. .

In elk van deze gevallen zijn er jij en Postgres. Om Postgres goed van dienst te zijn, moet je er een goed begrip van hebben en begrijpen hoe het werkt. Als Postgres geen directe specialisatie is, kun je er behoorlijk wat tijd aan besteden om het te leren. Idealiter is het, als er tijd en verlangen is, niet altijd duidelijk waar te beginnen, hoe en waar naartoe te gaan.

Zelfs als monitoring wordt geïntroduceerd, wat in theorie de werking zou moeten vergemakkelijken, blijft de kwestie van de expertkennis open. Om grafieken te kunnen lezen en begrijpen, moet je nog steeds goed begrijpen hoe Postgres werkt. Anders verandert elke monitoring op willekeurige momenten van de dag in trieste foto's en spam van waarschuwingen.

Wapens zojuist gemaakt om Postgres gebruiksvriendelijker te maken. De dienst verzamelt en analyseert gegevens over Postgres en doet aanbevelingen over wat er verbeterd kan worden.

Het belangrijkste doel van de dienst is het geven van duidelijke aanbevelingen die een idee geven van wat er gebeurt en wat er vervolgens moet gebeuren.

Voor professionals die niet over vakkennis beschikken, bieden de aanbevelingen een startpunt voor vervolgopleiding. Voor gevorderde specialisten geven aanbevelingen punten aan waar aandacht aan moet worden besteed. In dit opzicht fungeert Weaponry als een assistent die routinetaken uitvoert om problemen of tekortkomingen te vinden die speciale aandacht vereisen. Wapens kunnen worden vergeleken met een linter die Postgres controleert en op gebreken wijst.

Hoe gaat het nu?

momenteel Wapens is in testmodus en gratis, inschrijving is tijdelijk beperkt. Samen met verschillende vrijwilligers leggen we de laatste hand aan de aanbevelingsmachine op bijna-gevechtsbases, identificeren we valse positieven en werken we aan de tekst van de aanbevelingen.

Trouwens, de aanbevelingen zijn nog steeds vrij eenvoudig - ze zeggen alleen wat je moet doen en hoe je het moet doen, zonder aanvullende details - dus in eerste instantie zul je de gerelateerde links moeten volgen of op Google moeten zoeken. Controles en aanbevelingen hebben betrekking op systeem- en hardware-instellingen, instellingen van Postgres zelf, het interne schema en de gebruikte bronnen. Er moeten nog heel wat zaken toegevoegd worden aan de plannen.

En natuurlijk zijn we op zoek naar vrijwilligers die bereid zijn de service uit te proberen en feedback te geven. We hebben ook demonstratie, u kunt binnenkomen en een kijkje nemen. Als je begrijpt dat je dit nodig hebt en klaar bent om het te proberen, schrijf dan naar mail.

Bijgewerkt op 2020-09-16. Aan de slag.

Na registratie wordt de gebruiker gevraagd een project aan te maken, waarmee u database-instanties in groepen kunt combineren. Na het aanmaken van een project wordt de gebruiker doorverwezen naar instructies voor het configureren en installeren van de agent. In een notendop: u moet gebruikers voor de agent aanmaken, vervolgens het installatiescript van de agent downloaden en uitvoeren. In shell-opdrachten ziet het er ongeveer zo uit:

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

Als de host pgbouncer heeft, moet u ook een gebruiker aanmaken om verbinding te maken met de agent. De specifieke manier om een ​​gebruiker in pgbouncer te configureren kan zeer variabel zijn en sterk afhankelijk van de gebruikte configuratie. Over het algemeen komt de installatie neer op het toevoegen van een gebruiker aan statistieken_gebruikers configuratiebestand (meestal pgbouncer.ini) en het wachtwoord (of de hash ervan) schrijven naar het bestand dat is opgegeven in de parameter auth_bestand. Als u stats_users wijzigt, moet u pgbouncer opnieuw opstarten.

Het install.sh-script gebruikt een aantal vereiste argumenten die uniek zijn voor elk project, en accepteert via omgevingsvariabelen de details van de aangemaakte gebruikers. Vervolgens start het script de agent in de bootstrap-modus - de agent kopieert zichzelf naar PATH, maakt een configuratie met details, een systemd-eenheid en start als een systemd-service.
Hiermee is de installatie voltooid. Binnen een paar minuten verschijnt de database-instantie in de lijst met hosts in de interface en kunt u al de eerste aanbevelingen bekijken. Maar een belangrijk punt is dat veel aanbevelingen een groot aantal verzamelde statistieken vereisen (tenminste per dag).

Bron: www.habr.com

Voeg een reactie