Amazon CloudWatch にデバイス側のログをアップロード - AWS IoT Core

Amazon CloudWatch にデバイス側のログをアップロード

過去のデバイス側のログを Amazon CloudWatch にアップロードして、現場でのデバイスのアクティビティを監視および分析できます。デバイス側のログには、システム、アプリケーション、およびデバイスログファイルを含めることができます。このプロセスでは、CloudWatch Logs ルールアクションパラメータを使用して、デバイス側のログを顧客定義のロググループに公開します。

仕組み

このプロセスは、AWS IoT デバイスがフォーマットされたログファイルを含む MQTT メッセージを AWS IoT トピックに送信したときに開始されます。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 rule action」(CloudWatch Logs ルールアクション) 内の「MQTT message format requirements for batchMode」(BatchMode の MQTT メッセージフォーマット要件) トピックを参照してください。

ルールアクション

AWS IoT は、クライアントデバイスから MQTT メッセージを受信すると、AWS IoT ルールは顧客定義のトピックを監視し、その内容を定義した CloudWatch ロググループに公開します。このプロセスでは、CloudWatch Logs ルールアクションを使用して MQTT のログファイルのバッチを監視します。詳細については、「CloudWatch Logs AWS IoT ルールアクション」を参照してください。

バッチモード

batchMode は、AWS IoT CloudWatch Logs ルールアクション内の Boolean パラメータです。このパラメータはオプションで、デフォルトはオフ (false) です。デバイス側のログファイルをバッチでアップロードするには、AWS IoT ルールを作成するときにこのパラメータをオン (true) にする必要があります。詳細については、AWS IoT ルールアクションセクションの「CloudWatch Logs」を参照してください。