Kursüberblick
Monitoring von Cloud Native Applikationen und Infrastruktur.
Prometheus ist ein Werkzeug zur metrik-basierten Überwachung von Applikationen und Systemen. Die besondere Stärke von Prometheus liegt in der automatischen Service Discovery, die auch in dynamischen Umgebungen mit häufigen Änderungen sicherstellt, dass alle relevanten Ziele überwacht werden. Prometheus verfügt über ein einfaches und zugleich mächtiges Datenmodell und eine eigene Abfragesprache. Aufgrund dieser Eigenschaften wird Prometheus bevorzugt für die Überwachung von Cloud- und Container-Umgebungen sowie Cloud Native Applikationen eingesetzt. Dieser Kurs bietet einen praxisorientierten Einstieg in das Monitoring mit Prometheus. Besonderes Augenmerk liegt dabei auf der Integration von Prometheus und Kubernetes.
Zielgruppe
Das Training richtet sich an Entwickler und Administratoren sowie an Architekten und Entscheider mit hohem technischen Interesse.
Voraussetzungen
Die Teilnehmer müssen die Grundlagen der Linux-Systemadministration beherrschen. Sie müssen sich sicher auf der Kommandozeile bewegen, Dateien auf der Kommandozeile editieren und Systemdienste steuern können. Zudem benötigen die Teilnehmer grundlegendes Wissen über die zu überwachenden Systemeigenschaften und Dienste. Grundkenntnisse in Docker oder Podman sowie Kubernetes werden in Teilen des Kurses vorausgesetzt.
Kursziele
Die Teilnehmer lernen das Monitoring von Applikationen, Services und Infrastruktur mit Prometheus. Dazu gehört die Installation und Konfiguration verschiedener Exporter, die Service Discovery und das Erheben von Metriken mit Prometheus sowie das Abfragen von Metriken per PromQL. Zudem behandelt der Kurs das Erstellen von Dashboards mit Grafana, die Definition von Alerting Rules und die Konfiguration von AlertManager sowie eine Übersicht über das Clustering von Prometheus, einschließlich Federation und Thanos.
Kursinhalt
Einführung in das Monitoring mit Prometheus
- Ziele und Methoden von Monitoring
- Architektur und Komponenten von Prometheus
- Auswahl zu überwachender Systeme und Eigenschaften
Exporter
- Node Exporter für die Überwachung von Einzelsystemen
- Blackbox Exporter für die Überwachung externer Systeme
- Grok Exporter und mtail für die Überwachung von Log-Dateien
- Push Gateway für die Überwachung von abgeschlossenen Vorgängen
- cAdvisor für die Überwachung von Containern
- kube-state-metrics für die Überwachung von Kubernetes
Service Discovery
- Statische Konfiguration
- Dateibasierte Service Discovery
- Service Discovery per DNS
- Service Discovery in IaaS-Clouds
- Service Discovery in Kubernetes
- Relabeling, insbesondere in IaaS-Clouds und Kubernetes
PromQL
- Metriken und Labels
- Datentypen und ihre Eigenschaften und Funktionen
- Vektortypen und Vektormatching
- Recording Rules und Alerting Rules
Alarmierung
- AlertManager
- Konfiguration von Alerts
- Alert Labels und Alert Routing
Dashboards und Grafana
- Prometheus Consoles
- Grafana
Operative Aspekte
- Meta-Monitoring
- Kapazitätsplanung
- Skalierung und Hochverfügbarkeit
- Verteiltes Prometheus und Federation
- Hinweise zur Instrumentierung eigener Anwendungen
- Ausblick auf Thanos