将设备端日志上载到 Amazon CloudWatch
您可以将设备端的历史日志上载到 Amazon CloudWatch,以监控和分析设备在现场的活动。设备端日志可以包括系统、应用程序和设备日志文件。此过程使用 CloudWatch Logs 规则操作参数将设备端日志发布到客户定义的日志组。
工作方式
当 AWS IoT 设备向 AWS IoT 主题发送包含格式化日志文件的 MQTT 消息时,该过程即开始。AWS IoT 规则监控消息主题并将日志文件发送到您定义的 CloudWatch Logs 组。然后,您可以查看和分析信息。
MQTT 主题
选择要用于发布日志的 MQTT 主题命名空间。我们建议将此格式用于公共主题空间 $aws/rules/things/thing_name/logs
,并将此格式用于错误主题 $aws/rules/things/thing_name/logs/errors
。建议使用日志和错误主题的命名结构,但不是必需要求。有关更多信息,请参阅为 AWS IoT Core 设计 MQTT 主题。
通过使用建议的公共主题空间,您可以利用 AWS IoT 基本摄取保留主题。AWS IoT基本摄取功能将设备数据安全地发送到 AWS IoT 规则操作支持的 AWS 服务。它从摄取路径中删除发布/订阅消息代理,因此更具成本效益。有关更多信息,请参阅借助基本摄取功能降低消息收发成本。
如果您使用 batchMode 上载日志文件,则您的消息必须遵循包括 UNIX 时间戳和消息的特定格式。有关更多信息,请参阅 CloudWatch Logs 规则操作中的 batchMode 的 MQTT 消息格式要求主题。
规则操作
当 AWS IoT 收到来自客户端设备的 MQTT 消息时,AWS IoT 规则会监控客户定义的主题,并将内容发布到您定义的 CloudWatch 日志组。此过程使用 CloudWatch Logs 规则操作为批量日志文件监控 MQTT。有关更多信息,请参阅 CloudWatch Logs AWS IoT 规则操作。
批量模式
batchMode
是 AWS IoT CloudWatch Logs 规则操作中的一个布尔参数。此参数是可选的,默认情况下处于关闭状态(false
)。要批量上载设备端日志文件,创建 AWS IoT 规则时必须启用此参数(true
)。有关更多信息,请参阅 AWS IoT 规则操作部分中的 CloudWatch Logs。