Monitoring without Cooperation: Kubernetes

Overcoming Challenges in Unmanaged Environment Monitoring

import ReactPlayer from ‘react-player’

Imagine this: You are an engineer at a startup. You are responsible for keeping all the applications running smoothly and safely in production. At first, you have things under control, but soon enough things start getting more complex. The system has grown by hundreds of new server nodes, new services and containers are showing up seemingly every day, and you hear there’s a project to transition everything to Kubernetes (you’ve heard the term “cloud native” so often that the phrase shows up in your dreams).

All of this means that monitoring your servers, applications, and containers just got a whole lot more challenging. Some of these applications require high fidelity monitoring (in other words: data must be collected, monitored, and visualized every second). Any monitoring tool you use must be something you and your team can configure as quickly as possible and start monitoring. Modifying any of the production code or applications for observability purposes is not an option. So, you need a tool that can monitor with zero cooperation from the applications being monitored.

It goes without saying that your company’s data must be secure and none of the monitored data must be stored on any servers that don’t belong to your company.

So, what do you do? Lucky for “you," there’s an easy answer: Netdata.

Netdata offers high fidelity monitoring with zero configuration, and it can monitor any application, written in any computer language, to get amazing real-time insights of everything about its operation, all without any cooperation from the application whatsoever. Your data is private. None of the metric data being monitored and visualized is stored on Netdata’s servers.

Netdata can do so much more than monitor system level metrics in real time. It offers you the ability to monitor any application you are running to derive valuable insights that really feels like a superpower.

If you aren’t convinced yet, let’s get a bit more technical and dive into some specific use-cases of systems that can be monitored with no need for cooperation or configuration on behalf of the system.

Monitoring a Kubernetes Cluster with Netdata

Kubernetes is a system that manages containers (containerized applications) that takes care of things like scaling, failover, and load balancing. It was built and open-sourced by Google and written in their very own Go programming language. While Kubernetes makes deployment and configuration easier, its many containerized layers and management processes makes Kubernetes monitoring a complex and often expensive challenge. And if you are using Kubernetes in production, you know that monitoring is not optional

Netdata is one of the simplest and fastest ways to monitor your Kubernetes cluster. And it’s a free service that’s available to everybody. Follow the steps below to start monitoring your Kubernetes cluster using Netdata.

(And if you’d rather watch a video than read text, here’s a quick video on how to start monitoring Kubernetes with Netdata in just 5 minutes.)

To deploy Kubernetes monitoring with Netdata, you need:

  • A working cluster running Kubernetes v1.9 or newer.
  • The kubectl command line tool
  • The Helm package manager (v3.0.0 or newer) on the same administrative system.
Once you have all of the things in the list above here's what you need to do:
  • Install the Netdata helm agent:
helm repo add netdata https://netdata.github.io/helmchart/
helm install netdata netdata/netdata
  • Run kubectl get services and kubectl get pods to confirm that your cluster now runs a netdata service, one parent pod, and multiple child pods.
  • Sign up to Netdata cloud.
  • Connect your Kubernetes cluster to Netdata cloud. You can do this in just 4 clicks:
  • Click on "Manage Space"
  • Click on "Nodes"
  • Click on "Kubernetes"
  • Copy the script and execute on your system

That’s it you can now monitor key performance metrics for Kubernetes every second. No editing configuration files or fiddling around with your Kubernetes cluster. And since Netdata provides unlimited metrics, alarms, and dashboards at no cost, you can scale your monitoring to Kubernetes deployments of any size.

So head on over to https://app.netdata.cloud/ and try it out yourself!