查看 Amazon Kinesis Data Analytics 指标和维度 - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

查看 Amazon Kinesis Data Analytics 指标和维度

在 Kinesis Data Analytics for Java application 处理数据源时,Kinesis Data Analytics 向 Amazon CloudWatch 报告以下指标和维度。

应用程序指标

指标 单位 描述 级别 使用说明
downtime 毫秒 对于当前处于故障/恢复状态的作业,在该中断期间经过的时间。 应用程序 该指标测量作业发生故障或恢复时经过的时间。该指标为运行的作业返回 0,并为完成的作业返回 -1。如果该指标不是 0 或 -1,则表明应用程序的 Apache Flink 作业无法运行。
lastCheckpointDuration 毫秒 完成上一个检查点所花的时间 应用程序 该指标测量完成最近的检查点所花的时间。如果该指标的值不断增加,则可能表明应用程序出现问题,例如内存泄漏或瓶颈。在某些情况下,您可以禁用检查点以解决该问题。
lastCheckpointSize 字节 上一个检查点的总大小 应用程序 您可以使用该指标确定运行的应用程序存储使用率。确定应用程序的存储使用率,如下所示:
(<lastCheckpointSize> + <application's disk usage>) / (<Number of KPUs> * 50)

如果该指标的值不断增加,则可能表明应用程序出现问题,例如内存泄漏或瓶颈。

numRecordsIn 计数 该操作符或任务收到的总记录数。 任务
numRecordsInPerSecond 计数/秒 该操作符或任务每秒收到的总记录数。 任务、操作符
numRecordsOut 计数 该操作符或任务发出的总记录数。 任务、操作符 您可以使用该指标确定任务在一段时间内发送的总数据
numRecordsOutPerSecond 计数/秒 该操作符或任务每秒发出的总记录数。 任务、操作符
numLateRecordsDropped 计数 由于到达延迟,该操作符或任务丢弃的记录数。 任务、操作符
currentInputWatermark 毫秒 该操作符/任务上次收到的水印 任务、操作符 仅为具有两个输入的操作符或任务发出该记录。这是上次收到的水印的最小值。

Kinesis Data Streams 连接器指标

除了以下内容以外,AWS 还发出 Kinesis Data Streams 的所有记录:

指标 单位 描述 级别 使用说明
millisBehindLatest 毫秒 使用者落后流开头的毫秒数,表示使用者落后当前时间有多远。 流、分片 ID
  • 值为 0 表示记录处理是同步的,并且此时没有要处理的新记录。可以按流名称和分片 ID 来指定特定分片的指标。

  • 值为 -1 表示该服务尚未报告指标值。

bytesRequestedPerFetch 字节 在一次 getRecords 调用中请求的字节数。 流、分片 ID

Amazon MSK 连接器指标

除了以下内容以外,AWS 还发出 Amazon MSK 的所有记录:

指标 单位 描述 级别 使用说明
currentoffsets 不适用 使用者的当前读取偏移量(对于每个分区)。可以按主题名称和分区 ID 来指定特定分区的指标。 主题、分区
committedoffsets 不适用 上次成功提交的 Kafka 偏移量(对于每个分区)。可以按主题名称和分区 ID 来指定特定分区的指标。 主题、分区
records_lag_max 计数 最大延迟,以该窗口中的任何分区的记录数表示 操作符
KafkaConsumer_records_lag_max 计数 最大延迟,以该窗口中的任何分区的 Kafka 使用者连接器的记录数表示 操作符 该指标已弃用,将在以后的 Apache Flink 发行版中删除。
bytes_consumed_rate 字节 主题平均每秒使用的字节数 操作符
KafkaConsumer_bytes_consumed_rate 字节 主题的 Kafka 使用者连接器平均每秒使用的字节数 操作符 该指标已弃用,将在以后的 Apache Flink 发行版中删除。

查看 CloudWatch 指标

您可以使用 Amazon CloudWatch 控制台或 AWS CLI 查看应用程序的 CloudWatch 指标。

使用 CloudWatch 控制台查看指标

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

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

  3. 在 Amazon Kinesis Data Analytics 的 CloudWatch Metrics by Category (按类别显示的 CloudWatch 指标) 窗格中,选择一个指标类别。

  4. 在上方窗格中,滚动以查看完整指标列表。

使用 AWS CLI 查看指标

  • 在命令提示符处,使用以下命令。

    aws cloudwatch list-metrics --namespace "AWS/KinesisAnalytics" --region region

设置 CloudWatch 指标报告级别

您可以控制应用程序创建的应用程序指标的级别。Kinesis Data Analytics for Java Applications 支持以下指标级别:

  • 应用程序:应用程序仅报告每个应用程序的最高指标级别。

  • 任务:应用程序报告任务特定的吞吐量指标,例如,每秒在应用程序中传入和传出的记录数。

  • 操作符:应用程序报告操作符级别的指标,例如,每个筛选或映射操作的指标。

  • 并行度:应用程序为每个执行线程报告 TaskOperator 级别的指标。由于成本过高,建议不要将该报告级别用于并行度设置高于 64 的应用程序。

默认级别是应用程序。应用程序报告当前级别和所有更高级别的指标。例如,如果报告级别设置为操作符,则应用程序报告应用程序任务操作符指标。

您可以使用 CreateApplication 操作的 MonitoringConfiguration 参数或 UpdateApplication 操作的 MonitoringConfigurationUpdate 参数设置 CloudWatch 指标报告级别。UpdateApplication 操作的以下示例请求将 CloudWatch 指标报告级别设置为任务

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "MonitoringConfigurationUpdate": { "ConfigurationTypeUpdate": "CUSTOM", "MetricsLevelUpdate": "TASK" } } } }

您也可以使用 CreateApplication 操作的 LogLevel 参数或 UpdateApplication 操作的 LogLevelUpdate 参数配置日志记录级别。您可以使用以下日志级别:

  • ERROR:记录潜在可恢复的错误事件。

  • WARN:记录可能导致错误的警告事件。

  • INFO:记录信息性事件。

  • DEBUG:记录常规调试事件。

有关 Log4j 日志记录级别的更多信息,请参阅 Apache Log4j 文档中的级别