Prometheus

Monitoring mit Prometheus

Prometheus ist ein Monitoring System, welches auf Basis einer Time-Series Datenbank tiefe Einblicke in die Funktionsweise verteilter Systeme ermöglicht. Durch aktives Anfragen von Metrik-Endpunkten werde dynamische System z.B. Kubernetes sinnvoll unterstützt. Die aktive Community stellt für unterschiedliche Einsatzzwecke Exporter bereit. Eigene Anwendungen können mit Metriken instrumentiert werden. Der Alertmanager meldet Probleme an unterschiedliche Systeme aus. Mit Hilfe von Grafana lassen sich auf dieser Basis Dashboards aus verschiedenen Quellen zusammenstellen, um den Status eines Systems schnell einsehen zu können.

In diesem Kurs installieren wir Prometheus und schauen uns alle Komponenten an, arbeiten mit Exportern und lassen uns über Alertmanager benachrichtigen. Außerdem schauen wir uns Graphen mit Grafana an und halten einen kurzen Exkurs in die Kubernetes Welt um zu verstehen, wie Prometheus in Cloud Native Infrastrukturen eingebettet wird.

Trainer und Dozenten

Peter kann sich als Gründer der bee42, Systemarchitekt, SRE, Apache Member, Apache Tomcat Committer, Infracoder und Cloud Native Influencer auf eine jahrelange und beachtliche Praxiserfahrung stützen. Mit seinen Fähigkeiten verhilft er Kunden zu produktiven Systemen.

Voraussetzungen

Vorausgesetzt werden Kenntnisse in der Linux Administration:

  • Grundkenntnisse Linux, DNS, HTTP, Git und Shell
  • Gute Kenntnisse Docker/Container und Kubernetes
  • Erste Erfahrungen mit Monitoring Systemen

Inhalt

Monitoring Basics

  • Ziele von Observability
  • Methoden und Strategien
  • Die Prometheus Architektur im Detail
  • Möglichkeiten zur Überwachung von Systemen und Anwendungen
  • Die neue Dynamik von Anwendungen und Systemen (Microservices)

Konfiguration

  • Syntax und Aufbau der Konfigurationsdatei
  • recording rules
  • alerting rules
  • templates für alerts

Prometheus Job Targets und Exporter

  • System Instanzen mit dem Node Exporter überwachen
  • Externe Services mit dem Blackbox Exporter überwachen
  • Optionale Beispiele zur Auswahl, in Absprache mit den Teilnehmern:
    • Log-Dateien überwachen mit Grok-Exporter und mtail
    • Push Gateway für die Überwachung von abgeschlossenen Vorgängen
    • Docker Containern und Prozesse überwachen
    • Kubernetes überwachen mit Kube State Metrics

Targets konfigurieren

  • Statische Konfiguration
  • Service Discovery von Targets
    • DNS
    • Docker Engine
    • Kubernetes Platform
  • Relabling von Targets und Metrics

Abfragesprache PromQL

  • Datentypen
  • Time series Selektoren
  • Operatoren und Funktionen

Observabilty mit Dashboards formulieren

  • Die Prometheus UI
  • Grafana Dashbaords

Prometheus und Grafana in der Praxis

  • Standard Rules
  • Skalierung und Hochverfügbarkeit von Prometheus
  • Überwachen von dynamischen Systeme am Beispiel von Kubernetes Platformen
  • Metriken mit Thanos oder Federation zusammenführen

Instrumentierung eigener Anwendungen

  • Java
  • Python
  • Golang

Tipps und Tricks

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.