Question

Difficulty: MediumCloudWatch Dashboards and Container Insights

A SysOps Administrator needs to create an Amazon CloudWatch dashboard to monitor a production Amazon EKS cluster. The dashboard must include a widget that dynamically lists the top 10 EKS pods consuming the most memory. CloudWatch Container Insights is already enabled for the cluster. Which combination of actions must the SysOps Administrator perform to configure this dashboard widget? (Select TWO.)

  1. Add a log table widget to the CloudWatch dashboard and select the `/aws/containerinsights/<cluster-name>/performance` log group as the source.Answer
  2. Write a CloudWatch Logs Insights query that filters events where `Type` is equal to `Pod`, sorts by `pod_memory_utilization` in descending order, and limits the output to 10.Answer
  3. C
    Create a metric widget on the dashboard that queries the `ContainerInsights` namespace using the `pod_memory_utilization` metric and the `PodName` dimension.
  4. D
    Configure a CloudWatch Logs metric filter on the EKS kubelet log group to extract memory usage metrics, and add a stacked area metric widget to the dashboard.
  5. E
    Create an Amazon EventBridge rule that triggers an AWS Systems Manager Automation runbook to query EKS pod status, and output the results to a CloudWatch dashboard markdown widget.

Answer

Add a log table widget to the CloudWatch dashboard targeting the performance log group, and write a CloudWatch Logs Insights query that filters by Pod, sorts by memory utilization in descending order, and limits the output to 10.
To display a dynamic list of ephemeral resources like EKS pods, you must query the raw performance logs collected by Container Insights rather than standard metric widgets. Container Insights writes structured JSON telemetry to the `/aws/containerinsights/<cluster-name>/performance` log group. By adding a log table widget to the dashboard and writing a Logs Insights query that filters for pod-level events, sorts them by memory usage, and limits the count to 10, the dashboard will dynamically display the top 10 memory-consuming pods in real time.

Step-by-Step Solution

1
Add a log table widget to the CloudWatch dashboard and configure it to point to the `/aws/containerinsights/<cluster-name>/performance` log group.
The widget is ready to consume the performance telemetry logs generated by Container Insights.
Container Insights writes detailed telemetry data at the pod level as log events to this log group.
2
Configure the widget with a query that filters events on `Type = "Pod"`, sorts by `pod_memory_utilization desc`, and applies `limit 10`.
The log table widget dynamically displays the top 10 pods consuming the most memory.
A query is required to scan the structured JSON log events, retrieve the pod name and memory fields, and sort them dynamically.

Key Concept

CloudWatch Container Insights publishes granular performance logs to a dedicated log group, which can be dynamically queried and displayed in dashboards using Logs Insights widgets.
Rate this question