Amazon Elastic Kubernetes Service Monitoring Integration

Amazon Elastic Kubernetes Service (Amazon EKS) enables you to easily deploy, manage, and scale containerized applications using Kubernetes on AWS. With Kubernetes  you can automate the deployment, scaling, and management of containerized applications at scale.

Table of contents

Use case

Amazon EKS is a fully managed Kubernetes service that lets you run your application on both Amazon Elastic Compute Cloud (EC2) and AWS Fargate. Consider a use case where you have a containerized application in a cluster attached to the EKS monitor. When you integrate your Amazon EKS with Site24x7, then EKS Cluster, EKS Namespace, and EKS Node monitors will be created. If your cluster or node is down or facing an issue, you can identify and track the issue with the alerts configured for both the cluster- and node-level monitors.

Benefits of the integration between Site24x7 and Amazon EKS

Site24x7's integration with Amazon Elastic Kubernetes Service (EKS) enables you to monitor your Amazon EKS at the cluster, node, and namespace level.

With the integration between Site24x7 and Amazon EKS, you can:

  • Achieve full-stack visibility into your monitored resources.
  • Configure thresholds and receive alerts when your cluster or node is down.
  • Get a detailed overview of node and pod performance metrics in the form of graphs with container insights.

Setup and configuration

1. If you haven't already, enable access to your AWS resources between your AWS account and Site24x7's AWS account by either:

  • Creating Site24x7 as an IAM user.
  • Creating a cross-account IAM role. Learn more

2. On the Integrate AWS Account page, check the box next to Amazon EKS. Learn more

Prerequisite

  • Install the Container Insights on Amazon EKS. Learn more

Policy and permissions

Site24x7 uses various Amazon EKS APIs to collect information about your clusters. Assign the AWS Managed policy ReadOnlyAccess to the Site24x7 entity (IAM user or IAM role) to help Site24x7 collect metrics and metadata. If you want to assign a custom policy, please make sure the following read-level actions are present in the policy JSON. Learn more

  • "eks:DescribeCluster",
  • "eks:ListClusters",
  • "cloudwatch:ListMetrics"

Polling frequency

Site24x7 collects metric data on your clusters, namespace and nodes as per the poll frequency set, ranging from one minute up to one day. Learn more

Cluster-level metrics

CloudWatch metricDescriptionStatisticData Type
cluster_failed_node_count Number of failed nodes in a cluster Maximum Nodes
cluster_node_count Total nodes in a cluster Maximum Nodes
namespace_number_of_running_pods Number of pods running in namespaces Maximum Pods
service_number_of_running_pods Number of pods running in services Maximum Pods
node_number_of_running_pods Number of pods running in nodes Maximum Pods
node_number_of_running_containers Number of containers running in nodes Maximum Containers
node_cpu_usage_total CPU used by all nodes Maximum Units
node_cpu_limit CPU assigned to nodes Maximum Units
node_cpu_reserved_capacity CPU reserved for nodes Average Percentage
node_cpu_utilization CPU used by nodes Average Percentage
node_filesystem_utilization File system capacity on nodes Average Percentage
node_memory_limit Memory assigned to nodes Maximum MB
node_memory_working_set Memory used in working sets of nodes Average MB
node_memory_reserved_capacity Memory reserved for nodes Average Percentage
node_memory_utilization Memory utilized by nodes Average Percentage
node_network_total_bytes Total network traffic in nodes Sum MB/sec
pod_cpu_reserved_capacity CPU reserved for pods Average Percentage
pod_cpu_utilization CPU utilized by pods Average Percentage
pod_cpu_utilization_over_pod_limit CPU utilized over pod limit Average Percentage
pod_memory_reserved_capacity Memory reserved for pods Average Percentage
pod_memory_utilization Memory utilized by pods Average Percentage
pod_memory_utilization_over_pod_limit Memory utilized over pod limit Average Percentage
pod_network_rx_bytes Total bytes received by pods Sum MB/sec
pod_network_tx_bytes Total bytes sent by pods Sum MB/sec

Top

Node-level metrics

CloudWatch metricDescriptionStatisticData Type
node_number_of_running_pods Number of pods running in nodes Maximum Pods
node_number_of_running_containers Number of containers running in nodes Maximum Containers
node_cpu_reserved_capacity CPU reserved for nodes Average Percentage
node_cpu_utilization CPU used by nodes Average Percentage
node_filesystem_utilization File system capacity on nodes Average Percentage
node_memory_reserved_capacity Memory reserved for nodes Average Percentage
node_memory_utilization Memory utilized by nodes Average Percentage
node_network_total_bytes Total network traffic in nodes Sum MB/sec

Namespace-level metrics

CloudWatch metricDescriptionStatisticData Type
namespace_number_of_running_pods Number of pods running in namespaces Maximum Pods
pod_cpu_utilization CPU utilized by pods Average Percentage
pod_cpu_utilization_over_pod_limit CPU utilized over pod limit Average Percentage
pod_memory_utilization Memory utilized by pods Average Percentage
pod_memory_utilization_over_pod_limit Memory utilized over pod limit Average Percentage
pod_network_rx_bytes Total bytes received by pods Sum MB/sec
pod_network_tx_bytes Total bytes sent by pods Sum MB/sec

Service-level metrics

CloudWatch metricDescriptionStatisticData Type
service_number_of_running_pods Number of pods running in services Maximum Pods
pod_cpu_utilization CPU Utilized by pods Average Percentage
pod_cpu_utilization_over_pod_limit CPU Utilized over pod limit Average Percentage
pod_memory_utilization Memory utilized by pods Average Percentage
pod_memory_utilization_over_pod_limit Memory utilized over pod limit Average Percentage
pod_network_rx_bytes Total bytes received by pods Sum MB/sec
pod_network_tx_bytes Total bytes sent by pods Sum MB/sec

Pod-level metrics

CloudWatch metricDescriptionStatisticData Type
pod_cpu_reserved_capacity CPU reserved for pods Average Percentage
pod_cpu_utilization CPU Utilized by pods Average Percentage
pod_cpu_utilization_over_pod_limit CPU utilized over pod limit Average Percentage
pod_memory_reserved_capacity Memory reserved for pods Average Percentage
pod_memory_utilization Memory utilized by pods Average Percentage
pod_memory_utilization_over_pod_limit Memory utilized over pod limit Average Percentage
pod_network_rx_bytes Total bytes received by pods Sum MB/sec
pod_network_tx_bytes Total bytes sent by pods Sum MB/sec
pod_number_of_container_restarts Number of container restarts Maximum Containers

Top

Threshold configuration

Go to Admin > Configuration Profiles > Threshold and Availability (+) > choose the monitor type as EKS Cluster/EKS Node/EKS Namespace. You can set threshold values for all the metrics mentioned above. Further, for EKS Namespace and EKS Node monitors, you can set inactive namespaces and nodes respectively into maintenance in the threshold form.

Forecast

Estimate future values of the following Amazon EKS Cluster performance metrics and make informed decisions about adding capacity or scaling your AWS infrastructure.

  • Node CPU Usage
  • Node CPU Utilization
  • Node Memory Utilization
  • Pod CPU Utilization
  • Pod Memory Utilization

Similarly, you can also view the forecast for the following metrics of Amazon EKS Namespace:

  • Pod CPU Utilization
  • Pod Memory Utilization
  • Service CPU Utilization
  • Service Memory Utilization
  • CPU Utilization
  • Memory Utilization

Similarly, you can also view the forecast for the following metrics of Amazon EKS Node:

  • CPU Utilization per Node
  • Memory Utilization per Node
  • Network per Node

Licensing

Every EKS Cluster, EKS Node, and EKS Namespace monitors are considered as a basic monitor with one basic license.

 

Site24x7's EKS monitoring interface

You can view the following data in Site24x7's EKS monitoring interface:

Summary

Gain an overview of different events occurring within each resource with time series charts. These charts provide event timelines on CPU utilization and memory utilization at a pod and node level in percentage, total bytes sent or received, the file system capacity, and the number of running containers and pods. All time series charts have the average, minimum, and maximum values listed.

Node Group

Node groups automate the provisioning and life cycle management of nodes (Amazon EC2 instances) for Amazon EKS Kubernetes clusters. You can view the list of node groups associated with your EKS monitor on the Node Group tab. This tab will be displayed only if a node group is created for the EKS cluster.

Fargate Profile

Fargate profiles are part of your Amazon EKS cluster and enable you to manage which pods start on Fargate and how they run with Fargate. The Fargate Profile tab shows the list of Fargate profiles associated with your EKS monitor. This tab will be displayed only if a Fargate profile is created for the EKS cluster.

Node and Namespace Details

Here you can view a list of nodes and namespaces associated with your Elastic Kubernetes environment. Click on an individual listing to see performance and resource usage stats associated with that resource. You can also set thresholds and be notified when any of these services fail by clicking the pencil icon under Action.

Monitored Resources

The Monitored Resources tab displays the EC2 instance and EC2 autoscaling group associated with the EKS cluster.

OIDC

OIDC is an object representing the OpenID Connect (OIDC) identity provider information for the cluster. You can view the OIDC associated with the EKS cluster on the OIDC tab.

Add-ons

Add-ons are common operational software, like Amazon VPC CNI, CoreDNS, and kube-proxy, that extend the Kubernetes operational functionality. The Add-ons tab displays the list of EKS cluster add-ons and the add-ons related to update events.

Update History

Obtain configuration updates related to the EKS cluster and node groups on the Update History tab.

Logs

Collect EKS control plane log entries for selected log types, with the logs being fetched from CloudWatch and categorized under log stream name.

Configuration

The configuration details of an EKS are provided under this tab. Details on the resource name, endpoint URL, region of a resource, status of a resource, security groups, subnets, VPC ID, status on the public access/private access, security groups, and many more are provided in this section.

Top

Was this document helpful?
Thanks for taking the time to share your feedback. We’ll use your feedback to improve our online help resources.