11.2. モニタリングログ のご利用方法¶
11.2.1. 本チュートリアルについて¶
本チュートリアルでは、ECL2.0 モニタリングログにおける、「ご利用開始までの流れ」「ご提供する環境」「Google BigQuery」の操作方法をご説明します。
11.2.3. ログ検索画面¶
モニタリングログポータルのログ検索画面が表示されます。
ログ検索画面では、任意の「検索条件」を指定して「検索」をクリックすると、条件に合致する検索結果が表示されます。
なお、検索結果として100,000件以上ログが存在する場合は、時系列で新しいものから100,000件を表示します。
11.2.3.1. 検索項目の説明¶
ログ検索における検索項目の説明をいたします。以下の項目で検索が可能です。
検索項目 | 説明 | 選択肢 |
開始時刻 / 終了時刻 | 検索対象の開始時刻や終了時刻を指定することで、検索対象期間を指定することができます。 | ー |
ECLトランザクションID | 一連のログを関連づけるIDです。 | ー |
リクエストメソッド | APIリクエストのHTTPメソッドです。
対象のリクエストメソッドはプルダウンで選択できます。
|
指定なし
GET
POST
PUT
DELETE
PATCH
HEAD
CONNECT
OPTIONS
TRACE
|
ステータスコード | APIレスポンスのHTTPステータスコードです。
半角数字3桁(完全一致)で指定することで検索ができます。
|
ー |
URL | APIリクエストのURLです。
URLはリクエストホスト、リクエストパス、クエリパラメータで構成されており、いずれかに含まれている文字を指定することで部分一致検索が可能です。
|
ー |
11.2.3.2. 詳細検索項目¶
検索項目 | 説明 | 選択肢 |
ダッシュボード経由 | ポータルでアクセスしたか、APIを実行したかの違いを表すものです。
ポータルでアクセスした場合は、[ダッシュボード経由あり]です。
|
指定なし
経由あり(ダッシュボードを経由して操作したログ)
経由なし(ダッシュボードを経由せず操作したログ)
|
操作ID | 操作ログを一意に表すIDです。 | ー |
API呼び出し元IP | APIリクエストのソースIPアドレスを指定できます。 | ー |
ECLユーザーID | Enterprise Cloud 2.0のユーザーIDです。 | ー |
ユーザーエージェント | APIを呼び出したクライアントのユーザーエージェントです。 | ー |
リクエストボディ | リクエストボディを指定できます。 | ー |
11.2.4. ログ検索結果¶
11.2.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」と記載して検索してください。
<例2> HTTPステータスコードで絞り込む場合
「ステータスコード」に検索したいコードを入力し、「検索」をクリック
例では、404のコードのみを検索
<例3> 詳細条件で検索する場合
画面右にある下矢印をクリックし、詳細条件を開いてください。
必要な条件を入力すると、AND条件で検索をします。
例では、ECLユーザーIDが「ecid100155***4@ecl.ntt.com」 かつ ステータスコードが「200」のログを検索します。
結果は以下のように表示されます。
11.2.5. ログの転送設定¶
モニタリングログにおけるログの転送設定方法について説明いたします。
事前に転送先としてBigQueryをご用意ください。
BigQuery に関する情報は下記のドキュメントをご確認ください。
新規転送設定をするには、モニタリングログポータル上で「転送設定一覧」を選択し、「作成」をクリックします。
転送設定作成画面では以下の項目を記載してください。
設定項目 | 説明 | 必須項目 | 入力に対する注意事項 |
転送設定名 | 転送設定の名前を作成できます | ◯ | 32文字以内 |
説明 | 転送設定の説明を記載できます | 255文字以内 | |
転送設定タイプ | 転送先のタイプをプルダウンで選択します | ○ | 現在はBigQueryのみ選択できます |
BigQueryを選択すると、設定画面に遷移します。
この画面では以下の項目を設定してください。
転送状態を「有効」にして、「保存」をクリックすると転送が開始されます。
設定項目 | 説明 | 入力に対する注意事項 |
GCP転送サービスアカウント | 転送に利用されるGCPサービスアカウント情報です。
転送を開始する前に、記載されているサービスアカウントに転送先GCPプロジェクトのBigQuery編集権限を付与してください。
|
|
GCPプロジェクトID | 転送先となるBigQueryを保有するGCPプロジェクトIDです。 | 30文字以内 |
データセット名 | お客様にて設定されている転送先BigQueryのデータセット名です。
予め作成してから転送を有効にしてください。
指定したデータセット内にログが保存されるテーブルが作成されます。
|
半角英数字と「_」のみ入力できます。
1024文字以内
|
テーブル名 | 転送先BigQueryのテーブル名です。
ログが発生した段階で、設定したテーブル名で新しくテーブルが作成されます。
|
半角英数字と「_」のみ入力できます。
1024文字以内
|
転送状態 | 転送設定の有効/無効をプルダウンで選択できます。
エラーになってしまった場合に、再度転送を有効にする際にもこちらから有効にしてください。
|
有効にすると直ちにログ転送が開始されますので、GCP転送サービスアカウントにBigQuery編集権限を付与していない場合や転送先Google BigQueryが無料枠のため書込が制限されている場合や、データセットが作成されていない状態では、転送がエラーになってしまいます。
無効を選択して保存すると、ログ転送は開始されません。
|
11.2.5.1. ログの転送がエラーになった場合¶
GCP転送サービスアカウントにBigQuery編集権限を付与していない場合や転送先Google BigQueryが無料枠のため書込が制限されている場合は、データセットが作成されていない状態では、転送がエラーになってしまいます。
その場合は、エラー原因を解決したのちに、「編集」をクリックします。
転送状態のプルダウンを、「有効」に変更し、「保存」をクリックしてください。
転送が再開されます。
詳細表示
表示されるエラー原因 | 対処法 |
ログ転送先のGCPプロジェクトが存在しません。 | 転送設定のGCPプロジェクトIDが正しく入力されているかどうかご確認ください。
(GCPプロジェクト名ではなく、GCPプロジェクトIDを指定する必要がありますのでご注意ください。)
|
ログ転送先のデータセットが存在しません。 | 指定したGCPプロジェクトのBigQueryに存在するデータセット名が正しく設定されているかを確認してください。 |
ログ転送先のテーブルのスキーマが不適切です。 | 指定したデータセットの配下に記載したテーブル名と同じ名前で既にスキーマが違うテーブルが作られている場合などに発生します。
未使用のテーブル名を記載してください。
|
ログ転送先への接続が拒否されました。GCP転送サービスアカウントに権限が付与されていないか、転送先Google BigQueryが無料枠のため書き込みが制限されている可能性があります。 | ・権限を付与する
本チュートリアルの"BigQuery 編集権限付与について"を参照して、GCP転送サービスアカウントに権限を付与してください。
・有料枠での利用を開始する
$300無料トライアルの対象の場合は、設定することができません。
すぐにご利用になりたい場合は、Hybrid Cloud with GCPをご契約ください。
|
想定外のエラーによってログ転送が失敗しました。 | 上記の原因以外のエラーが発生しています。
転送状態を"有効"に更新しても再びエラーとなって復旧できない場合、エラー内容を弊社にお問い合わせください。
|
11.2.5.2. BigQuery 編集権限付与について¶
GCP転送サービスアカウントの設定方法について説明します。
転送先のBigQueryにログインして、「Share dataset」をクリックします。
「Add people」の欄に、「GCP転送サービスアカウント」を記載して、「Add」をクリックしてください。
11.2.6. (参考) Google BigQueryの操作方法¶
11.2.6.1. Google BigQueryの閲覧方法¶
- GCPへログイン
- 申込時にご指定いただいたGoogle Account Userでログインしてください。ログイン先は GCPポータル となります。
- Google BigQueryの表示
- ダッシュボードの左メニューをプルダウンし、「BigQuery」を選択すると、Google BigQueryが表示されます。
データセットの表示
- Google BigQueryのトップ画面から該当のGCP プロジェクト(ECL2-MonitoringLogs)を選択すると、データセットが表示されます。
テーブルの表示
- 表示されているデータセット(ECL2_MonitoringLogs)の配下にテーブル(audit)が表示されます。これを選択すると画面右側にテーブルの詳細が表示されます
「Schema」「Details」「Preview」
- 下記図のように、テーブルのスキーマ、詳細、プレビューを選択できます。
ボタン名 説明 Schema Tableの構造が表示されています。Exportする際などのご参考としてご利用ください。※変更してしまうと正常にログ転送が行われなくなってしまいますのでご注意ください。Details Tableの詳細情報が表示されています。データの容量の確認やExpiration Timeの設定などにご利用いただけます。Preview ログの一部をプレビューすることができます。
ログのプレビュー
- 「Preview」ボタンをクリックすると、ログを閲覧することができます。
注釈
11.2.6.2. ログの検索方法¶
クエリを使うと、Tableから任意のログを抽出することができます。
ここでは、ログの検索方法を説明します。
クエリ画面表示
- 「Query Table」ボタンをクリックし、クエリ画面を表示します。
クエリの記入
- 以下のようなクエリ実行画面が表示されますので、クエリを記入します。
- クエリの実行
- 「RUN QUERY」ボタンをクリックするとクエリの実行結果が画面下段に表示されます。
- ログのダウンロード
- 「Download as CSV」や「Download JSON」ボタンをクリックすることで、それぞれの形式でログをダウンロードできます。
11.2.6.3. クエリ例¶
下記は、全てデフォルトで利用できる「legacy SQL 」を利用した例となります。
特定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
ユーザー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
定期間の操作履歴¶
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
仮想サーバーの作成履歴¶
エンドポイントのホスト、パス、メソッドを指定することで、以下のように仮想サーバーの作成履歴を確認できます。
この場合、検索結果の「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
注釈