Dit is een citaat van een van mijn vrienden die me ooit een vraag stelde over Postgres. We hadden zijn probleem binnen een paar dagen opgelost, bedankten me en voegde eraan toe: "Het is fijn om een DBA-vriend te hebben."
Maar wat als je geen DBA kent? Er zijn talloze mogelijke antwoorden, van het raadplegen van vrienden van vrienden tot het zelf bestuderen van het probleem. Maar ongeacht welk antwoord je te binnen schiet, ik heb goed nieuws voor je. In de testmodus hebben we een aanbevelingsservice gelanceerd voor Postgres en alles eromheen. Wat is het en hoe is het zo gekomen?
Waarom dit allemaal?
Postgres is in ieder geval niet makkelijk, en soms zelfs erg moeilijk. Het hangt af van de mate van betrokkenheid en verantwoordelijkheid.
Operationeel personeel moet controleren of Postgres als service correct en stabiel werkt. Dit omvat het resourcegebruik, de beschikbaarheid en de configuratie, en het uitvoeren van periodieke updates en regelmatige health checks. Ontwikkelaars en ontwikkelaars van applicaties moeten over het algemeen controleren hoe de applicatie met de database communiceert en of er geen noodsituaties ontstaan die de database zouden kunnen platleggen. Als iemand de pech heeft een technisch leider/technisch directeur te zijn, is het belangrijk dat Postgres als geheel betrouwbaar en voorspelbaar werkt en geen problemen veroorzaakt. Het is echter raadzaam om niet te diep en langdurig in Postgres te duiken.
In al deze gevallen heb je te maken met jou en Postgres. Om Postgres goed te kunnen bedienen, moet je het goed begrijpen en begrijpen hoe het werkt. Als Postgres geen directe specialisatie is, kun je er behoorlijk wat tijd in steken. In het ideale geval, wanneer er tijd en zin is, is het niet altijd duidelijk waar te beginnen, hoe en waarheen te gaan.
Zelfs als je je omringt met monitoring, wat in theorie de bediening zou moeten vergemakkelijken, blijft de vraag naar expertkennis open. Om grafieken te kunnen lezen en begrijpen, moet je nog steeds goed begrijpen hoe Postgres werkt. Anders ontaardt elke monitoring in trieste plaatjes en spam door meldingen op willekeurige tijdstippen van de dag.
is gemaakt om Postgres gebruiksvriendelijker te maken. De dienst verzamelt en analyseert gegevens over Postgres en doet aanbevelingen voor verbetering.
Het hoofddoel van de dienst is om duidelijke aanbevelingen te doen die inzicht geven in wat er gebeurt en wat er vervolgens moet gebeuren.
Voor specialisten zonder specifieke kennis bieden aanbevelingen een startpunt om hun vaardigheden te verbeteren. Voor gevorderde specialisten geven aanbevelingen aan waar aandacht aan moet worden besteed. Weaponry fungeert hierbij als een assistent die routinetaken uitvoert om problemen of tekortkomingen te ontdekken die speciale aandacht vereisen. Weaponry kan worden vergeleken met een linter die Postgres controleert en tekortkomingen signaleert.
Hoe gaat het nu?
momenteel bevindt zich in de testfase en is gratis; registratie is tijdelijk beperkt. Samen met een aantal vrijwilligers ronden we de aanbevelingsengine op bases in de buurt van gevechten af, identificeren we valspositieve resultaten en werken we aan de tekst van aanbevelingen.
Overigens zijn de aanbevelingen nog steeds vrij eenvoudig: ze geven alleen aan wat en hoe je moet doen, zonder verdere details. Je zult dus eerst de bijbehorende links moeten volgen of het moeten googelen. Controles en aanbevelingen hebben betrekking op systeem- en hardware-instellingen, de Postgres-instellingen zelf, het interne schema en de gebruikte resources. Er zijn nog heel wat dingen in de plannen die moeten worden toegevoegd.
En natuurlijk zijn we op zoek naar vrijwilligers die bereid zijn de dienst uit te proberen en feedback te geven. We hebben ook , je kunt het gaan bekijken. Als je begrijpt dat je dit nodig hebt en klaar bent om het te proberen, schrijf ons dan op .
Bijgewerkt op 2020-09-16. Aan de slag.
Na registratie wordt de gebruiker gevraagd een project aan te maken, waarmee database-instanties in groepen kunnen worden gecombineerd. Na het aanmaken van een project wordt de gebruiker doorgestuurd naar de instructies voor het configureren en installeren van de agent. Kort gezegd moet u gebruikers voor de agent aanmaken, vervolgens het installatiescript voor 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-da23f72c14a5Als de host pgbouncer heeft, moet u ook een gebruiker aanmaken om de agent te verbinden. De specifieke methode voor het instellen van een gebruiker in pgbouncer kan zeer variabel zijn en is sterk afhankelijk van de gebruikte configuratie. Over het algemeen komt de installatie neer op het toevoegen van een gebruiker aan statistieken_gebruikers configuratiebestand (meestal is dit pgbouncer.ini) en het wachtwoord (of de hash ervan) naar het bestand schrijven dat is opgegeven in de parameter auth_bestand. Om stats_users te wijzigen moet u pgbouncer opnieuw opstarten.
Het install.sh-script accepteert een aantal verplichte argumenten die uniek zijn voor elk project, en accepteert de details van de aangemaakte gebruikers via omgevingsvariabelen. Vervolgens start het script de agent in bootstrapmodus: 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 de eerste aanbevelingen al bekijken. Belangrijk is echter dat veel aanbevelingen een groot aantal verzamelde statistieken vereisen (minstens een dag).
Bron: www.habr.com
