コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
クイックスタート: Compute Engine 仮想マシンをモニタリングする

Compute Engine 仮想マシンをモニタリングする

このドキュメントでは、Compute Engine 仮想マシン(VM)インスタンスにインストールされている Apache ウェブサーバーをモニタリングする方法について説明します。

Amazon EC2 VM インスタンスをモニタリングする場合は、AWS モニタリングのスタートガイドをご覧ください。

このクイックスタートでは、以下のことを行います。

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

始める前に

組織が Google Cloud 環境に制約を適用すると、このドキュメントの一部の手順が正しく機能しない場合があります。その場合、パブリック IP アドレスやサービス アカウント キーを作成するようなタスクを完了できない場合があります。制約に関するエラーを返すリクエストを行う場合は、制約がある Google Cloud 環境でアプリケーションを開発する方法をご覧ください。

このクイックスタートを完了するには、課金が有効になっている Google Cloud プロジェクトが必要です。Cloud プロジェクトがない場合、またはCloud プロジェクトに対して課金が有効になっていない場合は、次の手順を行います。

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

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

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

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

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

  5. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  6. メール通知チャンネルが構成されている場合は、この手順をスキップします。

    メール通知チャンネルを設定する手順は次のとおりです。

    1. Google Cloud Console で Cloud Monitoring を選択するか、次のボタンをクリックします。

      [Monitoring] に移動
    2. [アラート] を選択します。
    3. [通知チャネルの編集] をクリックします。
    4. [Email] セクションで [新しく追加] をクリックし、ダイアログを完成させます。

Compute Engine VM インスタンスを作成

ソフトウェアをインストールして構成するため、このクイックスタートでは新しい Compute Engine VM インスタンスを作成することをおすすめします。

  1. Google Cloud Console で [Compute] に移動し、[Compute Engine] を選択します。

    Compute Engine に移動

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

  3. インスタンスのフィールドに次のように入力します。インスタンスのフィールドに次のように入力します。

    • [名前] フィールドに「quickstart-vm」と入力します。
    • [マシンタイプ] フィールドで Small を選択します。
    • [ブートディスク] が Debian JSON/Linux に構成されていることを確認します。
    • [ファイアウォール] フィールドで、[HTTP トラフィックを許可する] と [HTTPS トラフィックを許可する] の両方を選択します。

    残りのフィールドはデフォルト値のままにします。

  4. [CREATE] をクリックします。VM の準備が整うと、[インスタンス] タブのインスタンスのリストに表示されます。

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

Apache ウェブサーバーを Compute Engine VM インスタンスにデプロイするには、次の手順を行います。

  1. インスタンスへのターミナルを開くには、[接続] 列で [SSH] をクリックします。

  2. インスタンスのパッケージリストを更新するには、次のコマンドを実行します。

    sudo apt-get update
    
  3. 次のコマンドを実行して、Apache2 HTTP Server をインストールします。

    sudo apt-get install apache2 php7.0
    
  4. ブラウザを開き、URL http://EXTERNAL_IP を使用して Apache2 HTTP サーバーに接続します。ここで、EXTERNAL_IP は VM の外部 IP アドレスです。このアドレスは、VM インスタンスの [外部 IP] 列で確認できます。

    Apache2 のデフォルト ページが表示されます。

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

Ops エージェントをインストールして構成する

Apache ウェブサーバーからログと指標を収集するには、ターミナルを使用して Ops エージェントをインストールします。

  1. VM インスタンスへのターミナルを開くには、[接続] 列で [SSH] をクリックします。

  2. Ops エージェントをインストールするには、次のコマンドを実行します。

       curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
       sudo bash add-google-cloud-ops-agent-repo.sh --also-install
    

    次の項目を確認できます。google-cloud-ops-agent installation succeeded.

  3. 次のコマンドをコピーして、ターミナルに貼り付けます。

    # 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 ウェブサーバーからログを取り込む方法については、Apache ウェブサーバー用の Ops エージェントを構成するをご覧ください。

トラフィックの生成と指標の表示

モニタリング ダッシュボードを使用すると、サービスに関連する指標を表示して分析できます。このクイックスタートでは、Apache ウェブサーバーで指標を生成し、自動的に作成された Apache GCE の概要ダッシュボードで指標データを表示します。

Apache ウェブサーバーで指標を生成するには、次の手順を行います。

  1. Google Cloud Console で、Compute Engine に移動します。

    Compute Engine に移動

  2. [接続] 列で、[SSH] をクリックして VM インスタンスへのターミナルを開きます。

  3. Apache ウェブサーバーでトラフィックを生成するには、次のコマンドを実行します。

    timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
    

    上記のコマンドは、4 秒ごとに Apache ウェブサーバーにリクエストを送信して、トラフィックを生成します。

Apache GCE の概要ダッシュボードを表示する手順は次のとおりです。

  1. Google Cloud Console で [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動

  2. ナビゲーション パネルで [ダッシュボード] を選択します。

  3. [すべてのダッシュボード] で、[Apache GCE の概要] ダッシュボードを選択します。ダッシュボードが開きます。

    ダッシュボードには、Apache と Compute Engine の統合に関する情報を含むグラフが表示されます。

    Apache GCE の概要ダッシュボードの例。

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

指標をモニタリングし、Apache ウェブサーバーのトラフィック レートが 4 KiB/秒を超えたときにメール通知を送信するアラート ポリシーを作成するには、次の手順を行います。

  1. Google Cloud Console で [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動

  2. ナビゲーション パネルで [アラート] を選択し、[ポリシーを作成] をクリックします。

  3. モニタリング対象の時系列を選択します。

    1. [指標を選択] をクリックし、フィルタバーに「VM instance」と入力します。

    2. [ACTIVE METRIC CATEGORIES] リストで、[Apache] を選択します。

    3. [ACTIVE METRICS] リストで workload/apache.traffic を選択します。

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

  4. [データの変換] セクションで、次の値を選択します。

    1. ローリング ウィンドウ: 1 分

    2. ローリング ウィンドウ関数: レート

  5. [Configure alert trigger] セクションで、次の値を選択して、[次へ] をクリックします。

    1. アラート トリガー: 時系列違反

    2. しきい値の位置: しきい値より上

    3. しきい値: 4000

  6. [通知を構成してアラートを確定する] セクションで、次の値を選択します。

    1. 通知チャンネル: アラートを受け取るメールアドレス。

    2. インシデントの自動クローズ期間: 30 分

    3. アラート ポリシーに名前を付ける: しきい値を超える Apache トラフィック

  7. [ポリシーを作成] をクリックします。アラート ポリシーが有効になりました。

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

作成したアラート ポリシーをテストするには、次の手順を行います。

  1. Google Cloud Console で [Compute] に移動し、[Compute Engine] を選択します。

    Compute Engine に移動

  2. [接続] 列で、[SSH] をクリックして VM インスタンスへのターミナルを開きます。

  3. ターミナルで次のコマンドを入力します。

    timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
    

    上記のコマンドにより、Apache ウェブサーバーにトラフィックが生成されます。

    Apache ウェブサーバーのトラフィック レートのしきい値が 4 KiB/秒を超えると、メール通知が送信されます。このプロセスが完了するまでに数分かかることがあります。

受信するメール通知は次のようになります。

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

クリーンアップ

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

  • このクイックスタートで新しい Cloud プロジェクトを作成した場合は、その Cloud プロジェクトを削除します。

    1. Google Cloud コンソールで、[リソースの管理] ページに移動します。

      [リソースの管理] に移動

    2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
    3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

  • 既存のプロジェクトに新しい VM を作成した場合は、その VM インスタンスを削除します。

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

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

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

  • このクイックスタートで既存の VM インスタンスを使用した場合は、Ops エージェントをアンインストールします。

    1. Ops エージェントをアンインストールするには、ターミナルを開いて次のコマンドを実行します。

      sudo bash add-google-cloud-ops-agent-repo.sh --uninstall
      

次のステップ

  • カスタム ダッシュボードの作成方法については、カスタム ダッシュボードを管理するをご覧ください。

  • Cloud Logging を使用して Compute Engine VM にインストールされた Apache ウェブサーバーのログを表示する方法については、Compute Engine VM 用の Cloud Logging をご覧ください。

  • ログとそのモニタリングの関係については、ロギングをご覧ください。

  • Google Cloud でサポートされている指標の一覧については、指標の一覧をご覧ください。独自の Monitoring 指標を作成する場合は、カスタム指標をご覧ください。