Third party api monitoring on AWS
My application consumes a large amount of APIs and also have webhooks it calls. Failure to detect outage of one API could go unnoticed and leads to bad user experience.
I would like to log the requests and responses as well as the exception that occured. My first instinct was to push this log to elasticsearch. But I wanted to utilize a more dynamic tooling on AWS.
I need two things from this monitoring infrastructure.
- I need the graphs to show me the performance of the service. I should be able to see the count of transaction that are happening against the total failure count.
- I need to alert by taking previous data into consideration. It could be Monday compared to the past 4 Mondays per service.
- I need to be able to drill down and see the raw logs and search through them
I have a couple of things in mind, and I would like to get suggestions.
Push everything to elasticsearch
I can push everything to elasticsearch and create graphs on Kibana or Grafana (Grafana seems more fit for the job).
I figured out how to graph it on Kibana but comparing against the past 4 Mondays was a challenge. Which made me think there must be better tools
Push everything to Cloud watch
I didn't try this one yet, I'm not sure if this has a different capability than elasticsearch.
This seems to be a good fit the analytics part but persisting and drill down reports seem to be hard if this is in the path. I could push the Kinesis stream to both Analytics and ES but I'm not sure if the cost is worth it.
I appreciate any help