Máme tam Postgres, ale neviem, čo s ním robiť (s)

Toto je citát jedného z mojich známych, ktorý sa kedysi dávno obrátil na mňa s otázkou o Postgres. Vtedy sme za niekoľko dní vyriešili jeho problém a poďakoval mi povedal: „Je dobré mať známeho DBA.“

Ale čo robiť, ak nemáte známeho DBA? Možností odpovede je pomerne veľa, od hľadania medzi priateľmi priateľov až po samostatné štúdium témy. Ale akúkoľvek odpoveď dostanete na pamäť, mám pre vás dobrú správu. V testovacom režime sme spustili službu odporúčaní pre Postgres a všetko, čo s ním súvisí. Čo to vlastne je a ako sme sa k tomu dostali?

Čo je na tom všetkom?

Postgres nie je minimálne jednoduchý, a občas aj veľmi zložitý. Závisí to od úrovne zapojenia a zodpovednosti.

Tí, ktorí sú v operáciách, musia sledovať, aby Postgres ako služba fungoval správne a stabilne — kontrolovať využitie zdrojov, dostupnosť, primeranosť konfigurácie, pravidelne vykonávať aktualizácie a kontrolné zdravotné prehliadky. Tí, ktorí sa zaoberajú vývojom a píšu aplikácie, v zásade musia sledovať, ako aplikácia interaguje s databázou a zabezpečiť, aby nevytváralo havarijné situácie, ktoré by mohli spôsobiť pád databázy. Ak má niekto smolu, že je technickým lídrom/technickým riaditeľom, je dôležité, aby Postgres fungoval celkovo spoľahlivo, predvídateľne a nespôsoboval problémy, pričom by sa mal sám príliš nezapájať do Postgresu.

V ktoromkoľvek z týchto prípadov existujete vy a Postgres. Aby ste mohli dobre spravovať Postgres, musíte mať dostatočné znalosti a predstavu o tom, ako je štruktúrovaný. Ak nie je Postgres priamo vašou špecializáciou, môžete stráviť dosť času jeho štúdiom. Ideálne je, keď máte čas a chuť, ale nie vždy je jasné, odkiaľ začať, ako a kam pokračovať.

Aj keď sa obklopíte monitorovaním, ktoré by malo zjednodušiť prevádzku, otázka odborných znalostí zostáva otvorená. Aby ste vedeli čítať a rozumieť grafom, musíte mať tiež dobré predstavy o tom, ako je Postgres štruktúrovaný. Inak akékoľvek monitorovanie premení na smutné obrázky a spam od upozornení v náhodnom čase dňa.

Weaponry je presne navrhnuté na to, aby zjednodušilo prevádzku Postgresu. Služba zbiera a analyzuje údaje o Postgres a poskytuje odporúčania, čo je možné zlepšiť.

Hlavným cieľom služby je poskytovať zrozumiteľné odporúčania, ktoré dávajú prehľad o tom, čo sa deje a čo je potrebné robiť ďalej.

Pre odborníkov, ktorí nemajú expertne znalosti, odporúčania poskytujú východiskový bod na zlepšenie kvalifikácie. Pokročilým odborníkom odporúčania naznačujú aspekty, na ktoré by sa mali zamerať. V tomto smere Weaponry funguje ako asistent, ktorý vykonáva rutinné úlohy pri hľadaní problémov alebo nedostatkov, ktoré vyžadujú osobitnú pozornosť. Weaponry sa dá porovnať s linterom, ktorý kontroluje Postgres a poukazuje na nedostatky.

Ako to vyzerá teraz

Momentálne Weaponry je v testovacej fáze a je k dispozícii bez poplatkov, registrácia je zatiaľ dočasne obmedzená. Spolu s niekoľkými dobrovoľníkmi skúmame motor odporúčaní na takmer bojových databázach, identifikujeme falošné poplachy a pracujeme na texte odporúčaní.

Odporúčania sú zatiaľ dosť priamym spôsobom — jednoducho hovoria, čo a ako robiť, bez ďalších podrobností — takže v prvom období bude potrebné prechádzať cez sprievodné odkazy alebo si to dodatočne vyhľadávať. Kontroly a odporúčania pokrývajú nastavenia systému a hardvéru, nastavenia samotného Postgres, schému vnútri, používané zdroje. Plány zahŕňajú ešte veľa vecí, ktoré je potrebné pridať.

A samozrejme hľadáme dobrovoľníkov, ktorí sú ochotní vyskúšať službu a poskytnúť spätnú väzbu. Máme ešte demo, môžete sa prihlásiť a pozrieť. Ak ste pochopili, že toto potrebujete a ste pripravení vyskúšať, napíšte nám na email.

Aktualizované 2020-09-16. Začína sa.

Po registrácii je používateľovi ponúknuté vytvoriť projekt — ktorý umožňuje zoskupiť inštancie databáz. Po vytvorení projektu je používateľ presmerovaný na inštrukcie na nastavenie a inštaláciu agenta. Ak to zjednodušíme, treba vytvoriť používateľov pre agenta, po čom si stiahnuť skript na inštaláciu agenta a spustiť ho. V shell príkazoch to vyzerá približne 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 na hoste existuje pgbouncer, bude potrebné vytvoriť používateľa aj na pripojenie agenta. Konkrétny spôsob nastavenia používateľa v pgbouncer môže byť veľmi rôzny a silne závisí od použitej konfigurácie. Všeobecne sa nastavenie zameriava na pridanie používateľa do stats_users konfiguračného súboru (zvyčajne je to pgbouncer.ini) a zapísanie hesla (alebo jeho hash) do súboru uvedeného v parametri auth_file. Pri zmene stats_users bude potrebné reštartovať pgbouncer.

Skript install.sh prijíma pár povinných argumentov, ktoré sú unikátne pre každý projekt, a prostredníctvom premenných prostredia akceptuje údaje vytvorených používateľov. Následne skript spúšťa agenta v bootstrap režime — agent sa skopíruje do PATH, vytvorí konfiguráciu s údajmi, systemd jednotku a spustí sa ako systemd služba.
Týmto sa inštalácia končí. O niekoľko minút sa inštancia DB objaví v zozname hostiteľov v rozhraní a môžete už vidieť prvé odporúčania. Dôležité je, že mnohé odporúčania vyžadujú veľké množstvo nahromadených metrických údajov (aspoň za deň).

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster