翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
スタックでの Amazon CloudWatch Logs AWS OpsWorks の使用
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
複数のインスタンスでログをモニタリングするプロセスを簡素化するために、 AWS OpsWorks スタックは Amazon CloudWatch Logs をサポートしています。スタックのレイヤーレベルで CloudWatch Logs AWS OpsWorks を有効にします。CloudWatch Logs の統合は、Chef 11.10 および Chef 12 Linux ベースのスタックで機能します。CloudWatch Logs を有効にしている場合は追加の料金が発生するため、開始する前に [Amazon CloudWatch Pricing]
CloudWatch Logs は、ユーザー指定のパターンの発生に対して選択されたログをモニタリングします。例えば、NullReferenceException
のようなリテラルタームが発生したログをモニタリングしたり、発生数をカウントしたりできます。スタックで CloudWatch Logs AWS OpsWorks を有効にすると、 スタックエージェントは CloudWatch Logs AWS OpsWorks にログを送信します。CloudWatch Logs の詳細については、[Getting Started with CloudWatch Logs] (CloudWatch Logs の開始方法) を参照してください。
前提条件
CloudWatch Logs を有効にする前に、インスタンスが Chef 11.10 のスタックでは、 AWS OpsWorks スタックエージェントのバージョン 3444 以降、Chef 12 のスタックでは 4023 以降が実行されている必要があります。また、CloudWatch Logs を使用してモニタリングするすべてのインスタンスで、互換性のあるインスタンスプロファイルを使用している必要があります。
カスタムインスタンスプロファイル (スタックの作成時に AWS OpsWorks スタックから提供されなかったプロファイル) を使用している場合、 AWS OpsWorks スタックはインスタンスプロファイルを自動的にアップグレードできません。IAM を使用して [AWSOpsWorksCloudWatchLogs] ポリシーをプロファイルに手動でアタッチする必要があります。IAM ポリシーの詳細については IAM ユーザーガイドの「IAMポリシーの管理」を参照してください。
エージェントバージョンまたはインスタンスプロファイルをアップグレードする必要がある場合、レイヤーページで CloudWatch Logs タブを開くと、次のスクリーンショットのようなリマインダーが AWS OpsWorks スタックに表示されます。

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

CloudWatch Logs の有効化する
-
必要なエージェントとインスタンスプロファイルのアップグレードが完了すると、[CloudWatch Logs] タブのスライダーコントロールを [On] (オン) に設定して、CloudWatch Logs を有効にすることができます。
-
コマンドログをストリーミングするには、[Stream command logs] を [On] に設定します。これにより、レイヤーのインスタンスの Chef アクティビティとユーザーが開始したコマンドのログが CloudWatch Logs に送信されます。
これらのログに含まれるデータは、ログ URL のターゲットを開いたときに表示される DescribeCommands オペレーションの結果とほぼ一致したものとなっています。
setup
、configure
、deploy
、undeploy
、start
、stop
、およびレシピの実行コマンドに関するデータが含まれています。 -
レイヤーのインスタンスのカスタムロケーションに保存されているアクティビティのログ (
/var/log/apache/myapp/mylog*
など) をストリーミングするには、[Stream custom logs] 文字列ボックスにカスタムロケーションを入力し、[Add] (+) を選択します。 -
[Save] を選択します。数分以内に、 AWS OpsWorks スタックログストリームが CloudWatch Logs コンソールに表示されるはずです。
CloudWatch Logs をオフにする
CloudWatch Logs をオフにするには、レイヤーの設定を編集します。
-
レイヤーのプロパティページで、[編集] を選択します。
-
[編集] ページで、[CloudWatch ログ] タブを選択します。
-
[CloudWatch ログ] エリアで、[Stream command logs] をオフにします。カスタムログで X を選択して、ログストリームから削除します (該当する場合)。
-
[Save] を選択します。
CloudWatch Logs からのストリームログの削除
スタックから CloudWatch Logs AWS OpsWorks ストリーミングをオフにしても、既存のログは CloudWatch Logs マネジメントコンソールで引き続き使用できます。ログを Amazon S3 にエクスポートまたは削除しない限り、保存されたログに対しての料金が引き続き発生します。S3 へのログのエクスポートの詳細については [Exporting Log Data to Amazon S3] (Amazon S3 へのログデータのエクスポート) を参照してください。
ログストリームとロググループは、CloudWatch Logs マネジメントコンソールで、または delete-log-stream
および delete-log-group
AWS CLI コマンドを実行して削除できます。ログの保持期間の変更の詳細については、[Change Log Data Retention in CloudWatch Logs] (CloudWatchでのログデータ保管期間の変更) を参照してください。
CloudWatch Logs でのログの管理
ストリーミングしているログは、CloudWatch Logs コンソールで管理されます。

AWS OpsWorks は、デフォルトのロググループとログストリームを自動的に作成します。 AWS OpsWorks スタックデータのロググループには、以下のパターンに一致する名前があります。
stack_name
/
layer_name
/
chef_log_name
カスタムログには次のパターンに一致する名前があります。
/stack_name/layer_short_name/file_path_name
パス名は人が読んで理解しやすいように、アスタリスク (*) などの特殊文字が削除されています。
CloudWatch Logs にログを配置すると、[organize the logs into groups] (ログをグループに整理) したり、[search and filter logs by creating metric filters] (メトリクスフィルタを作成してログを検索およびフィルタリング) したり、[create custom alarms] (カスタムアラームを作成) したりできます。
Chef 12.2 Windows レイヤーを設定して CloudWatch ログを使用する
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 つのタスクを自動化できます。これらのレイヤーで新しいインスタンスを起動するたびに、インスタンスの起動が完了した後に AWS 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 のレシピの実行を停止します。