Nowa integracja dla CloudWatch Alarms i OpsCenter

14 grudnia 2020

Około rok temu AWS uruchomił usługę w AWS System Manager o nazwie OpsCenter, która umożliwia klientom agregowanie błędów, zdarzeń i alarmów w jednym miejscu, a także ułatwia operatorom oraz inżynierom badanie oraz usuwanie problemów. Teraz wprowadzono integrację pomiędzy powyższą funkcją a Amazon CloudWatch Alarms.

 

Gdy alarm CloudWatch przechodzi w stan alarmu, obecnie możliwe jest automatyczne utworzenie operacyjnego elementu roboczego (OpsItem) wewnątrz System Manager OpsCenter.

Przykładowo, można skonfigurować alarm, aby automatycznie utworzył się element OpsItem, jeśli zużycie CPU instancji EC2 jest większe niż 75%. Element ten będzie zawierać wszystkie informacje potrzebne operatorom do rozwiązania problemu, dając zespołowi narzędzia do zwiększenia wydajności oraz przyspieszenia analizy występujących problemów.

Istnieje możliwość łączenia różnych metryk alarmów, przykładowo można stworzyć złożony alarm, który uruchomi się tylko wtedy, gdy zużycie CPU będzie większe niż 75%, a opóźnienie load balancera przekroczy 100ms. W tym przypadku, można zignorować te instancje, których CPU wzrosło, jednak mimo to load balancer wciąż odpowiada w żądanym czasie.

Poniżej znajduje się przykład, aby lepiej zobrazować jak działa nowa integracja. W konsoli CloudWatch Alarms, stworzono nowy alarm, który uruchomi utworzenie elementu OpsItem, gdy alarm zostanie aktywowany.

Wywołanie alarmu

Aby utworzyć nowy alarm, należy kliknąć w Create alarm.

wywołanie alarmu cloud watch

Aby uruchomić metryki dla CloudWatch i rozpocząć monitorowanie, należy kliknąć w Select metric.

metric cloudwatch

W kolejnym kroku wybrano instancję do monitorowania oraz jej metryki, w tym przypadku będzie to CPU Utilization, a następnie klikamy w Select metric.

CPU utilization cloud watch metric

W zakładce Specify metric and conditions, wybrano typ progu Static oraz skonfigurowano alarm tak, aby status zmienił się na wyzwolony, gdy zużycie CPU przekroczy 75%.

specify metric cloudwatch

 

 

Tworzenie elementu OpsItem

Następnym krokiem będzie konfiguracja działania alarmu. W tym przypadku usunięto domyślną akcję z sekcji powiadomień za pomocą przycisku Remove. Wówczas należy przewinąć w dół sekcji akcji w Systems Manager OpsCenter i kliknąć w Add Systems Manager OpsCenter action.

Systems Manager Ops Center

W tym przypadku severity ustawiono na poziomie Medium, kategoria jest opcjonalna, jednak wybrano wariant Performance. Można zauważyć, że w odróżnieniu od powiadomień, integracja będzie uruchamiana tylko wtedy, gdy alarm będzie w stanie Alarm. Nie można utworzyć elementu OpsItem dla warunków OK lub Insufficient. Aby utworzyć akcję, należy kliknąć w Next.

severity

Dodatkowo nadano alarmowi nazwę oraz opis.

cpu75

Po sprawdzeniu wszystkich opcji, nowy alarm został utworzony po kliknięciu w Create.

Alarm został aktywowany, a system rozpoczął monitoring wybranych metryk.

W celu zbadania poprawności alarmu, przeprowadzono CPU Stress test na instancji EC2 i oczekiwano wyzwolenia alarmu.

Po kliku minutach w konsoli  CloudWatch Alarm, potwierdzono, że alarm został wyzwolony.

CPU Stress

 

 

Przegląd elementów OpsItem

Nowa integracja spowodowała również utworzenie nowego elementu OpsItem, który jest widoczny w konsoli Systems Manager OpsCenter.

OpsItem

W utworzonym elemencie można zobaczyć więcej szczegółów takich jak: informacje o wykorzystaniu procesora w momencie uruchomienia alarmu, sugerowane runbooks do rozwiązania problemu oraz związane z nim zasoby.

runbooks

Wszystkie ważne informacje potrzebne do rozwiązania problemu znajduą się w elemencie OpsItem. Przykładowo, jeśli w zakładce Related resources, kliknięto w opcję Resource ARN dla alarmu, w tej samej zakładce pojawią się informacje o alarmie, a także wykres wykorzystania CPU Utilization. Wszystko to bez opuszczania OpsCenter.

related resources

Sytuacja wygląda podobnie jeśli zostanie otworzona zakładka Resource ARN dla instancji EC2, stosowane informacje zostaną wyświetlone bez wychodzenia z OpsCenter.

resource arn

W sekcji runbooks, ukazuje się lista sugerowanych runbooków, które mogą rozwiązać problem automatycznie. W prawdziwym środowisku, znajdowałoby się tutaj kilka niestandardowych runbooków do rozwiązania popularnych problemów w systemie, jednak w tym przypadku wykonano dodatkową, znaną sztuczkę informatyczną, polegającą na wyłączeniu i ponownym włączeniu instancji za pomocą runbooka AWS-RestartEC2Instance, bezporeśdnio z OpsItem.

runbooks

Przedstawione opracowanie miało zaprezentować, iż nowa integracja może zwiększyć produktywność operatorów poprzez zapewnienie im systemu do szybkiego podejmowania obsługi problemów, a kluczowe informacje diagnostyczne są dostępne od ręki, w jednym miejscu.

 

 

Warto wiedzieć

Działanie Systems Manager OpsCenter action jest równoległe z istniejącymi powiadomieniami. Dzięki temu istnieje możliwość kontynuowania wysyłania powiadomień przez SNS, przykładowo pozwalające na kontynuowanie korzystania z istniejących systemów wsparcia.

OpsCenter redukuje zdarzenia alarmowe. Pozwala to na uniknięcie problemu tzw. „flapping issue”, w którym alarm „flapujący” pomiędzy stanami, mógłby potencjalnie wygenerować wiele pozycji w OpsItems.

Aby dowiedzieć się więcej, warto zobaczyć dokumentację

PYTANIA? SKONTAKTUJ SIĘ Z NAMI