Máme tam Postgres, ale neviem, čo s tým (c)

Toto je citát od jedného môjho kamaráta, ktorý ma kedysi dávno oslovil s otázkou ohľadom Postgresu. Potom sme jeho problém vyriešili za pár dní a poďakoval mi a dodal: „Je dobré mať známeho DBA.“

Čo však robiť, ak nepoznáte DBA? Môže existovať pomerne veľa možností odpovedí, od hľadania priateľov medzi priateľmi až po vlastné naštudovanie otázky. Nech vás však napadne akákoľvek odpoveď, mám pre vás dobrú správu. V testovacom režime sme spustili službu odporúčaní pre Postgres a všetko okolo toho. Čo to je a ako sme sa dostali k takémuto životu?

prečo je to všetko?

Postgres prinajmenšom nie je ľahký a niekedy veľmi ťažký. Závisí od miery angažovanosti a zodpovednosti.

Tí, ktorí pracujú v prevádzkach, musia zabezpečiť, aby Postgres ako služba fungovala správne a stabilne – sledovať využitie zdrojov, dostupnosť, primeranosť konfigurácie, pravidelne vykonávať aktualizácie a pravidelné zdravotné kontroly. Tí, ktorí sú vo vývoji a píšu aplikácie, vo všeobecnosti musia monitorovať, ako aplikácia interaguje s databázou a či nevytvára núdzové situácie, ktoré by mohli zničiť databázu. Ak má človek smolu na technického vedúceho/technického riaditeľa, tak je pre neho dôležité, aby Postgres ako celok fungoval spoľahlivo, predvídateľne a nerobil problémy, pričom je vhodné sa do Postgresu dlho neponárať. .

V každom z týchto prípadov ste vy a Postgres. Aby ste Postgresu dobre slúžili, musíte mu dobre rozumieť a rozumieť tomu, ako funguje. Ak Postgres nie je priamou špecializáciou, potom môžete stráviť pomerne veľa času jeho učením. V ideálnom prípade, keď je čas a túžba, nie je vždy jasné, kde začať, ako a kam sa posunúť.

Aj keď sa zavedie monitorovanie, ktoré by teoreticky malo uľahčiť fungovanie, otázka odborných znalostí zostáva otvorená. Aby ste mohli čítať a porozumieť grafom, stále musíte dobre rozumieť tomu, ako Postgres funguje. V opačnom prípade sa akékoľvek monitorovanie zmení na smutné obrázky a spam z upozornení v náhodných časoch dňa.

zbrane vyrobené len na uľahčenie používania Postgresu. Služba zhromažďuje a analyzuje údaje o Postgres a dáva odporúčania, čo je možné zlepšiť.

Hlavným cieľom služby je poskytovať jasné odporúčania, ktoré poskytujú predstavu o tom, čo sa deje a čo je potrebné urobiť ďalej.

Pre profesionálov, ktorí nemajú odborné znalosti, poskytujú odporúčania východiskový bod pre pokročilý tréning. Pre pokročilých odborníkov odporúčania označujú body, ktorým by sa mala venovať pozornosť. V tomto ohľade Weaponry pôsobí ako asistent, ktorý vykonáva rutinné úlohy s cieľom nájsť problémy alebo nedostatky, ktoré si vyžadujú osobitnú pozornosť. Výzbroj možno prirovnať k linteru, ktorý kontroluje Postgres a poukazuje na nedostatky.

Ako sa veci majú teraz?

V súčasnej dobe, zbrane je v testovacom režime a je bezplatný, registrácia je dočasne obmedzená. Spolu s niekoľkými dobrovoľníkmi dokončujeme nástroj odporúčaní na bojových základniach, identifikujeme falošné pozitíva a pracujeme na texte odporúčaní.

Mimochodom, odporúčania sú stále celkom jednoduché - hovoria len o tom, čo robiť a ako to urobiť, bez ďalších podrobností - takže najprv budete musieť sledovať súvisiace odkazy alebo Google. Kontroly a odporúčania sa týkajú systémových a hardvérových nastavení, nastavení samotného Postgresu, internej schémy a použitých zdrojov. V plánoch je ešte potrebné doplniť pomerne veľa vecí.

A samozrejme, hľadáme dobrovoľníkov, ktorí sú pripravení službu vyskúšať a poskytnúť spätnú väzbu. My tiež máme demonštrácie, môžete prísť a pozrieť sa. Ak ste pochopili, že to potrebujete a ste pripravení to vyskúšať, napíšte nám na pošta.

Aktualizované 2020-09-16. Začíname.

Po registrácii je používateľ vyzvaný na vytvorenie projektu – čo umožňuje kombinovať inštancie databázy do skupín. Po vytvorení projektu je používateľ presmerovaný na pokyny na konfiguráciu a inštaláciu agenta. Stručne povedané, musíte vytvoriť používateľov pre agenta, potom stiahnuť inštalačný skript agenta a spustiť ho. V príkazoch shellu to vyzerá asi takto:

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

Ak má hostiteľ pgbouncer, budete tiež musieť vytvoriť používateľa na pripojenie agenta. Špecifický spôsob konfigurácie používateľa v pgbouncer môže byť veľmi variabilný a veľmi závislý od použitej konfigurácie. Vo všeobecnosti sa nastavenie týka pridania používateľa stats_users konfiguračný súbor (zvyčajne pgbouncer.ini) a zápis hesla (alebo jeho hash) do súboru uvedeného v parametri auth_file. Ak zmeníte stats_users, budete musieť reštartovať pgbouncer.

Skript install.sh preberá niekoľko požadovaných argumentov, ktoré sú jedinečné pre každý projekt, a prostredníctvom premenných prostredia akceptuje podrobnosti o vytvorených používateľoch. Ďalej skript spustí agenta v režime bootstrap – agent sa skopíruje do PATH, vytvorí konfiguráciu s podrobnosťami, jednotku systemd a spustí sa ako služba systemd.
Tým je inštalácia dokončená. V priebehu niekoľkých minút sa inštancia databázy objaví v zozname hostiteľov v rozhraní a už si môžete pozrieť prvé odporúčania. Dôležitým bodom však je, že mnohé odporúčania vyžadujú veľké množstvo nahromadených metrík (aspoň za deň).

Zdroj: hab.com

Pridať komentár