Mackerel supports obtaining and monitoring Database for PostgreSQL metrics in Azure Integration. Billable targets are determined using the conversion 1 resource = 1 Micro Host. (Currently "Single Server" and "Flexible Server" deployment options are supported.)
Please refer to the following page for Azure Integration configuration methods and a list of supported Azure services.
Azure Integration
Flexible Server
Integration for Flexible Server can be done by selecting "Database for PostgreSQL Flexible Server" in "Metric collecting service" section of the Azure Integration Settings screen.
Obtaining metrics
The following metrics can be retrieved for Database for PostgreSQL flexible servers.
A maximum of 34 metrics (including 16 enhanced metrics) will be retrieved. Enhanced metrics can be retrieved by turning on the server parameter metrics.collector_database_activity. The actual metrics obtained may be reduced depending on the server SKU and role.
For Metric
explanations and how to enable enhanced metrics, please refer to the Azure documentation.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type | Enhanced Metric |
---|---|---|---|---|---|
Availability | is_db_alive | azure.db_for_postgresql.availability.db | float | Average | x |
Backends | numbackends | azure.db_for_postgresql.backends.count | float | Maximum | x |
Backup Storage used | backup_storage_used | azure.db_for_postgresql.backup_storage_used.bytes | bytes | Average | |
Connections | active_connections connections_succeeded connections_failed |
azure.db_for_postgresql.connections.active azure.db_for_postgresql.connections.succeeded azure.db_for_postgresql.connections.failed |
float | Average Total Total |
|
CPU credits Remaining/Consumed | cpu_credits_remaining cpu_credits_consumed |
azure.db_for_postgresql.cpu_credits.remaining azure.db_for_postgresql.cpu_credits.consumed |
float | Average | |
CPU percent | cpu_percent | azure.db_for_postgresql.cpu.percent | percentage | Average | |
Deadlocks | deadlocks | azure.db_for_postgresql.deadlocks.count | float | Total | x |
Disk Bandwidth Consumed | disk_bandwidth_consumed_percentage | azure.db_for_postgresql.disk_bandwidth_consumed.percent | percentage | Average | x |
Disk IOPS | read_iops write_iops |
azure.db_for_postgresql.disk_iops.read azure.db_for_postgresql.disk_iops.write |
iops | Average | |
Disk IOPS Consumed | disk_iops_consumed_percentage | azure.db_for_postgresql.disk_ios_consumed.percent | percentage | Average | x |
Disk Throughput | read_throughput write_throughput |
azure.db_for_postgresql.disk_throughput.read azure.db_for_postgresql.disk_throughput.write |
bytes/sec | Average | |
Logical Replication Lag | logical_replication_delay_in_bytes | azure.db_for_postgresql.logical_replication_lag_bytes.max | bytes | Maximum | x |
Memory percent | memory_percent | azure.db_for_postgresql.memory.percent | percentage | Average | |
Network In/Out | network_bytes_egress network_bytes_ingress |
azure.db_for_postgresql.network.out azure.db_for_postgresql.network.in |
bytes | Total | |
Operated Tuples by Queries | tup_deleted tup_fetched tup_inserted tup_returned tup_updated |
azure.db_for_postgresql.tuples.deleted azure.db_for_postgresql.tuples.fetched azure.db_for_postgresql.tuples.inserted azure.db_for_postgresql.tuples.returned azure.db_for_postgresql.tuples.updated |
float | Total | x |
Physical Replication Lag | physical_replication_delay_in_bytes | azure.db_for_postgresql.replication_lag_bytes.max | bytes | Maximum | x |
Read Replica Lag | physical_replication_delay_in_seconds | azure.db_for_postgresql.replication_lag.seconds | seconds | Maximum | x |
Storage percent | storage_percent | azure.db_for_postgresql.storage.percent | percentage | Average | |
Storage limit/used | storage_limit storage_used |
azure.db_for_postgresql.storage_limit_used.limit azure.db_for_postgresql.storage_limit_used.used |
bytes | Maximum Average |
|
Transactions | xact_total xact_commit xact_rollback |
azure.db_for_postgresql.transactions.total azure.db_for_postgresql.transactions.commit azure.db_for_postgresql.transactions.rollback |
float | Total | x |
Used Transaction IDs | maximum_used_transactionIDs | azure.db_for_postgresql.used_transaction_ids.max | float | Max |
Notes
- Of the graphs / metrics that can be obtained with Azure integration listed above, when obtaining Backup Storage used at the Basic price level, it is done so according to the specifications of the Azure Monitor API used by Azure integration, normally with a 15-minute interval granularity and updates having a latency of up to 30 minutes.
Single Server
Integration for Single Server can be done by selecting "Database for PostgreSQL Single Server" in "Metric collecting service" section of the Azure Integration Settings screen. The old Database for PostgreSQL integration settings have been transferred to Database for PostgreSQL Single Server.
Obtaining metrics
The metrics obtainable with Azure Integration’s Database for PostgreSQL support vary by price level.
The metrics for each price level are as follows. For Metric
explanations, please refer to the Azure documentation.
Basic
The maximum number of metrics obtainable is 15.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Active/Failed Connections | active_connections connections_failed |
azure.db_for_postgresql.connections.active azure.db_for_postgresql.connections.failed |
float | Average Total |
Backup Storage used | backup_storage_used | azure.db_for_postgresql.backup_storage_used.bytes | bytes | Average |
CPU percent | cpu_percent | azure.db_for_postgresql.cpu.percent | percentage | Average |
Max Lag Across Replicas | pg_replica_log_delay_in_bytes | azure.db_for_postgresql.replica_log_delay_in_bytes.bytes | bytes | Maximum |
Memory percent | memory_percent | azure.db_for_postgresql.memory.percent | percentage | Average |
Network In/Out | network_bytes_egress network_bytes_ingress |
azure.db_for_postgresql.network.out azure.db_for_postgresql.network.in |
bytes | Total |
Replica Lag | pg_replica_log_delay_in_seconds | azure.db_for_postgresql.replica_log_delay_in_seconds.seconds | float | Maximum |
Server Log storage limit/used | serverlog_storage_limit serverlog_storage_usage |
azure.db_for_postgresql.server_log_storage_limit_used.limit azure.db_for_postgresql.server_log_storage_limit_used.used |
bytes | Maximum Average |
Server Log storage percent | serverlog_storage_percent | azure.db_for_postgresql.server_log_storage.percent | percentage | Average |
Storage limit/used | storage_limit storage_used |
azure.db_for_postgresql.storage_limit_used.limit azure.db_for_postgresql.storage_limit_used.used |
bytes | Maximum Average |
Storage percent | storage_percent | azure.db_for_postgresql.storage.percent | percentage | Average |
General Purpose
The maximum number of metrics obtainable is 15.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Active/Failed Connections | active_connections connections_failed |
azure.db_for_postgresql.connections.active azure.db_for_postgresql.connections.failed |
float | Average Total |
CPU percent | cpu_percent | azure.db_for_postgresql.cpu.percent | percentage | Average |
IO percent | io_consumption_percent | azure.db_for_postgresql.io.percent | percentage | Average |
Max Lag Across Replicas | pg_replica_log_delay_in_bytes | azure.db_for_postgresql.replica_log_delay_in_bytes.bytes | bytes | Maximum |
Memory percent | memory_percent | azure.db_for_postgresql.memory.percent | percentage | Average |
Network In/Out | network_bytes_egress network_bytes_ingress |
azure.db_for_postgresql.network.out azure.db_for_postgresql.network.in |
bytes | Total |
Replica Lag | pg_replica_log_delay_in_seconds | azure.db_for_postgresql.replica_log_delay_in_seconds.seconds | float | Maximum |
Server Log storage limit/used | serverlog_storage_limit serverlog_storage_usage |
azure.db_for_postgresql.server_log_storage_limit_used.limit azure.db_for_postgresql.server_log_storage_limit_used.used |
bytes | Maximum Average |
Server Log storage percent | serverlog_storage_percent | azure.db_for_postgresql.server_log_storage.percent | percentage | Average |
Storage limit/used | storage_limit storage_used |
azure.db_for_postgresql.storage_limit_used.limit azure.db_for_postgresql.storage_limit_used.used |
bytes | Maximum Average |
Storage percent | storage_percent | azure.db_for_postgresql.storage.percent | percentage | Average |
Memory Optimized
The maximum number of metrics obtainable is 15.
Graph name | Metric | Metric name in Mackerel | Unit | Aggregation Type |
---|---|---|---|---|
Active/Failed Connections | active_connections connections_failed |
azure.db_for_postgresql.connections.active azure.db_for_postgresql.connections.failed |
float | Average Total |
CPU percent | cpu_percent | azure.db_for_postgresql.cpu.percent | percentage | Average |
IO percent | io_consumption_percent | azure.db_for_postgresql.io.percent | percentage | Average |
Max Lag Across Replicas | pg_replica_log_delay_in_bytes | azure.db_for_postgresql.replica_log_delay_in_bytes.bytes | bytes | Maximum |
Memory percent | memory_percent | azure.db_for_postgresql.memory.percent | percentage | Average |
Network In/Out | network_bytes_egress network_bytes_ingress |
azure.db_for_postgresql.network.out azure.db_for_postgresql.network.in |
bytes | Total |
Replica Lag | pg_replica_log_delay_in_seconds | azure.db_for_postgresql.replica_log_delay_in_seconds.seconds | float | Maximum |
Server Log storage limit/used | serverlog_storage_limit serverlog_storage_usage |
azure.db_for_postgresql.server_log_storage_limit_used.limit azure.db_for_postgresql.server_log_storage_limit_used.used |
bytes | Maximum Average |
Server Log storage percent | serverlog_storage_percent | azure.db_for_postgresql.server_log_storage.percent | percentage | Average |
Storage limit/used | storage_limit storage_used |
azure.db_for_postgresql.storage_limit_used.limit azure.db_for_postgresql.storage_limit_used.used |
bytes | Maximum Average |
Storage percent | storage_percent | azure.db_for_postgresql.storage.percent | percentage | Average |
Notes
Of the graphs / metrics that can be obtained with Azure integration listed above, when obtaining Backup Storage used at the Basic price level, it is done so according to the specifications of the Azure Monitor API used by Azure integration, normally with a 15-minute interval granularity and updates having a latency of up to 30 minutes.
Additionally, it is not graphed in replica servers.pg_replica_log_delay_in_bytes only counts up on the master server.
As a result, Max Lag Across Replicas is not graphed in replica servers.pg_replica_log_delay_in_seconds only counts up on replica servers.
As a result, Replica Lag is not graphed in the master server.