A comprehensive set of turnkey infrastructure integrations

Including dozens of AWS and Azure services, web, database, network, containers, orchestrations like Docker and Kubernetes, and more.

START FREE TRIAL

Complete visibility into the health and performance of applications and their underlying infrastructure

Quickly pinpoint the root cause of performance issues across the stack, down to a poor-performing line of code

START FREE TRIAL

Custom metrics and analytics

Analyze custom infrastructure, application, and business metrics

View Custom Metrics Monitoring Info
Powerful API that makes it easy to collect and create any custom metric

Achieve ultimate visibility and enhanced troubleshooting with synthetic and real user monitoring

START FREE TRIAL

Free APM Software

Catch bugs early on, and gain full visibility and insights into the applications you’re developing

View Product Info
Free, full-function APM tool for testing and troubleshooting application performance before moving into production

Dev Edition includes five traces per minute, 100 metrics, three hosts, and six containers

GET FREE TOOL

Log Management and Analytics powered by SolarWinds Loggly

Integrated, cost-effective, hosted, and scalable full-stack, multi-source log management

View Log Management and Analytics Info
Collect, search, and analyze log data in addition to your metrics and traces to quickly pinpoint application performance problems

Reduce mean time to resolution (MTTR) by quickly jumping from a trace or host view into the relevant logs to accelerate troubleshooting

START FRE TRAIL

Digital Experience Monitoring Powered by SolarWinds Pingdom

Make your websites faster and more reliable with easy-to-use web performance and digital experience monitoring

View Digital Experience Monitoring Info
Add client-side web application performance monitoring. Provide maximum observability by adding the user’s perspective.

Achieve ultimate visibility and enhanced troubleshooting with synthetic and real user monitoring

START FREE TRIAL

Monitoring of distributed systems calls for powerful tooling capable of dealing with ephemeral infrastructure. Contemporary cluster architectures like those using Kubernetes, where loosely coupled containers come and go as they are scheduled and nodes evacuated, require a cloud-native approach to effective monitoring. And while it’s impossible to predict the myriad states of partial failure various parts of your distributed applications might end up in, SolarWinds AppOptics has taken the first steps in simplifying your monitoring of these complex systems.

As an active member of the Cloud Native Computing Foundation (a Cloud Native Ambassador and Technical Oversight Committee Contributor), I’ve been keen on our support of customers leveraging these projects (we use and contribute to many of them in the delivery of our services). While Kubernetes is the flagship project within the CNCF, there are many other strong contenders for the spotlight. AppOptics has integrations with Prometheus, Fluentd (via Papertrail), Opentracing and Istio (yet to be adopted as a CNCF project). Kubernetes is the first to reached a Graduated project level, which means going mass market.

From first launch late last year, AppOptics offered support monitoring Kubernetes – both its control plane components and containerized applications running within its clusters. Today, Amazon Web Services is launching the Elastic Kubernetes Service – a managed Kubernetes offering – joining the ranks of other public cloud service offerings that host and manage the world’s most popular container orchestrator.

EKS in a Nutshell

With no masters to manage in EKS, you forego the need for cluster deployment tools like that of the recommended kops. Guaranteed to be upstream compatible, Amazon EKS is Certified Kubernetes Conformant, which means that applications running on EKS are fully compatible with applications running on any standard Kubernetes environment. In addition to vanilla Kubernetes, EKS includes a number of integration points with other AWS services. Those integrations are made possible either by other open source projects in the Kubernetes ecosystem or projects that Amazon has open sourced. EKS includes these projects:

Monitoring EKS with AppOptics

As an AppOptics user, you have choice of two modes of deployment (or both), depending on whether you’re looking to monitor Kubernetes cluster health or monitor application health within containers orchestrated by EKS.

  • Deployment – A single pod to talk to the Amazon EKS API to send Kubernetes cluster health metrics to AppOptics.
  • DaemonSet – A DaemonSet that runs a pod on every node in your cluster and publishes both node and application-specific metrics to AppOptics.

The Kubernetes plugin for AppOptics comes with prefabricated dashboards written with embedded domain knowledge of EKS and metrics used as key indicators of Kubernetes’ cluster health.

AppOptics Kubernetes Dashboard – a collection of key performance and cluster health indicators baked into a set of readily available of charts.

There are many indicators of Kubernetes cluster health built into the out of the box dashboard. Below are two example metrics used at key indicators of EKS cluster health – Pending Pods and Stable Deployments.

Pending Pods

Pods in the Pending state have been accepted by the Kubernetes system, but one or more of the containers has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while.

If your pending pods metric sees a sudden surge, this means that the pod could not be scheduled on a node. Typically, this is because of insufficient CPU or memory resources. The number of Pending Pods could also rise due to the absence of a network overlay or a volume provider. Our best practices suggest that no pods are stuck in the Pending state and that every pod transitions to Running on a worker node within 5 minutes, otherwise generate an alert.

Pending Pods Chart – the mgmt-020 node has been consistently overscheduled and out of resources.

Stable Deployments

Your Deployment may get stuck trying to deploy its newest ReplicaSet without ever completing. Unless you’re in the middle of a rolling update, you should make sure the number of available Replicas within a Deployment always matches the desired number of replicas. Deployment failures can occur due to:

  • Insufficient quota
  • Readiness probe failures
  • Image pull errors
  • Insufficient permissions
  • Limit ranges
  • Application runtime misconfiguration

During a rolling update, you should expect Deployments to transition phases. However, as an overarching indicator of Deployment health, once a Deployment is complete, the number of desired Replicas should equal the number of available Replicas.

Stable Deployments Chart – after two days of unhealthy deployments, this cluster has finally reached a stable state, where the number of desired replicas is in fact how many have been scheduled and are available.

Be sure to read about the rest of the Kubernetes metrics we collect and why their monitoring is important to maintaining a healthy EKS deployment.

In partnership with Amazon, SolarWinds is proud to support the launch of EKS! Existing AppOptics users have immediate access to these partner-integrated capabilities. New users may sign up for a free trial anytime!

Related articles

© 2024 SolarWinds Worldwide, LLC. All rights reserved.