Ops エージェントを使用して Apache ウェブサーバーの指標を収集する

Ops エージェントを使用して、Compute Engine 仮想マシン(VM)インスタンスにインストールされた Apache ウェブサーバーから指標を収集してモニタリングする方法について説明します。

  1. Compute Engine VM インスタンスを作成し、Ops エージェントをインストールします。
  2. Apache ウェブサーバーをインストールします。
  3. Apache ウェブサーバーの Ops エージェントを構成します。
  4. Apache ウェブサーバーへのトラフィックを生成します。
  5. 事前定義された Apache ダッシュボードで指標を表示します。
  6. アラート ポリシーを作成する
  7. アラート ポリシーをテストします。
  8. クリーンアップする。

このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。

ガイドを表示


始める前に

  1. 組織で定義されているセキュリティの制約により、次の手順を完了できない場合があります。トラブルシューティング情報については、制約のある Google Cloud 環境でアプリケーションを開発するをご覧ください。

  2. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  3. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  4. Google Cloud プロジェクトで課金が有効になっていることを確認します

  5. Compute Engine, Cloud Monitoring, and Cloud Logging API を有効にします。

    API を有効にする

  6. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  7. Google Cloud プロジェクトで課金が有効になっていることを確認します

  8. Compute Engine, Cloud Monitoring, and Cloud Logging API を有効にします。

    API を有効にする

VM インスタンスを作成する

  1. Google Cloud コンソールのナビゲーション パネルで、[Compute Engine] を選択してから、[VM インスタンス] を選択します。

    [VM インスタンス] に移動

  2. [インスタンスを作成] をクリックして、VM を作成します。

  3. [名前] フィールドにわかりやすい名前を入力します。
  4. [マシンタイプ] フィールドで [e2-small] を選択します。
  5. [ブートディスク] セクションで、[Debian GNU/Linux] をデフォルト設定のままにします。
  6. [ファイアウォール] セクションで、[HTTP トラフィックを許可する] と [HTTPS トラフィックを許可する] の両方を選択します。
  7. [オブザーバビリティ - Ops エージェント] セクションで、[Monitoring と Logging 用の Ops エージェントをインストールする] を選択します。
  8. [作成] をクリックします。

Apache ウェブサーバーをインストールする

Apache ウェブサーバーを Compute Engine VM インスタンスにインストールする手順は次のとおりです。

  1. [VM インスタンス] ページで、新しい VM を見つけて [接続] 列に移動し、[SSH] をクリックします。

    接続できない場合は、SSH のトラブルシューティングをご覧ください。

  2. パッケージ リストを更新するには、次のコマンドをクリップボードにコピーし、SSH ターミナルにコマンドを貼り付け、Enter キーを押します。

    sudo apt-get update
    
  3. SSH ターミナルで、「パッケージ リストを読み取っています...完了」のメッセージを確認した後、次のコマンドを実行して、Apache2 ウェブサーバーをインストールします。

    sudo apt-get install apache2 php7.0
    

    インストールを続行するように求められたら、Y と入力します。インストールのコマンドが失敗した場合、sudo apt-get install apache2 php を使用します。

  4. コマンド プロンプトが返されたら、[VM インスタンス] ページに移動し、VM の外部 IP アドレスを次の URL にコピーします。

    http://EXTERNAL_IP
    
  5. Apache ウェブサーバーに接続するには、新しいブラウザタブを開き、前のステップの URL を入力します。

    ウェブサーバーが正常にインストールされると、ブラウザタブに Apache2 Debian のデフォルト ページが表示されます。

    Apache2 のデフォルト ページを表示。

Apache ウェブサーバーのログと指標を収集する

これらの手順では、Apache ウェブサーバーからログと指標を収集するように Ops エージェントを構成します。
  1. VM インスタンスの SSH ターミナルに移動します。 ターミナルを開いていない場合は、次のようにします。

    1. Google Cloud コンソールのナビゲーション パネルで、[Compute Engine] を選択してから、[VM インスタンス] を選択します。

      [VM インスタンス] に移動

    2. 新しい VM を見つけて、[SSH] をクリックします。

  2. 次のコマンドをコピーして、インスタンスのターミナルに貼り付け、Enter キーを押します。

    # Configures Ops Agent to collect telemetry from the app and restart Ops Agent.
    
    set -e
    
    # Create a back up of the existing file so existing configurations are not lost.
    sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
    
    # Configure the Ops Agent.
    sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
    metrics:
      receivers:
        apache:
          type: apache
      service:
        pipelines:
          apache:
            receivers:
              - apache
    logging:
      receivers:
        apache_access:
          type: apache_access
        apache_error:
          type: apache_error
      service:
        pipelines:
          apache:
            receivers:
              - apache_access
              - apache_error
    EOF
    
    sudo service google-cloud-ops-agent restart
    sleep 60
    

    上記のコマンドにより、Apache ウェブサーバーからログと指標を収集して取り込むための構成が作成されます。詳細については、Apache ウェブサーバーの Ops エージェントを構成するをご覧ください。

  3. コマンド プロンプトが表示されるまで待ちます。これは少なくとも 60 秒かかります。

トラフィックを生成する

Apache ウェブサーバーへのトラフィックを生成するには、次のようにします。

  1. VM インスタンスの SSH ターミナルに移動します。ターミナルを開いていない場合は、次のようにします。

    1. Google Cloud コンソールのナビゲーション パネルで、[Compute Engine] を選択してから、[VM インスタンス] を選択します。

      [VM インスタンス] に移動

    2. 新しい VM を見つけて、[SSH] をクリックします。

  2. SSH ターミナルで次のコマンドを実行すると、Apache ウェブサーバーへのリクエストが生成されます。

    timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
  3. コマンド プロンプトが戻るか、ターミナルが閉じるまで 2 分間待ちます。コマンドが実行されている間、HTML テキストがターミナルに表示されます。

Apache の指標を表示する

自動的に作成される [Apache の概要] ダッシュボードを表示する手順には、次のようにします。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、 [ダッシュボード] を選択します。

    [ダッシュボード] に移動

  2. [All Dashboards] ペインで、リストから [Apache Overview] ダッシュボードを選択します。

    Apache Overview ダッシュボードの例。

Apache ウェブサーバーからログと指標を収集するように Ops エージェントを構成し、指標を表示しました。次の手順では、Apache ウェブサーバーの負荷がしきい値を超えた場合に通知されるようにアラート ポリシーを作成します。

メール通知チャンネルを作成する

アラート ポリシーを作成する前に、アラート ポリシーで使用する通知チャンネルを構成します。Cloud Monitoring は、メール、Slack、PagerDuty、Pub/Sub など、多くの異なる種類の通知チャンネルをサポートしています。詳細については、通知チャンネルを作成して管理するをご覧ください。 メールで通知されるには、次のようにします。
  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、 [アラート] を選択します。

    [アラート] に移動

  2. ツールバーで [通知チャンネルの編集] をクリックします。
  3. [通知チャンネル] ページで [メール] までスクロールし、[新しく追加] をクリックします。
  4. メールアドレス(表示名 My email など)を入力して、[保存] をクリックします。

アラート ポリシーを作成する

このセクションでは、Apache ウェブサーバーへのトラフィックが定義されたしきい値を超えた場合に通知されるようにアラート ポリシーを作成します。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、 [アラート] を選択します。

    [アラート] に移動

  2. [ポリシーを作成] をクリックします。
  3. モニタリング対象の時系列を選択します。

    1. [指標を選択] をクリックし、[VM インスタンス] を選択します。
    2. [有効な指標カテゴリ] メニューで、[Apache] を選択します。
    3. [有効な指標] リストで、[workload/apache.traffic] を選択します。
    4. [適用] をクリックします。

    Apache トラフィックのチャートが表示されます。

  4. [トリガーの構成] フィールドに進み、[しきい値] フィールドを 1500 に設定します。

    グラフにしきい値が点線で表示されます。点線が、ピーク時のトラフィック レベルよりもはるかに小さいことを確認します。

  5. [通知と名前] フィールドに進み、[通知チャンネル] メニューを使用してメールアドレスを選択します。

  6. ポリシー名に Apache traffic above threshold と入力します。

  7. [アラートの確認] フィールドに進み、アラート ポリシーを確認し、[ポリシーを作成] をクリックします。

アラート ポリシーをテストする

アラート ポリシーをテストするには、しきい値を超えるトラフィックを生成します。

  1. VM インスタンスの SSH ターミナルに移動します。ターミナルを開いていない場合は、次のようにします。

    1. Google Cloud コンソールのナビゲーション パネルで、[Compute Engine] を選択してから、[VM インスタンス] を選択します。

      [VM インスタンス] に移動

    2. 新しい VM を見つけて、[SSH] をクリックします。

  2. SSH ターミナルで次のコマンドを実行すると、Apache ウェブサーバーへのリクエストが生成されます。

    timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
  3. コマンド プロンプトが戻るか、ターミナルが閉じるまで 2 分間待ちます。コマンドが実行されている間、HTML テキストがターミナルに表示されます。
  4. コマンド プロンプトが返されたら、件名の行が [ALERT] で始まるメッセージのメールを確認します。

    メールが見つからない場合は、アラート ポリシーのグラフを調べて、トラフィック レベルがしきい値を超えていることを確認します。上記のコマンドを再度実行する必要がある場合があります。それ以外の場合は、メールが届くまで 1 ~ 2 分待ちます。

    通知は、アラート ポリシーとインシデントへのリンクの概要を示します。各インシデントには障害の記録が含まれ、これらは通常はトラブルシューティングに役立ちます。

    Apache トラフィックのアラート ポリシーのメール通知。

Apache ウェブサーバーからログと指標を収集するように Ops エージェントを構成しましたが、指標を表示したのみです。Apache ウェブサーバーのログを表示する方法については、クイックスタートの Apache ウェブサーバーのログを表示するをご覧ください。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

新しいプロジェクトを作成し、プロジェクトがもう必要でなくなった場合は、プロジェクトを削除します。

既存のプロジェクトを使用した場合は、次のようにします。

  1. VM を作成した場合は、それを削除します。

    1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. 削除するインスタンスのチェックボックスを選択します。
    3. インスタンスを削除するには、 [その他の操作] をクリックし、[削除] をクリックしてから、指示に沿って操作します。
  2. 作成したアラート ポリシーを削除します。

    1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、 [アラート] を選択します。

      [アラート] に移動

    2. 作成したアラート ポリシーを選択して、[削除] をクリックします。

次のステップ