0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Cloudでの各種オペレーションの時間測定方法について

Posted at

0. はじめに

検証内容の一つに各サービスのスケールアップにかかる時間を図るというものがあります。それにあたり、ロギングサービスのCloud Logging(AWSのCloudWatch Logs相当)を利用してAlloyDBのスケールアップにかかる時間の測定を実施しました。測定の中でCloud Loggingの見方を調べましたので、本ブログにて共有させて頂きます。

1. 操作のログ

まず、サービスの操作はコンソールで実行するにしろコマンドで実行するにしろ最終的にAPI オペレーションが行われます。AlloyDBのスケールアップの場合は「UpdateInstance」API オペレーションになります。そしてAPI オペレーションはAudit Logの管理アクティビティ監査ログ(※1)として出力されます。

※1 AlloyDBのAudit Logの管理アクティビティ監査ログについては公式サイト「監査ログを使用してアクセスを監視する」を参照ください。(https://cloud.google.com/alloydb/docs/audit-logging#audited_operations)

Audit LogはCloud Loggingに出されます。
ログエクスプローラーにてリソースの種類(RESOURCE TYPE)を「監査対象リソース」(Audit Log)で選択する。もしくはクエリに直接「resource.type="audited_resource"」と入れるとAudit Logが表示されます。
01.png

2. 操作のログが複数のエントリに分かれる場合

DBのスケールアップのような時間のかかる操作は1つのオペレーションが複数のログエントリに分割されます。

一連のオペレーションのログをどのように見分けるかという話ですが、以下のようにoperationフィールドを見ると判別できるようです。(※2)

※2 公式サイトを参照(https://cloud.google.com/logging/docs/audit/understanding-audit-logs?hl=ja#large_or_long-running_audit_log_entries)

以下にAlloyDBの更新(スペックアップ)時のログの抜粋を記載します。

[開始ログ抜粋]

  • first: true:一連のオペレーションの最初のログであることを示します。
  • id:一連のオペレーションであることを示すIDです。
{
  "operation": {
    "first": true,
    "id": "projects/jp-testproject-00/locations/asia-northeast1/operations/operation-1694651522470-60546ce03d12a-29fdb8ed-d36b78d9",
    "producer": "alloydb.googleapis.com"
  }
}

[終了ログ抜粋]

  • id:一連のオペレーションであることを示すIDです。

  • last: true:一連のオペレーションの最後のログであることを示します。

{
  "operation": {
    "id": "projects/jp-testproject-00/locations/asia-northeast1/operations/operation-1694651522470-60546ce03d12a-29fdb8ed-d36b78d9",
    "last": true,
    "producer": "alloydb.googleapis.com"
  }
}

なお、意図した操作のログであるかは、開始ログのrequestフィールド等を見て判断する必要があります。今回はCPU数を2から4に変更したので、「cpu_count: 4」と書かれていることを確認しました。

[開始ログ抜粋]

{
  "request": {
    "@type": "type.googleapis.com/google.cloud.alloydb.v1beta.UpdateInstanceRequest",
    "instance": {
      "client_connection_config": {
        "ssl_config": {}
      },
      "database_flags": [
        {},
        {},
        {}
      ],
      "instance_type": "PRIMARY",
      "machine_config": {
        "cpu_count": 4
      }
    }
  }
}

3. まとめ

ログによってログフィールド(ログ内容)が全然違うので、お目当てのログを見つけるのは苦労しました。(Cloud Runだと別の見え方でした。)

今回も最初RESOURCE TYPEを「AlloyDB」に絞っていたのですがまったく見つけられず、「UpdateInstance」で検索するとRESOURCE TYPEが「監査対象リソース」であることが分かりました。

今後Google Cloudを触る方にとって少しでもお役に立てたらと思います。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?