Reputation: 2471
We are using Amazon ECS for micro-services based architecture. We are right now using ALB service monitoring with target-group associated with each service in an ECS cluster.
Right now, We are facing difficulty to monitor the microservices as they are hosted under route 53 private hosted zone.
We have tried to monitor Route 53 health monitoring but route 53 doesn't allow to monitor the health of the endpoints with a simple routing policy.
Ref: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html
We need to monitor the status code of each microservice at any interval of time.
We have also setup health-check for each microservice. Example: service-a.domain/ping. We need a status-page which represent the health of all available service we add using the status code we add. Also, any way if we can monitor them from application load balancer target group).
What will be the best way to monitor every microservice. ?
Upvotes: 1
Views: 346
Reputation: 1837
You could use:
https://github.com/brotandgames/ciao
It's open source self-hosted. So, you can host it internally and thus it will be able to access private microservices and do status check. It provides nice mail and webhooks flexible notifications.
Upvotes: 1
Reputation: 4539
You can integrate Axibase Time Series Database with AWS Route53 health checks via CloudWatch to create a consolidated view of the microservices as described here.
Container-based microservices tend to have short lifespans, so we recommend to reduce AWS CloudWatch job frequency to 5 minutes compared to the default 15 minutes. Similarly, given that Health Checks are likely to be created and removed on short notice, it's better to copy their attributes to the database every 5 minutes.
Disclaimer: I work for Axibase.
Upvotes: 1