Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Calendar;
- import java.util.Date;
- import com.amazonaws.regions.Regions;
- import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
- import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
- import com.amazonaws.services.cloudwatch.model.GetMetricStatisticsRequest;
- import com.amazonaws.services.cloudwatch.model.GetMetricStatisticsResult;
- import com.amazonaws.services.cloudwatch.model.StandardUnit;
- import com.amazonaws.services.cloudwatch.model.Dimension;
- import com.amazonaws.services.cloudwatch.model.Datapoint;
- public class RDSInfo {
- private final long GB;
- private Calendar calendar;
- private Date endTime;
- private Date startTime;
- private String dbIdentifier;
- private Regions region;
- public RDSInfo() {
- this.GB = 1024L * 1024L * 1024L;
- this.calendar = Calendar.getInstance();
- this.endTime = this.calendar.getTime();
- this.calendar.add(Calendar.MINUTE, -5);
- this.startTime = this.calendar.getTime();
- this.dbIdentifier = "dbIdentifier";
- this.region = Regions.EU_WEST_1;
- }
- public void getRDSFreeSpace() {
- Dimension dim = new Dimension()
- .withName("DBInstanceIdentifier")
- .withValue(this.dbIdentifier);
- final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.standard()
- .withRegion(this.region)
- .build();
- GetMetricStatisticsRequest req = new GetMetricStatisticsRequest()
- .withNamespace("AWS/RDS")
- .withMetricName("FreeStorageSpace")
- .withStatistics("Average")
- .withStartTime(this.startTime)
- .withEndTime(this.endTime)
- .withDimensions(this.dim)
- .withPeriod(300);
- GetMetricStatisticsResult res = cw.getMetricStatistics(req);
- for (Datapoint dp : res.getDatapoints()) {
- double freespaceGigs = dp.getAverage() / this.GB;
- System.out.println(String.format("RDS Free Space: %.2f GB", freespaceGigs));
- }
- }
- }
Add Comment
Please, Sign In to add comment