Search code examples
amazon-web-servicesamazon-rdsamazon-cloudwatchamazon-cloudwatch-metrics

How do I create a custom metric for RDS Memory Utilization in Cloudwatch?


I have Enhanced Monitoring turned on for one of my RDS database instances, and accordingly it is publishing messages to the Cloudwatch log group called "RDSOSMetrics" every 60 seconds. I found this article on how to create custom metrics but it doesn't seem to be working.

I'm at the stage where I click "Create Metric Filter" but I'm not understanding the syntax to use for the Filter Pattern, as it seems everything I try to use resutls in this error:

There is a problem with your filter pattern. The error is: Invalid metric filter pattern

One such example of a filter pattern I tried to use (but apparently is invalid) is the following:

{ $.memory.physAvailKb * 100 / $.memory.physTotKb }

How can I change this filter pattern to actually be valid?


Solution

  • I don't think you can do calculation with a filter

    For my understanding, what you can do is, create a filter with {$.memory.physAvailKb > 0}, value to report for that filter is $.memory.physAvailKb

    Create another filter for {$.memory.physTotKb > 0} that report value of $.memory.physTotKb

    After that, you can use MathMetric for your operations