AWS OpsWorks スタックでの Amazon CloudWatch Logs の使用 - AWS OpsWorks

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

AWS OpsWorks スタックでの Amazon CloudWatch Logs の使用

重要

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

複数のインスタンスのログをモニタリングするプロセスを簡素化するために、 AWS OpsWorks スタックは Amazon CloudWatch Logs をサポートします。 AWS OpsWorks Stacks のレイヤーレベルで CloudWatch Logs を有効にします。 CloudWatch Logs 統合は Chef 11.10 および Chef 12 Linux ベースのスタックと連携します。Logs を有効にすると追加料金が発生するため、開始する前に Amazon CloudWatch の料金を確認してください。 CloudWatch

CloudWatch Logs は、選択したログをモニタリングして、ユーザーが指定したパターンの発生を確認します。例えば、NullReferenceException のようなリテラルタームが発生したログをモニタリングしたり、発生数をカウントしたりできます。 AWS OpsWorks スタックで CloudWatch ログを有効にすると、 AWS OpsWorks スタックエージェントはログを CloudWatch ログに送信します。 CloudWatch ログの詳細については、 CloudWatch 「 ログの開始方法」を参照してください。

前提条件

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

カスタムインスタンスプロファイル (スタックの作成時に AWS OpsWorks スタックが提供しなかったプロファイル) を使用している場合、 AWS OpsWorks スタックはインスタンスプロファイルを自動的にアップグレードできません。IAM を使用してAWSOpsWorksCloudWatchLogs、ポリシーをプロファイルに手動でアタッチする必要があります。IAM ポリシーの詳細については IAM ユーザーガイドの「IAMポリシーの管理」を参照してください。

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

CloudWatch レイヤーページのログタブ

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

CloudWatch レイヤーページのログタブ

CloudWatch ログの有効化

  1. 必要なエージェントとインスタンスプロファイルのアップグレードが完了したら、 CloudWatch Logs タブのスライダーコントロールを On に設定することでCloudWatch 、Logs を有効にできます。

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

    これらのログに含まれるデータは、ログ URL のターゲットを開くと、DescribeCommandsオペレーションの結果に表示されるデータと密接に一致します。setupconfiguredeployundeploystartstop、およびレシピの実行コマンドに関するデータが含まれています。

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

  4. [保存] を選択します。数分以内に、 AWS OpsWorks スタックログストリームが CloudWatch ログコンソールに表示されるはずです。

    CloudWatch ログが有効になっている

CloudWatch ログをオフにする

CloudWatch ログを無効にするには、レイヤー設定を編集します。

  1. レイヤーのプロパティページで、[編集] を選択します。

    レイヤーのプロパティページにある [Edit (編集)] ボタン
  2. 編集ページで、CloudWatch ログタブを選択します。

  3. CloudWatch ログ エリアで、ストリームコマンドログ をオフにします。カスタムログで X を選択して、ログストリームから削除します (該当する場合)。

  4. [Save] を選択します。

ログからのストリーミング CloudWatch ログの削除

AWS OpsWorks スタックからの CloudWatch ログストリーミングをオフにしても、既存のログは CloudWatch 引き続きログ管理コンソールで使用できます。ログを Amazon S3 にエクスポートまたは削除しない限り、保存されたログに対しての料金が引き続き発生します。S3 へのログのエクスポートの詳細については [Exporting Log Data to Amazon S3] (Amazon S3 へのログデータのエクスポート) を参照してください。

ログストリームとロググループは、 CloudWatch ログ管理コンソールで、または delete-log-streamおよび delete-log-group AWS CLI コマンドを実行して削除できます。ログ保持期間の変更の詳細については、「 ログのログデータ保持期間の変更 CloudWatch 」を参照してください。

ログでの CloudWatch ログの管理

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

CloudWatch Logs コンソール

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

stack_name/layer_name/chef_log_name

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

/stack_name/layer_short_name/file_path_name パス名は人が読んで理解しやすいように、アスタリスク (*) などの特殊文字が削除されています。

CloudWatch Logs でログを見つけたら、ログをグループ に整理し、メトリクスフィルター を作成してログを検索およびフィルタリングし、カスタムアラーム を作成できます

CloudWatch ログを使用するように Chef 12.2 Windows レイヤーを設定する

CloudWatch ログの自動統合は、Windows ベースのインスタンスではサポートされていません。CloudWatch ログタブは、Chef 12.2 スタックのレイヤーでは使用できません。Windows ベースのインスタンスの CloudWatch ログへのストリーミングを手動で有効にするには、次の手順を実行します。

  • Logs エージェントが適切なアクセス許可を持つように、Windows CloudWatch ベースのインスタンスのインスタンスプロファイルを更新します。AWSOpsWorksCloudWatchLogs ポリシーステートメントには、必要なアクセス許可が表示されます。

    通常、このタスクを行うのは 1 回のみです。これで、更新したインスタンスプロファイルはレイヤー内のすべての Windows インスタンスで使用することができます。

  • 各インスタンスで以下の JSON 設定ファイルを編集します。このファイルには、どのログをモニタリングするかなどログストリームの設定が含まれています。

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

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

Windows ベースのインスタンスで CloudWatch ログを無効にするには、プロセスを逆にします。EC2 サービスプロパティダイアログボックスの CloudWatch ログ統合の有効化チェックボックスをオフにし、AWS.EC2.Windows.CloudWatch.jsonファイルからログストリーム設定を削除し、Chef 12.2 レイヤーの新しいインスタンスに CloudWatch ログ許可を自動的に割り当てている Chef レシピの実行を停止します。