

サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS IoT Greengrass Version 1。2026 年 10 月 7 日以降、 AWS IoT Greengrass V1 リソースにアクセスできなくなります。詳細については、[「 からの移行 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS IoT Greengrass ログによるモニタリング
<a name="greengrass-logs-overview"></a>

AWS IoT Greengrass は、クラウドサービスと AWS IoT Greengrass Core ソフトウェアで構成されます。 AWS IoT Greengrass Core ソフトウェアは、Amazon CloudWatch とコアデバイスのローカルファイルシステムにログを書き込むことができます。コア上で実行されている Lambda 関数とコネクタは CloudWatch Logs とローカルファイルシステムにログを書き込むこともできます。問題をトラブルシューティングするには、ログを使用してイベントをモニタリングします。すべての AWS IoT Greengrass ログエントリには、タイムスタンプ、ログレベル、およびイベントに関する情報が含まれます。ログ設定の変更は、グループをデプロイした後に有効になります。

ログ記録は、グループレベルで設定されます。Greengrass グループのログ記録を設定する方法を示すステップについては、[のログ記録を設定する AWS IoT Greengrass](#config-logs) を参照してください。

## CloudWatch Logs にアクセスする
<a name="gg-logs-cloudwatch"></a>

CloudWatch ログ記録を設定すると、Amazon CloudWatch コンソールの **[Logs]** (ログ) ページにログを表示できます。ログの AWS IoT Greengrass ロググループは、次の命名規則を使用します。

```
/aws/greengrass/GreengrassSystem/{{greengrass-system-component-name}}
/aws/greengrass/Lambda/{{aws-region}}/{{account-id}}/{{lambda-function-name}}
```

各ロググループには、次の命名規則を使用するログストリームが含まれています。

```
{{date}}/{{account-id}}/{{greengrass-group-id}}/{{name-of-core-that-generated-log}}
```

以下の考慮事項は、CloudWatch Logs を使用する場合に適用されます。
+ ログは、インターネットに接続できない場合、制限された再試行回数で CloudWatch Logs に送信されます。再試行回数の上限に達すると、イベントは削除されます。
+ トランザクション、メモリ、その他の制限が適用されます。詳細については、「[ログ記録の制限](#gg-log-limits)」を参照してください。
+ <a name="gg-logs-cloudwatch-perms"></a>Greengrass グループロールは、 AWS IoT Greengrass が CloudWatch Logs に書き込むことを許可する必要があります。アクセス許可を付与するには、グループロールに[次のインラインポリシーを組み込みます](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#embed-inline-policy-console)。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "logs:CreateLogGroup",
                  "logs:CreateLogStream",
                  "logs:PutLogEvents",
                  "logs:DescribeLogStreams"
              ],
              "Resource": [
                  "arn:aws:logs:*:*:*"
              ]
          }
      ]
  }
  ```

------
**注記**  
詳細なアクセス権をログリソースに付与することができます。詳細については、「Amazon CloudWatch ユーザーガイド」の「[CloudWatch Logs でアイデンティティベースのポリシー (IAM ポリシー) を使用する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html)」を参照してください。

  グループロールは、ユーザーが作成して Greengrass グループにアタッチした IAM ロールです。コンソールまたは AWS IoT Greengrass API を使用して、グループロールを管理できます。

     
**コンソールの使用**  

  1. <a name="console-gg-groups"></a> AWS IoT コンソールナビゲーションペインの**「管理**」で **Greengrass デバイス**を展開し、**「グループ (V1)**」を選択します。

  1. <a name="group-choose-target-group"></a>ターゲットグループを選択します。

  1. **[View Settings]** (設定を表示) をクリックします。**[Group role]** (グループロール) では、グループロールを表示、関連付けまたは関連付けの解除ができます。

     グループロールをアタッチする手順については、「[グループロール](group-role.md)」を参照してください。
   
**CLI の使用**  
  + グループロールを検索するには、[get-associated-role](https://docs.aws.amazon.com/cli/latest/reference/greengrass/get-associated-role.html) コマンドを使用します。
  + グループロールをアタッチするには、[associate-role-to-group](https://docs.aws.amazon.com/cli/latest/reference/greengrass/associate-role-to-group.html) コマンドを使用します。
  + グループロールを削除するには、[disassociate-role-from-group](https://docs.aws.amazon.com/cli/latest/reference/greengrass/disassociate-role-from-group.html) コマンドを使用します。
   
これらのコマンドで使用するグループ ID を取得する方法については、「[グループ ID の取得](deployments.md#api-get-group-id)」を参照してください。

## ファイルシステムログへのアクセス
<a name="gg-logs-local"></a>

ファイルシステムのログ記録を設定すると、ログファイルは、コアデバイスの `{{greengrass-root}}/ggc/var/log` に保存されます。高レベルのディレクトリ構造を以下に示します。

```
{{greengrass-root}}/ggc/var/log
    - crash.log
    - system
        - log files for each Greengrass system component
    - user
        - {{region}}
            - {{account-id}}
                - log files generated by each user-defined Lambda function
            - aws
                - log files generated by each connector
```

**注記**  
デフォルトでは、{{greengrass-root}} は `/greengrass` ディレクトリです。[書き込みディレクトリ](gg-core.md#write-directory)が設定されている場合には、ログはこのディレクトリにあります。

以下の考慮事項は、ファイルシステムログを使用する場合に適用されます。
+ ファイルシステム上の AWS IoT Greengrass ログの読み取りには、ルートアクセス許可が必要です。
+ AWS IoT Greengrass は、ログデータの量が設定された制限に近い場合、サイズベースのローテーションと自動クリーンアップをサポートします。
+ `crash.log` ファイルは、ファイルシステムログでのみ使用できます。このログは CloudWatch Logs に書き込まれません。
+ ディスク使用量の制限が適用されます。詳細については、「[ログ記録の制限](#gg-log-limits)」を参照してください。

**注記**  
 AWS IoT Greengrass Core ソフトウェア v1.0 のログは `{{greengrass-root}}/var/log` ディレクトリに保存されます。

## デフォルトのログ記録設定
<a name="config-logs-default"></a>

ログ記録設定が明示的に設定されていない場合、 は最初のグループのデプロイ後に次のデフォルトのログ記録設定 AWS IoT Greengrass を使用します。

AWS IoT Greengrass システムコンポーネント  
+ タイプ - `FileSystem`
+ コンポーネント - `GreengrassSystem`
+ レベル - `INFO`
+ スペース - `128 KB`

ユーザー定義 Lambda 関数  
+ タイプ - `FileSystem`
+ コンポーネント - `Lambda`
+ レベル - `INFO`
+ スペース - `128 KB`

**注記**  
最初のデプロイ前に、ユーザー定義の Lambda 関数がデプロイされていないため、システムコンポーネントだけがファイルシステムにログを書き込みます。

## のログ記録を設定する AWS IoT Greengrass
<a name="config-logs"></a>

 AWS IoT コンソールまたは [AWS IoT Greengrass APIs](#config-logs-api) を使用して AWS IoT Greengrass ログ記録を設定できます。

**注記**  
 AWS IoT Greengrass が CloudWatch Logs にログを書き込むには、グループロール[が必要な CloudWatch Logs アクション](#gg-logs-cloudwatch-perms)を許可する必要があります。

### ログ記録の設定 (コンソール)
<a name="config-logs-console"></a>

グループの [**設定**] ページでログ記録を設定できます。

1. <a name="console-gg-groups"></a> AWS IoT コンソールナビゲーションペインの**「管理**」で **Greengrass デバイス**を展開し、**「グループ (V1)**」を選択します。

1. ログ記録を設定するグループを選択します。

1. グループの設定ページで、**[Logs]** (ログ) タブを選択します。

1. 次のようにログ記録の場所を選択します。
   + CloudWatch ログ記録を設定するには、**[CloudWatch logs configuration]** (CloudWatch ログ設定) の、**[Edit]** (編集) を選択します。
   + ファイルシステムログ記録を設定するには、[**Local logs configuration**] (ローカルログ設定) の、[**Edit**] (編集) を選択します。

   1 つの場所または両方の場所のログ記録を設定できます。

1. ログの編集設定モーダルで、**[Greengrass system log level]** (Greengrass システムのログレベル) または **[User Lambda functions log level]** (ユーザーの Lambda 関数のログレベル) を選択します。1 つのコンポーネントまたは両方のコンポーネントを選択することができます。

1. ログに記録するイベントの最低レベルを選択します。このしきい値に達しないイベントは除外され、保存されません。

1. **[保存]** を選択します。変更は、グループをデプロイした後に有効になります。

### ログ記録の設定 (API)
<a name="config-logs-api"></a>

 AWS IoT Greengrass ロガー APIs を使用して、プログラムでログ記録を設定できます。例えば、[https://docs.aws.amazon.com/greengrass/v1/apireference/createloggerdefinition-post.html](https://docs.aws.amazon.com/greengrass/v1/apireference/createloggerdefinition-post.html) アクションを使用して、[https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-loggerdefinitionversion.html](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-loggerdefinitionversion.html) ペイロードに基づくロガー定義を作成します。これは、次の構文を使用します。

```
{
  "Loggers": [
    {
      "Id": "string",
      "Type": "FileSystem|AWSCloudWatch",
      "Component": "GreengrassSystem|Lambda",
      "Level": "DEBUG|INFO|WARN|ERROR|FATAL",
      "Space": "integer"
    },
    {
      "Id": "string",
      ...
    }
  ]
}
```

`LoggerDefinitionVersion` は、次のプロパティを持つ 1 つ以上の [https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-logger.html](https://docs.aws.amazon.com/greengrass/v1/apireference/definitions-logger.html) オブジェクトの配列です。

`Id`  
ロガーの識別子。

`Type`  
ログイベントのストレージメカニズム。`AWSCloudWatch` を使用する場合、ログイベントは CloudWatch Logs に送信されます。`FileSystem` を使用すると、ログイベントはローカルファイルシステムに保存されます。  
有効な値: `AWSCloudWatch`、`FileSystem`

`Component`  
ログイベントのソース。`GreengrassSystem` を使用すると、Greengrass システムコンポーネントのイベントがログに記録されます。`Lambda` を使用すると、ユーザー定義の Lambda 関数のイベントがログに記録されます。  
有効な値: `GreengrassSystem`、`Lambda`

`Level`  
ログレベルのしきい値。このしきい値に達しないログイベントは除外され、保存されません。  
有効な値: `DEBUG`、`INFO` (推奨)、`WARN`、`ERROR`、`FATAL`

`Space`  
ログを保存するローカルストレージの最大容量 (KB 単位)。このフィールドは、`Type` を `FileSystem` に設定した場合にのみ適用されます。

### 設定例
<a name="config-logs-examples"></a>

次の `LoggerDefinitionVersion` の例では、次のようなログ記録設定を指定しています。
+  AWS IoT Greengrass システムコンポーネントのファイルシステム`ERROR`以上のログ記録を有効にします。
+ ユーザー定義の Lambda 関数のファイルシステム `INFO` (以上) のログ記録を有効にします。
+ ユーザー定義の Lambda 関数の CloudWatch `INFO` (以上) のログ記録を有効にします。

```
{
  "Name": "LoggingExample",
  "InitialVersion": {
    "Loggers": [
      {
        "Id": "1",
        "Component": "GreengrassSystem",
        "Level": "ERROR",
        "Space": 10240,
        "Type": "FileSystem"
      },
      {
        "Id": "2",
        "Component": "Lambda",
        "Level": "INFO",
        "Space": 10240,
        "Type": "FileSystem"
      },
      {
        "Id": "3",
        "Component": "Lambda",
        "Level": "INFO",
        "Type": "AWSCloudWatch"
      }
    ]
  }
}
```

ロガー定義バージョンを作成した後、そのバージョン ARN を使用して、[グループをデプロイする](deployments.md)前にグループバージョンを作成できます。

## ログ記録の制限
<a name="gg-log-limits"></a>

AWS IoT Greengrass には次のログ記録の制限があります。

### 1 秒あたりのトランザクション
<a name="gg-log-limit-tps"></a>

CloudWatch へのログ記録を有効にすると、ログイベントはログコンポーネントでローカルにバッチ処理された後で CloudWatch に送信されるため、ログストリームごとに 5 リクエスト/秒よりも高いレートでログを記録できます。

### メモリ
<a name="gg-log-limit-mem"></a>



 AWS IoT Greengrass が CloudWatch にログを送信するように設定されていて、Lambda 関数が長期間 5 MB/秒を超えると、内部処理パイプラインは最終的にいっぱいになります。理論的には Lambda 関数あたり 6 MB で限界に達します。

### クロックスキュー
<a name="gg-log-limit-skew"></a>

CloudWatch へのログ記録を有効にすると、ログ記録コンポーネントは標準の署名バージョン 4 の署名プロセスを使用して CloudWatch へのリクエストに署名します。 AWS IoT Greengrass コアデバイスのシステム時刻が同期していない時間が [15 分](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html)を超えていると、リクエストは拒否されます。

### ディスク使用量
<a name="gg-log-limit-disk"></a>

次の式を使用して、ログ記録用の最大の合計ディスク使用量を計算します。

```
{{greengrass-system-component-space}} * 8    // 7 if automatic IP detection is disabled
  + 128KB                                // the internal log for the local logging component
  + {{lambda-space}} * {{lambda-count}}          // different versions of a Lambda function are treated as one
```

説明は以下のとおりです。

`greengrass-system-component-space`  
 AWS IoT Greengrass システムコンポーネントログのローカルストレージの最大量。

`lambda-space`  
Lambda 関数のログ用の最大のローカルストレージ容量。

`lambda-count`  
Lambda 関数のデプロイ数。

### ログの損失
<a name="gg-log-loss"></a>

 AWS IoT Greengrass コアデバイスが CloudWatch にのみログ記録するように設定されていて、インターネット接続がない場合、現在メモリにあるログを取得する方法はありません。

Lambda 関数が (デプロイ時などに) 終了すると、数秒分のログは CloudWatch に書き込まれません。

## CloudTrail ログ
<a name="cloudtrail-integration"></a>

AWS IoT Greengrass は、ユーザー AWS CloudTrail、ロール、または のサービスによって実行されたアクションを記録する AWS サービスで実行されます AWS IoT Greengrass。詳細については、「[を使用した AWS IoT Greengrass API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)」を参照してください。