レポートでサーバーの使用状況を確認する

GCP Console で使用できる Stackdriver Logging ツールを利用すると、サーバーの使用状況の履歴データを表示できます。これは特定のノードの VM が物理サーバーに配置され、物理サーバー ID を取得するたびに表示できるため、役立つことがあります。

始める前に

Stackdriver Logging で物理サーバーの使用状況を表示するには、最初からデータを収集できるように、単一テナントノードに VM をリリースする前に、Stackdriver Logging API を有効にする必要があります。すでに Logging が有効になっていて VM をリリースしている場合でも、このサービスを有効にできますが、アクセスできるのは Logging が有効になったとき以降に収集されたデータのみです。

Stackdriver Logging API を有効にする

サーバー ID の取得

単一テナントノードの物理サーバー ID を取得するには、次の手順を行います。

  1. GCP Console の [Stackdriver Logging] > [ログ](ログビューア)ページに移動します。

    ログビューア ページに移動

  2. プロンプトが表示されたら、既存の GCP プロジェクトを選択します。

  3. 最初のプルダウン メニューで、[GCE VM インスタンス] を選択します。

  4. 3 番目のプルダウン メニューで、結果を制限する制限時間を制限します。

  5. テキスト ボックスに、「text:NotifyInstanceLocation」と入力します。

    フィルタリング結果のスクリーンショット

  6. 各エントリの結果を展開し、serverId を探します。serverId は、単一テナントノードをサポートする物理サーバーの一意の識別子です。n1-node-96-624 node-type をサポートする物理サーバーには、56 個の物理コアがあります。

    サーバー ID のスクリーンショット

BigQuery へのライセンス データのエクスポート

コアごと、ソケットごとの使用状況を確認するために、システム イベント情報を BigQuery データセットにエクスポートできます。

  1. 最初のプルダウン メニューで、[GCE VM インスタンス] が選択されていることを確認します。
  2. [ログビューア] ページの上部にある [エクスポートを作成] をクリックします。
  3. シンク名を入力し、[シンクサービス] として [BigQuery] を選択して、BigQuery データセットを選択することによって、データシンクを作成します。

作成すると、データシングがその後のすべての監査ログ アクティビティを受け取ります。これは BigQuery がサーバーの使用状況に関する将来の見通しを受け取ることを意味します。BigQuery 統合の設定前のデータにはアクセスできないことに注意してください。

BigQuery でサーバーの使用状況を特定するためのサンプルクエリ

このセクションでは、読者が BigQuery でのクエリの実行に精通していることを前提とします。

cloudaudit_googleapis_com_activity_[DATE] テーブルに対して次のクエリを実行し、カスタム イメージを使用するインスタンスのリストを特定します。

-- QUERY TO IDENTIFY ALL INSTANCE IDs USING A SPECIFIC SOURCE IMAGE
SELECT resource.labels.instance_id, resource.labels.project_id, resource.labels.zone, disks.initializeparams.sourceimage
FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_activity_*`, UNNEST(protopayload_auditlog.request_instances_insert.disks) AS disks
WHERE disks.initializeparams.sourceimage LIKE '%[BYOL_IMAGE_NAME]%'

次に、VM インスタンスを使用して、次のクエリで各インスタンスのホストを特定できます。

-- QUERY TO IDENTIFY ALL SERVER IDs USED BY A PROJECT
SELECT protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.serverid, protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.timestamp,
56 AS physical_cores
FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_system_event_*`
GROUP BY 1,2

結合クエリの例:

-- QUERY TO IDENTIFY ALL INSTANCE IDs USING A SPECIFIC SOURCE IMAGE
SELECT
resource.labels.instance_id, protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.serverid as server_id, protopayload_auditlog.metadata_audit_gceinstancelocationmetadata.timestamp,
56 AS physical_cores,
2 AS physical_sockets
FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_system_event_*`
WHERE resource.labels.instance_id IN (
SELECT resource.labels.instance_id
FROM `[MY_BYOL_PROJECT_SINK_NAME].cloudaudit_googleapis_com_activity_*`, UNNEST(protopayload_auditlog.request_instances_insert.disks) AS disks
WHERE disks.initializeparams.sourceimage LIKE '%[BYOL_IMAGE_NAME]%')
GROUP BY 1,2,3
ORDER BY 1 ASC,3 ASC;

ここで

  • [MY_BYOL_PROJECT_SINK_NAME] は、作成したデータシンクの名前です。
  • [BYOL_IMAGE_NAME] は Bring Your Own License(BYOL)に使用されるイメージの名前です。

日付の選択にワイルドカードを使用する方法や、BigQuery でクラウド監査ログに対してクエリを実行するために役立つその他のヒントについては、クラウド監査ログのドキュメントをご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント