I have a few RDS servers I'd like to monitor for insufficient disk space. For simplicity sake, I prefer using my current monitoring system rather than an AWS solution like cloudwatch.
I've been reading the documentation and the nearest solution was describe-db-instances, which gives the allocated storage, but not the space left / amount of storage used:
"SecondaryAvailabilityZone": "us-east-1a",
"ReadReplicaDBInstanceIdentifiers": [],
"AllocatedStorage": 100,
...
How do I query a specific RDS DB instance for the amount of free space left or used?
解决方案
The right tool is the cloudwatch CLI:
aws cloudwatch get-metric-statistics \
--metric-name FreeStorageSpace \
--start-time 2017-02-27T23:00:00Z \
--end-time 2017-02-28T23:00:00Z \
--period 3600 \
--namespace AWS/RDS \
--statistics Average \
--dimensions Name=DBInstanceIdentifier,Value=
and the metric name FreeStorageSpace can be found using:
aws cloudwatch list-metrics