

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

# スタックでの Amazon CloudWatch Logs OpsWorks の使用
<a name="monitoring-cloudwatch-logs"></a>

**重要**  
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、[AWS re:Post](https://repost.aws/) または[AWS プレミアムサポート](https://aws.amazon.com/support)を通じて AWS サポート チームにお問い合わせください。

複数のインスタンスのログをモニタリングするプロセスを簡素化するために、 OpsWorks スタックは Amazon CloudWatch Logs をサポートしています。スタックのレイヤーレベルで CloudWatch Logs OpsWorks を有効にします。CloudWatch Logs の統合は、Chef 11.10 および Chef 12 Linux ベースのスタックで機能します。CloudWatch Logs を有効にしている場合は追加の料金が発生するため、開始する前に [[Amazon CloudWatch Pricing]](https://aws.amazon.com/cloudwatch/pricing/) (Amazon CloudWatch の料金) を確認してください。

CloudWatch Logs は、ユーザー指定のパターンの発生に対して選択されたログをモニタリングします。例えば、`NullReferenceException` のようなリテラルタームが発生したログをモニタリングしたり、発生数をカウントしたりできます。スタックで CloudWatch Logs OpsWorks を有効にすると、 スタックエージェントは CloudWatch Logs OpsWorks にログを送信します。CloudWatch Logs の詳細については、[[Getting Started with CloudWatch Logs]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_GettingStarted.html) (CloudWatch Logs の開始方法) を参照してください。

## 前提条件
<a name="w2ab1c14c65c15b9"></a>

CloudWatch Logs を有効にする前に、インスタンスが Chef 11.10 のスタックでは、 OpsWorks スタックエージェントのバージョン 3444 以降、Chef 12 のスタックでは 4023 以降が実行されている必要があります。また、CloudWatch Logs を使用してモニタリングするすべてのインスタンスで、互換性のあるインスタンスプロファイルを使用している必要があります。

カスタムインスタンスプロファイル (スタックの作成時に OpsWorks スタックが提供しなかったプロファイル) を使用している場合、 OpsWorks スタックはインスタンスプロファイルを自動的にアップグレードできません。IAM を使用して **[AWSOpsWorksCloudWatchLogs]** ポリシーをプロファイルに手動でアタッチする必要があります。IAM ポリシーの詳細については IAM ユーザーガイドの[「IAMポリシーの管理」](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console)を参照してください。

エージェントバージョンまたはインスタンスプロファイルをアップグレードする必要がある場合、**レイヤー**ページの CloudWatch Logs タブを開くと、 OpsWorks スタックに次のスクリーンショットのようなリマインダーが表示されます。

![\[レイヤーページの CloudWatch Logs タブ\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/cw_logs_upgrade.png)


レイヤーのすべてのインスタンスでエージェントを更新するには時間がかかります。エージェントのアップグレードが完了する前に、レイヤーで CloudWatch Logs を有効にしようとすると、以下のようなメッセージが表示されます。

![\[レイヤーページの CloudWatch Logs タブ\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/cloudwatch_logs_upgrade_time.png)


## CloudWatch Logs の有効化する
<a name="w2ab1c14c65c15c11"></a>

1. 必要なエージェントとインスタンスプロファイルのアップグレードが完了すると、**[CloudWatch Logs]** タブのスライダーコントロールを **[On]** (オン) に設定して、CloudWatch Logs を有効にすることができます。  
![\[CloudWatch Logs のスライダーコントロール\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/cw_logs_enable_switch.png)

1. コマンドログをストリーミングするには、[**Stream command logs**] を [**On**] に設定します。これにより、レイヤーのインスタンスの Chef アクティビティとユーザーが開始したコマンドのログが CloudWatch Logs に送信されます。

   これらのログに含まれるデータは、ログ URL のターゲットを開いたときに表示される [DescribeCommands](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeCommands.html) オペレーションの結果とほぼ一致したものとなっています。`setup`、`configure`、`deploy`、`undeploy`、`start`、`stop`、およびレシピの実行コマンドに関するデータが含まれています。

1. レイヤーのインスタンスのカスタムロケーションに保存されているアクティビティのログ (`/var/log/apache/myapp/mylog*` など) をストリーミングするには、[**Stream custom logs**] 文字列ボックスにカスタムロケーションを入力し、[**Add**] (**\$1**) を選択します。

1. **[保存]** を選択します。数分以内に、 OpsWorks スタックログストリームが CloudWatch Logs コンソールに表示されます。  
![\[CloudWatch Logs は有効です\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/cw_logs_enabled.png)

## CloudWatch Logs をオフにする
<a name="w2ab1c14c65c15c13"></a>

CloudWatch Logs をオフにするには、レイヤーの設定を編集します。

1. レイヤーのプロパティページで、[**編集**] を選択します。  
![\[レイヤーのプロパティページにある [Edit (編集)] ボタン\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/cw_logs_enabled_edit.png)

1. [編集] ページで、[**CloudWatch ログ**] タブを選択します。

1. [**CloudWatch ログ**] エリアで、[**Stream command logs**] をオフにします。カスタムログで **X** を選択して、ログストリームから削除します (該当する場合)。

1. **[Save]** を選択します。

### CloudWatch Logs からのストリームログの削除
<a name="w2ab1c14c65c15c13b7"></a>

スタックから CloudWatch Logs OpsWorks ストリーミングをオフにしても、既存のログは CloudWatch Logs マネジメントコンソールで引き続き使用できます。ログを Amazon S3 にエクスポートまたは削除しない限り、保存されたログに対しての料金が引き続き発生します。S3 へのログのエクスポートの詳細については [[Exporting Log Data to Amazon S3]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) (Amazon S3 へのログデータのエクスポート) を参照してください。

CloudWatch Logs マネジメントコンソールで、または および [https://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-group.html](https://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-group.html) AWS CLI コマンドを実行して、ログストリーム[https://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-stream.html](https://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-stream.html)とロググループを削除できます。ログの保持期間の変更の詳細については、[[Change Log Data Retention in CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SettingLogRetention.html)] (CloudWatchでのログデータ保管期間の変更) を参照してください。

## CloudWatch Logs でのログの管理
<a name="w2ab1c14c65c15c15"></a>

ストリーミングしているログは、CloudWatch Logs コンソールで管理されます。

![\[CloudWatch Logs のコンソール\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/cw_logs_dash.png)


OpsWorks は、デフォルトのロググループとログストリームを自動的に作成します。 OpsWorks スタックデータのロググループには、以下のパターンに一致する名前があります。

*stack\$1name*`/`*layer\$1name*`/`*chef\$1log\$1name*

カスタムログには次のパターンに一致する名前があります。

*/stack\$1name/layer\$1short\$1name/file\$1path\$1name* パス名は人が読んで理解しやすいように、アスタリスク (\$1) などの特殊文字が削除されています。

CloudWatch Logs にログを配置すると、[[organize the logs into groups]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Create-Log-Group.html) (ログをグループに整理) したり、[[search and filter logs by creating metric filters]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) (メトリクスフィルタを作成してログを検索およびフィルタリング) したり、[[create custom alarms]](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html) (カスタムアラームを作成) したりできます。

## Chef 12.2 Windows レイヤーを設定して CloudWatch ログを使用する
<a name="w2ab1c14c65c15c17"></a>

CloudWatch Logs の自動統合は、Windows ベースのインスタンスはサポートされません。[**CloudWatch ログ**] タブは、Chef 12.2 スタック内のレイヤーでは使用できません。Windows ベースのインスタンスの CloudWatch Logs へのストリーミングを手動で有効にするには、以下を行います。
+ CloudWatch Logs エージェントが適切な権限を持つことができるように、Windows ベースのインスタンスのインスタンスプロファイルを更新します。**AWSOpsWorksCloudWatchLogs** ポリシーステートメントに必要な権限が示されています。

  通常、このタスクを行うのは 1 回のみです。これで、更新したインスタンスプロファイルはレイヤー内のすべての Windows インスタンスで使用することができます。
+ 各インスタンスで以下の JSON 設定ファイルを編集します。このファイルには、どのログをモニタリングするかなどログストリームの設定が含まれています。

  `%PROGRAMFILES%\Amazon\Ec2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json`

必要なタスクを処理するカスタムレシピを作成し、Chef 12.2 レイヤーの **Setup** イベントに割り当てることで、前述の 2 つのタスクを自動化できます。これらのレイヤーで新しいインスタンスを起動するたびに、インスタンスの起動が完了した後に OpsWorks スタックが自動的にレシピを実行し、CloudWatch Logs を有効にします。

Windows ベースのインスタンスで CloudWatch Logs をオフにするには、プロセスを逆順で実行します。**[Ec 2 Service Properties]** ダイアログボックスで **[Enable CloudWatch Logs integration]** チェックボックスをクリアし、`AWS.EC2.Windows.CloudWatch.json` ファイルからログストリーム設定を削除します。CloudWatch Logs 権限を自動的に Chef 12.2 レイヤーの新しいインスタンスに割り当てるすべての Chef のレシピの実行を停止します。