本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查看 Kinesis Data Analytics 指标和维度
本主题包含下列部分:
在适用于 Apache Flink 的 Kinesis Data Analytics 应用程序处理数据源时,Kinesis Data Analytics 向 Amazon 报告以下指标和维度。CloudWatch.
应用程序指标
指标 | Unit | 说明 | Level | 使用说明 |
---|---|---|---|---|
downtime |
毫秒 | 对于当前处于故障/恢复状态的作业,在该中断期间经过的时间。 | 应用程序 | 该指标测量作业发生故障或恢复时经过的时间。该指标为运行的作业返回 0,并为完成的作业返回 -1。如果该指标不是 0 或 -1,则表明应用程序的 Apache Flink 作业无法运行。 |
uptime |
毫秒 | 作业无间断运行的时间。 | 应用程序 | 您可以使用该指标确定作业是否成功运行。已完成的作业,此指标返回 -1。 |
fullRestarts |
计数 | 自提交以来,此作业已完全重新启动的总次数。此指标不衡量细粒度的重启。 | 应用程序 | 您可以使用此指标来评估一般应用程序运行状况。Kinesis Data Analytics 可能会在内部维护期间重启。重新启动比正常时间更高可能表示应用程序出现问题。 |
numberOfFailedCheckpoints |
计数 | 检查点失败的次数。 | 应用程序 | 您可以使用此指标来监控应用程序运行状况和进度。检查点可能会因应用程序问题(例如吞吐量或权限问题)而失败。 |
lastCheckpointDuration |
毫秒 | 完成上一个检查点所花的时间 | 应用程序 | 该指标测量完成最近的检查点所花的时间。如果该指标的值不断增加,则可能表明应用程序出现问题,例如内存泄漏或瓶颈。在某些情况下,您可以禁用检查点以解决该问题。 |
lastCheckpointSize |
字节 | 上一个检查点的总大小 | 应用程序 | 您可以使用该指标确定运行的应用程序存储使用率。 如果该指标的值不断增加,则可能表明应用程序出现问题,例如内存泄漏或瓶颈。 |
cpuUtilization |
百分比 | 任务管理器的 CPU 使用百分率总体百分率。例如,如果有五个任务管理器,Kinesis Data Analytics 将在每个报告间隔内发布 5 个此指标的样本。 | 应用程序 | 您可以使用此指标来监控应用程序中的最低、平均和最大 CPU 利用率。 |
heapMemoryUtilization |
百分比 | 任务管理器的整体堆内存利用率。例如,如果有五个任务管理器,Kinesis Data Analytics 将在每个报告间隔内发布 5 个此指标的样本。 | 应用程序 | 您可以使用此指标监控应用程序中的最低、平均和最大堆内存利用率。使用以下公式为所有任务管理器计算该值:
|
oldGenerationGCTime |
毫秒 | 执行旧垃圾收集操作所花费的总时间。 | 应用程序 | 您可以使用此指标来监控总和、平均和最长垃圾回收时间。 |
oldGenerationGCCount |
计数 | 所有任务管理器中发生的旧垃圾回收操作的总数。 | 应用程序 | |
threadCount |
计数 | 应用程序使用的实时线程总数。 | 应用程序 | 该指标用于衡量应用程序代码使用的线程数。这与应用程序并行性不一样。 |
numRecordsIn |
计数 | 该应用程序、操作符或任务收到的总记录数。 | 应用程序、操作员、任务、并行性 | 指标的级别指定此指标是衡量整个应用程序、特定操作员还是特定任务已收到的记录总数。 |
numRecordsInPerSecond |
计数/秒 | 该应用程序、操作符或任务每秒收到的总记录数。 | 应用程序、操作员、任务、并行性 | 指标的级别指定此指标是衡量整个应用程序、特定操作员还是特定任务每秒收到的总记录数。 |
numRecordsOut |
计数 | 该应用程序、操作符或任务发出的总记录数。 | 应用程序、操作员、任务、并行性 | 指标的级别指定此指标是衡量整个应用程序、特定操作员还是特定任务发出的记录总数。 |
numRecordsOutPerSecond |
计数/秒 | 该应用程序、操作符或任务每秒发出的总记录数。 | 应用程序、操作员、任务、并行性 | 指标的级别指定此指标是衡量整个应用程序、特定操作员还是特定任务每秒发出的总记录数。 |
numLateRecordsDropped |
计数 | 由于到达延迟,该操作符或任务丢弃的记录数。 | 应用程序、操作员、任务、并行性 | |
currentInputWatermark |
毫秒 | 此应用程序/操作员/任务/线程收到的最后一个水印 | 应用程序、操作员、任务、并行性 | 仅为具有两个输入的维度发出此记录。这是上次收到的水印的最小值。 |
currentOutputWatermark |
毫秒 | 此应用程序/操作员/任务/线程发出的最后一个水印 | 应用程序、操作员、任务、并行性 | |
managedMemoryUsed* |
字节 | 当前使用的托管内存量。 | 应用程序、操作员、任务、并行性 | * 适用于运行 Flink 1.13 的 KDA 应用程序。 这与在 Java 堆之外由 Flink 管理的内存有关。它用于 RockSDB 状态后端,也可供应用程序使用。 |
managedMemoryTotal* |
字节 | 托管内存的总量。 | 应用程序、操作员、任务、并行性 | * 适用于运行 Flink 1.13 的 KDA 应用程序。 这与在 Java 堆之外由 Flink 管理的内存有关。它用于 RockSDB 状态后端,也可供应用程序使用。 |
managedMemoryUtilization* |
百分比 | 派生者managedMemoryUsed/managedMemoryTotal | 应用程序、操作员、任务、并行性 | * 适用于运行 Flink 1.13 的 KDA 应用程序。 这与在 Java 堆之外由 Flink 管理的内存有关。它用于 RockSDB 状态后端,也可供应用程序使用。 |
idleTimeMsPerSecond* |
毫秒 | 此任务或操作员每秒处于空闲状态(没有要处理的数据)的时间(以毫秒为单位)。空闲时间不包括回压时间,因此如果任务受到回压,则不会空闲。 | 任务、操作符、并行度 | * 适用于运行 Flink 1.13 的 KDA 应用程序。 这些指标可能有助于识别应用程序中的瓶颈。 |
backPressuredTimeMsPerSecond* |
毫秒 | 此任务或操作员每秒受回压的时间(以毫秒为单位)。 | 任务、操作符、并行度 | * 适用于运行 Flink 1.13 的 KDA 应用程序。 这些指标可能有助于识别应用程序中的瓶颈。 |
busyTimeMsPerSecond* |
毫秒 | 此任务或操作员每秒处于忙碌状态(既不是空闲也不是向后压力)的时间(以毫秒为单位)。如果无法计算值,则可以是 NaN。 | 任务、操作符、并行度 | * 适用于运行 Flink 1.13 的 KDA 应用程序。 这些指标可能有助于识别应用程序中的瓶颈。 |
Kinesis Data Streams 连接器指标
Amazon除了以下内容以外,还发出 Kinesis Data Streams 的所有记录:
指标 | Unit | 说明 | Level | 使用说明 |
---|---|---|---|---|
millisBehindLatest |
毫秒 | 使用者落后流开头的毫秒数,表示使用者落后当前时间有多远。 | 应用程序(适用于 Stream)、并行度(用于ShardId) |
|
bytesRequestedPerFetch |
字节 | 在一次 getRecords 调用中请求的字节数。 |
应用程序(适用于 Stream)、并行度(用于ShardId) |
Amazon MSK 连接器指标
Amazon除了以下内容以外,还发出 Amazon MSK 的所有记录:
指标 | Unit | 说明 | Level | 使用说明 |
---|---|---|---|---|
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
. 此外,它还会发出下表中显示的指标,也是在应用程序级别。
指标 | Unit | 说明 | Prometheus 名称 |
---|---|---|---|
zeppelinCpuUtilization |
百分比 | Apache 齐柏林服务器中 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 |
查看 CloudWatch 指标
你可以查看CloudWatch使用 Amazon 的应用程序的指标CloudWatch控制台或Amazon CLI.
使用 CloudWatch 控制台查看指标
打开 CloudWatch 控制台 (https://console.aws.amazon.com/cloudwatch/
)。 -
在导航窗格中,选择 Metrics (指标)。
-
在CloudWatch按类别分类指标在 “Amazon Kinesis Data Analytics” 窗格中,选择指标类别。
-
在上方窗格中,滚动以查看完整指标列表。
使用 Amazon CLI 查看指标
-
在命令提示符处,使用以下命令。
aws cloudwatch list-metrics --namespace "AWS/KinesisAnalytics" --region
region
设置 CloudWatch 指标报告级别
您可以控制应用程序创建的应用程序指标的级别。Apache Flink 的 Kinesis Data Analytics of Apache Flink 支持以下指标级别:
-
应用程序:应用程序仅报告每个应用程序的最高指标级别。默认情况下,Kinesis Data Analytics 指标在应用程序级别发布。
-
任务:通过使用任务指标报告级别,应用程序报告任务特定的指标维度,例如,每秒在应用程序中传入和传出的记录数。
-
运算符: 应用程序报告使用操作符指标报告级别定义的指标,例如,每个筛选或映射操作的指标。
-
并行度:应用程序报告
Task
和Operator
每个执行线程的级别的指标。由于成本过高,建议不要将该报告级别用于并行度设置高于 64 的应用程序。注意 由于服务生成的指标数据量大,您应该仅使用此指标级别进行故障排除。您只能使用 CLI 设置此指标级别。控制台中不提供该指标级别。
默认级别是应用程序。应用程序报告当前级别和所有更高级别的指标。例如,如果报告级别设置为操作符,则应用程序报告应用程序、任务和操作符指标。
你设置了CloudWatch指标报告级别使用MonitoringConfiguration
的参数CreateApplication
操作,或者MonitoringConfigurationUpdate
的参数UpdateApplication
action. UpdateApplication
操作的以下示例请求将 CloudWatch 指标报告级别设置为任务:
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "MonitoringConfigurationUpdate": { "ConfigurationTypeUpdate": "CUSTOM", "MetricsLevelUpdate": "TASK" } } } }
您还可以使用LogLevel
的参数CreateApplication
操作或LogLevelUpdate
的参数UpdateApplication
action. 您可以使用以下日志级别:
-
ERROR
:记录潜在可恢复的错误事件。 -
WARN
:记录可能导致错误的警告事件。 -
INFO
:记录信息性事件。 -
DEBUG
:记录常规调试事件。
有关 Log4j 日志记录级别的更多信息,请参阅。自定义日志级别