Monitor Amazon EKS with Datadog
Amazon Elastic Container Service for Kubernetes (EKS), the latest addition to the AWS platform, is a cloud-based Kubernetes service that provides features for automated cluster management and maintenance. Whether you are migrating an existing Kubernetes cluster or deploying a new application to Amazon EKS, Datadog can help you monitor your container infrastructure and applications in real time.
How Amazon EKS works
Amazon EKS ensures the health and availability of your Kubernetes cluster by managing its masters. When you create a cluster, EKS deploys three masters across three availability zones, runs periodic checks, and replaces any it finds unhealthy. It also keeps your Kubernetes installations patched and up to date.
Amazon EKS is designed to integrate seamlessly with other AWS services. The worker nodes you deploy are simply Elastic Compute Cloud (EC2) instances operating over Amazon’s Virtual Private Cloud architecture. When you create a new cluster, EKS produces an endpoint for your masters that you can add to your kubeconfig file to access the cluster with
kubectl. And Kubernetes can use an AWS Identity and Access Management (IAM) role to access additional AWS resources like Elastic Load Balancing.
Since your Amazon EKS deployment may depend on the health and performance of multiple AWS services, you’ll want a monitoring solution that can give you visibility into all of them in a single platform, along with metrics, logs, and distributed request traces from all your applications.
Datadog: Ready-made for Amazon EKS
Because Datadog already integrates with Kubernetes and AWS, it is ready-made to monitor Amazon EKS. All you need to do is set up the Datadog integrations for Kubernetes and AWS, and enable the sub-integrations for the AWS services you are using.
Inside your Amazon EKS deployment
With Datadog running in your Amazon EKS environment, you can get full visibility into your containers, Kubernetes cluster, and EC2 nodes. And with Autodiscovery, the Agent can keep track of where your pods and services are running, and determine which checks to run as a result.
You can correlate metrics from Kubernetes with system metrics from your EC2 worker nodes, not to mention your containers and any services running in your cluster. And you can use Datadog tags to aggregate metrics by any of the logical groupings you’ll find in an Amazon EKS deployment, from Kubernetes pods and Docker images to AWS CloudFormation stacks and Auto Scaling groups. Datadog will automatically pull in tags from your AWS account, Docker containers, and Kubernetes cluster.
Your Amazon EKS cluster in a single dashboard
In the example above, we’re monitoring an Amazon EKS cluster with a custom screenboard that visualizes high-level status checks along with metrics for the Kubernetes pods and EC2 nodes in the cluster. We are using a template variable to view only metrics from the CloudFormation stack that defines our EKS cluster.
You can filter by any of the tags pulled from AWS or Kubernetes, or by any custom tag in your Amazon EKS cluster, to determine how many containers in your cluster are running, how resource usage is distributed across nodes, and whether the nodes themselves are healthy.
Amazon EKS container health in real time
You can also use the Live Container view to list the containers in your Amazon EKS cluster, sort them by high-level resource metrics, and drill down further with timeseries graphs and metrics for processes running within the containers. In the example below, we are using tags from AWS and Docker to isolate the containers in a particular EKS cluster that are running a particular application. The Live Container view provides resource metrics such as CPU and memory usage at two-second resolution, making it easy to see if any of your containers need attention. You can also see a process tree for each container (as long as you’ve enabled Live Processes).
Amazon EKS with Datadog, from day one
Amazon EKS is a powerful new addition to the AWS platform, and we are proud to integrate with the EKS service from day one. If you don’t yet have a Datadog account, see how you can bring full-stack visibility to your managed Kubernetes clusters with a 14-day free trial.