prometheus-redis-exporter

redis_exporter is a Prometheus exporter for Redis metrics. This chart bootstraps a redis_exporter deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.8+ with Beta APIs enabled

Prometheus exporter for Redis metrics.
Supports Redis 2.x, 3.x, and 4.x

Exporters and integrations

There are a number of libraries and servers which help in exporting existing metrics from third-party systems as Prometheus metrics. This is useful for cases where it is not feasible to instrument a given system with Prometheus metrics directly (for example, HAProxy or Linux system stats).

Third-party exporters

Some of these exporters are maintained as part of the official Prometheus GitHub organization, those are marked as official, others are externally contributed and maintained.

We encourage the creation of more exporters but cannot vet all of them for best practices. Commonly, those exporters are hosted outside of the Prometheus GitHub organization.

The exporter default port wiki page has become another catalog of exporters and may include exporters not listed here due to the overlapping functionality or still being in development.

The JMX exporter can export from a wide variety of JVM-based applications, for example, Kafka and Cassandra.

Other third-party utilities

This section lists libraries and other utilities that help you instrument code in a certain language. They are not Prometheus client libraries themselves but make use of one of the normal Prometheus client libraries under the hood. As for all independently maintained software, we cannot vet all of them for best practices.

  • Clojure: Prometheus-clj
  • Go: go-metrics instrumentation library
  • Go: gokit
  • Go: prombolt
  • Java/JVM: EclipseLink metrics collector
  • Java/JVM: Hystrix metrics publisher
  • Java/JVM: Jersey metrics collector
  • Python-Django: django-prometheus
  • Node.js: swagger-stats

Extending “Prometheus-kubernetes” to add custom monitoring

As we all aware, Prometheus (https://prometheus.io/) is a great tool to monitor Kubernetes cluster and pods. I have been part of setting up a monitoring tool using Prometheus and Grafana, the research landed me to a customized and easy-to-use Prometheus integrated with default monitoring setup for Kubernetes.

Architecture Overview

Let’s talk a little about how the architecture of ‘prometheus-kubernetes’ implementation. GitHub page talks about the overall design a little, so it will of our interest if we get to know the architecture first.
“Prometheus-kubernetes” is implemented based on the Prometheus-Operator from CoreOS. Prometheus Operator creates, configures, and manages Prometheus monitoring instances, the major advantage is that we don’t have to use any ‘scrape-configurations’ at Prometheus server instead it generates monitoring target configurations based on Kubernetes label queries.

Now, when you use the “Prometheus-kubernetes” package, you are ready to monitor your Kubernetes. For me, that was not enough, I wanted to monitor other applications deployed to Kubernetes like Redis, RabbitMQ, NodeJS, etc. This article covers how to monitor additional systems by making configuration changes on the ‘kubernetes-Prometheus’

Tell us about a new Kubernetes application

Newsletter

Never miss a thing! Sign up for our newsletter to stay updated.

About

Discover and share new Kubernetes applications

Navigation