MackerelはAWSインテグレーションにてAmazon Relational Database Service (RDS)のメトリック取得や監視に対応しています。 AWSインテグレーションで連携をおこなった場合、以下の対応で換算されます。
- Aurora Serverless v1の場合: Aurora Serverless 1クラスター = 1マイクロホスト
- それ以外の場合: RDS 1インスタンス = 1マイクロホスト
またそれに加えて、取得されるメトリックの数に応じて、1マイクロホストあたりのメトリック数上限の超過による請求が行われる場合があります。
AWSインテグレーションの設定方法や対応AWSサービス一覧についてはこちらのページをご確認ください。
AWSインテグレーション
取得メトリック
AWSインテグレーションのRDS対応で取得できるメトリックは以下の通りです。 メトリック の説明に関してはAWSのヘルプ(Aurora、Aurora以外)をご確認ください。
各DBエンジン毎に、最大で以下のメトリックが取得されます。
| DBエンジン | 最大取得メトリック数 | |
|---|---|---|
| RDS | PostgreSQL | 38 |
| SQL Server | 34 | |
| MySQL | 33 + (レプリケーションソース数) | |
| 上記以外 | 33 | |
| Aurora | MySQL | 63 |
| PostgreSQL | 59 | |
| Aurora Serverless v1 | MySQL | 57 |
| PostgreSQL | 56 |
共通メトリック
RDS、Aurora、Aurora Serverless v1で共通して取得できるメトリックは以下のとおりです。
| グラフ名 | メトリック | Mackerel上のメトリック名 | 単位 | Statistics |
|---|---|---|---|---|
| CPU | CPUUtilization | rds.cpu.used | percentage | Average |
| CPU Credit | CPUCreditUsage CPUCreditBalance |
rds.cpu_credit.used rds.cpu_credit.balance |
float | Average |
| Database Connections | DatabaseConnections | rds.database_connections.used | float | Average |
| BinLog Disk Usage | BinLogDiskUsage | rds.disk_usage.bin_log | bytes | Average |
| Memory | FreeableMemory SwapUsage |
rds.memory.free rds.memory.swap |
bytes | Average |
| Network Throughput | NetworkReceiveThroughput NetworkTransmitThroughput |
rds.network_throughput.receive rds.network_throughput.transmit |
bytes/sec | Average |
| Disk IOPS | ReadIOPS WriteIOPS |
rds.diskiops.read rds.diskiops.write |
iops | Average |
| gp2 Storage Burst Balance | BurstBalance | rds.burst_balance.balance | percentage | Average |
| Maximum Used Transaction IDs | MaximumUsedTransactionIDs *1 | rds.maximum_used_transaction_ids.count | integer | Average |
| Checkpoint Lag | CheckpointLag | rds.checkpoint_lag.lag | seconds | Average |
| Connection Attempts | ConnectionAttempts | rds.connection_attempts.count | integer | Average |
| CPU Surplus Credits | CPUSurplusCreditBalance CPUSurplusCreditsCharged |
rds.cpu_surplus_credits.balance rds.cpu_surplus_credits.charged |
float | Average |
| EBS Balance | EBSByteBalance% EBSIOBalance% |
rds.ebs_balance.byte rds.ebs_balance.io |
percentage | Average |
| Log Volume Disk Queue | DiskQueueDepthLogVolume | rds.log_volume_disk_queue.depth | integer | Average |
| Log Volume Free Storage Space | FreeStorageSpaceLogVolume | rds.log_volume_disk.free | bytes | Average |
| Log Volume IOPS | ReadIOPSLogVolume WriteIOPSLogVolume |
rds.log_volume_iops.read rds.log_volume_iops.write |
iops | Average |
| Log Volume Latency | ReadLatencyLogVolume WriteLatencyLogVolume |
rds.log_volume_latency.read rds.log_volume_latency.write |
seconds | Average |
| Log Volume Throughput | ReadThroughputLogVolume WriteThroughputLogVolume |
rds.log_volume_throughput.read rds.log_volume_throughput.write |
bytes/sec | Average |
RDSメトリック
RDSの場合は上記の共通メトリックに加えて以下のメトリックが取得できます。
Mackerel上のメトリック名のCHANNEL_NAMEにはレプリケーションチャンネル名が入ります。
| グラフ名 | メトリック | Mackerel上のメトリック名 | 単位 | Statistics |
|---|---|---|---|---|
| Disk Queue | DiskQueueDepth | rds.disk_queue.depth | integer | Average |
| Free Storage Space | FreeStorageSpace | rds.disk.free | bytes | Average |
| Replica Lag | ReplicaLag | rds.replica_lag.lag | float | Average |
| Disk Latency | ReadLatency WriteLatency |
rds.latency.read rds.latency.write |
seconds | Average |
| Disk Throughput | ReadThroughput WriteThroughput |
rds.throughput.read rds.throughput.write |
bytes/sec | Average |
| Disk Usage | ReplicationSlotDiskUsage *2 TransactionLogsDiskUsage *2 |
rds.postgres_disk_usage.replication_slot rds.postgres_disk_usage.transaction_logs |
bytes | Average |
| Oldest Replication Slot Lag | OldestReplicationSlotLag *2 | rds.oldest_replication_slot_lag.slot_lag | bytes | Average |
| Transaction Logs Generation | TransactionLogsGeneration *2 | rds.transaction_logs_generation.transaction_log | bytes/sec | Average |
| Failed SQL Server Agent Jobs | FailedSQLServerAgentJobsCount *3 | rds.failed_sql_server_agent_jobs.failed | integer | Average |
| Replication Channel Lag | ReplicationChannelLag *4 | rds.replication_channel_lag.CHANNEL_NAME | seconds | Average |
Auroraメトリック
Auroraの場合は上記の共通メトリックに加えて以下のメトリックが取得できます。
| グラフ名 | メトリック | Mackerel上のメトリック名 | 単位 | Statistics |
|---|---|---|---|---|
| Storage | FreeLocalStorage | rds.aurora.storage.free | bytes | Average |
| BinLog Replica Lag | AuroraBinlogReplicaLag | rds.aurora.binlog_replica_lag.lag | float | Average |
| Replica Lag | AuroraReplicaLag AuroraReplicaLagMaximum AuroraReplicaLagMinimum |
rds.aurora.replica_lag.lag rds.aurora.replica_lag.max_lag rds.aurora.replica_lag.min_lag |
float | Average |
| Engine Uptime | EngineUptime | rds.aurora.engine_uptime.uptime | float | Average |
| Transactions | ActiveTransactions BlockedTransactions |
rds.aurora.transactions.active rds.aurora.transactions.blocked |
float | Average |
| Cache Hit Ratio | BufferCacheHitRatio ResultSetCacheHitRatio |
rds.aurora.hit_ratio.buffer rds.aurora.hit_ratio.result_set |
percentage | Average |
| DML Latency | InsertLatency UpdateLatency DeleteLatency DMLLatency |
rds.aurora.dml_latency.insert rds.aurora.dml_latency.update rds.aurora.dml_latency.delete rds.aurora.dml_latency.dml |
float | Average |
| DML throughput | InsertThroughput UpdateThroughput DeleteThroughput DMLThroughput |
rds.aurora.dml_throughput.insert rds.aurora.dml_throughput.update rds.aurora.dml_throughput.delete rds.aurora.dml_throughput.dml |
float | Average |
| Commit Latency | CommitLatency | rds.aurora.commit_latency.commit | float | Average |
| Commit Throughput | CommitThroughput | rds.aurora.commit_throughput.commit | float | Average |
| Select Latency | SelectLatency | rds.aurora.select_latency.select | float | Average |
| Select Throughput | SelectThroughput | rds.aurora.select_throughput.select | float | Average |
| DDL Latency | DDLLatency | rds.aurora.ddl_latency.ddl | float | Average |
| DDL Throughput | DDLThroughput | rds.aurora.ddl_throughput.ddl | float | Average |
| Queries | Queries | rds.aurora.queries.queries | float | Average |
| Login Failures | LoginFailures | rds.aurora.login_failures.failures | float | Average |
| Deadlocks | Deadlocks | rds.aurora.deadlocks.deadlocks | float | Average |
| Backtrack Window Difference | BacktrackWindowActual *5 | rds.aurora.backtrack_window_difference.minutes | integer | Average |
| Backtrack Window Alert | BacktrackWindowAlert *5 | rds.aurora.backtrack_window_alert.alert | integer | Sum |
| Aurora Volume Bytes Left Total | AuroraVolumeBytesLeftTotal *5 | rds.aurora.aurora_volume_bytes_left_total.total | bytes | Average |
| Aborted Clients | AbortedClients *5 | rds.aurora.aborted_clients.aborted | integer | Sum |
| Row Lock Time | RowLockTime *5 | rds.aurora.row_lock_time.row_lock | float | Average |
| Volume Used | VolumeBytesUsed *6 | rds.aurora.volume_used.bytes | bytes | Average |
Aurora Serverless v1 メトリック
Aurora Serverless v1クラスターの場合は、Auroraで取得できるメトリックに加えて以下のメトリックが取得できます。
| グラフ名 | メトリック | Mackerel上のメトリック名 | 単位 | Statistics |
|---|---|---|---|---|
| Serverless Database Capacity | ServerlessDatabaseCapacity | rds.aurora.serverless_database_capacity.capacity | float | Average |
Aurora Serverless v2 メトリック
Aurora Serverless v2インスタンスの場合は、Auroraで取得できるメトリックに加えて以下のメトリックが取得できます。
| グラフ名 | メトリック | Mackerel上のメトリック名 | 単位 | Statistics |
|---|---|---|---|---|
| Serverless Database Capacity | ServerlessDatabaseCapacity | rds.aurora.serverless_database_capacity.capacity | float | Average |
| ACU Utilization | ACUUtilization | rds.aurora.acu_utilization.utilization | percentage | Average |
| Temp Storage IOPS | TempStorageIOPS | rds.aurora.temp_storage_iops.iops | iops | Average |
| Temp Storage Throughput | TempStorageThroughput | rds.aurora.temp_storage_throughput.throughput | bytes/sec | Average |
注意事項
AWSインテグレーションにより取得可能な上記のグラフ・メトリックのうち、下記のグラフに含まれるメトリックについては、通常、5分間隔粒度でのメトリックが取得されます。
- CPU Credit
- CPU Surplus Credits
- gp2 Storage Burst Balance
- Volume Used
これは、AWS CloudWatch API の仕様です。