Máme tam Postgres, ale nevím, co s ním dělat (c)

Toto je citát jednoho z mých známých, který se mi kdysi dávno s otázkou ohledně Postgresu. Tehdy jsme během pár dní vyřešili jeho problém a po poděkování dodal: „Je dobře, když máte známého DBA.“

Ale co dělat, když nemáte známého DBA? Odpovědí může být mnoho, od hledání mezi přáteli přátel po studium otázky samostatně. Ale ať už vás napadne jakákoliv odpověď, mám pro vás dobrou zprávu. V testovacím režimu jsme spustili doporučovací službu pro Postgres a vše kolem něj. Co to vlastně je a jak jsme se k tomu dostali?

Proč to všechno?

Postgres není rozhodně jednoduchý, a někdy je to velmi složité. Závisí to na míře zapojení a odpovědnosti.

Ti, kteří jsou v operacích, musí sledovat, aby Postgres jako služba fungoval správně a stabilně – sledovat využití zdrojů, dostupnost, adekvátnost konfigurace, pravidelně provádět aktualizace a zdravotní kontroly. Ti, kteří vyvíjejí a píší aplikace, by měli obecně sledovat, jak aplikace interaguje s databází a zajistit, aby nevytvářela krizové situace, které by mohly zhroutit databázi. Pokud má někdo smůlu a je technickým lídrem/technickým ředitelem, je pro něj důležité, aby Postgres celkově fungoval spolehlivě, předvídatelně a nezpůsoboval problémy, přičemž by se ideálně neměl hlouběji a dlouho zaobírat Postgresem.

V každém z těchto případů jste vy a Postgres. Aby bylo možné dobře spravovat Postgres, je potřeba v něm mít slušné znalosti a představovat si, jak je postaven. Pokud není Postgres přímou specializací, můžete věnovat jeho studiu poměrně hodně času. V ideálním případě, kdy máte čas a chuť, není vždy jasné, odkud začít, jakým směrem se ubírat.

I když se obklopíte monitoringem, který by měl zjednodušit provoz, otázka odborných znalostí zůstává otevřená. Aby bylo možné číst a chápat grafy, je potřeba mít stále dobré povědomí o tom, jak Postgres funguje. Jinak se každý monitoring promění v smutné obrázky a spam od alertů v náhodném čase během dne.

Weaponry byl navržen právě proto, aby usnadnil provoz Postgresu. Služba shromažďuje a analyzuje údaje o Postgresu a poskytuje doporučení, co lze zlepšit.

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

Pro specialisty, kteří nemají odborné znalosti, poskytují doporučení východisko pro další vzdělávání. Pokročilým specialistům doporučení ukazují na aspekty, na které by se měli zaměřit. V tomto ohledu slouží Weaponry jako pomocník, který vykonává rutinní úkoly při vyhledávání problémů nebo nedostatků, které si zaslouží zvláštní pozornost. Weaponry lze přirovnat k linteru, který kontroluje Postgres a upozorňuje na nedostatky.

Jaká je aktuální situace

V tuto chvíli Weaponry je v testovacím režimu a na bezplatné bázi, registrace je zatím dočasně omezená. Spolu s několika dobrovolníky vylepšujeme doporučovací engine na téměř bojových databázích, odhalujeme falešná pozitivní upozornění a pracujeme na textu doporučení.

Rovněž jsou doporučení zatím docela jednoduchá — pouze říkají, co a jak dělat, bez dalších podrobností — takže prvně bude nutné přecházet na související odkazy nebo si to vyhledávat. Kontroly a doporučení pokrývají nastavení systému a vybavení, nastavení samotného Postgresu, vnitřní schéma, používané zdroje. V plánech je ještě spousta věcí, které je třeba přidat.

A samozřejmě hledáme dobrovolníky, kteří jsou ochotni vyzkoušet službu a poskytnout zpětnou vazbu. Máme také demo, můžete se podívat. Pokud jste pochopili, že to potřebujete a jste připraveni to vyzkoušet, napište nám na e-mail.

Aktualizováno 2020-09-16. Jak začít.

Po registraci se uživateli nabízí možnost vytvořit projekt — ten umožňuje shromažďovat instance databází do skupin. Po vytvoření projektu je uživatel přesměrován na instrukce pro nastavení a instalaci agenta. Stručně řečeno, je třeba vytvořit uživatele pro agenta, poté stáhnout instalační skript agenta a spustit jej. V shellových příkazech to vypadá přibližně 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 je na hostiteli nainstalován pgbouncer, je třeba pro připojení agenta také vytvořit uživatele. Konkrétní způsob nastavení uživatele v pgbouncer může být velmi variabilní a silně závisí na použité konfiguraci. Obecně se nastavení skládá z přidání uživatele do stats_users konfiguračního souboru (obvykle pgbouncer.ini) a zapsání hesla (nebo jeho hash) do souboru uvedeného v parametru auth_file. Po změně stats_users je třeba restartovat pgbouncer.

Skript install.sh přijímá pár povinných argumentů, které jsou jedinečné pro každý projekt, a prostřednictvím proměnných prostředí přijímá údaje vytvořených uživatelů. Skript následně spustí agenta v režimu bootstrap — agent se zkopíruje do PATH, vytvoří konfiguraci s údaji, systemd jednotku a spustí se jako systemd služba.
Tímto se instalace končí. Během pár minut se databázový instance objeví v seznamu hostitelů v rozhraní a můžete již zkontrolovat první doporučení. Důležitý bod je, že mnohá doporučení vyžadují velké množství nahromaděných metrik (alespoň za den).

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster