概要

AlloyDB は、要求の厳しいトランザクションワークロードに対応した、PostgreSQL 互換のフルマネージド型データベースです。 オープンソースの PostgreSQL と 100% の互換性を保ちながら、エンタープライズクラスの性能と可用性を提供します。

Google AlloyDB からメトリクスを取得して、以下のことができます。

  • AlloyDB クラスターのパフォーマンスを視覚化する。
  • AlloyDB インスタンスのパフォーマンスとデータベースを関連付ける。

セットアップ

インストール

Google Cloud Platform インテグレーションをまだセットアップしていない場合は、最初にセットアップします。これ以外に必要なインストール手順はありません。

収集データ

Google AlloyDB logs are collected with Google Cloud Logging and sent to a Dataflow job through a Cloud Pub/Sub topic. If you haven’t already, set up logging with the Datadog Dataflow template.

Once this is done, export your Google AlloyDB logs from Google Cloud Logging to the Pub/Sub topic:

  1. Google Cloud Logging のページに移動し、Google AlloyDB のログを絞り込みます。
  2. Create Export をクリックし、シンクに名前を付けます。
  3. 宛先として “Cloud Pub/Sub” を選択し、その目的で作成された Pub/Sub トピックを選択します。: Pub/Sub トピックは別のプロジェクトに配置できます。
  4. 作成をクリックし、確認メッセージが表示されるまで待ちます。

収集データ

メトリクス

gcp.alloydb.cluster.storage.usage
(gauge)
The total AlloyDB storage in bytes across the entire cluster.
Shown as byte
gcp.alloydb.database.postgresql.backends_for_top_databases
(gauge)
The current number of connections per database to the instance for top 500 databases.
gcp.alloydb.database.postgresql.blks_hit_for_top_databases
(count)
Number of times Postgres found the requested block in the buffer cache per database for top 500 databases.
gcp.alloydb.database.postgresql.blks_read_for_top_databases
(count)
Number of blocks read by Postgres that were not in the buffer cache per database for top 500 databases.
gcp.alloydb.database.postgresql.committed_transactions_for_top_databases
(count)
Total number of transactions committed per database for top 500 databases.
gcp.alloydb.database.postgresql.deadlock_count_for_top_databases
(count)
Total number of deadlocks detected in the instance per database for top 500 databases.
gcp.alloydb.database.postgresql.deleted_tuples_count_for_top_databases
(count)
The total number of rows deleted per database for top 500 databases as a result of the queries in the instance.
Shown as byte
gcp.alloydb.database.postgresql.fetched_tuples_count_for_top_databases
(count)
The total number of rows fetched per database for top 500 databases as a result of the queries in the instance.
gcp.alloydb.database.postgresql.inserted_tuples_count_for_top_databases
(count)
The total number of rows inserted per database for top 500 databases as a result of the queries in the instance.
gcp.alloydb.database.postgresql.insights.aggregate.execution_time
(count)
Accumulated query execution time since the last sample. This is the sum of CPU time, I/O wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.aggregate.io_time
(count)
Accumulated I/O time since the last sample.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.aggregate.latencies
(count)
Query latency distribution.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.aggregate.lock_time
(count)
Accumulated lock wait time since the last sample.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.aggregate.row_count
(count)
The number of retrieved or affected rows since the last sample.
gcp.alloydb.database.postgresql.insights.aggregate.shared_blk_access_count
(count)
Shared blocks (regular tables and indexed) accessed by statement execution.
gcp.alloydb.database.postgresql.insights.perquery.execution_time
(count)
Accumulated execution times per user per database per query. This is the sum of CPU time, I/O wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.perquery.io_time
(count)
Accumulated I/O time since the last sample.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.perquery.latencies
(count)
Query latency distribution.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.perquery.lock_time
(count)
Accumulated lock wait time since the last sample.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.perquery.row_count
(count)
The number of retrieved or affected rows since the last sample.
gcp.alloydb.database.postgresql.insights.perquery.shared_blk_access_count
(count)
Shared blocks (regular tables and indexed) accessed by statement execution.
gcp.alloydb.database.postgresql.insights.pertag.execution_time
(count)
Accumulated execution times since the last sample. This is the sum of CPU time, I/O wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.pertag.io_time
(count)
Accumulated I/O time since the last sample.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.pertag.latencies
(count)
Query latency distribution.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.pertag.lock_time
(count)
Accumulated lock wait time since the last sample.
Shown as microsecond
gcp.alloydb.database.postgresql.insights.pertag.row_count
(count)
The number of retrieved or affected rows since the last sample.
gcp.alloydb.database.postgresql.insights.pertag.shared_blk_access_count
(count)
Shared blocks (regular tables and indexed) accessed by statement execution.
gcp.alloydb.database.postgresql.new_connections_for_top_databases
(count)
Total number of new connections added per database for top 500 databases to the instance.
gcp.alloydb.database.postgresql.returned_tuples_count_for_top_databases
(count)
The total number of rows scanned per database for top 500 databases while processing the queries in the instance.
gcp.alloydb.database.postgresql.rolledback_transactions_for_top_databases
(count)
Total number of transactions rolledback per database for top 500 databases.
gcp.alloydb.database.postgresql.statements_executed_count
(count)
Total count of statements executed in the instance per database per operation_type. Only available for instances with Query insights enabled.
gcp.alloydb.database.postgresql.temp_bytes_written_for_top_databases
(count)
The total amount of data(in bytes) written to temporary files by the queries per database for top 500 databases.
Shown as byte
gcp.alloydb.database.postgresql.temp_files_written_for_top_databases
(count)
The number of temporary files used for writing data per database while performing internal algorithms like join or sort for top 500 databases.
gcp.alloydb.database.postgresql.tuples
(gauge)
Number of tuples (rows) by state per database in the instance. This metric will only be exposed when the number of db’s is less than 50.
gcp.alloydb.database.postgresql.updated_tuples_count_for_top_databases
(count)
The total number of rows updated per database for top 500 databases as a result of the queries in the instance.
gcp.alloydb.database.postgresql.vacuum.oldest_transaction_age
(gauge)
Current age of the oldest uncommitted transaction. It's measured in the number of transactions that started since the oldest transaction.
gcp.alloydb.database.postgresql.vacuum.transaction_id_utilization
(gauge)
The current percentage of transaction ID space consumed by the AlloyDB instance. It records the number of unvacuumed transactions as a percentage of the 2-billion maximum.
gcp.alloydb.database.postgresql.written_tuples_count_for_top_databases
(count)
The total number of rows written(inserted,updated,deleted) per database for top 500 databases as a result of the queries in the instance.
gcp.alloydb.instance.cpu.average_utilization
(gauge)
Mean CPU utilization across all currently serving nodes of the instance from 0 to 100.
gcp.alloydb.instance.cpu.maximum_utilization
(gauge)
Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100.
gcp.alloydb.instance.cpu.vcpus
(gauge)
The number of vCPUs allocated to each node in the instance.
gcp.alloydb.instance.memory.min_available_memory
(gauge)
The minimum available memory across all currently serving nodes of the instance. The available memory is an estimate of memory in bytes available for allocation on the VM including memory that is currently used, but can be potentially freed.
Shown as byte
gcp.alloydb.instance.postgres.abort_count
(count)
The number of transactions that were rolled back across all serving nodes of the instance.
gcp.alloydb.instance.postgres.average_connections
(gauge)
The mean number of active and idle connections to AlloyDB across serving nodes of the instance.
gcp.alloydb.instance.postgres.commit_count
(count)
The number of committed transactions across all serving nodes of the instance.
gcp.alloydb.instance.postgres.connections_limit
(gauge)
The current limit on the number of connections per node of the AlloyDB instance.
gcp.alloydb.instance.postgres.instances
(gauge)
The number of nodes in the instance, along with their status, which can be either up or down.
gcp.alloydb.instance.postgres.replication.maximum_lag
(gauge)
The maximum replication time lag calculated across all serving read replicas of the instance. The replication time lag is derived from the replay_lag value.
Shown as millisecond
gcp.alloydb.instance.postgres.replication.maximum_secondary_lag
(gauge)
The maximum replication time lag calculated from primary to secondary cluster. The replication time lag is derived from the replay_lag value.
Shown as millisecond
gcp.alloydb.instance.postgres.replication.network_lag
(gauge)
Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it).
Shown as millisecond
gcp.alloydb.instance.postgres.replication.replicas
(gauge)
The number of read replicas connected to the primary instance.
gcp.alloydb.instance.postgres.total_connections
(gauge)
The number of active and idle connections to the AlloyDB instance across serving nodes of the instance.
gcp.alloydb.instance.postgres.transaction_count
(count)
The number of committed and rolled back transactions across all serving nodes of the instance.
gcp.alloydb.instance.postgresql.backends_by_state
(gauge)
The current number of connections to the instance grouped by the state: idle, active, idleintransaction, idleintransactionaborted, disabled, and fastpathfunction_call.
gcp.alloydb.instance.postgresql.backends_for_top_applications
(gauge)
The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications.
gcp.alloydb.instance.postgresql.blks_hit
(count)
Number of times Postgres found the requested block in the buffer cache.
gcp.alloydb.instance.postgresql.blks_read
(count)
Number of blocks read by Postgres that were not in the buffer cache.
gcp.alloydb.instance.postgresql.deadlock_count
(count)
Number of deadlocks detected in the instance.
gcp.alloydb.instance.postgresql.deleted_tuples_count
(count)
Number of rows deleted while processing the queries in the instance since the last sample.
gcp.alloydb.instance.postgresql.fetched_tuples_count
(count)
Number of rows fetched while processing the queries in the instance since the last sample.
gcp.alloydb.instance.postgresql.inserted_tuples_count
(count)
Number of rows inserted while processing the queries in the instance since the last sample.
gcp.alloydb.instance.postgresql.new_connections_count
(count)
The number new connections added to the instance.
gcp.alloydb.instance.postgresql.returned_tuples_count
(count)
Number of rows scanned while processing the queries in the instance since the last sample.
gcp.alloydb.instance.postgresql.temp_bytes_written_count
(count)
The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join or sort.
Shown as byte
gcp.alloydb.instance.postgresql.temp_files_written_count
(count)
The number of temporary files used for writing data in the instance while performing internal algorithms like join or sort.
gcp.alloydb.instance.postgresql.updated_tuples_count
(count)
Number of rows updated while processing the queries in the instance since the last sample.
gcp.alloydb.instance.postgresql.version
(gauge)
The version of the Postgres database (for example, POSTGRES_14, POSTGRES_15).
gcp.alloydb.instance.postgresql.wait_count
(count)
Total number of times processes waited for each wait event in the instance.
gcp.alloydb.instance.postgresql.wait_time
(count)
Total elapsed wait time for each wait event in the instance.
Shown as microsecond
gcp.alloydb.instance.postgresql.written_tuples_count
(count)
Number of rows written while processing the queries in the instance since the last sample.
gcp.alloydb.node.cpu.usage_time
(gauge)
Rate of CPU utilization in the node.
gcp.alloydb.node.postgres.replay_lag
(gauge)
The lag in milliseconds for the individual node, comes from replay_lag in pg_stat_replication.
Shown as millisecond
gcp.alloydb.node.postgres.uptime
(gauge)
Rate of database availability in the node.
gcp.alloydb.quota.storage_usage_per_cluster
(gauge)
Storage usage per cluster.
gcp.alloydb.quota.storage_usage_per_cluster.exceeded
(count)
Number of attempts to exceed the limit on quota metric alloydb.googleapis.com/storage_usage_per_cluster.
gcp.alloydb.quota.storage_usage_per_cluster.limit
(gauge)
Current limit on quota metric alloydb.googleapis.com/storage_usage_per_cluster.
gcp.alloydb.quota.storage_usage_per_cluster.usage
(gauge)
Current usage on quota metric alloydb.googleapis.com/storage_usage_per_cluster.

イベント

Google AlloyDB インテグレーションには、イベントは含まれません。

サービスチェック

Google AlloyDB インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。