在弹性容器实例控制台上,您可以查看ECI实例的监控数据,包括CPU、内存和网络等相关指标。本文介绍ECI实例监控数据的含义和计算方式,方便您了解各项指标的具体作用,以便进行二次计算开发。
监控指标概述
在弹性容器实例控制台上查看ECI实例(即容器组)的监控数据时,您可以筛选时间段查看某一小时的数据,或者查看近5分钟的实时数据,支持查看的监控指标如下:
CPU
显示CPU利用率,即实例的CPU使用率,上限为100%。
内存
显示内存利用率,即实例的内存使用率,上限为100%。
网络
显示发送速率和接收速率,即在对应时间窗内平均发送速率和平均接收速率。
磁盘
显示磁盘分区和空间数据。具体如下:
磁盘分区数据:包括系统分区和数据分区,其中数据分区为挂载作为数据盘的云盘分区。
磁盘空间数据:包括磁盘的总空间、已使用空间、剩余可用空间和使用率。
对于ECI实例的监控数据,您可以通过DescribeContainerGroupMetric和DescribeMultiContainerGroupMetric接口进行查询,然后进行二次开发计算。查询监控数据时,系统将同时返回容器组,以及容器组内容器的监控数据:
返回结构体的根节点Records中包含容器组整体的监控数据(CPU、内存、网络和磁盘数据)。
返回结构体的子节点Containers中包含各个容器的监控数据(CPU和内存数据)。
更多信息,请参见DescribeContainerGroupMetric和DescribeMultiContainerGroupMetric。
CPU指标计算方式
调用OpenAPI接口可以获取的CPU原始数据如下:
名称 | 类型 | 示例值 | 描述 |
UsageNanoCores | Long | 0 | CPU在采样窗口内的使用量(纳秒)。 |
UsageCoreNanoSeconds | Long | 70769883 | CPU历史使用总量。 |
Load | Long | 0 | 最近10秒的平均负载情况。 |
Limit | Long | 2000 | CPU使用上限(CPU核数*1000)。 |
CPU相关指标计算方式如下:
CPU核数利用率=UsageNanoCores/109
CPU利用率=UsageNanoCores/Limit/106
内存指标计算方式
调用openAPI接口可以获取的内存原始数据如下:
名称 | 类型 | 示例值 | 描述 |
AvailableBytes | Long | 4289445888 | 可用内存。 |
UsageBytes | Long | 11153408 | 已使用内存。 |
Cache | Long | 7028736 | 缓存。 |
WorkingSet | Long | 5521408 | 当前内存工作集使用量。 |
Rss | Long | 1593344 | 常驻内存集,即实际使用的物理内存。 |
内存相关指标计算方式如下:
内存利用率=WorkingSet/(WorkingSet + AvailableBytes)
网络指标计算方式
调用openAPI接口可以获取的网络原始数据如下:
名称 | 类型 | 示例值 | 描述 |
TxBytes | Long | 1381805699 | 累计发送字节数。 |
RxBytes | Long | 505001954 | 累计接收字节数。 |
TxErrors | Long | 0 | 累计发送错误数。 |
RxErrors | Long | 0 | 累计接收错误数。 |
TxPackets | Long | 5158427 | 累计发送包数量。 |
RxPackets | Long | 4800583 | 累计接收包数量。 |
TxDrops | Long | 0 | 累计发送丢包数。 |
RxDrops | Long | 0 | 累计接收丢包数。 |
Name | String | eth0 | 网卡名称。 |
网络相关指标计算方式如下:
网络带宽速率(每秒发送比特数,单位为bps)
网络带宽速率=(B时刻的累计发送字节数-A时刻的累计发送字节数)/A时刻和B时刻之间的秒数*8
网络吞吐率(每秒发送包数量,单位为pps)
网络吞吐率=(B时刻的累计发送包数量-A时刻的累计发送包数量)/A时刻和B时刻之间的秒数