AWS CloudWatch představuje klíčovou službu v rámci ekosystému Amazon Cloudu, která zajišťuje protokolování a monitorování všech ostatních služeb v cloudovém prostředí Amazon. Sběr a sledování metrik, log souborů a nastavení alarmů na základě extrahovaných dat jsou její hlavní funkce.
Umožňuje vám získat komplexní přehled o efektivitě aplikací, využití zdrojů a celkovém provozním stavu služeb. Navíc, AWS CloudWatch vám pomáhá odhalovat anomálie v chování vašeho prostředí, automaticky spouštět akce, řešit problémy a získávat užitečné informace z protokolů, což vede k vylepšení vašeho systému i operací.
Důležitou součástí je i sledování protokolů, které vám pomáhá identifikovat bezpečnostní rizika a potenciální slabiny. Díky monitorování podezřelých aktivit a neobvyklého chování můžete rychle reagovat na hrozby a přijímat opatření k prevenci budoucích útoků.
Protokolování a monitorování systémů je často vyžadováno pro dodržování různých nařízení. S AWS CloudWatch můžete snadno splnit tyto požadavky.
To jsou některé z hlavních výhod, které nabízí používání AWS CloudWatch. Pojďme se nyní podívat, jak s touto službou začít.
Konfigurace AWS CloudWatch pro vaši službu
Zdroj: aws.amazon.com
Nastavení CloudWatch může být jednoduché a rychlé, ale také se může stát dlouhodobým procesem, kdy budete neustále ladit jednotlivé aspekty vašeho logovacího a monitorovacího systému. Je to v podstatě neustálý proces zlepšování.
Zde je však základní postup pro začátek:
- Pokud již máte účet AWS, povolte CloudWatch v konzoli CloudWatch kliknutím na „Začít“.
- Vytvořte skupinu protokolů, která bude shromažďovat protokoly vaší služby. Skupina protokolů sdružuje proudy protokolů se stejným nastavením uchovávání, monitorování a řízení přístupu. Skupinu protokolů vytvoříte v konzoli CloudWatch kliknutím na „Vytvořit skupinu protokolů“.
- Vytvořte stream protokolu, který omezí události protokolu na stejný zdroj (službu). Stream protokolu vytvoříte v konzoli CloudWatch kliknutím na „Vytvořit stream protokolu“.
- Pro sběr protokolů z instancí EC2 nainstalujte CloudWatch agenta. Agent je software, který běží na vašich instancích a odesílá data protokolů do CloudWatch. Instalaci provedete pomocí AWS Systems Manager nebo spuštěním skriptu na instancích.
- Vytvořte filtr metrik, který extrahuje metriky z protokolů na základě definovaného vzoru. Filtr metrik vytvoříte v konzoli CloudWatch kliknutím na „Vytvořit filtr metrik“.
- Všechna shromážděná data vizualizujte na jednom místě pomocí řídicího panelu. Řídicí panel je kolekce widgetů, které zobrazují metriky a další relevantní data. Řídicí panel vytvoříte v konzoli CloudWatch kliknutím na „Vytvořit řídicí panel“.
Monitorování s AWS CloudWatch
Jak již bylo zmíněno, AWS CloudWatch umožňuje sledovat jakoukoli službu v rámci Amazon Cloudu. Pro lepší představu o tom, jak takové monitorování vypadá, vám ukážeme, jak monitorovat nejčastěji používané služby AWS, které pravděpodobně používáte i vy.
Zdroj: docs.aws.amazon.com
Instance EC2
Sledování instancí EC2 probíhá sběrem metrik jako je využití CPU, síťový provoz, využití disku a paměti. Také můžete monitorovat stav vašich instancí EC2 a dostávat upozornění, pokud se instance zastaví nebo ukončí.
Pro monitorování instancí EC2 nainstalujte agenta CloudWatch na vaše instance a nakonfigurujte jej pro odesílání metrik do CloudWatch. Následně můžete vytvořit alarmy, které vás upozorní, když metriky překročí definované prahové hodnoty.
Databáze RDS
Databáze Amazon RDS můžete sledovat sběrem metrik, jako je využití procesoru, paměti nebo disku. Dále je možné sledovat stav databází a dostávat upozornění, pokud je databáze zastavena, pozastavena nebo ukončena.
Pro monitorování databází RDS povolte vylepšené monitorování a nastavte odesílání metrik do CloudWatch. Opět můžete vytvořit alarmy, které vás upozorní na odchylky metrik od normálu.
Funkce Lambda
Funkce AWS Lambda lze monitorovat sběrem metrik, jako je počet spuštění, doba trvání a chybovost. Sledovat lze i stav funkcí a dostávat upozornění, pokud funkce selžou.
Pro monitorování funkcí Lambda povolte protokoly CloudWatch a nakonfigurujte funkce pro odesílání protokolů do CloudWatch. Poté můžete vytvářet filtry metrik pro extrahování metrik z protokolů a provádět akce na základě těchto informací.
Elastické vyvažovače zatížení
Monitorování Elastic Load Balancers se provádí sběrem metrik jako je počet požadavků, latence a HTTP kódy odpovědí. Můžete sledovat stav vyvažovačů zatížení a dostávat upozornění na selhání.
Pro sledování vyvažovačů zatížení povolte protokoly přístupu a nastavte vyvažovače zatížení pro odesílání protokolů do CloudWatch. Následně vytvořte filtry metrik pro extrahování metrik z protokolů a vytvářejte alarmy pro stavy, kdy jsou metriky mimo definované hodnoty.
Skupiny automatického škálování
Skupiny automatického škálování lze sledovat sběrem dat o velikosti skupiny, využití procesoru a síťového provozu. Stejně tak můžete sledovat stav skupin a dostávat upozornění na změny velikosti skupin.
Pro monitorování skupin automatického škálování povolte detailní monitorování a nastavte odesílání metrik do CloudWatch. Poté můžete vytvářet alarmy, které vás upozorní, když metriky přesáhnou definované prahové hodnoty.
Aplikace Elastic Beanstalk
Aplikace AWS Elastic Beanstalk můžete monitorovat sběrem metrik, jako je využití procesoru a počet požadavků. Můžete také sledovat stav vašich aplikací a dostávat upozornění na selhání.
Pro monitorování aplikací Elastic Beanstalk povolte vylepšené reportování stavu a nastavte odesílání metrik do CloudWatch. Vytvořte alarmy, které vás upozorní, když jsou metriky mimo předem definované prahové hodnoty.
Správa alarmů CloudWatch
Alarmy CloudWatch jsou dostupné pro klíčové metriky a všechny služby. Lze je předkonfigurovat dle osvědčených postupů a využívat je při odstraňování problémů.
Efektivní správa alarmů vám zajistí včasné upozornění na kritické problémy a umožní přijmout opatření pro udržení stavu a výkonu vašich AWS zdrojů a aplikací.
Zdroj: aws.amazon.com
#1. Nastavení alarmů pro metriku
Pro nastavení alarmů vyberte metriku, kterou chcete sledovat. Následně vytvořte alarm na základě této metriky zadáním prahové hodnoty a operátoru porovnání.
Například můžete vytvořit alarm, který se spustí, když využití procesoru překročí 80 % po dobu delší než 5 minut. Po vytvoření alarmu nakonfigurujte akce, které se mají provést při jeho spuštění. Může jít o odeslání e-mailu, SMS upozornění nebo i rozšíření systémových prostředků.
#2. Konfigurace akcí alarmu
Při konfiguraci akcí alarmu máte k dispozici několik možností, jako je zasílání upozornění na téma SNS, spouštění funkce AWS Lambda, zastavení nebo ukončení instance EC2.
Můžete nastavit i více akcí pro každý alarm, které se budou provádět v závislosti na závažnosti alarmu. Například odeslání emailu pro méně kritický alarm, ale ukončení instance pro kritický alarm.
#3. Doporučené postupy pro alarmy
Je vhodné dodržovat doporučené postupy, aby byly vaše alarmy efektivní a spolehlivé. Některé z nich:
- Nastavte si vhodné prahové hodnoty na základě historických dat.
- Využívejte více metrik paralelně pro detekci problémů.
- Pravidelně testujte vaše alarmy pro ověření jejich funkčnosti.
Vyvarujte se vytváření příliš mnoha alarmů, mohlo by to vést k únavě z neustálých upozornění, zahlcení monitorovacího systému a ztížení identifikace skutečně kritických problémů.
Pokud máte problémy s alarmy CloudWatch, můžete provést několik kroků pro jejich řešení:
- Zkontrolujte historii alarmů a ověřte, zda byly při spuštění alarmu provedeny nějaké akce.
- Prohlédněte si metrická data a hledejte anomálie nebo špičky, které mohly alarm spustit.
- Pokud problémy přetrvávají, můžete zkusit upravit prahovou hodnotu alarmu nebo přidat další metriky pro zvýšení jeho přesnosti.
Analýza a vizualizace metrik pomocí řídicích panelů CloudWatch
Zdroj: docs.aws.amazon.com
Analýza a vizualizace metrik prostřednictvím řídicích panelů vám poskytne přehled o stavu a výkonu vašich AWS zdrojů a aplikací. Řídicí panely CloudWatch nabízejí přizpůsobitelný pohled na vaše metriky.
Můžete si na nich zobrazit různé grafy, tabulky a jiné vizualizace, které zobrazují trendy v čase a upozorňují na případné problémy. Cílem je převést data z log souborů do čitelného a uživatelsky přívětivého formátu pro snadnou kontrolu a monitorování stavu systému.
Řídicí panel CloudWatch vytvoříte v konzoli CloudWatch nebo pomocí CloudWatch API. Poté přidáte widgety zobrazující požadované metriky. Přidávat lze i text a obrázky pro kontext nebo doplňující informace.
Vytvořený řídicí panel můžete přizpůsobit vašim potřebám. Upravujte velikost a uspořádání widgetů, časový rozsah zobrazených dat a přidávejte anotace pro důležité události. Řídicí panel můžete také sdílet s dalšími uživateli a stejný řídicí panel lze snadno nasadit do různých účtů a prostředí AWS.
Shromažďování a analýza protokolů
Pro analýzu protokolů se obvykle používá funkce Logs Insights CloudWatch.
Po shromáždění dat protokolu v CloudWatch Logs můžete využít Logs Insights. Umožňuje dotazování a vizualizaci dat protokolů pomocí jednoduchého, ale výkonného dotazovacího jazyka, který je podobný SQL. Získáte tak cenné informace o chování aplikací a infrastruktury, které lze využít k řešení problémů, optimalizaci výkonu nebo vylepšení zabezpečení.
Přečtěte si také: Jak využít statistiky protokolů AWS k dotazování na metriky řídicího panelu z protokolů služeb AWS
Automatizace úloh s CloudWatch Events
Informace z protokolů CloudWatch lze využít pro spouštění akcí na základě událostí ve vašich AWS zdrojích a aplikacích. CloudWatch Events slouží k plánování a automatizaci úloh, například spouštění nebo zastavování instancí EC2 v závislosti na jejich využití.
Pro automatizaci úloh pomocí CloudWatch Events vytvořte pravidlo, které určuje vzor události, kterou se má shodovat, a akci, která se má provést. Můžete to provést v konzoli CloudWatch nebo pomocí CloudWatch Events API. Nakonfigurujte jeden nebo více cílů pro pravidlo, jako je funkce AWS Lambda, téma SNS nebo instance EC2.
CloudWatch Events podporuje mnoho zdrojů událostí, jako jsou služby AWS, vlastní aplikace a služby třetích stran. CloudWatch Events využijete k automatizaci úloh, kdy potřebujete škálovat zdroje, spouštět zálohy nebo reagovat na bezpečnostní incidenty.
Automatizací úloh snížíte manuální zásahy do systému a zajistíte, že vaše AWS zdroje a aplikace budou fungovat na optimální úrovni.
Pokročilé funkce CloudWatch
CloudWatch nabízí několik pokročilých funkcí, které umožňují hlubší náhled na vaše AWS zdroje. Jednou z nich je již zmíněný Logs Insights. Zde jsou některé další klíčové pokročilé funkce:
- CloudWatch Contributor Insights identifikuje hlavní přispěvatele k využití vašich zdrojů (například instance EC2 nebo funkce Lambda). S pomocí Contributor Insights můžete optimalizovat operace s největším dopadem na zdroje.
- Detekce anomálií CloudWatch využívá algoritmy strojového učení k automatickému odhalování anomálií v chování metrik. Identifikuje neobvyklé špičky nebo poklesy metrik a umožňuje vám na ně reagovat.
- CloudWatch Synthetics vytváří kanárky, které simulují chování uživatelů a testují dostupnost a výkon vašich aplikací. Umožňuje proaktivně objevovat problémy dříve, než je zaznamenají vaši uživatelé.
- CloudWatch Logs Insights Query Acceleration zrychlí dotazy na protokoly až 10x, což umožňuje rychlou analýzu velkých objemů dat protokolů.
Integrace CloudWatch se službami AWS
Zdroj: aws.amazon.com
Při budování AWS systému je integrace CloudWatch vždy prioritou. Jen s touto hlubokou integrací můžete efektivně sbírat a monitorovat metriky a protokoly napříč všemi službami a komponentami systému. CloudWatch je snadné nastavit a používat a integrace je nativní pro většinu AWS služeb. Nemáte proto důvod nevyužít výhod, které nabízí pro váš cloudový systém AWS.
Získáte komplexní přehled o svých AWS zdrojích a aplikacích, možnost sledovat jejich stav, výkon a dostupnost. Shromážděné informace vám umožní nastavit alarmy a automatizovat úlohy na základě událostí, které se ve vašem AWS prostředí vyskytnou.
Závěrečná slova
AWS CloudWatch je komplexní cloudová služba, která pokryje veškeré potřeby protokolování, monitorování a vizualizace stavu systému pro váš projekt.
Implementace takových komponent do vaší architektury je klíčem k proaktivní správě systémů a zajištění jejich spolehlivosti. Doporučujeme implementovat robustní monitorovací systém hned od prvního sprintu. Oceníte to později.
Dále se podívejte na nejlepší monitorovací nástroje AWS.