使用亚马逊 CloudWatch 活动进行监控 - Amazon IoT Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用亚马逊 CloudWatch 活动进行监控

Amazon IoT Analytics在活动期间发生运行时错误时,会自动将 CloudWatch 事件发布到 Amazon EventAmazon Lambda s。此事件包含详细的错误消息和存储未处理的频道消息的 Amazon Simple Storage Service (Amazon S3) 对象的密钥。您可以使用 Amazon S3 密钥重新处理未处理的频道消息。有关更多信息,请参阅重新处理通道消息 StartPipelineReprocessingAPI 参考中的Amazon IoT Analytics API 和《亚马逊 CloudWatch 活动用户指南》中的 “什么是亚马逊 CloudWatch 活动”。

您还可以配置目标,使 Amazon Ev CloudWatch ents 能够发送通知或采取进一步的措施。例如,您可以将通知发送到 Amazon Simple Queue Service (Amazon SQS) 队列中,然后调用StartReprocessingMessage API 来处理保存在Amazon S3 对象中的通道消息。Amazon Ev CloudWatch ents 支持多种类型的目标,例如:

  • Amazon Kinesis Streams

  • Amazon Lambda 函数

  • Amazon Simple Notification Service (Amazon SNS) 主题

  • Amazon Simple Queue Service (Amazon SQS) 队列

有关支持的目标列表,请参阅亚马逊 EventBridge 用户指南中的亚马逊 EventBridge 目标

您的 CloudWatch 事件资源和相关目标必须位于您创建Amazon IoT Analytics资源的Amazon区域。有关更多信息,请参阅中的服务终端节点和配额Amazon Web Services 一般参考

针对 CloudWatch 活动中的运行时错误发送给 Amazon EvenAmazon Lambda ts 的通知使用以下格式。

{ "version": "version-id", "id": "event-id", "detail-type": "IoT Analytics Pipeline Failure Notification", "source": "aws.iotanalytics", "account": "aws-account", "time": "timestamp", "region": "aws-region", "resources": [ "pipeline-arn" ], "detail": { "event-detail-version": "1.0", "pipeline-name": "pipeline-name", "error-code": "LAMBDA_FAILURE", "message": "error-message", "channel-messages": { "s3paths": [ "s3-keys" ] }, "activity-name": "lambda-activity-name", "lambda-function-arn": "lambda-function-arn" } }

通知示例:

{ "version": "0", "id": "204e672e-ef12-09af-4cfd-de3b53673ec6", "detail-type": "IoT Analytics Pipeline Failure Notification", "source": "aws.iotanalytics", "account": "123456789012", "time": "2020-10-15T23:47:02Z", "region": "ap-southeast-2", "resources": [ "arn:aws:iotanalytics:ap-southeast-2:123456789012:pipeline/test_pipeline_failure" ], "detail": { "event-detail-version": "1.0", "pipeline-name": "test_pipeline_failure", "error-code": "LAMBDA_FAILURE", "message": "Temp unavaliable", "channel-messages": { "s3paths": [ "test_pipeline_failure/channel/cmr_channel/__dt=2020-10-15 00:00:00/1602805530000_1602805560000_123456789012_cmr_channel_0_257.0.json.gz" ] }, "activity-name": "LambdaActivity_33", "lambda-function-arn": "arn:aws:lambda:ap-southeast-2:123456789012:function:lambda_activity" } }