AWSインテグレーション - RDS

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のヘルプ(AuroraAurora以外)をご確認ください。

各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.read
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
*1 PostgreSQLに適用されます


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
*2 PostgreSQLに適用されます
*3 Microsoft SQL Serverに適用されます
*4 MySQLに適用されます


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
*5 Aurora MySQLに適用されます
*6 クラスター毎に発生するメトリックであり、同じクラスターのインスタンスは同じメトリックが表示されます


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 の仕様です。