Forum Discussion

Arjuna's avatar
10 months ago
Solved

LogicMonitor "Application ELB" Datasource returns NoData instead of metric for ELB 5XX

We have noticed "HTTPCode_ELB_5XX_Count” Datapoint from "AWS_Application_ELB” Datasource configured to collect "Raw Data” from AWS ELB following the Metric path "AWS/ApplicationELB>LoadBalancer:##system.aws.resourceid##>HTTPCode_ELB_5XX_Count>Sum” and whenever it detects Cloudwatch metrics has value, it returns value in Logicmonitor datapoint as well

Example: (When Cloudwatch has metrics for 5XX, below displays in poll)

HTTPCode_ELB_5XX_Count

18.0


(When Cloudwatch has empty/null metrics, below displays in poll)

HTTPCode_ELB_5XX_Count

NoData


But after we resolve the 5XX error, Cloudwatch metrics value will be empty/null in aws that reflects NoData for the Datapoint in LogicMonitor. 

Our Requirement: We should not get NoData even if the CloudWatch metrics empty/null

Could someone please suggest a solution for this requirement


 

  • Yeah, for example AWS_ELB and others have complex datapoints that looks like this:

    if(un(HTTPCode_Backend_5XX_Raw),0,HTTPCode_Backend_5XX_Raw)

    Which will return 0 if HTTPCode_Backend_5XX_Raw is NoData. Perhaps you can update AWS_Application_ELB to work the same way. Or put in a LM feature request to implement it in future versions.

3 Replies

  • Yeah, for example AWS_ELB and others have complex datapoints that looks like this:

    if(un(HTTPCode_Backend_5XX_Raw),0,HTTPCode_Backend_5XX_Raw)

    Which will return 0 if HTTPCode_Backend_5XX_Raw is NoData. Perhaps you can update AWS_Application_ELB to work the same way. Or put in a LM feature request to implement it in future versions.

  • Yes - it is because CloudWatch doesn’t actually report 0s via the API. So that means No Data could mean: there is no data because the load balancer is unresponsive or otherwise not working, OR it could mean: the value is 0. One reason we don’t automatically change No Data to 0 is that it eliminates the ability to alert on that first No Data condition (the load balancer will always appear to be working from a monitoring perspective if we default No Data to 0). 

    The best option is to use the complex datapoint option above, but instead of doing it based on the raw metric, use a different datapoint that should always return a value when the resource is functioning (like HealthyHostCount). We are trying to add these complex datapoints to more of our cloud out of the box modules.

  • I’ve noticed the same issue with LMCloud and have had to manually disable then re-enable alerting to reset it. I think it’s a limitation in that cloudwatch will only report data it has and many times that doesn’t include 0. I agree that LM should account for this and set 0 anyway. I think I’ve seen some DataSources that have complex datapoints that attempt this, but not sure how wide spread (or I’m thinking of something else).