Как да използвате CloudWatch за наблюдение и управление на вашите AWS ресурси

AWS CloudWatch е родна услуга на екосистемата Amazon Cloud, която регистрира и наблюдава всички други услуги в Amazon Cloud. Той събира и проследява показатели или регистрационни файлове и задава аларми за различни дейности, извлечени от тях.

Можете да получите видимост за цялата система относно производителността на приложенията, използването на ресурсите и работното състояние на услугите. Можете също така да използвате AWS CloudWatch, за да откриете аномално поведение във вашите среди, да предприемете автоматизирани действия, да отстраните проблеми и да откриете информация от регистрационните файлове, за да предприемете действия, променящи вашата система или операции към по-добро.

Наблюдението на вашите регистрационни файлове помага за откриване на заплахи за сигурността и идентифицира потенциални уязвимости. Чрез наблюдение за подозрителна дейност и необичайно поведение можете да реагирате на подозрителна дейност и да предприемете стъпки за предотвратяване на бъдещи атаки.

Също така, поддържането на регистрационни файлове и наблюдението на системите по-често е задължителна дейност за целите на съответствието. Използвайки AWS CloudWatch, вие отговаряте на тези изисквания.

Това са всички преки ползи, които получавате от използването на AWS CloudWatch. Така че нека да проверим как да започнем с всичко това.

Настройване на AWS CloudWatch за вашата услуга

Източник: aws.amazon.com

Настройката може да бъде проста и ясна или можете да прекарате седмици в фина настройка на всички аспекти или свойства на вашата система за регистриране и наблюдение и все още да не сте готови напълно (в общи линии го наричате жив процес на подобрение).

Но накратко, ето как можете да започнете:

  • Ако приемем, че вече имате акаунт в AWS, активирайте CloudWatch, като отидете до конзолата на CloudWatch и щракнете върху бутона „Първи стъпки“.
  • Създайте група от журнали, за да започнете да събирате журналите за вашата услуга. Група регистрационни файлове е колекция от потоци регистрационни файлове, които споделят едни и същи настройки за задържане, наблюдение и контрол на достъпа. Можете да създадете група от регистрационни файлове, като щракнете върху бутона „Създаване на група от регистрационни файлове“ в конзолата на CloudWatch.
  • Създайте поток от регистрационни файлове, за да стесните събитията в регистрационните файлове до един и същ източник (услуга). Можете да създадете поток от регистрационни файлове, като щракнете върху бутона „Създаване на поток от регистрационни файлове“ в конзолата на CloudWatch.
  • Ако се стремите да събирате регистрационни файлове от екземпляри на EC2, инсталирайте агента CloudWatch. Агентът е част от софтуера, който работи на вашите екземпляри и изпраща регистрационни данни към CloudWatch. Можете да инсталирате агента с помощта на AWS Systems Manager или като стартирате скрипт на вашите екземпляри.
  • Създайте филтър за показатели, за да извлечете показатели от вашите регистрационни файлове въз основа на дефиниран шаблон за съвпадение. Можете да създадете метричен филтър, като щракнете върху бутона „Създаване на метричен филтър“ в конзолата на CloudWatch.
  • И накрая, съберете и визуализирайте всички извлечени данни на едно място – създайте табло за управление. Таблото за управление е колекция от джаджи, която показва показатели и други данни, които поставяте там. Можете да създадете табло за управление, като щракнете върху бутона „Създаване на табло за управление“ в конзолата на CloudWatch.
  • Мониторинг с AWS CloudWatch

    Както вече казахме, можете да наблюдавате всяка услуга в Amazon Cloud с помощта на AWS Cloudwatch. За да дадете по-подробна представа как може да изглежда подобно наблюдение, ето как да го направите за най-често срещаните AWS услуги, които най-вероятно използвате във вашата система.

      Камерата Whistle слуша аудио сигнал и прави снимка

    Източник: docs.aws.amazon.com

    EC2 инстанции

    Можете да наблюдавате екземплярите на EC2, като събирате показатели като използване на процесора, мрежов трафик, използване на диск и използване на памет. Можете също така да наблюдавате състоянието на вашите екземпляри EC2 и да получавате известия, когато екземплярите спрат или прекратят работа.

    За да наблюдавате екземпляри на EC2, инсталирайте агента CloudWatch на вашите екземпляри и го конфигурирайте да изпраща показатели към CloudWatch. Като следваща стъпка можете да създадете аларми, които да ви предупреждават, когато показателите надхвърлят определени прагове.

    RDS бази данни

    Можете да наблюдавате базите данни на Amazon RDS, като събирате показатели като използване на процесора, използване на памет или използване на диск на базата данни. Можете също да наблюдавате състоянието на базите данни и да получавате известия, когато базите данни са спрени, поставени на пауза или прекратени.

    За да наблюдавате RDS бази данни, активирайте подобрен мониторинг и го конфигурирайте да изпраща показатели към CloudWatch. Отново можете да създадете аларми, които да ви предупреждават, когато показателите са изключени.

    Ламбда функции

    Можете да наблюдавате функциите на AWS Lambda, като събирате показатели като брой извиквания на ламбда, продължителност и процент на грешки. Можете също да наблюдавате състоянието на вашите функции и да получавате известия, когато функциите се провалят.

    За да наблюдавате функциите на Lambda, трябва да активирате регистрационните файлове на CloudWatch и да конфигурирате функциите си да изпращат регистрационни файлове към CloudWatch. След това можете да създадете метрични филтри, за да извлечете показатели от вашите регистрационни файлове и да предприемете действия въз основа на информацията, извлечена от регистрационните файлове.

    Еластични балансьори на натоварването

    Мониторингът на еластичните балансори на натоварването се извършва чрез събиране на показатели като брой заявки, латентност и HTTP кодове за отговор. Можете също така да наблюдавате състоянието на вашите балансьори на натоварване и да получавате известия, когато балансиращите на натоварването се повредят.

    За да наблюдавате балансьорите на натоварването, трябва да активирате регистрационните файлове за достъп и да конфигурирате своите балансьори на натоварването да изпращат регистрационни файлове към CloudWatch. След това можете да създадете метрични филтри, за да извлечете показатели от вашите регистрационни файлове и да създадете аларми, когато показателите са извън определеното от вас здравословно състояние.

    Автоматично мащабиране на групи

    Можете да наблюдавате групите за автоматично мащабиране, като събирате размера на групата, използването на процесора и мрежовия трафик. Можете също да наблюдавате състоянието на вашите групи и да получавате известия, когато групите се увеличават или намаляват.

    За да наблюдавате групите с автоматично мащабиране, трябва да активирате подробно наблюдение и да го конфигурирате да изпраща показатели към CloudWatch. След това можете да създавате аларми, които да ви предупреждават, когато показателите надхвърлят определени прагове.

    Еластични приложения на бобено стъбло

    Можете да наблюдавате приложенията на AWS Elastic Beanstalk, като събирате показатели като използване на процесора и брой заявки. Можете също да наблюдавате състоянието на вашите приложения и да получавате известия, когато приложенията се провалят.

    За да наблюдавате приложенията Elastic Beanstalk, трябва да активирате подобреното отчитане на здравето и да го конфигурирате да изпраща показатели към CloudWatch. След това можете да създавате аларми, които да ви предупреждават, когато показателите са извън предварително зададените прагове.

    Управление на аларми на CloudWatch

    Има налични CloudWatch аларми за ключови показатели и всяка услуга. Те могат да бъдат конфигурирани предварително, следвайки най-добрите практики и с тяхна помощ отстраняване на проблеми, когато възникнат.

    Чрез ефективното управление на вашите аларми вие получавате предупреждение за критични проблеми и можете да предприемете подходящи действия за поддържане на здравето и производителността на вашите AWS ресурси и приложения.

    Източник: aws.amazon.com

    #1. Настройване на аларми за показател

    За да настроите аларми, първо изберете показателя, който искате да наблюдавате. След това създайте аларма въз основа на този показател, като посочите прагова стойност и оператор за сравнение.

      Как да защитите своя WordPress сайт с iThemes Security Pro

    Например, можете да създадете аларма, която да се задейства, когато използването на процесора надвиши 80% за повече от 5 минути. След като създадете аларма, конфигурирайте действията, които да предприемете, когато задейства алармата. Например изпращане на имейл до определен списък с получатели, изпращане на SMS известие или дори увеличаване на системните ресурси.

    #2. Конфигуриране на алармени действия

    Когато конфигурирате алармени действия, е възможно да избирате от различни опции, включително изпращане на известия до SNS тема, задействане на функция AWS Lambda (която от своя страна може да прави каквото искате функцията да прави във вашия скрипт на Python), спиране или прекратяване на екземпляр на EC2.

    Можете също така да конфигурирате множество действия за всяка аларма и по този начин да предприемете различни действия в зависимост от сериозността на алармата. Например изпращане на известие по имейл за малка аларма, но прекратяване на екземпляр за критична аларма.

    #3. Най-добри практики за аларма

    Винаги е добре да следвате най-добрите практики, за да сте сигурни, че алармите са ефективни и надеждни. Някои най-добри практики включват:

    • Задаване на подходящи прагове въз основа на исторически данни,
    • използване на множество показатели паралелно за откриване на проблеми,
    • редовно тествайте вашите аларми, за да сте сигурни, че работят правилно.

    Избягвайте да създавате твърде много аларми, тъй като това може да доведе до умора на предупрежденията, претрупване на системата за наблюдение и затрудняване на действителното идентифициране на наистина критични проблеми.

    Ако имате проблеми с алармите на CloudWatch, има няколко стъпки за отстраняване на неизправности, които можете да предприемете:

    • Проверете хронологията на алармата, за да видите дали са предприети някакви действия, когато алармата е била задействана.
    • Проверете метричните данни, за да видите дали има някакви аномалии или пикове, които може да са задействали алармата.
    • Ако проблемите продължават, можете да опитате да коригирате прага на алармата или да добавите допълнителни показатели към алармата, за да подобрите нейната точност.

    Анализиране и визуализиране на показатели с табла за управление на CloudWatch

    Източник: docs.aws.amazon.com

    Анализирането и визуализирането на показатели чрез табла за управление ви дава четлива представа за здравето и производителността на вашите AWS ресурси и приложения. Таблата за управление на CloudWatch предоставят персонализиран изглед на вашите показатели.

    Можете да поставите там различни диаграми, графики и други визуализации, които показват тенденциите във времето и подчертават всички проблеми, които системата може да има. Крайната цел е да можете да се абстрахирате от данните в регистрационните файлове и да имате важната информация в много по-четлив и удобен за потребителя формат за всеки, който иска да проверява и наблюдава състоянието на системата.

    За да създадете табло за управление на CloudWatch, можете да използвате конзолата на CloudWatch или API на CloudWatch. След това просто добавете приспособления към таблото за управление, които показват показатели, които искате да имате видими на таблото за управление. Можете също да добавите текст и изображения, за да предоставите контекст или допълнителна информация.

    След като създадете табло за управление, можете да го персонализирате, за да отговаря на вашите специфични нужди. Можете да преоразмерявате и пренареждате джаджи, да променяте времевия диапазон на показаните данни и да добавяте анотации, за да подчертаете важни събития или промени. Можете също така да споделяте таблото си с други потребители, което им позволява да преглеждат същите показатели и визуализации.

    И накрая, можете лесно да внедрите едно и също табло за управление в различни AWS акаунти и среди.

    Събиране и анализиране на регистрационни файлове

    Анализирането на регистрационните файлове обикновено означава използване на функцията Logs Insights на CloudWatch.

    След като сте събрали регистрационни данни в CloudWatch Logs, можете да започнете да използвате Logs Insights. CloudWatch Logs Insights ви позволява да правите заявки и визуализирате данни от регистрационни файлове, като използвате прост, но мощен език за заявки. Той е много подобен на езика за избор на SQL, но не съвсем същият. Резултатите обаче са много сходни.

      9 най-добри генератора на прякори за получаване на уникално потребителско име

    Можете да използвате Insights, за да търсите конкретни регистрационни събития, да филтрирате регистрационни данни въз основа на конкретни критерии и да създавате визуализации като диаграми и таблици. С това получавате още една ценна представа за поведението на вашите приложения и инфраструктура, която може да се използва за отстраняване на проблеми, оптимизиране на производителността или подобряване на сигурността.

    Прочетете също: Как да използвате AWS Logs Insights за търсене на показатели на таблото за управление от AWS Services Logs

    Автоматизиране на задачи с CloudWatch събития

    Ако имате достатъчно информация за регистрационни данни в CloudWatch, можете да я използвате, за да задействате действия въз основа на събития, които се случват във вашите AWS ресурси и приложения. CloudWatch Events предоставя начин за планиране и автоматизиране на задачи, например стартиране или спиране на екземпляри на EC2, когато използването на екземпляра излезе извън нормалната зона на използване (напр. спиране на екземпляра през нощта и стартиране отново през работния ден).

    За да автоматизирате задачи с CloudWatch Events, създайте правило, което определя модела на събитието, който да съответства, и действието, което да се предприеме, когато събитието се случи. Можете да направите това с помощта на конзолата CloudWatch или CloudWatch Events API. След това конфигурирайте една или повече цели за правилото, като функция AWS Lambda, SNS тема или екземпляр на EC2.

    CloudWatch Events поддържа широк набор от източници на събития, като AWS услуги, персонализирани приложения и услуги на трети страни. Така че използвайте CloudWatch Events, за да автоматизирате задачи, когато имате нужда от мащабиране на ресурси, задействане на архивиране или реагиране на инциденти със сигурността.

    Чрез автоматизиране на задачите вие ​​намалявате ръчната намеса във вашата система и гарантирате, че вашите AWS ресурси и приложения винаги работят на оптимални нива.

    Разширени функции на CloudWatch

    Има няколко разширени функции на CloudWatch, които могат да бъдат настроени, за да получите по-задълбочена представа за вашите AWS ресурси. Един от тях е вече споменатата информация за Logs. Ето някои от другите ключови разширени функции:

    • CloudWatch Contributor Insights може да идентифицира най-добрите участници в използването на вашите ресурси (напр. екземпляри EC2 или функции Lambda). Можете да използвате Contributor Insights, за да идентифицирате най-ресурсоемките операции и съответно да оптимизирате ресурсите.
    • Откриването на аномалии в CloudWatch използва алгоритми за машинно обучение за автоматично откриване на аномално поведение във вашите показатели. Използвайте Откриване на аномалии, за да идентифицирате необичайни пикове или спадове във вашите показатели и да предприемете действия за справяне с тях.
    • CloudWatch Synthetics създава канарчета, които симулират поведението на потребителите, и може да тества наличността и производителността на вашите приложения. Използвайте Synthetics за проактивно проучване и откриване на проблеми, преди вашите бизнес потребители да го направят.
    • CloudWatch Logs Insights Query Acceleration ще ускори вашите заявки за регистрационни файлове с до 10 пъти. Можете да използвате Query Acceleration, за да анализирате бързо и ефективно големи обеми регистрационни данни.

    Интегриране на CloudWatch с AWS услуги

    Източник: aws.amazon.com

    Когато изграждате AWS система, интеграцията на Clodwatch винаги е основен приоритет във вашия списък. Само с тази дълбока интеграция можете да събирате и наблюдавате показатели и регистрационни файлове във всички ваши услуги или системни компоненти. Освен това е лесен за настройка и използване, а интеграцията е естествена за повечето услуги на AWS. Така че има наистина малко извинения да не използвате това предимство за вашата облачна система AWS.

    Ще получите изчерпателна представа за вашите AWS ресурси и приложения и възможността да наблюдавате тяхното състояние, производителност и наличност. След това, след като цялата информация бъде събрана, просто използвайте вече съществуващите данни, за да настроите аларми и автоматизирате задачи въз основа на събития, които се случват във вашата AWS среда.

    Заключителни думи

    AWS CloudWatch е цялостна облачна услуга, способна да покрие всички нужди за регистриране, наблюдение и визуализиране на състоянието на системата за вашия проект.

    Включването на такива компоненти във вашата архитектура е точно начинът, по който проактивно управлявате вашите системи и гарантирате тяхната надеждност. Бих казал, че дори не го приоритизирайте за по-късни фази, а започнете да изграждате стабилната система за наблюдение от Sprint 1. Ще го оцените по-късно.

    След това вижте най-добрите инструменти за наблюдение на AWS.