0Pricing
Cloud & IT Cert Prep · Lekcja

Panele CloudWatch i Container Insights

Tworzyć operacyjne panele obejmujące wiele usług oraz włączać Container Insights, aby monitorować wydajność klastrów ECS i EKS.

Panele CloudWatch i Container Insights to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Przegląd CloudWatch Dashboards

CloudWatch Dashboards to konfigurowalne widoki infrastruktury AWS z wieloma widżetami, które zapewniają ujednolicony obraz operacyjny. Pulpit nawigacyjny może wyświetlać na jednym ekranie metryki z wielu usług i kont AWS, korzystając z wykresów liniowych, widżetów liczbowych, wskaźników, alarmów i wyników zapytań dotyczących logów. Pulpity nawigacyjne są zasobami globalnymi — jeden pulpit może wyświetlać metryki z dowolnego regionu. Pulpity można udostępniać publicznie lub ograniczać do nich dostęp za pomocą zasad IAM.

Widżety pulpitu nawigacyjnego

Pulpity nawigacyjne CloudWatch obsługują kilka typów widżetów: wykresy liniowe i warstwowe dla metryk szeregów czasowych, widżety liczbowe wyświetlające najnowszą wartość metryki (świetne do prezentowania KPI), wykresy słupkowe do porównań, wskaźniki do przedstawiania poziomu wykorzystania pojemności, widżety stanu alarmów z podsumowaniem stanów alarmów, tabele logów z wynikami zapytań Live Tail lub Insights oraz widżety tekstowe na etykiety i dokumentację. Połączenie różnych typów widżetów na jednym pulpicie pomaga zespołom szybko ocenić stan systemu.

# Create a dashboard via CLI (body must be escaped JSON)
aws cloudwatch put-dashboard \
  --dashboard-name ProductionOverview \
  --dashboard-body '{
    "widgets": [
      {
        "type": "metric",
        "properties": {
          "metrics": [["AWS/EC2","CPUUtilization","AutoScalingGroupName","my-asg"]],
          "period": 60,
          "stat": "Average",
          "title": "ASG CPU Utilization"
        }
      }
    ]
  }'

Pulpity między kontami i regionami

CloudWatch obsługuje obserwowalność między kontami z wykorzystaniem kont monitorujących i kont źródłowych. Mogą Państwo wyznaczyć centralne konto monitorujące, połączyć z nim konta źródłowe i tworzyć pulpity nawigacyjne pobierające metryki oraz logi ze wszystkich połączonych kont. Eliminuje to konieczność przełączania kont w konsoli podczas monitorowania środowiska obejmującego wiele kont. Widżety między regionami w ramach tego samego konta są natywnie obsługiwane przez określenie regionu w definicji JSON pulpitu.

# Enable cross-account sharing in a source account
aws cloudwatch put-dashboard \
  --dashboard-name MultiRegionView \
  --dashboard-body '{
    "widgets": [
      {
        "type": "metric",
        "properties": {
          "metrics": [
            ["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db",{"region":"us-east-1"}],
            ["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db-eu",{"region":"eu-west-1"}]
          ],
          "title": "DB Connections: us-east-1 vs eu-west-1"
        }
      }
    ]
  }'

CloudWatch Live Tail

CloudWatch Live Tail (uruchomiona w 2023 roku) umożliwia przesyłanie zdarzeń logów z jednej lub wielu grup logów niemal w czasie rzeczywistym bezpośrednio w konsoli CloudWatch lub za pomocą interfejsu CLI — podobnie jak uruchomienie tail -f dla pliku logu. Mogą Państwo zastosować wzorzec filtrowania, aby wyświetlać tylko pasujące zdarzenia. Live Tail jest niezwykle przydatne podczas wdrażania lub badania incydentów, gdy trzeba obserwować bieżące działanie aplikacji bez wykonywania pełnych zapytań Insights.

# Start a Live Tail session for a Lambda function's logs
aws logs start-live-tail \
  --log-group-identifiers '/aws/lambda/my-function' \
  --log-event-filter-pattern 'ERROR'

# The output streams log events in real time until you cancel (Ctrl+C)

Czym jest Container Insights?

CloudWatch Container Insights to funkcja CloudWatch, która zbiera, agreguje i podsumowuje metryki oraz logi z obciążeń kontenerowych działających w ramach Amazon ECS (EC2 i Fargate) oraz Amazon EKS (EC2 i Fargate). Udostępnia gotowe pulpity nawigacyjne z informacjami o wydajności klastra, usług, węzłów i podów, bez konieczności ręcznego instrumentowania każdej aplikacji. Container Insights używa agenta CloudWatch lub routera logów EKS Fargate do zbierania danych.

# Enable Container Insights on an ECS cluster
aws ecs update-cluster-settings \
  --cluster my-ecs-cluster \
  --settings name=containerInsights,value=enabled

# Enable Container Insights on EKS (via CloudWatch Agent DaemonSet)
eksctl utils update-cluster-logging \
  --cluster my-eks-cluster \
  --enable-types all \
  --region us-east-1

Metryki Container Insights

Container Insights zbiera metryki w przestrzeniach nazw ECS/ContainerInsights i ContainerInsights. W przypadku EKS obejmują one: na poziomie poda — pod_cpu_utilization, pod_memory_utilization, pod_network_rx_bytes; na poziomie węzła — node_cpu_utilization, node_memory_utilization, node_filesystem_utilization; na poziomie klastra — cluster_failed_node_count, cluster_node_count. Wszystkie metryki są oznaczone wymiarami klastra, przestrzeni nazw, usługi i poda, co umożliwia precyzyjne filtrowanie.

# Query pod memory utilization for a specific namespace
aws cloudwatch get-metric-statistics \
  --namespace ContainerInsights \
  --metric-name pod_memory_utilization \
  --dimensions \
    Name=ClusterName,Value=my-cluster \
    Name=Namespace,Value=production \
  --statistic Average \
  --period 60 \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z

Pulpity Container Insights w konsoli

Po włączeniu Container Insights konsola CloudWatch automatycznie udostępnia gotowe widoki Container Map i Performance Monitoring. Container Map przedstawia zadania ECS lub pody EKS jako wizualną topologię — z oznaczeniem kolorami według stanu — oraz umożliwia przejście do szczegółów metryk poszczególnych kontenerów. Widok Performance Monitoring udostępnia wykresy szeregów czasowych dotyczące wydajności klastra, węzłów, podów i kontenerów bez konieczności ręcznej konfiguracji pulpitu.

Wydajność zadań ECS z Container Insights

W przypadku ECS on EC2 Container Insights instaluje agenta CloudWatch jako usługę typu daemon na każdej instancji kontenera. W przypadku ECS on Fargate Container Insights korzysta z kolektora metryk sidecar dostępnego na platformie Fargate w wersji 1.4.0. Metryki ECS można przeglądać według wymiaru klastra, usługi, zadania lub kontenera. Typowym wzorcem alarmowania jest ustawienie alarmu, gdy wartość MemoryUtilized zbliża się do wartości MemoryReserved zadania, aby wykryć potencjalne warunki OOM, zanim spowodują zakończenie zadań.

# Get memory reservation and utilisation for a service
aws cloudwatch get-metric-statistics \
  --namespace ECS/ContainerInsights \
  --metric-name MemoryUtilized \
  --dimensions Name=ClusterName,Value=my-cluster Name=ServiceName,Value=api-service \
  --statistic Average \
  --period 300 \
  --start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)

Application Signals i ServiceLens

CloudWatch ServiceLens integruje metryki, logi i ślady w ujednoliconą mapę usług. Wymaga włączenia AWS X-Ray wraz z CloudWatch. ServiceLens wizualizuje przepływy żądań od początku do końca między usługami, wyróżnia wąskie gardła opóźnień i pokazuje współczynniki błędów dla poszczególnych usług. CloudWatch Application Signals (nowszy następca) automatycznie instrumentuje aplikacje, aby udostępniać SLO i SLI bez zmian w kodzie, umożliwiając monitorowanie niezawodności wykraczające poza surowe metryki.

Najlepsze praktyki dotyczące pulpitów

Skuteczne pulpity CloudWatch powinny uwzględniać następujące najlepsze praktyki: oddzielanie pulpitów według odbiorców (operacyjnych, dla kadry zarządzającej i deweloperów), używanie widżetów stanu alarmów jako pierwszego elementu wyświetlanego zespołom podczas dyżuru, przypinanie pulpitów używanych często oraz stosowanie odwołań dynamicznych w CloudFormation, aby odwołania do metryk na pulpicie pozostawały zgodne z rzeczywistymi nazwami zasobów. Należy unikać przeładowywania jednego pulpitu — czytelność ma znaczenie podczas diagnozowania incydentu pod presją.

CloudWatch Contributor Insights

CloudWatch Contributor Insights analizuje ustrukturyzowane dane logów, aby zidentyfikować w czasie N najważniejszych źródeł danej metryki. Może na przykład wskazać adresy IP generujące najwięcej błędów 5xx, ścieżki API o największej liczbie żądań lub identyfikatory klientów powodujących najwięcej ograniczeń przepustowości w DynamoDB. Reguły definiują pole JSON, które należy wyodrębnić i na jego podstawie wykonać agregację. Wyniki są wyświetlane jako wykresy szeregów czasowych i są stale aktualizowane wraz z napływem nowych danych logów.

# Enable Contributor Insights on a DynamoDB table
aws dynamodb enable-kinesis-streaming-destination \
  --table-name my-table

# Or enable CloudWatch Contributor Insights via the console:
# CloudWatch -> Contributor Insights -> Create rule
# Log group: /aws/dynamodb/tables
# Contributor field: $.TableName
# Aggregation: COUNT by $.requestID

Szybkie sprawdzenie

Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji poznali Państwo: CloudWatch Dashboards, które obsługują wiele typów widżetów i mogą agregować metryki z różnych kont i regionów; Container Insights, które automatycznie zbierają metryki na poziomie podów i węzłów z ECS oraz EKS bez ręcznego instrumentowania; oraz Contributor Insights, które identyfikują najważniejsze źródła na podstawie ustrukturyzowanych danych logów. W następnej części omówimy ścieżki CloudTrail i historię zdarzeń na potrzeby audytu na poziomie API.

Często zadawane pytania

Czy lekcja „Panele CloudWatch i Container Insights” jest bezpłatna?

Tak — pełny tekst „Panele CloudWatch i Container Insights” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Panele CloudWatch i Container Insights”?

Tworzyć operacyjne panele obejmujące wiele usług oraz włączać Container Insights, aby monitorować wydajność klastrów ECS i EKS. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Panele CloudWatch i Container Insights”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Metryki, przestrzenie nazw i wymiary CloudWatch
  2. Alarmy CloudWatch i alarmy złożone
  3. Dzienniki CloudWatch i Log Insights
  4. Panele CloudWatch i Container Insights
← Powrót do Cloud & IT Cert Prep