Ops エージェントを使用して Apache からログを収集する
Ops エージェントを使用して、Compute Engine 仮想マシン(VM)インスタンスにインストールされた Apache ウェブサーバーから収集された syslog
ログを収集して表示する方法について説明します。このクイックスタートの手順と同様のプロセスを使用して、他のサードパーティ アプリケーションをモニタリングできます。
このクイックスタートでは、以下のことを行います。
- Compute Engine VM インスタンスを作成し、Ops エージェントをインストールします。
- Apache ウェブサーバーをインストールします。
- Apache ウェブサーバーの Ops エージェントを構成します。
- ログ エクスプローラでログを表示します。
- ログベースのアラートを作成します。
- アラートをテストします。
- クリーンアップする。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。
準備
-
組織で定義されているセキュリティの制約により、次の手順を完了できない場合があります。トラブルシューティング情報については、制約のある Google Cloud 環境でアプリケーションを開発するをご覧ください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.
VM インスタンスを作成する
-
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Compute Engine] の結果を選択します。
[インスタンスを作成] をクリックして、VM を作成します。
- [
名前 ] フィールドにわかりやすい名前を入力します。 [マシンタイプ] フィールドで [e2-small] を選択します。- [
ブートディスク ] セクションで、[Debian GNU/Linux] をデフォルト設定のままにします。 [ファイアウォール] セクションで、[HTTP トラフィックを許可する] と [HTTPS トラフィックを許可する] の両方を選択します。- [オブザーバビリティ - Ops エージェント] セクションで、[Monitoring と Logging 用の Ops エージェントをインストールする] を選択します。
- [
作成 ] をクリックします。
Apache ウェブサーバーをインストールする
Apache ウェブサーバーを Compute Engine VM インスタンスにインストールする手順は次のとおりです。
[VM インスタンス] ページで、新しい VM を見つけて [接続] 列に移動し、[SSH] をクリックします。
接続できない場合は、SSH のトラブルシューティングをご覧ください。
パッケージ リストを更新するには、次のコマンドをクリップボードにコピーし、SSH ターミナルにコマンドを貼り付け、Enter キーを押します。
sudo apt-get update
SSH ターミナルで、「パッケージ リストを読み取っています...完了」のメッセージを確認した後、次のコマンドを実行して、Apache2 ウェブサーバーをインストールします。
sudo apt-get install apache2 php7.0
インストールを続行するように求められたら、
Y
と入力します。インストールのコマンドが失敗した場合、sudo apt-get install apache2 php
を使用します。コマンド プロンプトが返されたら、[VM インスタンス] ページに移動し、VM の外部 IP アドレスを次の URL にコピーします。
http://EXTERNAL_IP
Apache ウェブサーバーに接続するには、新しいブラウザタブを開き、前のステップの URL を入力します。
ウェブサーバーが正常にインストールされると、ブラウザタブに Apache2 Debian のデフォルト ページが表示されます。
Apache ウェブサーバーのログと指標を収集する
これらの手順では、Apache ウェブサーバーからログと指標を収集するように Ops エージェントを構成します。VM インスタンスの SSH ターミナルに移動します。 ターミナルを開いていない場合は、次のようにします。
-
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Compute Engine] の結果を選択します。
- 新しい VM を見つけて、[SSH] をクリックします。
-
次のコマンドをコピーして、インスタンスのターミナルに貼り付け、Enter キーを押します。
上記のコマンドにより、Apache ウェブサーバーからログと指標を収集して取り込むための構成が作成されます。詳細については、Apache ウェブサーバーの Ops エージェントを構成するをご覧ください。
- コマンド プロンプトが表示されるまで待ちます。これは少なくとも 60 秒かかります。
Apache ウェブサーバーのログを表示する
Google Cloud コンソールでログを表示するには、ログ エクスプローラを使用します。
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。
最新のログが [クエリ結果] ペインに表示されます。
ツールバーで [クエリを表示] が有効になっていることを確認します。
Apache ウェブサーバーのログを表示するには、次のクエリを作成して実行します。
Google Cloud プロジェクト セレクタから Google Cloud プロジェクトのリストを展開し、Google Cloud プロジェクト ID をクリップボードにコピーします。
次の式で、コピーした ID を PROJECT_ID に貼り付け、クエリエディタにコピーします。
resource.type="gce_instance" logName=("projects/PROJECT_ID/logs/apache_access" OR "projects/PROJECT_ID/logs/apache_error")
前のクエリが実行されると、
apache_access
ログエントリとapache_error
ログエントリのみが表示されます。[
クエリを実行 ] をクリックします。クエリの結果が [クエリ結果] ペインに表示されます。
Apache ウェブサーバーからログと指標を収集するように Ops エージェントを構成し、それらのログを表示しました。次のステップでは、ログに特定のパターンが発生したときに通知するアラート ポリシーを作成します。
メール通知チャンネルを作成する
アラート ポリシーを作成する前に、アラート ポリシーで使用する通知チャンネルを構成します。Cloud Monitoring は、メール、Slack、PagerDuty、Pub/Sub など、多くの異なる種類の通知チャンネルをサポートしています。詳細については、通知チャンネルを作成して管理するをご覧ください。 メールで通知されるには、次のようにします。-
Google Cloud コンソールで、notifications [アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- ツールバーで [通知チャンネルの編集] をクリックします。
- [通知チャンネル] ページで
[メール] までスクロールし、[新しく追加] をクリックします。 - メールアドレス(表示名
My email
など)を入力して、[保存] をクリックします。
ログベースのアラートの作成
ログエントリに特定のメッセージが表示されたときに通知を受けるには、ログベースのアラートを作成します。このセクションでは、ログエントリに 404 Not Found
メッセージが表示されたときに通知されるように、ログベースのアラートを作成します。
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。
[クエリ結果] ツールバーで、add_alert [アラートを作成] をクリックします。ログベースのアラート ポリシー ペインが開きます。
[アラートの詳細] で、[アラート ポリシー名] フィールドに「
404 Not Found
」と入力します。[このアラートに含めるログを選択] で、次の操作を行います。
- ログフィルタのテキスト ボックスにあるコンテンツをすべて削除します。
次のクエリをコピーして、ログフィルタ テキスト ボックスに貼り付けます。
severity>=DEFAULT /help httpRequest.status=404
以前のログフィルタでは、
severity
のレベルがDEFAULT
以上で、テキスト/help
が含まれ、404
のhttpRequest
ステータスが含まれるログエントリが検索されます。
[通知頻度と自動クローズ期間の設定] セクションで、次のようにします。
- [通知の間隔] フィールドを [5 分] に設定します。
- [インシデントの自動クローズ期間] フィールドを [30 分] に設定します。
[通知対象] で [通知チャンネル] メニューからメールを選択し、[保存] をクリックします。
アラート ポリシーをテストする
アラート ポリシーをテストするには、次の手順を行います。
VM インスタンスの SSH ターミナルに移動します。 ターミナルを開いていない場合は、次のようにします。
-
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Compute Engine] の結果を選択します。
- 新しい VM を見つけて、[SSH] をクリックします。
-
サーバーで架空のページ
localhost/help
を検索するには、次のコマンドを実行します。curl localhost/help
ターミナルに
404 Not Found
メッセージが表示されると、メール通知が送信されます。このプロセスが完了するまで数分かかります。受信するメール通知は、次の例のようになります。
新しいログエントリを表示するには、次のようにします。
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。
- ツールバーで [現在の位置に移動] をクリックします。
-
Apache ウェブサーバーからログと指標を収集するように Ops エージェントを構成しましたが、ログを表示したのみです。Apache ウェブサーバーの指標を表示する方法については、Ops エージェントを使用した Apache ウェブサーバーの指標の収集: トラフィックの生成をご覧ください。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
新しいプロジェクトを作成し、プロジェクトがもう必要でなくなった場合は、プロジェクトを削除します。
既存のプロジェクトを使用した場合は、次のようにします。
VM を作成した場合は、それを削除します。
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
作成したアラート ポリシーを削除します。
-
Google Cloud コンソールで、notifications [アラート] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- 作成したアラート ポリシーを選択して、[
削除 ] をクリックします。
-
次のステップ
Ops エージェントとサポートされている統合については、以下をご覧ください。
ログ エクスプローラでのログの表示については、ログ エクスプローラを使用してログを表示するをご覧ください。
ログ エクスプローラでのクエリについては、ログ エクスプローラでクエリを作成するをご覧ください。
Apache ウェブサーバーの指標を収集して表示する方法については、クイックスタート Ops エージェントを使用した Apache ウェブサーバーの指標の収集をご覧ください。
Monitoring と Cloud Logging との関係については、Monitoring をご覧ください。