Forum Discussion

Naveenkumar's avatar
Naveenkumar
Icon for Neophyte rankNeophyte
2 years ago

Does cloud watch API calls bound to Data Sources or Data points?

Hi All,

I have an EC2 instance in my aws account. The instance is assigned to local collector in the same subnet to collect metrics. At the same time the Cloud watch data sources are also continue to collect the metrics. I was not able to completely disable the cloud collector data sources because we need some metrics.

My question is if we uncheck some of the data points(e.x : CPUUtilization) in the EC2 data sources to stop collecting the metrics, will it reduce API calls to the Cloud watch? By this way if we can save some cloud watch cost from AWS side? 

Does cloud watch API calls bound to Data Sources or Data points?

  • As per the above document, Total Number of Metrics for 1 EC2 is 95,404 for 11 data points, if i have unchecked 5/6 datapoints the total metrics to be collected will be reduced to around 45-50k requests, and the cost would also be proportional to number of request, so the cost should be around $0.40 - $0.60. Correct me if i’m wrong. @Michael Raymond 

    AWS Service Number of Datapoints Polling Interval (min) Total Number of Metrics Request per Month
    (60 min/hour, 24 hours/day, 30 days/month)
    CloudWatch Charge Rate Estimated Additional Cost per Resource per Month

    EC2

    11 5 95,404 $0.01 per 1,000 metrics requested $0.95
  • Anonymous's avatar
    Anonymous

    Haha, on mobile, not enough distinction between "Mark as correct answer" and "like"

  • Anonymous's avatar
    Anonymous

    No, excluding datapoints (there’s not really a way) wouldn’t save you money AFAIK.

  • @Stuart Weenig I’m not excluding the data source, I just want to exclude few Data points. Also I would like to know if excluding data points will save us some money.

  • Anonymous's avatar
    Anonymous

    I don’t know if/how much that would save you on CloudWatch bills though.

  • Anonymous's avatar
    Anonymous

    You could modify the AppliesTo of the cloud datasources to exclude certain VMs.

    For example (in Azure, but similar for other cloud providers): MicrosoftAzure_VMBackupStatus has the following AppliesTo:

    hasCategory("Azure/VirtualMachine") && system.azure.hasBackupProtectedItemResource == "true"

    You could add something that looks for a property and if that property is present, the VM is excluded from applying to that DS:

    hasCategory("Azure/VirtualMachine") && system.azure.hasBackupProtectedItemResource == "true" && noCloudMetrics

    Then you’d just add a property called “noCloudMetrics” to any VMs you want that DS not to apply to. It doesn’t matter what the value is. This expression just looks for that property to exist.