Máme tam Postgres, ale nevím, co s tím (y)

Toto je citát od jednoho mého přítele, který mě kdysi kontaktoval s dotazem na Postgres. Pak jsme jeho problém vyřešili za pár dní a poté, co mi poděkoval, dodal: "Je dobré, když je tam známý DBA."

Ale co když neexistuje žádný známý DBA? Možností odpovědí může být celá řada, od hledání přátel mezi přáteli až po vlastní studium otázky. Ať už vás ale napadne jakákoliv odpověď, mám pro vás dobrou zprávu. V testovacím režimu jsme spustili službu doporučení pro Postgres a vše kolem něj. Co to je a jak jsme k takovému životu přišli

proč je to všechno?

Postgres alespoň není snadný a někdy velmi obtížný. Záleží na míře angažovanosti a odpovědnosti.

Ti, kteří jsou v provozu, musí zajistit, aby Postgres jako služba fungovala správně a stabilně – sledovat využití zdrojů, dostupnost, přiměřenost konfigurace, pravidelně aktualizovat a pravidelně kontrolovat stav. Ti, kteří se zabývají vývojem a psaním aplikací, obecně musí sledovat, jak aplikace interaguje se základnou a že nevytváří nouzové situace, které by mohly základnu zničit. Pokud člověk nemá takové štěstí, že je tech lead / tech lead, tak je pro něj důležité, aby Postgres jako celek fungoval spolehlivě, předvídatelně a nedělal problémy, přičemž je vhodné se do Postgresu neponořit hluboce a pro dlouhá doba.

V každém z těchto případů jste to vy a Postgres. Aby Postgres dobře sloužil, musíte mu dobře rozumět a rozumět tomu, jak funguje. Pokud Postgres není přímou specializací, pak můžete strávit poměrně hodně času jeho učením. V ideálním případě, když je čas a chuť, není vždy jasné, kde začít, jak a kam se posunout.

I když zavedeme monitorování, které by teoreticky mělo usnadnit provoz, otázka odborných znalostí zůstává otevřená. Abyste mohli číst a rozumět grafům, musíte stále dobře rozumět tomu, jak Postgres funguje. V opačném případě se jakékoli sledování změní na smutné obrázky a spam z upozornění v náhodnou denní dobu.

Zbraně právě vytvořeno, aby se Postgres snadněji používal. Služba shromažďuje a analyzuje data o Postgres a dává doporučení, co lze zlepšit.

Hlavním cílem služby je dávat jasná doporučení, která dávají představu o tom, co se děje a co je třeba udělat dále.

Pro odborníky, kteří nemají odborné znalosti, jsou doporučení výchozím bodem pro další školení. Pro pokročilé specialisty doporučení označují body, kterým je třeba věnovat pozornost. V tomto ohledu Weaponry vystupuje jako asistent, který plní rutinní úkoly k nalezení problémů nebo nedostatků a vyžaduje zvláštní pozornost. Zbraně lze přirovnat k linteru, který kontroluje Postgres a poukazuje na nedostatky.

Jak se věci mají nyní

v současné době Zbraně je v testovacím režimu a je zdarma, registrace je dočasně omezena. Společně s několika dobrovolníky dokončujeme doporučovací nástroj na bojových základnách, identifikujeme falešné poplachy a pracujeme na textu doporučení.

Mimochodem, doporučení jsou stále docela jednoduchá - říkají jen, co a jak dělat, bez dalších podrobností - takže nejprve budete muset sledovat doprovodné odkazy nebo googlovat. Kontroly a doporučení zahrnují nastavení systému a hardwaru, nastavení samotného Postgresu, schéma uvnitř, použité zdroje. V plánech je ještě docela dost věcí, které je potřeba doplnit.

A samozřejmě hledáme dobrovolníky, kteří jsou připraveni službu vyzkoušet a poskytnout zpětnou vazbu. Také máme demonstracemůžete se přijít podívat. Pokud rozumíte tomu, co potřebujete, a jste připraveni to vyzkoušet, napište nám na poštou.

Aktualizováno 2020-09-16. Začínáme.

Po registraci je uživatel vyzván k vytvoření projektu – což umožňuje kombinovat instance DB do skupin. Po vytvoření projektu je uživatel přesměrován na pokyny pro konfiguraci a instalaci agenta. Stručně řečeno, musíte vytvořit uživatele pro agenta, poté stáhnout instalační skript agenta a spustit jej. V příkazech shellu to vypadá 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

Pokud má hostitel pgbouncer, budete také muset vytvořit uživatele pro připojení agenta. Konkrétní způsob, jakým je uživatel konfigurován v pgbouncer, může být velmi variabilní a vysoce závislý na použité konfiguraci. Obecně řečeno, nastavení spočívá v přidání uživatele do stats_users konfigurační soubor (obvykle pgbouncer.ini) a zapsání hesla (nebo jeho hashe) do souboru uvedeného v parametru auth_file. Změna stats_users bude vyžadovat restartování pgbouncer.

Skript install.sh přebírá několik povinných argumentů, které jsou jedinečné pro každý projekt, a prostřednictvím proměnných prostředí přijímá podrobnosti o vytvořených uživatelích. Dále skript spustí agenta v bootstrap režimu – agent se zkopíruje do PATH, vytvoří konfiguraci s podrobnostmi, jednotku systemd a spustí se jako služba systemd.
Tím je instalace dokončena. Během několika minut se instance DB objeví v seznamu hostitelů v rozhraní a již můžete vidět první doporučení. Ale důležitý bod, mnoho doporučení vyžaduje velké množství nashromážděných metrik (alespoň na jeden den).

Zdroj: www.habr.com

Přidat komentář