Amazon CloudWatch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

查看 Container Insights 指标

在设置 Container Insights 并开始收集指标后,您可以在 CloudWatch 自动控制面板上查看这些指标。

要在控制面板上显示 Container Insights 指标,您必须完成 Container Insights 设置。有关更多信息,请参阅 设置 Container Insights

查看 Container Insights 指标

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在屏幕的左上角,选择概述旁边的下箭头,然后选择 Container Insights

    将显示几个图表,其中列出了有关您的集群的指标。图表下方是一个集群列表,其中列出了每个集群的运行状况和基本指标。

    要将视图筛选为特定的集群,请使用中间部分顶部的框。

  3. 在左上角(显示集群),切换以查看节点、pod、服务、任务和命名空间级别的指标。在执行该操作时,您还可以筛选这些视图以仅查看各个 pod 和节点。

    您还可以在 Amazon EKS 和 Amazon ECS 指标之间切换。

  4. 在任何图表中,将鼠标指针暂停在图例线上以查看有关该资源的更多信息。

  5. 在集群级别,要在控制面板中查看其中一个集群的日志,请在屏幕底部的列表中选择其名称旁边的按钮。然后选择 Actions (操作) 并选择列表中的一个选项。

    将出现一个新浏览器,显示对于该资源的 CloudWatch Logs Insights 查询。

    选择 Run query (运行查询)。将显示查询结果。

    有关 CloudWatch Logs Insights 的更多信息,请参阅使用 CloudWatch Logs Insights 分析日志数据

  6. 在节点、容器或任务级别,要查看有关页面底部列表中当前显示的一个或多个资源的日志,请选中这些资源名称旁边的复选框。然后选择 Actions (操作) 并选择列表中的一个选项。您可以查看资源的日志或 AWS X-Ray 跟踪。

    将出现一个新的浏览器,显示您请求的信息。

您可以设置 Container Insights 收集的任何指标的 CloudWatch 警报。有关更多信息,请参阅使用 Amazon CloudWatch 警报

使用 CloudWatch Logs Insights 查看 Container Insights 数据

Container Insights 使用 CloudWatch Logs 中存储的性能日志事件收集指标。您可以使用 CloudWatch Logs Insights 查询以获取额外的容器数据视图。

有关 CloudWatch Logs Insights 的更多信息,请参阅使用 CloudWatch Logs Insights 分析日志数据。有关您可以在查询中使用的日志字段的更多信息,请参阅

使用 CloudWatch Logs Insights 查询容器指标数据

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Insights

    屏幕顶部附近是查询编辑器。当您首次打开 CloudWatch Logs Insights 时,此框包含一个默认查询,该查询将返回 20 个最新的日志事件。

  3. 在查询编辑器上方的框中,选择要查询的 Container Insights 日志组之一。要成功执行以下示例查询,日志组名称必须以 performance 结尾。

    当您选择日志组时,CloudWatch Logs Insights 自动检测日志组数据中的字段,并将其显示在右窗格的 Discovered fields (发现的字段) 中。它还显示此日志组中的日志事件随时间变化的条形图。该条形图显示与您的查询和时间范围匹配的日志组中的事件分布情况,而不仅仅是表中显示的事件。

  4. 在查询编辑器中,将默认查询替换为以下查询,然后选择运行查询

    STATS avg(node_cpu_utilization) as avg_node_cpu_utilization by NodeName | SORT avg_node_cpu_utilization DESC

    该查询显示一个节点列表,它按平均节点 CPU 使用率进行排序。

  5. 要尝试使用另一个示例,请将该查询替换为另一个查询,然后选择运行查询。本页稍后将列出更多示例查询。

    STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName | SORT avg_number_of_container_restarts DESC

    该查询显示一个 pod 列表,它按平均容器重新启动次数进行排序。

  6. 如果要尝试使用另一个查询,您可以使用屏幕右侧的列表中的包含字段。有关查询语法的更多信息,请参阅 CloudWatch Logs Insights 查询语法

Container Insights 的其他示例查询

pod 列表,按平均容器重新启动次数排序

STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName | SORT avg_number_of_container_restarts DESC

请求的 Pod 与运行的 pod

fields @timestamp, @message | sort @timestamp desc | filter Type="Pod" | stats min(pod_number_of_containers) as requested, min(pod_number_of_running_containers) as running, ceil(avg(pod_number_of_containers-pod_number_of_running_containers)) as pods_missing by kubernetes.pod_name | sort pods_missing desc

集群节点故障计数

stats avg(cluster_failed_node_count) as CountOfNodeFailures | filter Type="Cluster" | sort @timestamp desc

应用程序日志错误

Count by container name: stats count() as countoferrors by kubernetes.container_name | filter stream="stderr" | sort countoferrors desc

按容器名称的磁盘使用量

stats floor(avg(container_filesystem_usage/1024)) as container_filesystem_usage_avg_kb by InstanceId, kubernetes.container_name, device | filter Type="ContainerFS" | sort container_filesystem_usage_avg_kb desc

按容器名称的 CPU 使用率

stats pct(container_cpu_usage_total, 50) as CPUPercMedian by kubernetes.container_name | filter Type="Container"