diff --git a/src/content/docs/infrastructure/google-cloud-platform-integrations/gcp-integrations-list/google-alloydb-monitoring-integration.mdx b/src/content/docs/infrastructure/google-cloud-platform-integrations/gcp-integrations-list/google-alloydb-monitoring-integration.mdx
index 7c9fe7a8642..fcb9746c1a6 100644
--- a/src/content/docs/infrastructure/google-cloud-platform-integrations/gcp-integrations-list/google-alloydb-monitoring-integration.mdx
+++ b/src/content/docs/infrastructure/google-cloud-platform-integrations/gcp-integrations-list/google-alloydb-monitoring-integration.mdx
@@ -8,37 +8,50 @@ metaDescription: "New Relic's AlloyDB integration: the data it reports and how t
freshnessValidatedDate: never
---
-We offer a cloud integration for reporting your GCP AlloyDB data to our platform.
+[New Relic's integrations](/docs/infrastructure/introduction-infra-monitoring) with the [Google Cloud Platform (GCP)](https://cloud.google.com/) include an integration to report [Google Cloud AlloyDB](https://cloud.google.com/alloydb) data to New Relic. This document explains how to activate the GCP AlloyDB integration and describes the data that will be reported.
-## Activate the integration [#activate]
+## Features
-To enable the integration follow standard procedures to [connect your GCP service](/docs/connect-google-cloud-platform-services-infrastructure).
+AlloyDB is a fully managed, PostgreSQL-compatible database service built for demanding transactional and analytical workloads. New Relic's AlloyDB integration collects performance, availability, and resource utilization metrics across clusters, instances, databases, and instance nodes.
-## Configuration and polling [#polling]
+## Activate integration [#activate]
-You can change the polling frequency and filter data using [configuration options](/docs/integrations/new-relic-integrations/getting-started/configure-polling-frequency-data-collection-cloud-integrations).
+To enable the integration follow standard procedures to [connect your GCP service to New Relic](/docs/connect-google-cloud-platform-services-infrastructure):
-The default [polling interval](/docs/integrations/google-cloud-platform-integrations/getting-started/polling-intervals-gcp-integrations) for the GCP AlloyDB integration in New Relic is 5 minutes.
+* [Connect with Workload Identity Federation (recommended)](/docs/connect-google-cloud-platform-services-infrastructure)
+* [Connect with service account or user account](/docs/connect-google-cloud-platform-services-infrastructure)
-## Find and use data [#find-data]
+## Polling frequency [#polling]
-To find your integration data, go to
| + | Entity | -- Event Type + | + Entity type | - Provider + Resource type | - `GcpAlloydbClusterSample` + `GCPALLOYDBCLUSTER` | - `GcpAlloydbCluster` + `alloydb_cluster` + | + + +
|---|---|---|---|---|
| + Instance + | + ++ `GCPALLOYDBINSTANCE` + | + ++ `alloydb_instance` | - `GcpAlloydbDatabaseSample` + `GCPALLOYDBDATABASE` | - `GcpAlloydbDatabase` + `alloydb_database` |
| - Instance + Instance Node | - `GcpAlloydbInstanceSample` + `GCPALLOYDBINSTANCENODE` | - `GcpAlloydbInstance` + `alloydb_node` + | +
| + Metric name + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `gcp.alloydb.cluster.storage.usage` + | + ++ Bytes + | + ++ Total AlloyDB storage in bytes across the entire cluster. + | +
| + `gcp.alloydb.cluster.last_backup_timestamp` + | + ++ Timestamp + | + ++ Timestamp of the last successful cluster backup. + | +
| + Metric name + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `gcp.alloydb.instance.cpu.average_utilization` + | + ++ Percent + | + ++ Mean CPU utilization across all currently serving nodes of the instance, from 0 to 100. + | +
| + `gcp.alloydb.instance.cpu.maximum_utilization` + | + ++ Percent + | + ++ Maximum CPU utilization across all currently serving nodes of the instance, from 0 to 100. + | +
| + `gcp.alloydb.instance.cpu.vcpus` + | + ++ Count + | + ++ Number of vCPUs allocated to each node in the instance. + | +
| + `gcp.alloydb.instance.memory.min_available_memory` + | + ++ Bytes + | + ++ Minimum available memory across all currently serving nodes of the instance. + | +
| + `gcp.alloydb.instance.postgres.total_connections` + | + ++ Count + | + ++ Number of active and idle connections to the AlloyDB instance across serving nodes. + | +
| + `gcp.alloydb.instance.postgres.average_connections` + | + ++ Count + | + ++ Mean number of active and idle connections to AlloyDB across serving nodes of the instance. + | +
| + `gcp.alloydb.instance.postgres.connections_limit` + | + ++ Count + | + ++ Current limit on the number of connections per node of the AlloyDB instance. + | +
| + `gcp.alloydb.instance.postgres.commit_count` + | + ++ Count + | + ++ Number of committed transactions across all serving nodes of the instance. + | +
| + `gcp.alloydb.instance.postgres.abort_count` + | + ++ Count + | + ++ Number of transactions that were rolled back across all serving nodes of the instance. + | +
| + `gcp.alloydb.instance.postgres.transaction_count` + | + ++ Count + | + ++ Number of committed and rolled back transactions across all serving nodes of the instance. + | +
| + `gcp.alloydb.instance.postgres.instances_count` + | + ++ Count + | + ++ Number of nodes in the instance, along with their status (up or down). + | +
| + `gcp.alloydb.instance.postgres.replication.maximum_lag` + | + ++ Milliseconds + | + ++ Maximum replication time lag calculated across all serving read replicas of the instance. + | +
| + `gcp.alloydb.instance.postgres.replication.replicas` + | + ++ Count + | + ++ Number of read replicas connected to the primary instance. |
| - Metric - | - -- Unit - | - -- Description - | -
|---|---|---|
| - cluster.storage.Usage - | - -- Bytes - | - -- The total AlloyDB storage in bytes across the entire cluster. - | -
| - Metric - | - -- Unit - | - -- Description - | -
|---|---|---|
| - database.postgresql.insights.aggregate.ExecutionTime - | - -- Microseconds - | - -- Accumulated query execution time since the last sample.This is the sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution. - | -
| - database.postgresql.insights.aggregate.IoTime - | - -- Microseconds - | - -- Accumulated IO time since the last sample. - | -
| - database.postgresql.insights.aggregate.Latencies - | - -- Microseconds - | - -- Query latency distribution. - | -
| - database.postgresql.insights.aggregate.LockTime - | - -- Microseconds - | - -- Accumulated lock wait time since the last sample. - | -
| - database.postgresql.insights.aggregate.Row - | - -- Count - | - -- The number of retrieved or affected rows since the last sample. - | -
| - database.postgresql.insights.aggregate.SharedBlkAccess - | - -- Count - | - -- Shared blocks (regular tables and indexed) accessed by statement execution. - | -
| - database.postgresql.insights.perquery.ExecutionTime - | - -- Microseconds - | - -- Accumulated execution times per user per database per query.This is the sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution. - | -
| - database.postgresql.insights.perquery.IoTime - | - -- Microseconds - | - -- Accumulated IO time since the last sample. - | -
| - database.postgresql.insights.perquery.Latencies - | - -- Microseconds - | - -- Query latency distribution. - | -
| - database.postgresql.insights.perquery.LockTime - | - -- Microseconds - | - -- Accumulated lock wait time since the last sample. - | -
| - database.postgresql.insights.perquery.Row - | - -- Count - | - -- The number of retrieved or affected rows since the last sample. - | -
| - database.postgresql.insights.perquery.SharedBlkAccess - | - -- Count - | - -- Shared blocks (regular tables & indexed) accesssed by statement execution. - | -
| - database.postgresql.insights.pertag.ExecutionTime - | - -- Microseconds - | - -- Accumulated execution times since the last sample.This is the sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution. - | -
| - database.postgresql.insights.pertag.IoTime - | - -- Microseconds - | - -- Accumulated IO time since the last sample. - | -
| - database.postgresql.insights.pertag.Latencies - | - -- Microseconds - | - -- Query latency distribution. - | -
| - database.postgresql.insights.pertag.LockTime - | - -- Microseconds - | - -- Accumulated lock wait time since the last sample. - | -
| - database.postgresql.insights.pertag.Row - | - -- Count - | - -- The number of retrieved or affected rows since the last sample. - | -
| - database.postgresql.insights.pertag.SharedBlkAccess - | - -- Count - | - -- Shared blocks (regular tables & indexed) accessed by statement execution. - | -
| - Metric - | - -- Unit - | - -- Description - | -
|---|---|---|
| - instance.cpu.AverageUtilization - | - -- Percent - | - -- Mean CPU utilization across all currently serving nodes of the instance from 0 to 100. - | -
| - instance.cpu.MaximumUtilization - | - -- Percent - | - -- Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. - | -
| - instance.cpu.Vcpus - | - -- Count - | - -- The number of vCPUs allocated to each node in the instance. - | -
| - instance.memory.MinAvailableMemory - | - -- Bytes - | - -- 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. - | -
| - instance.postgres.Abort - | - -- Count - | - -- The number of transactions that were rolled back across all serving nodes of the instance. - | -
| - instance.postgres.AverageConnections - | - -- Count - | - -- The mean number of active and idle connections to AlloyDB across serving nodes of the instance. - | -
| - instance.postgres.Commit - | - -- Count - | - -- The number of committed transactions across all serving nodes of the instance. - | -
| - instance.postgres.ConnectionsLimit - | - -- Count - | - -- The current limit on the number of connections per node of the AlloyDB instance. - | -
| - instance.postgres.Instances - | - -- Count - | - -- The number of nodes in the instance, along with their status, which can be either up or down. - | -
| - instance.postgres.replication.MaximumLag - | - -- Milliseconds - | - -- 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. - | -
| - instance.postgres.replication.Replicas - | - -- Count - | - -- The number of read replicas connected to the primary instance. - | -
| - instance.postgres.TotalConnections - | - -- Count - | - -- The number of active and idle connections to the AlloyDB instance across serving nodes of the instance. - | -
| - instance.postgres.Transaction - | - -- Count - | - -- The number of committed and rolled back transactions across all serving nodes of the instance. - | -
| + Metric name + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `gcp.alloydb.database.conn_pool.client_connections` + | + ++ Count + | + ++ Number of client connections to the database. + | +
| + `gcp.alloydb.database.postgresql.committed_transactions_for_top_databases` + | + ++ Count + | + ++ Number of committed transactions for top databases. + | +
| + `gcp.alloydb.database.postgresql.insights.aggregate.execution_time` + | + ++ Microseconds + | + ++ Accumulated query execution time since the last sample. Sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all processes involved in query execution. + | +
| + `gcp.alloydb.database.postgresql.insights.aggregate.io_time` + | + ++ Microseconds + | + ++ Accumulated IO time since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.aggregate.latencies` + | + ++ Microseconds + | + ++ Query latency distribution. + | +
| + `gcp.alloydb.database.postgresql.insights.aggregate.lock_time` + | + ++ Microseconds + | + ++ Accumulated lock wait time since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.aggregate.row_count` + | + ++ Count + | + ++ 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` + | + ++ Microseconds + | + ++ Accumulated execution times per user per database per query. + | +
| + `gcp.alloydb.database.postgresql.insights.perquery.io_time` + | + ++ Microseconds + | + ++ Accumulated IO time per query since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.perquery.latencies` + | + ++ Microseconds + | + ++ Per-query latency distribution. + | +
| + `gcp.alloydb.database.postgresql.insights.perquery.lock_time` + | + ++ Microseconds + | + ++ Accumulated lock wait time per query since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.perquery.row_count` + | + ++ Count + | + ++ Number of retrieved or affected rows per query since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.perquery.shared_blk_access_count` + | + ++ Count + | + ++ Shared blocks accessed per query by statement execution. + | +
| + `gcp.alloydb.database.postgresql.insights.pertag.execution_time` + | + ++ Microseconds + | + ++ Accumulated execution times per tag since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.pertag.io_time` + | + ++ Microseconds + | + ++ Accumulated IO time per tag since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.pertag.latencies` + | + ++ Microseconds + | + ++ Per-tag query latency distribution. + | +
| + `gcp.alloydb.database.postgresql.insights.pertag.lock_time` + | + ++ Microseconds + | + ++ Accumulated lock wait time per tag since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.pertag.row_count` + | + ++ Count + | + ++ Number of retrieved or affected rows per tag since the last sample. + | +
| + `gcp.alloydb.database.postgresql.insights.pertag.shared_blk_access_count` + | + ++ Count + | + ++ Shared blocks accessed per tag by statement execution. + | +
| + Metric name + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `gcp.alloydb.node.cpu.usage_time` + | + ++ Percent + | + ++ CPU usage for the node. + | +
| + `gcp.alloydb.node.memory.available_memory` + | + ++ Bytes + | + ++ Available memory on the node. + | +
| + `gcp.alloydb.node.network.received_bytes_count` + | + ++ Bytes + | + ++ Network bytes received by the node. + | +
| + `gcp.alloydb.node.network.sent_bytes_count` + | + ++ Bytes + | + ++ Network bytes sent by the node. + | +
| + `gcp.alloydb.node.postgres.backends` + | + ++ Count + | + ++ Total connections per node. + | +
| + `gcp.alloydb.node.postgres.backends_by_state` + | + ++ Count + | + ++ Number of connections to the node per connection state. + | +
| + `gcp.alloydb.node.postgres.deadlock_count` + | + ++ Count + | + ++ Number of deadlocks on the node. + | +
| + `gcp.alloydb.node.postgres.replay_lag` + | + ++ Milliseconds + | + ++ Replication lag for the node derived from replay_lag value. + | +
| + `gcp.alloydb.node.postgres.transaction_count` + | + ++ Count + | + ++ Number of transactions on the node. + | +
| + `gcp.alloydb.node.postgres.ultrafastcache_hitrate` + | + ++ Count + | + ++ Ultra Fast Cache hit rate per node. + | +
| + `gcp.alloydb.node.postgres.uptime` + | + ++ Count + | + ++ Node database availability. + | +
| + `gcp.alloydb.node.postgres.wait_count` + | + ++ Count + | + ++ Total number of times processes waited for each wait event on the node. + | +
| + `gcp.alloydb.node.postgres.wait_time` + | + ++ Microseconds + | + ++ Total wait time for each wait event on the node. + | +
| + Entity + | + ++ Event type + | + ++ Provider + | +
|---|---|---|
| + Cluster + | + ++ `GcpAlloydbClusterSample` + | + ++ `GcpAlloydbCluster` + | +
| + Instance + | + ++ `GcpAlloydbInstanceSample` + | + ++ `GcpAlloydbInstance` + | +
| + Database + | + ++ `GcpAlloydbDatabaseSample` + | + ++ `GcpAlloydbDatabase` + | +
| + Attribute + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `cluster.storage.Usage` + | + ++ Bytes + | + ++ The total AlloyDB storage in bytes across the entire cluster. + | +
| + Attribute + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `instance.cpu.AverageUtilization` + | + ++ Percent + | + ++ Mean CPU utilization across all currently serving nodes of the instance from 0 to 100. + | +
| + `instance.cpu.MaximumUtilization` + | + ++ Percent + | + ++ Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. + | +
| + `instance.cpu.Vcpus` + | + ++ Count + | + ++ The number of vCPUs allocated to each node in the instance. + | +
| + `instance.memory.MinAvailableMemory` + | + ++ Bytes + | + ++ The minimum available memory across all currently serving nodes of the instance. + | +
| + `instance.postgres.Abort` + | + ++ Count + | + ++ The number of transactions that were rolled back across all serving nodes of the instance. + | +
| + `instance.postgres.AverageConnections` + | + ++ Count + | + ++ The mean number of active and idle connections to AlloyDB across serving nodes of the instance. + | +
| + `instance.postgres.Commit` + | + ++ Count + | + ++ The number of committed transactions across all serving nodes of the instance. + | +
| + `instance.postgres.ConnectionsLimit` + | + ++ Count + | + ++ The current limit on the number of connections per node of the AlloyDB instance. + | +
| + `instance.postgres.Instances` + | + ++ Count + | + ++ The number of nodes in the instance, along with their status, which can be either up or down. + | +
| + `instance.postgres.replication.MaximumLag` + | + ++ Milliseconds + | + ++ The maximum replication time lag calculated across all serving read replicas of the instance. + | +
| + `instance.postgres.replication.Replicas` + | + ++ Count + | + ++ The number of read replicas connected to the primary instance. + | +
| + `instance.postgres.TotalConnections` + | + ++ Count + | + ++ The number of active and idle connections to the AlloyDB instance across serving nodes of the instance. + | +
| + `instance.postgres.Transaction` + | + ++ Count + | + ++ The number of committed and rolled back transactions across all serving nodes of the instance. + | +
| + Attribute + | + ++ Unit + | + ++ Description + | +
|---|---|---|
| + `database.postgresql.insights.aggregate.ExecutionTime` + | + ++ Microseconds + | + ++ Accumulated query execution time since the last sample. This is the sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution. + | +
| + `database.postgresql.insights.aggregate.IoTime` + | + ++ Microseconds + | + ++ Accumulated IO time since the last sample. + | +
| + `database.postgresql.insights.aggregate.Latencies` + | + ++ Microseconds + | + ++ Query latency distribution. + | +
| + `database.postgresql.insights.aggregate.LockTime` + | + ++ Microseconds + | + ++ Accumulated lock wait time since the last sample. + | +
| + `database.postgresql.insights.aggregate.Row` + | + ++ Count + | + ++ The number of retrieved or affected rows since the last sample. + | +
| + `database.postgresql.insights.aggregate.SharedBlkAccess` + | + ++ Count + | + ++ Shared blocks (regular tables and indexed) accessed by statement execution. + | +
| + `database.postgresql.insights.perquery.ExecutionTime` + | + ++ Microseconds + | + ++ Accumulated execution times per user per database per query. This is the sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution. + | +
| + `database.postgresql.insights.perquery.IoTime` + | + ++ Microseconds + | + ++ Accumulated IO time since the last sample. + | +
| + `database.postgresql.insights.perquery.Latencies` + | + ++ Microseconds + | + ++ Query latency distribution. + | +
| + `database.postgresql.insights.perquery.LockTime` + | + ++ Microseconds + | + ++ Accumulated lock wait time since the last sample. + | +
| + `database.postgresql.insights.perquery.Row` + | + ++ Count + | + ++ The number of retrieved or affected rows since the last sample. + | +
| + `database.postgresql.insights.perquery.SharedBlkAccess` + | + ++ Count + | + ++ Shared blocks (regular tables & indexed) accessed by statement execution. + | +
| + `database.postgresql.insights.pertag.ExecutionTime` + | + ++ Microseconds + | + ++ Accumulated execution times since the last sample. This is the sum of CPU time, IO wait time, lock wait time, process context switch, and scheduling for all the processes involved in the query execution. + | +
| + `database.postgresql.insights.pertag.IoTime` + | + ++ Microseconds + | + ++ Accumulated IO time since the last sample. + | +
| + `database.postgresql.insights.pertag.Latencies` + | + ++ Microseconds + | + ++ Query latency distribution. + | +
| + `database.postgresql.insights.pertag.LockTime` + | + ++ Microseconds + | + ++ Accumulated lock wait time since the last sample. + | +
| + `database.postgresql.insights.pertag.Row` + | + ++ Count + | + ++ The number of retrieved or affected rows since the last sample. + | +
| + `database.postgresql.insights.pertag.SharedBlkAccess` + | + ++ Count + | + ++ Shared blocks (regular tables & indexed) accessed by statement execution. + | +