We have Postgres there, but I don’t know what to do with it.

Dit is een citaat van een van mijn vrienden die ooit contact met me opnam met een vraag over Postgres. Destijds hebben we zijn probleem in een paar dagen opgelost en, terwijl hij me bedankte, voegde hij eraan toe: "Het is fijn als je een DBA kent."

Maar wat te doen als je geen bekende DBA hebt? Er zijn verschillende antwoorden mogelijk, van het zoeken onder vrienden van vrienden tot het zelf onderzoeken van het onderwerp. Maar wat voor antwoord je ook bedenkt, ik heb goed nieuws voor je. We hebben een testservice gelanceerd voor aanbevelingen voor Postgres en alles wat daarmee te maken heeft. Wat is dat nu precies en hoe zijn we tot deze situatie gekomen?

Waarom dit alles?

Postgres is op zijn minst niet eenvoudig, en soms zelfs heel complex. Het hangt af van de mate van betrokkenheid en verantwoordelijkheid.

Voor degenen die met operations bezig zijn, is het belangrijk om ervoor te zorgen dat Postgres als service goed en stabiel functioneert — kappen op het gebruik van middelen, zorgen voor beschikbaarheid, controleren of de configuratie adequaat is, en regelmatig updates en gezondheidsonderzoeken uitvoeren. Voor degenen die ontwikkelen en applicaties schrijven, is het in het algemeen belangrijk om te letten op hoe de applicatie interactie heeft met de database en dat deze geen noodsituaties creĆ«ert die de database zouden kunnen laten falen. Als iemand niet zoveel geluk heeft en technisch leiderschap heeft, is het belangrijk dat Postgres in het algemeen betrouwbaar en voorspelbaar werkt en geen problemen veroorzaakt, terwijl het wenselijk is om zelf niet diepgaand en langdurig in Postgres te duiken.

In elk van deze gevallen ben jij en Postgres met elkaar verbonden. Om Postgres goed te beheren, moet je er behoorlijk in thuis zijn en een goed beeld hebben van hoe het is opgebouwd. Als Postgres niet je directe specialisatie is, kan het behoorlijk wat tijd kosten om het te leren. Idealiter, als je tijd en zin hebt, is het niet altijd duidelijk waar je moet beginnen, hoe en waar je naartoe moet.

Zelfs als je omringd bent door monitoringtools die in theorie de exploitatie moeten vergemakkelijken, blijft de vraag naar deskundige kennis open. Om grafieken te kunnen lezen en begrijpen, moet je nog steeds een goed begrip hebben van hoe Postgres is opgebouwd. Anders wordt elke monitoring omgevormd tot sombere afbeeldingen en spam van waarschuwingen op willekeurige tijden van de dag.

Wapens is precies ontworpen om het beheer van Postgres te vergemakkelijken. De service verzamelt en analyseert gegevens over Postgres en geeft aanbevelingen over wat verbeterd kan worden.

Het hoofddoel van de service is om duidelijke aanbevelingen te geven die een idee geven van wat er aan de hand is en wat er verder moet gebeuren.

Voor professionals zonder expertkennis bieden de aanbevelingen een startpunt voor vaardighedenontwikkeling. Voor gevorderde specialisten wijzen de aanbevelingen op punten waar aandacht aan besteed moet worden. In dit opzicht fungeert Weaponry als een assistent die routinematige taken uitvoert bij het opsporen van problemen of tekortkomingen die extra aandacht vereisen. Weaponry kan worden vergeleken met een linter die Postgres controleert en tekortkomingen aanwijst.

Hoe staat het er nu mee?

Op dit moment Wapens is momenteel in testfase en gratis beschikbaar, registratie is tijdelijk beperkt. Samen met enkele vrijwilligers verbeteren we de aanbevelingsengine op nabij-gevechtsgegevens, identificeren we valse positieven en werken we aan de tekst van de aanbevelingen.

Trouwens, de aanbevelingen zijn tot nu toe redelijk rechttoe rechtaan — ze zeggen simpelweg wat en hoe te doen, zonder extra details — dus in eerste instantie moet je mogelijk de bijbehorende links volgen of verder zoeken. De controles en aanbevelingen bestrijken systeem- en hardware-instellingen, instellingen van Postgres zelf, de interne structuur en de gebruikte middelen. Er staan nog veel dingen op de planning die moeten worden toegevoegd.

En natuurlijk zijn we op zoek naar vrijwilligers die de service willen proberen en feedback willen geven. Verder hebben we nog demo, je kunt binnenkomen en kijken. Als je begrijpt dat je dit nodig hebt en het wilt proberen, neem dan contact met ons op via e-mail.

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

Na registratie wordt de gebruiker gevraagd een project te creĆ«ren — dit stelt in staat om database-instanties in groepen te combineren. Na het aanmaken van een project wordt de gebruiker doorverwezen naar de instructies voor het instellen en installeren van de agent. In het kort, je moet gebruikers voor de agent aanmaken, daarna het installatie-script van de agent downloaden en uitvoeren. In shell-opdrachten ziet dit 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 er op de host een pgbouncer is, moet er ook een gebruiker worden aangemaakt voor het verbinden van de agent. De specifieke manier om een gebruiker in pgbouncer in te stellen kan sterk variƫren en hangt sterk af van de gebruikte configuratie. In grote lijnen komt de configuratie neer op het toevoegen van de gebruiker aan stats_users het configuratiebestand (meestal is dit pgbouncer.ini) en het opgeven van het wachtwoord (of de hash) in het bestand dat is opgegeven in de parameter auth_file. Bij het wijzigen van stats_users is een herstart van pgbouncer vereist.

Het script install.sh accepteert een paar verplichte argumenten die uniek zijn voor elk project, en via omgevingsvariabelen worden de gegevens van de aangemaakte gebruikers doorgegeven. Vervolgens start het script de agent in bootstrap-modus — de agent kopieert zichzelf naar PATH, maakt een configuratie met de gegevens, systemd eenheid en wordt gestart als systemd dienst.
Hiermee is de installatie voltooid. Binnen enkele minuten verschijnt de database-instantie in de lijst met hosts in de interface en kan men al de eerste aanbevelingen bekijken. Maar een belangrijk punt is dat veel aanbevelingen een groot aantal verzamelde metriek vereisen (minstens voor een dag).

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster