AWS IoT のログ記録の設定 - AWS(AWS) IoT コア

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

AWS IoT のログ記録の設定

AWS IoT アクティビティの監視およびログ記録を行うには、AWS IoT コンソール、CLI、または API を使用してログ記録を有効にしておく必要があります。

ログ記録は、すべての AWS IoT または特定のモノグループのみを対象にして有効にすることができます。AWS IoT コンソール、CLI、または API を使用して AWS IoT ログ記録を設定できます。ただし、特定のモノグループのログ記録を設定するには、CLI または API を使用する必要があります。

AWS IoT ログ記録の設定方法を検討する場合、特に指定がない限り、AWS IoT アクティビティのログ記録方法はデフォルトのログ記録設定によって決まります。開始したら、デフォルトの ログレベル / INFO または DEBUG。 初期ログを確認した後、デフォルトログレベルを、 WARN または ERROR より詳細なリソース固有のログレベルを、より注意が必要なリソースに設定することができます。ログレベルはいつでも変更できます。

ログ記録ロールとポリシーの構成

AWS IoT でログ記録を有効にする前に、IAM ロールとポリシーを作成する必要があります。これらは、ユーザーに代わって AWS IoT アクティビティを監視するためのアクセス許可を AWS に付与するために使用します。

注記

AWS IoT ログ記録を有効にする前に、CloudWatch Logs アクセス権限を理解しておく必要があります。CloudWatch Logs に対するアクセス権限のあるユーザーはデバイスからのデバッグ情報を表示できます。詳細については、「CloudWatch Logs の認証とアクセスコントロール」を参照してください。

ログ記録ロールの作成

IAM コンソールを使用して、ログ記録用のロールを作成します。

IAM コンソールを使用してログ記録ロールを作成するには

  1. ナビゲーションペインから [ロール] を選択し、[ロールの作成] を選択します。

  2. [信頼されたエンティティの種類を選択] で、[AWS のサービス]、[IoT] を選択します。

  3. 以下 使用例を選択してください、選択 IoT(モノのインターネット)を選択し、次に 次へ: アクセス許可

  4. サービスロールに自動的に添付されるポリシーを表示するページで、 次へ: タグ

  5. [次] を選択します。確認

  6. ロールの [ロール名] と [ロールの説明] を入力し、[ロールの作成] を選択します。

  7. のリストで、 役割作成した役割を見つけて開き、 役割ARN (logging-role-arn)を使用して、後で使用します。

ログ記録ロールのポリシー

以下のポリシードキュメントは、お客様に代わって AWS IoT から CloudWatch にログエントリを送信するためのロールポリシーと信頼ポリシーを示しています。

注記

これらのドキュメントは、ログ記録ロールを作成したときに作成されたものです。

ロールポリシー:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy" ], "Resource": [ "*" ] } ] }

信頼ポリシー

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

AWS IoT でデフォルトのログ記録を設定する (コンソール)

ここでは、AWS IoT コンソールを使用してすべての AWS IoT に対するログ記録を設定する方法について説明します。特定のモノグループのみを対象にしてログ記録を設定するには、CLI または API を使用する必要があります。特定のモノグループのログ記録の設定については、「AWS IoT でリソース固有のログ記録を設定する (CLI)」を参照してください。

AWS IoT コンソールを使用して、すべての AWS IoT に対するデフォルトのログ記録を設定するには

  1. AWS IoT コンソールへのサインイン 詳細については、[ AWS IoT コンソール を参照してください。

  2. 左のナビゲーションペインの [設定] を選択します。の ログ セクション( 設定 ページ、選択 編集.

    [ログ] セクションには、すべての AWS IoT で使用されるログ記録ロールと詳細レベルが表示されます。

  3. [ログ設定の構成] ページで、[詳細レベル] を選択します。これは、CloudWatch ログに表示されるログエントリの詳細度を表します。

  4. [選択] を選択し、「ログ記録ロールの作成」で作成したロールを指定するか、[ロールの作成] を選択してログ記録に使用するロールを作成します。

  5. [更新] を選択して変更を保存します。

ログ記録を有効にしたら、「CloudWatch コンソールでの AWS IoT ログの表示」にアクセスして、ログエントリの表示方法の詳細を確認します。

AWS IoT でデフォルトのログ記録を設定する (CLI)

ここでは、CLI を使用して AWS IoT 全体のログ記録を設定する方法について説明します。

注記

使用するロールの Amazon リソースネーム (ARN) が必要です。ログ記録に使用するロールを作成する必要がある場合は、先へ進む前に「ログ記録ロールの作成」を参照してください。

API を呼び出すためにに使用されるプリンシパルには、ログ記録ロール用のロールのアクセス権限の適用が必要です。

この手順は、ここに示す CLI コマンドに対応する AWS API のメソッドを使用することにより、API で行うこともできます。

CLI を使用して AWS IoT のデフォルトログ記録を設定するには

  1. set-v2-logging-options コマンドを使用して、アカウントのログ記録オプションを設定します。

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    "where"

    --role-arn

    CloudWatch Logs でログに書き込むアクセス許可を AWS IoT に付与するロール ARN。

    --default-log-level

    使用するログレベル。有効な値は、、、、、、 です。ERRORWARNINFODEBUG、または DISABLED

    --no-disable-all-logs

    すべての AWS IoT ログ記録を有効にするオプションのパラメータ。このパラメータは、現在無効になっているログ記録を有効にする場合に使用します。

    --disable-all-logs

    すべての AWS IoT ログ記録を無効にするオプションのパラメータ。このパラメータは、現在有効になっているログ記録を無効にする場合に使用します。

  2. 現在のログ記録オプションを取得するには、get-v2-logging-options コマンドを使用します。

    aws iot get-v2-logging-options

ログ記録を有効にしたら、「CloudWatch コンソールでの AWS IoT ログの表示」にアクセスして、ログエントリの表示方法の詳細を確認します。

注記

AWS IoT では、アカウント全体のログ記録を設定および取得するための以前のコマンド (set-logging-options および get-logging-options) が引き続きサポートされています。これらのコマンドを使用すると、作成されるログには JSON ペイロードではなくプレーンテキストが含まれ、一般的にログ記録のレイテンシーが高くなることに注意してください。これらの古いコマンドの実装は今後強化されません。「v2」バージョンを使用してログ記録オプションを設定し、可能な場合は、古いバージョンを使用するレガシーアプリケーションを変更することをお勧めします。

AWS IoT でリソース固有のログ記録を設定する (CLI)

ここでは、CLI を使用して AWS IoT でリソース固有のログ記録を設定する方法について説明します。リソース固有のログ記録では、特定のモノのグループに特定のログ記録レベルを指定できます。

モノグループには別のモノグループを含めて、階層的な関係を作成することができます。この手順では、単一のモノグループのログ記録を設定する方法について説明します。階層内の親モノグループにこの手順を適用することにより、階層内のすべてのモノグループに対してログ記録を設定することもできます。この手順を子モノグループに適用して、親のログ記録設定をオーバーライドすることもできます。

注記

使用するロールの Amazon リソースネーム (ARN) が必要です。ログ記録に使用するロールを作成する必要がある場合は、先へ進む前に「ログ記録ロールの作成」を参照してください。

API を呼び出すためにに使用されるプリンシパルには、ログ記録ロール用のロールのアクセス権限の適用が必要です。

この手順は、ここに示す CLI コマンドに対応する AWS API のメソッドを使用することにより、API で行うこともできます。

CLI を使用して AWS IoT でリソース固有のログ記録を設定するには

  1. set-v2-logging-options コマンドを使用して、アカウントのログ記録オプションを設定します。

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    "where"

    --role-arn

    CloudWatch Logs でログに書き込むアクセス許可を AWS IoT に付与するロール ARN。

    --default-log-level

    使用するログレベル。有効な値は、、、、、、 です。ERRORWARNINFODEBUG、または DISABLED

    --no-disable-all-logs

    すべての AWS IoT ログ記録を有効にするオプションのパラメータ。このパラメータは、現在無効になっているログ記録を有効にする場合に使用します。

    --disable-all-logs

    すべての AWS IoT ログ記録を無効にするオプションのパラメータ。このパラメータは、現在有効になっているログ記録を無効にする場合に使用します。

  2. モノグループのリソース固有のログ記録を設定するには、set-v2-logging-level コマンドを使用します。

    aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=thing_group_name \ --log-level log_level
    --log-target

    ログ記録を設定するリソースの名前とタイプ。は target_type 値は THING_GROUP。 log-target パラメータ値は、前述のコマンド例に示すようにテキスト、または次の例のような JSON 文字列になります。

    aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \ --log-level log_level
    --log-level

    指定されたリソースのログを生成する際に使用されるログ記録レベル。有効な値は、、、、、、 です。DEBUGINFOERRORWARN、および DISABLED

  3. 現在設定されているログ記録レベルを一覧表示するには、list-v2-logging-levels コマンドを使用します。

    aws iot list-v2-logging-levels
  4. リソース固有のログ記録レベルを削除するには、 delete-v2-logging-level コマンドを使用します。

    aws iot delete-v2-logging-level \ --targetType "THING_GROUP" \ --targetName "thing_group_name"
    --targetType

    target_type の値は THING_GROUP にする必要があります

    --targetName

    ログ記録レベルを削除するモノグループの名前。

ログ記録を有効にしたら、「CloudWatch コンソールでの AWS IoT ログの表示」にアクセスして、ログエントリの表示方法の詳細を確認します。

ログレベル

以下のログレベルは、ログにどのイベントを記録するかを決定します。デフォルトおよびリソース固有のログレベルに適用されます。

ERROR

オペレーションの失敗につながるすべてのエラー。

ログには ERROR 情報のみが含まれます。

WARN

オペレーションの失敗につながるわけではないが、システムの不整合を引き起こす可能性のあるすべての要因。

ログには ERROR および WARN 情報が含まれます。

INFO

モノのフローに関する概要。

ログには INFO、ERROR および WARN 情報が含まれます。

DEBUG

問題のデバッグに役立つ場合のある情報。

ログには DEBUG、INFO、ERROR、WARN 情報が含まれます。

DISABLED

すべてのロギングが無効です。