Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CpuUtilizationPanelCmd = &cobra.Command{ Use: "cpu_utilization_panel", Short: "getCpuUtilizationPanel command gets cloudwatch metrics data", Long: `getCpuUtilizationPanel command gets cloudwatch metrics data`, Run: func(cmd *cobra.Command, args []string) { var authFlag, clientAuth, err = authenticate.AuthenticateCommand(cmd) if err != nil { log.Println("Error during authentication: %v", err) cmd.Help() return } if authFlag { instanceID, _ := cmd.PersistentFlags().GetString("instanceID") metricName, _ := cmd.PersistentFlags().GetString("query") namespace, _ := cmd.PersistentFlags().GetString("elementType") startTimeStr, _ := cmd.PersistentFlags().GetString("startTime") endTimeStr, _ := cmd.PersistentFlags().GetString("endTime") var startTime, endTime *time.Time if startTimeStr != "" { parsedStartTime, err := time.Parse(time.RFC3339, startTimeStr) if err != nil { log.Printf("Error parsing start time: %v", err) cmd.Help() return } startTime = &parsedStartTime } else { defaultStartTime := time.Now().Add(-5 * time.Minute) startTime = &defaultStartTime } if endTimeStr != "" { parsedEndTime, err := time.Parse(time.RFC3339, endTimeStr) if err != nil { log.Printf("Error parsing end time: %v", err) cmd.Help() return } endTime = &parsedEndTime } else { defaultEndTime := time.Now() endTime = &defaultEndTime } currentUsage, err := GetCpuUtilizationMetricData(clientAuth, instanceID, metricName, namespace, startTime, endTime, "SampleCount") if err != nil { log.Fatal(err) } averageUsage, err := GetCpuUtilizationMetricData(clientAuth, instanceID, metricName, namespace, startTime, endTime, "Average") if err != nil { log.Fatal(err) } maxUsage, err := GetCpuUtilizationMetricData(clientAuth, instanceID, metricName, namespace, startTime, endTime, "Maximum") if err != nil { log.Fatal(err) } jsonOutput := map[string]float64{ "CurrentUsage": *currentUsage.MetricDataResults[0].Values[0], "AverageUsage": *averageUsage.MetricDataResults[0].Values[0], "MaxUsage": *maxUsage.MetricDataResults[0].Values[0], } jsonString, err := json.Marshal(jsonOutput) if err != nil { log.Fatal(err) } fmt.Println(string(jsonString)) } }, }
View Source
var MemoryUtilizationPanelCmd = &cobra.Command{ Use: "memory_utilization_panel", Short: "getCpuUtilizationPanel command gets cloudwatch metrics data", Long: `getCpuUtilizationPanel command gets cloudwatch metrics data`, Run: func(cmd *cobra.Command, args []string) { var authFlag, clientAuth, err = authenticate.AuthenticateCommand(cmd) if err != nil { log.Println("Error during authentication: %v", err) cmd.Help() return } if authFlag { instanceID := "i-05e4e6757f13da657" metricName := "MemoryUtilization" namespace := "AWS/EC2" startTimeStr, _ := cmd.PersistentFlags().GetString("startTime") endTimeStr, _ := cmd.PersistentFlags().GetString("endTime") var startTime, endTime *time.Time if startTimeStr != "" { parsedStartTime, err := time.Parse(time.RFC3339, startTimeStr) if err != nil { log.Printf("Error parsing start time: %v", err) cmd.Help() return } startTime = &parsedStartTime } else { defaultStartTime := time.Now().Add(-5 * time.Minute) startTime = &defaultStartTime } if endTimeStr != "" { parsedEndTime, err := time.Parse(time.RFC3339, endTimeStr) if err != nil { log.Printf("Error parsing end time: %v", err) cmd.Help() return } endTime = &parsedEndTime } else { defaultEndTime := time.Now() endTime = &defaultEndTime } currentUsage, err := getMemoryMetricData(clientAuth, instanceID, metricName, namespace, startTime, endTime, "SampleCount") if err != nil { log.Fatal(err) } fmt.Printf("Current Memory Usage: %v\n", currentUsage) averageUsage, err := getMemoryMetricData(clientAuth, instanceID, metricName, namespace, startTime, endTime, "Average") if err != nil { log.Fatal(err) } maxUsage, err := getMemoryMetricData(clientAuth, instanceID, metricName, namespace, startTime, endTime, "Maximum") if err != nil { log.Fatal(err) } fmt.Printf("Current Memory Usage: %v\n", currentUsage) fmt.Printf("Average Memory Usage: %v\n", averageUsage) fmt.Printf("Max Memory Usage: %v\n", maxUsage) } }, }
Functions ¶
func GetCpuUtilizationMetricData ¶ added in v1.0.2
func GetCpuUtilizationMetricData(clientAuth *model.Auth, instanceID, metricName, namespace string, startTime, endTime *time.Time, statistic string) (*cloudwatch.GetMetricDataOutput, error)
Types ¶
Click to show internal directories.
Click to hide internal directories.