Community Blog
Get the latest updates on the Splunk Community, including member experiences, product education, events, and more!

Monitoring Amazon Elastic Kubernetes Service (EKS)

CaitlinHalla
Splunk Employee
Splunk Employee

As we’ve seen, integrating Kubernetes environments with Splunk Observability Cloud is a quick and easy way to get the end-to-end insight we need to keep our applications healthy and our customers happy. In this post, we’ll explore how to integrate Amazon Elastic Kubernetes Service (EKS) with Splunk Observability Cloud so we can observe EKS alongside the rest of our application telemetry data. 

Observability Metrics in AWS 

The Amazon EKS management console and Amazon CloudWatch provide insight into EKS observability metrics. From the AWS management console, you can see things like cluster health and details about EKS resources deployed to your cluster. Node details are available within a selected cluster’s Resources tab: 

resources nodes.png

You can dig into pod status, capacity, and pod details:

node detail 1.png

Get an overview of node conditions like MemoryPressure, DiskPressure, etc.:

node detail 3.png

You can even get insight into node events like node status: 

node details 4.png

For more detailed cluster health visibility, you can enable CloudWatch Observability from the EKS console. With Container Insights enabled, you get even deeper insight into cluster state and resource utilization: 

Container Insights.png

Along with cluster, namespace, node, service, workload, pod, and container performance monitoring: 

cluster performance montiroing.png

But if your infrastructure isn’t all in AWS and is spread across multiple platforms, navigating between observability tools, especially during a high-pressure incident, is not great. Instead, having one unified observability platform where you can view all these metrics and more reduces toil and time to incident resolution. End-to-end visibility unified in a central platform makes for a more resilient and efficient observability practice. So let’s look at how to integrate one such observability platform, Splunk Observability Cloud, with Amazon EKS. 

Integrate AWS and Splunk Observability Cloud

Splunk Observability Cloud provides a unified platform for troubleshooting and monitoring all application systems no matter where they live. Not only can you collect and store Amazon Cloudwatch Metrics data, but if pieces of your applications and infrastructure live outside of AWS, you can view that data right alongside your AWS data for a complete observability picture.

You may have already integrated AWS with Splunk Observability Cloud through the Data Management section in Splunk Observability Cloud: 

integrate AWS.png

The integration wizard easily takes you through the process of preparing your AWS account: 

prepare AWS account.png

And getting your AWS data flowing into Splunk Observability Cloud: 

renew inventory new.png

But for EKS, data is collected using the Splunk Distribution of the OpenTelemetry Collector, and even with AWS integrated with Splunk Observability Cloud, you’ll notice from the Available Integrations page that we still need to deploy the OpenTelemetry Collector to get our EKS data in: 

fix missing colelctors.png

So let’s install the Splunk Distribution of the OpenTelemetry Collector for Kubernetes

Install the Splunk Distribution of the OpenTelemetry Collector

We’ve gone through how to integrate Kubernetes and Splunk Observability Cloud before, and integrating Amazon EKS isn’t much different. When we follow along with the integration wizard, we just need to specify Amazon Web Services as the provider and Amazon EKS (or Amazon EKS / Fargate profiles) as the distribution: 

integrate k8s.png

We can connect to our EKS cluster and then follow along with the rest of the installation instructions. I’m using the AWS CLI in my terminal, but with Helm installed, you could also use AWS CloudShell. I first configured kubectl for my EKS cluster by updating my kubeconfig file: 

update-kubeconfig.png

And verified the connection: 

verify kubeconfig connection.png

I next ran the commands in the Splunk Observability Cloud installation instructions with splunk-otel-collector --version pinned to 0.111.0

helm commands.png

Once those steps were complete, I could then view my EKS telemetry data from within Splunk Observability Cloud: 

successfully integrated kubernetes.pngIn a previous post, we explored what it looks like to navigate Kubernetes data using Splunk Observability Cloud navigators to detect and resolve issues in a Kubernetes environment. Now that our EKS cluster is sending data to Splunk Observability Cloud, we can use all the same products and features within Splunk Observability Cloud to monitor our Amazon EKS environment. 

From Infrastructure Monitoring we can view our Amazon EKS navigators: 

K8s navigator.png

We can get insight into all of our Kubernetes clusters: 

k8s clusters.png

Dive into the health of a specific cluster:

cluster.png

And observe critical performance data around nodes, containers, daemonsets, deployments, namespaces, pods, replicasets, and workloads: 

nodes, daemonsets, etc.png

From these critical usage metrics, we can create detectors and alerts from within our navigators and they can live right alongside the detectors and alerts for the rest of our applications and infrastructure:

create detector.png

With Amazon EKS now successfully integrated, we can use Splunk Observability Cloud to proactively monitor, detect, and alert on anomalies in our EKS environment right alongside the rest of our application and infrastructure telemetry data. 

Wrap up

Integrating with a third-party observability platform like Splunk Observability Cloud provides a unified observability solution for your applications and infrastructure. This helps with quick and easy incident detection and resolution without having to navigate between a bunch of different observability solutions. 

Want to try integrating Amazon EKS with Splunk Observability Cloud? Try Splunk Observability Cloud free for 14 days

Resources

Get Updates on the Splunk Community!

Enterprise Security Content Update (ESCU) | New Releases

In December, the Splunk Threat Research Team had 1 release of new security content via the Enterprise Security ...

Why am I not seeing the finding in Splunk Enterprise Security Analyst Queue?

(This is the first of a series of 2 blogs). Splunk Enterprise Security is a fantastic tool that offers robust ...

Index This | What are the 12 Days of Splunk-mas?

December 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...