31. モニタリングログ のご利用方法


31.1. 本チュートリアルについて

本チュートリアルでは、ECL2.0 モニタリングログにおける、「ご利用開始までの流れ」「ご提供する環境」「Google BigQuery」の操作方法をご説明します。

31.2. ログの検索・閲覧操作

モニタリングログにおけるログの検索方法について説明いたします。
ダッシュボードからモニタリングログを選択してください
../../_images/monlog_top1.png

31.3. ログ検索画面

モニタリングログポータルのログ検索画面が表示されます。
ログ検索画面では、任意の「検索条件」を指定して「検索」をクリックすると、条件に合致する検索結果が表示されます。
なお、検索結果として100,000件以上ログが存在する場合は、時系列で新しいものから100,000件を表示します。
../../_images/monlog_sr1.png

31.3.1. 検索項目の説明

ログ検索における検索項目の説明をいたします。以下の項目で検索が可能です。
検索項目 説明 選択肢
開始時刻 / 終了時刻 検索対象の開始時刻や終了時刻を指定することで、検索対象期間を指定することができます。
ECLトランザクションID 一連のログを関連づけるIDです。
リクエストメソッド
APIリクエストのHTTPメソッドです。
対象のリクエストメソッドはプルダウンで選択できます。
指定なし
GET
POST
PUT
DELETE
PATCH
HEAD
CONNECT
OPTIONS
TRACE
ステータスコード
APIレスポンスのHTTPステータスコードです。
半角数字3桁(完全一致)で指定することで検索ができます。
URL
APIリクエストのURLです。
URLはリクエストホスト、リクエストパス、クエリパラメータで構成されており、いずれかに含まれている文字を指定することで部分一致検索が可能です。

31.3.2. 詳細検索項目

検索項目 説明 選択肢
ダッシュボード経由
ポータルでアクセスしたか、APIを実行したかの違いを表すものです。
ポータルでアクセスした場合は、[ダッシュボード経由あり]です。
指定なし
経由あり(ダッシュボードを経由して操作したログ)
経由なし(ダッシュボードを経由せず操作したログ)
操作ID 操作ログを一意に表すIDです。
API呼び出し元IP APIリクエストのソースIPアドレスを指定できます。
ECLユーザーID Enterprise Cloud 2.0のユーザーIDです。
ユーザーエージェント APIを呼び出したクライアントのユーザーエージェントです。
リクエストボディ リクエストボディを指定できます。

31.4. ログ検索結果

31.4.1. 一覧表示

検索したい対象をしぼりこみ、「検索」をクリックすると結果が一覧表示されます。

<例1> 仮想サーバーに関する操作ログで絞り込む場合
「URL」にエンドポイントURLの、[Region Name]以前の部分を指定していただくと、特定のサービスのAPIのみ抽出することができます。
APIリファレンス(https://ecl.ntt.com/documents/api-references/)から検索したいサービスに対応したエンドポイントURLを調査してご指定ください。
例では、仮想サーバのエンドポイントURLは、nova-[Region Name]-ecl.api.ntt.com なので、この場合は、「nova」と記載して検索してください。
../../_images/monlog_sr2.png

<例2> HTTPステータスコードで絞り込む場合
「ステータスコード」に検索したいコードを入力し、「検索」をクリック
例では、404のコードのみを検索
../../_images/monlog_sr4.png

<例3> 詳細条件で検索する場合
画面右にある下矢印をクリックし、詳細条件を開いてください。
必要な条件を入力すると、AND条件で検索をします。
例では、ECLユーザーIDが「ecid100155***4@ecl.ntt.com」 かつ ステータスコードが「200」のログを検索します。
../../_images/monlog_sr5.png

結果は以下のように表示されます。
../../_images/monlog_sr6.png

31.4.2. 詳細表示

「詳細」をクリックするとそのログの詳細情報が表示されます。
../../_images/monlog_sr3.png

31.5. ログの転送設定

モニタリングログにおけるログの転送設定方法について説明いたします。
事前に転送先としてBigQueryをご用意ください。
BigQuery に関する情報は下記のドキュメントをご確認ください。
新規転送設定をするには、モニタリングログポータル上で「転送設定一覧」を選択し、「作成」をクリックします。
../../_images/monlog_fw1.png

転送設定作成画面では以下の項目を記載してください。
../../_images/monlog_fw2.png

設定項目 説明 必須項目 入力に対する注意事項
転送設定名 転送設定の名前を作成できます 32文字以内
説明 転送設定の説明を記載できます   255文字以内
転送設定タイプ 転送先のタイプをプルダウンで選択します 現在はBigQueryのみ選択できます

BigQueryを選択すると、設定画面に遷移します。
この画面では以下の項目を設定してください。
転送状態を「有効」にして、「保存」をクリックすると転送が開始されます。
../../_images/monlog_fw3.png

設定項目 説明 入力に対する注意事項
GCP転送サービスアカウント
転送に利用されるGCPサービスアカウント情報です。
転送を開始する前に、記載されているサービスアカウントに転送先GCPプロジェクトのBigQuery編集権限を付与してください。
 
GCPプロジェクトID 転送先となるBigQueryを保有するGCPプロジェクトIDです。 30文字以内
データセット名
お客様にて設定されている転送先BigQueryのデータセット名です。
予め作成してから転送を有効にしてください。
指定したデータセット内にログが保存されるテーブルが作成されます。
半角英数字と「_」のみ入力できます。
1024文字以内
テーブル名
転送先BigQueryのテーブル名です。
ログが発生した段階で、設定したテーブル名で新しくテーブルが作成されます。
半角英数字と「_」のみ入力できます。
1024文字以内
転送状態
転送設定の有効/無効をプルダウンで選択できます。
エラーになってしまった場合に、再度転送を有効にする際にもこちらから有効にしてください。
有効にすると直ちにログ転送が開始されますので、GCP転送サービスアカウントにBigQuery編集権限を付与していない場合や転送先Google BigQueryが無料枠のため書込が制限されている場合や、データセットが作成されていない状態では、転送がエラーになってしまいます。
無効を選択して保存すると、ログ転送は開始されません。

31.5.1. ログの転送がエラーになった場合

GCP転送サービスアカウントにBigQuery編集権限を付与していない場合や転送先Google BigQueryが無料枠のため書込が制限されている場合は、データセットが作成されていない状態では、転送がエラーになってしまいます。
その場合は、エラー原因を解決したのちに、「編集」をクリックします。
../../_images/monlog_fw6.png

転送状態のプルダウンを、「有効」に変更し、「保存」をクリックしてください。
転送が再開されます。
../../_images/monlog_fw7.png

詳細表示

表示されるエラー原因 対処法
ログ転送先のGCPプロジェクトが存在しません。
転送設定のGCPプロジェクトIDが正しく入力されているかどうかご確認ください。
(GCPプロジェクト名ではなく、GCPプロジェクトIDを指定する必要がありますのでご注意ください。)
ログ転送先のデータセットが存在しません。 指定したGCPプロジェクトのBigQueryに存在するデータセット名が正しく設定されているかを確認してください。
ログ転送先のテーブルのスキーマが不適切です。
指定したデータセットの配下に記載したテーブル名と同じ名前で既にスキーマが違うテーブルが作られている場合などに発生します。
未使用のテーブル名を記載してください。
ログ転送先への接続が拒否されました。GCP転送サービスアカウントに権限が付与されていないか、転送先Google BigQueryが無料枠のため書き込みが制限されている可能性があります。
・権限を付与する
本チュートリアルの”BigQuery 編集権限付与について”を参照して、GCP転送サービスアカウントに権限を付与してください。
・有料枠での利用を開始する
$300無料トライアルの対象の場合は、設定することができません。
すぐにご利用になりたい場合は、Hybrid Cloud with GCPをご契約ください。
想定外のエラーによってログ転送が失敗しました。
上記の原因以外のエラーが発生しています。
転送状態を”有効”に更新しても再びエラーとなって復旧できない場合、エラー内容を弊社にお問い合わせください。

31.5.2. BigQuery 編集権限付与について

GCP転送サービスアカウントの設定方法について説明します。
転送先のBigQueryにログインして、「Share dataset」をクリックします。
../../_images/monlog_fw4.png

「Add people」の欄に、「GCP転送サービスアカウント」を記載して、「Add」をクリックしてください。
../../_images/monlog_fw5.png

31.6. (参考) Google BigQueryの操作方法

31.6.1. Google BigQueryの閲覧方法


  1. GCPへログイン
    • 申込時にご指定いただいたGoogle Account Userでログインしてください。ログイン先は GCPポータル となります。

  1. Google BigQueryの表示
    • ダッシュボードの左メニューをプルダウンし、「BigQuery」を選択すると、Google BigQueryが表示されます。

  1. データセットの表示

    • Google BigQueryのトップ画面から該当のGCP プロジェクト(ECL2-MonitoringLogs)を選択すると、データセットが表示されます。
    ../../_images/logging_bq_top.png

  1. テーブルの表示

    • 表示されているデータセット(ECL2_MonitoringLogs)の配下にテーブル(audit)が表示されます。これを選択すると画面右側にテーブルの詳細が表示されます
    ../../_images/logging_bq_top2.png

  1. 「Schema」「Details」「Preview」

    • 下記図のように、テーブルのスキーマ、詳細、プレビューを選択できます。
    ../../_images/logging_bq_top3.png
    ボタン名 説明
    Schema
    Tableの構造が表示されています。
    Exportする際などのご参考としてご利用ください。
    ※変更してしまうと正常にログ転送が行われなくなってしまいますのでご注意ください。
    Details
    Tableの詳細情報が表示されています。
    データの容量の確認やExpiration Timeの設定などにご利用いただけます。
    Preview ログの一部をプレビューすることができます。

  1. ログのプレビュー

    • 「Preview」ボタンをクリックすると、ログを閲覧することができます。
    ../../_images/logging_bq_preview.png

    注釈

    GCP BigQuery入門ガイド
    Google BigQueryのその他の操作方法については以下のリンクをご確認ください。


31.6.2. ログの検索方法

クエリを使うと、Tableから任意のログを抽出することができます。
ここでは、ログの検索方法を説明します。

  1. クエリ画面表示

    • 「Query Table」ボタンをクリックし、クエリ画面を表示します。
    ../../_images/BQ_TOP.png

  1. クエリの記入

    • 以下のようなクエリ実行画面が表示されますので、クエリを記入します。
    ../../_images/BQ_SQL.png

  1. クエリの実行
    • 「RUN QUERY」ボタンをクリックするとクエリの実行結果が画面下段に表示されます。
  2. ログのダウンロード
    • 「Download as CSV」や「Download JSON」ボタンをクリックすることで、それぞれの形式でログをダウンロードできます。

31.6.3. クエリ例

下記は、全てデフォルトで利用できる「legacy SQL 」を利用した例となります。

31.6.3.1. 特定ECL2.0テナントの操作履歴

tenant_idを指定することで、特定ECL2.0テナントのログを抽出できます。
SELECT * FROM
[{GCP プロジェクトID}:ECL2_MonitoringLogs.audit]
WHERE
tenant_id = "{ECL2.0テナントID}" ←ECL2.0テナントIDを指定
ORDER  BY timestamp DESC
LIMIT 1000

31.6.3.2. ユーザーIDの操作履歴

下記の例では、audit.usernameにECL2.0のユーザーIDを指定することで、特定ユーザーIDのログを抽出します。
SELECT * FROM
[{GCP プロジェクトID}:ECL2_MonitoringLogs.audit]
WHERE
_PARTITIONTIME >= "2018-04-16 00:00:00" AND _PARTITIONTIME < "2018-04-17 00:00:00"
AND
audit.username = "{ECL2.0のユーザーID}"   ← 例:ecid1000XXXXXX@ecl.ntt.com
ORDER  BY timestamp DESC
LIMIT 1000

31.6.3.3. 定期間の操作履歴

timestampに期間を指定して抽出することができます。
この例では、抽出期間を2018/04/05〜2018/04/11としています。
SELECT * FROM
[{GCPプロジェクトID}:ECL2_MonitoringLogs.audit]
WHERE
_PARTITIONTIME >= "2018-04-05 00:00:00" AND _PARTITIONTIME < "2018-04-13 00:00:00"
AND
timestamp >= "2018-04-05 00:00:00"
AND
timestamp < "2018-04-12 00:00:00"
ORDER  BY timestamp DESC
LIMIT 1000

31.6.3.4. 仮想サーバーの作成履歴

エンドポイントのホスト、パス、メソッドを指定することで、以下のように仮想サーバーの作成履歴を確認できます。
この場合、検索結果の「audit_request_body」に作成時に指定した設定内容を確認できます。
SELECT * FROM
[{GCP プロジェクトID}:ECL2_MonitoringLogs.audit]
WHERE
_PARTITIONTIME >= "2018-04-16 00:00:00" AND _PARTITIONTIME < "2018-04-17 00:00:00"
AND
audit.host="nova-jp2-ecl.api.ntt.com" ←仮想サーバーのエンドポイントを指定
AND
audit.path="/v2/{ECL2.0のテナントID}/servers" ←仮想サーバーのAPIを指定
AND
audit.method="POST"
ORDER  BY timestamp DESC
LIMIT 1000

注釈

GCP クエリリファレンス
クエリを作成する場合の詳細な内容については、以下のリファレンスをご確認ください。