Cum să utilizați CloudWatch pentru a monitoriza și gestiona resursele dvs. AWS

AWS CloudWatch este un serviciu nativ al ecosistemului Amazon Cloud care înregistrează și monitorizează toate celelalte servicii din Amazon Cloud. Colectează și urmărește valorile sau fișierele jurnal și setează alarme pentru diferite activități extrase din acestea.

Puteți obține vizibilitate la nivel de sistem asupra performanței aplicațiilor, a utilizării resurselor și a sănătății operaționale a serviciilor. De asemenea, puteți utiliza AWS CloudWatch pentru a detecta comportamentul anormal în mediile dvs., pentru a efectua acțiuni automate, pentru a depana probleme și pentru a descoperi informații din jurnalele pentru a lua măsuri pentru a vă schimba sistemul sau operațiunile în mai bine.

Monitorizarea jurnalelor dvs. ajută la detectarea amenințărilor de securitate și la identificarea potențialelor vulnerabilități. Prin monitorizarea activităților suspecte și a comportamentului neobișnuit, puteți răspunde la activități suspecte și puteți lua măsuri pentru a preveni viitoarele atacuri.

De asemenea, menținerea jurnalelor și monitorizarea sistemelor este, de cele mai multe ori, o activitate obligatorie în scopuri de conformitate. Folosind AWS CloudWatch, îndepliniți aceste cerințe.

Toate acestea sunt beneficii directe pe care le obțineți din utilizarea AWS CloudWatch. Deci, să vedem cum să începem cu toate acestea.

Configurarea AWS CloudWatch pentru serviciul dvs

Sursa: aws.amazon.com

Configurarea poate fi simplă și simplă sau puteți petrece săptămâni pentru a regla toate aspectele sau proprietățile sistemului dvs. de înregistrare și monitorizare și încă nu este complet finalizată (numind-o practic un proces de îmbunătățire viu).

Dar, pe scurt, așa puteți începe:

  • Presupunând că aveți deja un cont AWS, activați CloudWatch navigând la consola CloudWatch și făcând clic pe butonul „Începeți”.
  • Creați un grup de jurnal pentru a începe să colectați jurnalele pentru serviciul dvs. Un grup de jurnal este o colecție de fluxuri de jurnal care au aceleași setări de păstrare, monitorizare și control al accesului. Puteți crea un grup de jurnal făcând clic pe butonul „Creați grup de jurnal” din consola CloudWatch.
  • Creați un flux de jurnal pentru a restrânge evenimentele de jurnal la aceeași sursă (serviciu). Puteți crea un flux de jurnal făcând clic pe butonul „Creează flux de jurnal” din consola CloudWatch.
  • Dacă doriți să colectați jurnalele de la instanțe EC2, instalați agentul CloudWatch. Agentul este un program care rulează pe instanțele dvs. și trimite date de jurnal către CloudWatch. Puteți instala agentul utilizând AWS Systems Manager sau rulând un script pe instanțele dvs.
  • Creați un filtru de valori pentru a extrage valori din jurnalele dvs. pe baza unui model de potrivire definit. Puteți crea un filtru de metrică făcând clic pe butonul „Creați filtru de metrice” din consola CloudWatch.
  • În cele din urmă, colectați și vizualizați toate datele extrase într-un singur loc – creați un tablou de bord. Un tablou de bord este o colecție de widget-uri care afișează valori și alte date pe care le plasați acolo. Puteți crea un tablou de bord făcând clic pe butonul „Creează tablou de bord” din consola CloudWatch.
  • Monitorizare cu AWS CloudWatch

    După cum sa spus deja, puteți monitoriza orice serviciu în Amazon Cloud folosind AWS Cloudwatch. Pentru a oferi o idee mai detaliată despre cum poate arăta o astfel de monitorizare, iată cum să o faceți pentru cele mai comune servicii AWS pe care cel mai probabil le utilizați în sistemul dvs.

      12 cele mai bune adaptoare wireless CarPlay pentru a face conducerea în siguranță

    Sursa: docs.aws.amazon.com

    Instanțe EC2

    Puteți monitoriza instanțele EC2 culegând valori precum utilizarea CPU, traficul de rețea, utilizarea discului și utilizarea memoriei. De asemenea, puteți monitoriza starea instanțelor dvs. EC2 și puteți primi notificări când instanțele se opresc sau se încheie.

    Pentru a monitoriza instanțele EC2, instalați agentul CloudWatch pe instanțele dvs. și configurați-l pentru a trimite valori către CloudWatch. Ca pas următor, puteți crea apoi alarme pentru a vă alerta atunci când valorile depășesc anumite praguri.

    Baze de date RDS

    Puteți monitoriza bazele de date Amazon RDS prin colectarea unor valori precum utilizarea CPU, utilizarea memoriei sau utilizarea discului a bazei de date. De asemenea, puteți monitoriza starea bazelor de date și puteți primi notificări atunci când bazele de date sunt oprite, întrerupte sau terminate.

    Pentru a monitoriza bazele de date RDS, activați monitorizarea îmbunătățită și configurați-o pentru a trimite valori către CloudWatch. Din nou, puteți crea apoi alarme pentru a vă alerta când valorile sunt dezactivate.

    Funcții Lambda

    Puteți monitoriza funcțiile AWS Lambda prin colectarea de valori, cum ar fi numărul de invocari lambda, durata și rata de eroare. De asemenea, puteți monitoriza starea funcțiilor dvs. și puteți primi notificări atunci când funcțiile eșuează.

    Pentru a monitoriza funcțiile Lambda, trebuie să activați CloudWatch Logs și să configurați funcțiile pentru a trimite jurnalele către CloudWatch. Puteți crea apoi filtre de valori pentru a extrage valori din jurnale și pentru a lua acțiuni pe baza informațiilor extrase din jurnalele.

    Echilibratoare elastice de sarcină

    Monitorizarea Elastic Load Balancers se face prin colectarea de valori precum numărul de solicitări, latența și codurile de răspuns HTTP. De asemenea, puteți monitoriza starea echilibratorilor de încărcare și puteți primi notificări atunci când echilibratorii de încărcare eșuează.

    Pentru a monitoriza echilibratoarele de încărcare, trebuie să activați jurnalele de acces și să configurați echilibratoarele de încărcare pentru a trimite jurnalele către CloudWatch. Puteți crea apoi filtre de valori pentru a extrage valori din jurnalele dvs. și pentru a crea alarme ori de câte ori valorile nu sunt în starea dvs. de sănătate definită.

    Grupuri de scalare automată

    Puteți monitoriza Auto Scaling Groups prin colectarea dimensiunii grupului, utilizarea CPU și traficul de rețea. De asemenea, puteți monitoriza starea grupurilor dvs. și puteți primi notificări atunci când grupurile cresc sau scad.

    Pentru a monitoriza Auto Scaling Groups, trebuie să activați monitorizarea detaliată și să o configurați pentru a trimite valori către CloudWatch. Puteți crea apoi alarme pentru a vă alerta atunci când valorile depășesc anumite praguri.

    Aplicații elastice Beanstalk

    Puteți monitoriza aplicațiile AWS Elastic Beanstalk culegând valori precum utilizarea CPU și numărul de solicitări. De asemenea, puteți monitoriza starea aplicațiilor dvs. și puteți primi notificări atunci când aplicațiile eșuează.

    Pentru a monitoriza aplicațiile Elastic Beanstalk, trebuie să activați raportarea îmbunătățită a stării de sănătate și să o configurați pentru a trimite valori către CloudWatch. Puteți crea apoi alarme pentru a vă alerta atunci când valorile sunt în afara pragurilor predefinite.

    Gestionarea alarmelor CloudWatch

    Există alarme CloudWatch disponibile pentru valorile cheie și pentru fiecare serviciu. Acestea pot fi configurate în avans, urmând cele mai bune practici și, cu ajutorul lor, remediază problemele pe măsură ce apar.

    Prin gestionarea eficientă a alarmelor, sunteți alertat cu privire la problemele critice și puteți lua măsurile adecvate pentru a menține sănătatea și performanța resurselor și aplicațiilor dvs. AWS.

    Sursa: aws.amazon.com

    #1. Configurarea alarmelor pentru o metrică

    Pentru a configura alarme, mai întâi, selectați valoarea pe care doriți să o monitorizați. Apoi creați o alarmă pe baza acelei valori, specificând o valoare de prag și un operator de comparare.

    De exemplu, puteți crea o alarmă care se declanșează atunci când utilizarea procesorului depășește 80% pentru mai mult de 5 minute. După ce ați creat o alarmă, configurați acțiunile pe care să le întreprindeți atunci când declanșează alarma. De exemplu, trimiterea unui e-mail către o anumită listă de destinatari, trimiterea unei notificări prin SMS sau chiar extinderea resurselor sistemului.

      Coadă de priorități Java

    #2. Configurarea acțiunilor de alarmă

    Când configurați acțiunile de alarmă, este posibil să alegeți dintr-o varietate de opțiuni, inclusiv trimiterea de notificări la un subiect SNS, declanșarea unei funcții AWS Lambda (care, la rândul său, poate face tot ce doriți ca funcția să facă în scriptul dvs. Python), oprirea sau terminarea unei instanțe EC2.

    De asemenea, puteți configura mai multe acțiuni pentru fiecare alarmă și prin aceasta, luați acțiuni diferite în funcție de gravitatea alarmei. De exemplu, trimiterea unei notificări prin e-mail pentru o alarmă minoră, dar terminarea unei instanțe pentru o alarmă critică.

    #3. Cele mai bune practici de alarmă

    Este întotdeauna bine să urmați cele mai bune practici pentru a vă asigura că alarmele sunt eficiente și fiabile. Unele dintre cele mai bune practici includ:

    • Stabilirea pragurilor adecvate pe baza datelor istorice,
    • folosind mai multe valori în paralel pentru a detecta probleme,
    • testați-vă alarmele în mod regulat pentru a vă asigura că funcționează corect.

    Evitați să creați prea multe alarme, deoarece acest lucru poate duce la oboseală de alertă, aglomerarea sistemului de monitorizare și îngreunarea identificării efective a problemelor cu adevărat critice.

    Dacă întâmpinați probleme cu alarmele CloudWatch, există mai mulți pași de depanare pe care îi puteți lua:

    • Verificați istoricul alarmelor pentru a vedea dacă au fost întreprinse acțiuni atunci când alarma a fost declanșată.
    • Verificați datele de măsurare pentru a vedea dacă există anomalii sau vârfuri care ar fi putut declanșa alarma.
    • Dacă problemele persistă, puteți încerca să ajustați pragul de alarmă sau să adăugați valori suplimentare la alarmă pentru a îmbunătăți acuratețea acesteia.

    Analizarea și vizualizarea valorilor cu tablourile de bord CloudWatch

    Sursa: docs.aws.amazon.com

    Analizarea și vizualizarea valorilor prin intermediul tablourilor de bord vă oferă perspective lizibile asupra stării de sănătate și a performanței resurselor și aplicațiilor dvs. AWS. Tablourile de bord CloudWatch oferă o vizualizare personalizabilă a valorilor dvs.

    Puteți plasa acolo diverse diagrame, grafice și alte vizualizări care arată tendințele de-a lungul timpului și evidențiază orice probleme pe care le-ar putea avea sistemul. Scopul final este acela de a putea extrage din fișierele jurnal de date și de a avea informațiile importante într-un format mult mai ușor de citit și mai ușor de utilizat pentru oricine dorește să verifice și să monitorizeze starea sistemului.

    Pentru a crea un tablou de bord CloudWatch, puteți utiliza consola CloudWatch sau API-ul CloudWatch. Apoi doar adăugați widget-uri în tabloul de bord care afișează valorile pe care doriți să le aveți vizibile pe tabloul de bord. De asemenea, puteți adăuga text și imagini pentru a oferi context sau informații suplimentare.

    După ce ați creat un tablou de bord, îl puteți personaliza pentru a răspunde nevoilor dvs. specifice. Puteți redimensiona și rearanja widget-urile, puteți modifica intervalul de timp al datelor afișate și puteți adăuga adnotări pentru a evidenția evenimente sau modificări importante. De asemenea, puteți partaja tabloul de bord cu alți utilizatori, permițându-le să vadă aceleași valori și vizualizări.

    În cele din urmă, puteți implementa cu ușurință același tablou de bord într-o varietate de conturi și medii AWS.

    Colectarea și analizarea jurnalelor

    Analizarea jurnalelor înseamnă, de obicei, utilizarea caracteristicii Logs Insights din CloudWatch.

    După ce ați colectat date de jurnal în CloudWatch Logs, puteți începe să utilizați Logs Insights. CloudWatch Logs Insights vă permite să interogați și să vizualizați datele din jurnal folosind un limbaj de interogare simplu, dar puternic. Este foarte asemănător cu limbajul de selectare SQL, deși nu este chiar același. Rezultatele sunt însă foarte asemănătoare.

      Înțelegerea conformității SOC 1 vs SOC 2 vs SOC 3

    Puteți utiliza Perspective pentru a căuta anumite evenimente din jurnal, pentru a filtra datele din jurnal pe baza unor criterii specifice și pentru a crea vizualizări, cum ar fi diagrame și tabele. Cu aceasta, obțineți încă o perspectivă valoroasă asupra comportamentului aplicațiilor și infrastructurii dvs., care poate fi folosită pentru a depana probleme, a optimiza performanța sau a îmbunătăți securitatea.

    Citiți și: Cum să utilizați AWS Logs Insights pentru a interoga valorile tabloului de bord din AWS Services Logs

    Automatizarea sarcinilor cu CloudWatch Events

    Dacă aveți suficiente informații despre datele de jurnal în CloudWatch, le puteți utiliza pentru a declanșa acțiuni bazate pe evenimente care au loc în resursele și aplicațiile dvs. AWS. CloudWatch Events oferă o modalitate de a programa și automatiza sarcini, de exemplu, pornirea sau oprirea instanțelor EC2 ori de câte ori utilizarea instanței iese din zona de utilizare normală (de exemplu, oprirea instanței în timpul nopții și repornirea în timpul zilei lucrătoare).

    Pentru a automatiza sarcinile cu CloudWatch Events, creați o regulă care specifică tiparul de eveniment care să se potrivească și acțiunea de întreprins atunci când are loc evenimentul. Puteți face acest lucru folosind consola CloudWatch sau API-ul CloudWatch Events. Apoi configurați una sau mai multe ținte pentru regulă, cum ar fi o funcție AWS Lambda, un subiect SNS sau o instanță EC2.

    CloudWatch Events acceptă o gamă largă de surse de evenimente, cum ar fi servicii AWS, aplicații personalizate și servicii terțe. Așadar, utilizați CloudWatch Events pentru a automatiza sarcinile ori de câte ori aveți nevoie de scalare a resurselor, de declanșare backup sau de a răspunde la incidente de securitate.

    Prin automatizarea sarcinilor, reduceți intervenția manuală în sistemul dvs. și vă asigurați că resursele și aplicațiile dvs. AWS rulează întotdeauna la niveluri optime.

    Funcții avansate CloudWatch

    Există mai multe funcții avansate CloudWatch care pot fi configurate pentru a obține informații mai profunde asupra resurselor dvs. AWS. Una dintre ele este statisticile Logs deja menționate. Iată câteva dintre celelalte caracteristici avansate cheie:

    • CloudWatch Contributor Insights poate identifica cei mai importanți contribuitori la utilizarea resurselor dvs. (de exemplu, instanțe EC2 sau funcții Lambda). Puteți utiliza Contributor Insights pentru a identifica operațiunile care consumă cele mai multe resurse și pentru a optimiza resursele în consecință.
    • CloudWatch Anomaly Detection folosește algoritmi de învățare automată pentru a detecta automat comportamentul anormal în valorile dvs. Utilizați Detectarea anomaliilor pentru a identifica vârfurile sau scăderile neobișnuite ale valorilor dvs. și luați măsuri pentru a le rezolva.
    • CloudWatch Synthetics creează canari care simulează comportamentul utilizatorului și poate testa disponibilitatea și performanța aplicațiilor dvs. Utilizați Sintetice pentru a explora și detecta în mod proactiv problemele înainte ca utilizatorii dvs. de afaceri să o facă.
    • CloudWatch Logs Insights Query Acceleration va accelera interogările dvs. de jurnal de până la 10 ori. Puteți utiliza Query Acceleration pentru a analiza volume mari de date de jurnal rapid și eficient.

    Integrarea CloudWatch cu serviciile AWS

    Sursa: aws.amazon.com

    Când construiți un sistem AWS, integrarea Clodwatch este întotdeauna o prioritate de top pe lista dvs. Numai cu această integrare profundă puteți colecta și monitoriza valorile și jurnalele pentru toate serviciile sau componentele sistemului. De asemenea, este ușor de configurat și utilizat, iar integrarea este nativă pentru majoritatea serviciilor AWS. Deci, există foarte puține scuze pentru a nu folosi acest beneficiu pentru sistemul dvs. de cloud AWS.

    Veți obține o imagine completă a resurselor și aplicațiilor dvs. AWS și abilitatea de a le monitoriza starea de sănătate, performanța și disponibilitatea. Apoi, după ce toate informațiile sunt colectate, trebuie doar să utilizați datele deja existente pentru a configura alarme și a automatiza sarcinile pe baza evenimentelor care au loc în mediul dvs. AWS.

    Cuvinte finale

    AWS CloudWatch este un serviciu cloud cuprinzător capabil să acopere toate nevoile de înregistrare, monitorizare și vizualizare a stării sistemului pentru proiectul dvs.

    Includerea unor astfel de componente în arhitectura dvs. este exact modul în care vă gestionați în mod proactiv sistemele și asigurați fiabilitatea acestora. Aș spune că nici măcar nu-i acordați prioritate pentru fazele ulterioare, ci începeți să construiți sistemul robust de monitorizare de la Sprint 1. O veți aprecia mai târziu.

    Apoi, consultați cele mai bune instrumente de monitorizare AWS.