Guest User

Untitled

a guest
Jan 22nd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. import java.util.Calendar;
  2. import java.util.Date;
  3.  
  4. import com.amazonaws.regions.Regions;
  5. import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
  6. import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
  7. import com.amazonaws.services.cloudwatch.model.GetMetricStatisticsRequest;
  8. import com.amazonaws.services.cloudwatch.model.GetMetricStatisticsResult;
  9. import com.amazonaws.services.cloudwatch.model.StandardUnit;
  10. import com.amazonaws.services.cloudwatch.model.Dimension;
  11. import com.amazonaws.services.cloudwatch.model.Datapoint;
  12.  
  13. public class RDSInfo {
  14. private final long GB;
  15. private Calendar calendar;
  16. private Date endTime;
  17. private Date startTime;
  18. private String dbIdentifier;
  19. private Regions region;
  20.  
  21. public RDSInfo() {
  22. this.GB = 1024L * 1024L * 1024L;
  23. this.calendar = Calendar.getInstance();
  24. this.endTime = this.calendar.getTime();
  25. this.calendar.add(Calendar.MINUTE, -5);
  26. this.startTime = this.calendar.getTime();
  27. this.dbIdentifier = "dbIdentifier";
  28. this.region = Regions.EU_WEST_1;
  29. }
  30.  
  31. public void getRDSFreeSpace() {
  32. Dimension dim = new Dimension()
  33. .withName("DBInstanceIdentifier")
  34. .withValue(this.dbIdentifier);
  35.  
  36. final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.standard()
  37. .withRegion(this.region)
  38. .build();
  39.  
  40. GetMetricStatisticsRequest req = new GetMetricStatisticsRequest()
  41. .withNamespace("AWS/RDS")
  42. .withMetricName("FreeStorageSpace")
  43. .withStatistics("Average")
  44. .withStartTime(this.startTime)
  45. .withEndTime(this.endTime)
  46. .withDimensions(this.dim)
  47. .withPeriod(300);
  48.  
  49. GetMetricStatisticsResult res = cw.getMetricStatistics(req);
  50.  
  51. for (Datapoint dp : res.getDatapoints()) {
  52. double freespaceGigs = dp.getAverage() / this.GB;
  53. System.out.println(String.format("RDS Free Space: %.2f GB", freespaceGigs));
  54. }
  55. }
  56. }
Add Comment
Please, Sign In to add comment