Monitoring Pods on EKS Fargate #556
-
|
How do we monitor the applications that are deployed on EKS Fargate? (e.g. log management, uptime, URL healthcheck, resource monitoring, etc.) |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
For monitoring, we have a few things available: Logging: The EKS cluster in the Reference Architecture is configured to stream all logs from Pods to CloudWatch Logs in JSON format. There should be a Log Group with the name of the EKS cluster in the account where you are inspecting, and in there, you should see a log stream for pod. When inspecting a single Pod, you can go directly to the stream and search there. When inspecting an app, it is more desirable to view the logs across multiple pods. To do this, you can use the Insights interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) where you can construct a query that scans the logs across multiple streams. Uptime/URL Health check: For uptime/health checks, we recommend using an external service that monitors the endpoints, such as pingdom or Route53 Health Checks. Note that there are also natural healthchecks that are automatically configured for the pod and node levels, such as liveness and readiness probes and ALB health checks. These are configurable from the Resource monitoring: This is one area where we lack a full feature set that works with Fargate. The general recommendation for EKS Fargate is to use Prometheus to monitor the pod resources. Unfortunately, we currently don’t have an off the shelf module that helps configure Prometheus, but you can follow the instructions in this blog post by AWS (https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) to configure it on your cluster. |
Beta Was this translation helpful? Give feedback.
For monitoring, we have a few things available:
Logging:
The EKS cluster in the Reference Architecture is configured to stream all logs from Pods to CloudWatch Logs in JSON format. There should be a Log Group with the name of the EKS cluster in the account where you are inspecting, and in there, you should see a log stream for pod.
When inspecting a single Pod, you can go directly to the stream and search there. When inspecting an app, it is more desirable to view the logs across multiple pods. To do this, you can use the Insights interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) where you can construct a query that scans the logs across multiple s…