func (s *AWSSession) crawlRDSMetrics(client *mkr.Client, rdss []*AWSElement) { for _, rds := range rdss { dimensions := []*cloudwatch.Dimension{ { Name: aws.String("DBInstanceIdentifier"), Value: aws.String(rds.Name), }} metricValues := s.getMetricStatistics(rds, rdsGraphdefs, "AWS/RDS", dimensions) logger.Log("info", fmt.Sprintf("%s", metricValues)) err := client.PostHostMetricValuesByHostID(rds.HostID, metricValues) //logger.DieIf(err) if err != nil { logger.Log("error", err.Error()) } for _, metric := range metricValues { logger.Log("thrown", fmt.Sprintf("%s '%s\t%f\t%d'", rds.HostID, metric.Name, metric.Value, metric.Time)) } } }
func (s *AWSSession) crawlELBMetrics(client *mkr.Client, elbs []*AWSElement) { for _, elb := range elbs { dimensions := []*cloudwatch.Dimension{ { Name: aws.String("LoadBalancerName"), Value: aws.String(elb.Name), }} metricValues := s.getMetricStatistics(elb, elbGraphdefs, "AWS/ELB", dimensions) logger.Log("info", fmt.Sprintf("%s", metricValues)) err := client.PostHostMetricValuesByHostID(elb.HostID, metricValues) //logger.DieIf(err) if err != nil { logger.Log("error", err.Error()) } for _, metric := range metricValues { logger.Log("thrown", fmt.Sprintf("%s '%s\t%f\t%d'", elb.HostID, metric.Name, metric.Value, metric.Time)) } } }