Amazon Managed Service for Apache Flink(Amazon MSF)之前称为 Amazon Kinesis Data Analytics for Apache Flink。
Managed Service for Apache Flink 中的指标和维度
当 Managed Service for Apache Flink 处理数据源时,Managed Service for Apache Flink会向 Amazon CloudWatch 报告以下指标和维度。
应用程序指标
| 指标 | 单位 | 描述 | 级别 | 使用说明 |
|---|---|---|---|---|
backPressuredTimeMsPerSecond* |
毫秒 | 该任务或运算符每秒受到反向压力的时间(以毫秒为单位)。 | 任务、运算符、并行度 | *仅适用于运行 Flink 版本 1.13 的 Managed Service for Apache Flink 应用程序。 这些指标可用于识别应用程序中的瓶颈。 |
busyTimeMsPerSecond* |
毫秒 | 该任务或运算符每秒忙碌的时间(以毫秒为单位)(既没有空闲也没有反向压力)。如果无法计算该值,则可以为 NaN。 | 任务、运算符、并行度 | *仅适用于运行 Flink 版本 1.13 的 Managed Service for Apache Flink 应用程序。 这些指标可用于识别应用程序中的瓶颈。 |
cpuUtilization |
百分比 | 任务管理器中 CPU 利用率的总体百分比。例如,如果有五个任务管理器,则 Managed Service for Apache Flink 将在每个报告间隔内发布该指标的五个样本。 | 应用程序 | 您可以使用此指标来监控应用程序中的最低、平均和最大 CPU 利用率。该CPUUtilization指标仅考虑容器内运行的 TaskManager JVM 进程的 CPU 利用率。 |
containerCPUUtilization |
百分比 | Flink 应用程序集群中任务管理器容器中 CPU 利用率的总体百分比。例如,如果有五个任务管理器,相应的 TaskManager 容器也是五个,Managed Service for Apache Flink将在每 1 分钟的报告间隔发布该指标的 2 * 5 个样本。 | 应用程序 | 每个容器的计算公式为: 容器消耗的 CPU 总时间(以秒为单位)* 100 /容器 CPU 限制(以 CPU/秒为单位) 该 |
containerMemoryUtilization |
百分比 | Flink 应用程序集群中任务管理器容器中内存利用率的总体百分比。例如,如果有五个任务管理器,相应的 TaskManager 容器也是五个,Managed Service for Apache Flink将在每 1 分钟的报告间隔发布该指标的 2 * 5 个样本。 | 应用程序 | 每个容器的计算公式为: 容器内存使用量(字节)* 100 /容器内存限制(按照 Pod 部署规范)(以字节为单位)
|
containerDiskUtilization |
百分比 | Flink 应用程序集群中任务管理器容器中磁盘利用率的总体百分比。例如,如果有五个任务管理器,相应的 TaskManager 容器也是五个,Managed Service for Apache Flink将在每 1 分钟的报告间隔发布该指标的 2 * 5 个样本。 | 应用程序 | 每个容器的计算公式为: 磁盘使用量(以字节为单位)* 100 /容器的磁盘限制(以字节为单位 对于容器,它表示在其中设置容器根卷的文件系统的利用率。 |
currentInputWatermark |
毫秒 | 该应用程序/运算符/任务/线程上次收到的水印 | 应用程序、运算符、任务、并行度 | 此记录仅针对具有两个输入的维度发出。这是上次收到的水印的最小值。 |
currentOutputWatermark |
毫秒 | 该应用程序/运算符/任务/线程上次发出的水印 | 应用程序、运算符、任务、并行度 | |
downtime |
毫秒 | 对于当前处于故障/恢复状态的任务,在该中断期间经过的时间。 | 应用程序 | 该指标测量任务发生故障或恢复时经过的时间。该指标为运行的任务返回 0,并为完成的任务返回 -1。如果该指标不是 0 或 -1,则表明应用程序的 Apache Flink 任务无法运行。 |
fullRestarts |
计数 | 自提交以来,此任务完全重启的总次数。该指标不能衡量精细的重启情况。 | 应用程序 | 您可以使用此指标来评估应用程序的总体运行状况。Managed Service for Apache Flink 在内部维护期间可能会发生重启。重启次数高于正常值可能表示应用程序出现问题。 |
heapMemoryUtilization |
百分比 | 任务管理器的总体堆内存利用率。例如,如果有五个任务管理器,则 Managed Service for Apache Flink 将在每个报告间隔内发布该指标的五个样本。 | 应用程序 | 您可以使用此指标来监控应用程序中的最低、平均和最大堆内存利用率。HeapMemoryUtilization仅考虑了特定的内存指标,例如 TaskManager JVM 的堆内存使用情况。 |
idleTimeMsPerSecond* |
毫秒 | 此任务或运算符每秒处于空闲状态(没有要处理的数据)的时间(以毫秒为单位)。空闲时间不包括反向压力时间,因此,如果任务受到反向压力,则不会处于空闲状态。 | 任务、运算符、并行度 | *仅适用于运行 Flink 版本 1.13 的 Managed Service for Apache Flink 应用程序。 这些指标可用于识别应用程序中的瓶颈。 |
lastCheckpointSize |
字节 | 上一个检查点的总大小 | 应用程序 | 您可以使用该指标确定运行的应用程序存储使用率。 如果该指标的值不断增加,则可能表明应用程序出现问题,例如内存泄漏或瓶颈。 |
lastCheckpointDuration |
毫秒 | 完成上一个检查点所花的时间 | 应用程序 | 该指标测量完成最近的检查点所花的时间。如果该指标的值不断增加,则可能表明应用程序出现问题,例如内存泄漏或瓶颈。在某些情况下,您可以禁用检查点以解决该问题。 |
managedMemoryUsed* |
字节 | 当前使用的托管内存量。 | 应用程序、运算符、任务、并行度 | *仅适用于运行 Flink 版本 1.13 的 Managed Service for Apache Flink 应用程序。 这与 Flink 在 Java 堆之外托管的内存有关。它用于 RocksDB 状态后端,也可供应用程序使用。 |
managedMemoryTotal* |
字节 | 托管内存的总量。 | 应用程序、运算符、任务、并行度 | *仅适用于运行 Flink 版本 1.13 的 Managed Service for Apache Flink 应用程序。 这与 Flink 在 Java 堆之外托管的内存有关。它用于 RocksDB 状态后端,也可供应用程序使用。该 |
managedMemoryUtilization* |
百分比 | 由 managedMemoryUsed/managedMemoryTotal 推导 | 应用程序、运算符、任务、并行度 | *仅适用于运行 Flink 版本 1.13 的 Managed Service for Apache Flink 应用程序。 这与 Flink 在 Java 堆之外托管的内存有关。它用于 RocksDB 状态后端,也可供应用程序使用。 |
numberOfFailedCheckpoints |
计数 | 检查点失败的次数。 | 应用程序 | 您可以使用此指标来监控应用程序的运行状况和进度。检查点可能由于应用程序问题(例如吞吐量或权限问题)而失败。 |
numRecordsIn* |
计数 | 该应用程序、运算符或任务收到的总记录数。 | 应用程序、运算符、任务、并行度 | *要在一段时间(秒/分钟)内应用 SUM 统计数据,请执行以下操作:
该指标的级别指定该指标是衡量整个应用程序、特定运算符还是特定任务收到的记录总数。 |
numRecordsInPerSecond* |
计数/秒 | 该应用程序、运算符或任务每秒收到的总记录数。 | 应用程序、运算符、任务、并行度 | *要在一段时间(秒/分钟)内应用 SUM 统计数据,请执行以下操作:
该指标的级别指定该指标是衡量整个应用程序、特定运算符还是特定任务每秒收到的记录总数。 |
numRecordsOut* |
计数 | 该应用程序、运算符或任务发出的总记录数。 | 应用程序、运算符、任务、并行度 |
*要在一段时间(秒/分钟)内应用 SUM 统计数据,请执行以下操作:
该指标的级别指定该指标是衡量整个应用程序、特定运算符还是特定任务发出的记录总数。 |
numLateRecordsDropped* |
计数 | 应用程序、运算符、任务、并行度 | *要在一段时间(秒/分钟)内应用 SUM 统计数据,请执行以下操作:
由于到达延迟,该操作符或任务丢弃的记录数。 |
|
numRecordsOutPerSecond* |
计数/秒 | 该应用程序、运算符或任务每秒发出的总记录数。 | 应用程序、运算符、任务、并行度 |
*要在一段时间(秒/分钟)内应用 SUM 统计数据,请执行以下操作:
该指标的级别指定该指标是衡量整个应用程序、特定运算符还是特定任务每秒发出的记录总数。 |
oldGenerationGCCount |
计数 | 所有任务管理器中发生的旧垃圾回收操作总数。 | 应用程序 | |
oldGenerationGCTime |
毫秒 | 执行旧垃圾回收操作所花费的总时间。 | 应用程序 | 您可以使用此指标来监控垃圾回收的总时间、平均时间和最大时间。 |
threadsCount |
计数 | 应用程序使用的实时线程总数。 | 应用程序 | 该指标衡量应用程序代码使用的线程数。这与应用程序并行度不同。 |
uptime |
毫秒 | 任务不间断运行的时间。 | 应用程序 | 您可以使用此指标来确定任务是否成功运行。该指标为完成的任务返回 -1。 |
KPUs* |
计数 | 应用程序使用的 KPU 总数。 | 应用程序 | *此指标在每个账单周期(一小时)接收一个示例。要可视化一段时间内的 KPU 数量,请在至少一(1)小时的时段内使用 MAX 或 AVG。 KPU 计数包括 |
Kinesis Data Streams 连接器指标
除了以下内容以外,Amazon 还发出 Kinesis Data Streams 的所有记录:
| 指标 | 单位 | 描述 | 级别 | 使用说明 |
|---|---|---|---|---|
millisbehindLatest |
毫秒 | 使用者落后流开头的毫秒数,表示使用者落后当前时间有多远。 | 应用程序(用于流)、并行度(用于 ShardID) |
|
bytesRequestedPerFetch |
字节 | 在一次 getRecords 调用中请求的字节数。 |
应用程序(用于流)、并行度(用于 ShardID) |
Amazon MSK 连接器指标
除了以下内容以外,Amazon 还发出 Amazon MSK 的所有记录:
| 指标 | 单位 | 描述 | 级别 | 使用说明 |
|---|---|---|---|---|
currentoffsets |
不适用 | 使用者的当前读取偏移量(对于每个分区)。可以按主题名称和分区 ID 来指定特定分区的指标。 | 应用程序(用于主题)、并行度(用于 PartitionId) | |
commitsFailed |
不适用 | 如果启用了偏移提交和检查点功能,则向 Kafka 提交偏移失败的总数。 | 应用程序、运算符、任务、并行度 | 将偏移量提交回 Kafka 只是显示使用者进度的一种手段,因此提交失败不会影响 Flink 的检查点分区偏移量的完整性。 |
commitsSucceeded |
不适用 | 如果启用了偏移提交和检查点功能,则向 Kafka 提交偏移成功的总数。 | 应用程序、运算符、任务、并行度 | |
committedoffsets |
不适用 | 上次成功提交的 Kafka 偏移量(对于每个分区)。可以按主题名称和分区 ID 来指定特定分区的指标。 | 应用程序(用于主题)、并行度(用于 PartitionId) | |
records_lag_max |
计数 | 最大延迟,以该窗口中的任何分区的记录数表示 | 应用程序、运算符、任务、并行度 | |
bytes_consumed_rate |
字节 | 主题平均每秒使用的字节数 | 应用程序、运算符、任务、并行度 |
Apache Zeppelin 指标
对于 Studio 笔记本电脑,Amazon 会在应用程序级别发出以下指标:KPUs、cpuUtilization、heapMemoryUtilization、oldGenerationGCTime、oldGenerationGCCount 和 threadCount。此外,它还会在应用程序级别发布下表所示的指标。
| 指标 | 单位 | 描述 | Prometheus 名称 |
|---|---|---|---|
zeppelinCpuUtilization |
百分比 | Apache Zeppelin 服务器中 CPU 利用率的总体百分比。 | process_cpu_usage |
zeppelinHeapMemoryUtilization |
百分比 | Apache Zeppelin 服务器中堆内存利用率的总体百分比。 | jvm_memory_used_bytes |
zeppelinThreadCount |
计数 | Apache Zeppelin 服务器使用的实时线程总数。 | jvm_threads_live_threads |
zeppelinWaitingJobs |
计数 | 排队等待线程的 Apache Zeppelin 任务数量。 | jetty_threads_jobs |
zeppelinServerUptime |
秒 | 服务器启动和运行的总时间。 | process_uptime_seconds |