SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
qaware.de
Cloud Observability mit Loki,
Prometheus, Tempo und Grafana
Franz Wimmer
franz.wimmer@qaware.de
@zalintyre @zalintyre.chaos.social
Franz Wimmer
Senior Software Engineer @ QAware GmbH
Seit 4 Jahren bei QAware
Studium Informatik an der TH Rosenheim
Vorlesung “Cloud Computing” @ TH Rosenheim
Entwicklung von Cloud Native Applications
DevOps Engineer
Public Speaking *
QAware | 2
* https://codefoundry.de/talks.html
Was ist eigentlich Observability?
Wie gut weiß ich über den internen Zustand meines Systems Bescheid, wenn
ich mir seine Ausgaben ansehe? (vgl. [Kal])
Was hat so ein modernes System als Ausgabe?
■ Eine Webseite?
■ Eine REST-API?
■ E-Mails an den Admin?
■ Ein spärlich gepflegtes Logfile?
Was ist, wenn das System aus vielen Microservices besteht?
QAware | 3
Was ist eigentlich Observability?
“Observability” meint heute typischerweise drei Themen:
■ Logs
■ Metriken
■ Traces
Alles zusammen ermöglicht einen Einblick auch in verteilte Microservices.
QAware | 4
Warum Observability?
Damals
Der Monolith
QAware | 6
Heute
Die Microservices
QAware | 7
[ ]
Der (Open-Source-)Stack
QAware | 8
Metriken:
Prometheus
Prometheus
QAware | 10
Zeitreihendatenbank für Echtzeitmetriken
PromQL für mächtige Queries
Alerting inklusive!
Seit: 2012
Lizenz: Apache 2.0
Metriken: Grundlagen
QAware | 11
Metriken sind Messwerte, die den aktuellen Zustand des Systems abbilden.
Beispiele:
■ CPU-Auslastung
■ Größe des JVM-Heaps
■ Anzahl der Aufrufe einer Schnittstelle
Die Metriken werden vom zu überwachenden System bereitgestellt.
Metriken können auch Metadaten haben.
Metriken: Grundlagen
QAware | 12
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 8
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 2.326528e+07
# HELP process_start_time_seconds Start time of the process since unix epoch
in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.65566242485e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 1.782685696e+09
Im Grafana-Universum ist Prometheus
für die Metriken zuständig.
Prometheus zieht alle 15s Metriken von
allen konfigurierten Zielen.
Der Transport erfolgt meist über
HTTP: GET /metrics
Hier passiert noch keine Aggregation.
Dafür ist der Konsument zuständig.
Metric Types
QAware | 13
Metriken haben verschiedene Typen, um Daten abzubilden:
■ Counter
Eine Zahl, die entweder inkrementiert oder zurückgesetzt werden kann.
■ Gauge
Eine Metrik, die sich beliebig nach oben oder unten verändern kann.
■ Histogram
Werte in “Buckets” - z.B. die Dauer von Requests
■ Summary
Ähnlich zum Histogram, fasst Werte zusammen
PromQL
QAware | 14
PromQL ist eine mächtige Query Language, um die gewünschten Metriken zu filtern / aggregieren.
Die ganze Zeitreihe:
http_requests_total
Filter nach Labels:
http_requests_total{job="apiserver", handler="/api/comments"}
Rate berechnen:
rate(http_requests_total[5m])[30m:1m]
Prometheus: Architektur
QAware | 15
Bild: https://prometheus.io/docs/introduction/overview/
Konfiguration (Anwendung)
Beispiel: Quarkus & Micrometer
QAware | 16
# Gradle:
implementation("io.quarkus:quarkus-micrometer-registry-prometheus")
# Maven:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-micrometer-registry-prometheus</artifactId>
</dependency>
Konfiguration (Anwendung)
Beispiel: microprofile-metrics
QAware | 17
@Gauge(unit = MetricUnits.NONE, name = "queueSize")
public int getQueueSize() {
return queue.size;
}
# Gradle
implementation("io.quarkus:quarkus-smallrye-metrics")
# Maven
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-metrics</artifactId>
</dependency>
Konfiguration (Prometheus)
Die Metriken einsammeln
QAware | 18
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "Saturn node exporter"
scheme: https
static_configs:
- targets: ["saturn.qaware.de"]
basic_auth:
username: "*******************"
password: "*******************"
Logs:
Loki
Loki
QAware | 20
Jedes System hat Logs. Aber immer in einem anderen Format.
Loki ist der Log-Aggregator im Grafana-Ökosystem.
Passiver Log-Speicher - Logs müssen anders beschafft werden.
Promtail wird möglichst lokal installiert und schiebt die Logs zu Loki.
Seit: 2018
Lizenz: AGPL 3.0
Architektur
QAware | 21
Bild: https://grafana.com/oss/loki/
Promtail-Deployment: Helm
QAware | 22
apiVersion: v2
name: promtail
version: 1.0.0-SNAPSHOT
description: Chart to deploy grafana promtail
dependencies:
# https://github.com/grafana/helm-charts/blob/main/charts/promtail/Chart.yaml
- name: promtail
version: 3.11.0
repository: https://grafana.github.io/helm-charts
promtail:
# https://github.com/grafana/helm-charts/blob/main/charts/promtail/values.yaml
config:
snippets:
pipelineStages:
# not cri, because we're running in minikube with docker runtime
- docker: {}
lokiAddress: http://loki.loki:3100/loki/api/v1/push
Promtail-Deployment: Classic
QAware | 23
clients:
- url: "https://loki.qaware.de/loki/api/v1/push"
basic_auth:
username: loki
password: ****************
scrape_configs:
- job_name: journal
journal:
json: true
max_age: 12h
labels:
host: saturn
job: systemd-journal
relabel_configs:
- source_labels: ['__journal__systemd_unit']
target_label: 'unit'
Vorsicht: Labels nicht zu dynamisch verteilen!
https://grafana.com/blog/2020/04/21/how-labels-in-loki-can-make-log-queries-faster-and-easier/
LogQL
QAware | 24
Auch Loki hat eine eigene Query Language.
count_over_time({foo="bar"}[1m]) > 10
{host="$host", job="systemd-journal"}
| json
| line_format "{{ .unit }}: {{ .MESSAGE }}"
|= "$search"
Traces:
Tempo
Tempo
QAware | 26
Traces im Grafana-Ökosystem!
SDKs für verschiedene Plattformen
Kompatibel zu verschiedenen Tracing Agents:
■ Jaeger
■ Zipkin
■ Opentracing
■ Opentelemetry
Seit: 2020
Lizenz: AGPL 3.0
Architektur
QAware | 27
Bild: https://grafana.com/docs/tempo/latest/getting-started/
Traces: Grundlagen
QAware | 28
Traces visualisieren, welche Wege ein Request durch die Microservices genommen hat…
… und wo vielleicht ein Fehler passiert ist!
Traces: Grundlagen
QAware | 29
Bild: https://grafana.com/blog/2021/09/23/intro-to-distributed-tracing-with-tempo-opentelemetry-and-grafana-cloud/
Metriken und Traces verbinden?
Exemplars!
QAware | 30
Unterstützt z.B. in Micrometer 1.9
Bild: https://grafana.com/blog/2021/03/31/intro-to-exemplars-which-enable-grafana-tempos-distributed-tracing-at-massive-scale/
Visualisierung:
Grafana
Grafana
QAware | 32
Visualisierung für viele verschiedene Datenquellen:
■ Prometheus
■ Loki
■ Tempo
■ InfluxDB
■ ...
Seit: 2014
Lizenz: AGPL 3.0
Dashboards
QAware | 33
Daten aller Art werden in Dashboards visualisiert.
Grafana - Dashboards
QAware | 34
Keine Angst: Man muss Dashboards nicht mühsam selbst zusammenklicken.
https://grafana.com/grafana/dashboards/
Showcase
Mehr aus dem Grafana-Universum
k6
QAware | 37
Lasttests? k6!
Gebaut mit Go - die Tests werden in JavaScript geschrieben.
Testergebnisse landen in einer InfluxDB - visualisiert wird mit Grafana.
Further reading
QAware | 38
Blog: https://blog.qaware.de/posts/cloud-observability-grafana-spring-boot/
Showcase: https://github.com/zalintyre/cloud-observability-grafana-spring-boot
Grafana: https://grafana.com/
Prometheus: https://prometheus.io/
Loki: https://grafana.com/oss/loki/
Tempo: https://grafana.com/oss/tempo/
k6: https://github.com/grafana/k6
Quellen
QAware | 39
[Kal] R.E. Kalman,
On the general theory of control systems,
IFAC Proceedings Volumes,
Volume 1, Issue 1,
1960,
Pages 491-502,
ISSN 1474-6670,
https://doi.org/10.1016/S1474-6670(17)70094-8.
(https://www.sciencedirect.com/science/article/pii/S1474667017700948)
qaware.de
QAware GmbH
Aschauer Straße 32
81549 München
Tel. +49 89 232315-0
info@qaware.de
twitter.com/qaware
linkedin.com/company/qaware-gmbh
xing.com/companies/qawaregmbh
slideshare.net/qaware
github.com/qaware

Weitere ähnliche Inhalte

Was ist angesagt?

Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesRamit Surana
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsSIGHUP
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For ArchitectsKevin Brockhoff
 
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...Daniel Rene FOUOMENE PEWO
 
Introduction to Vault
Introduction to VaultIntroduction to Vault
Introduction to VaultKnoldus Inc.
 
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Vietnam Open Infrastructure User Group
 
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...NETWAYS
 
OpenTelemetry Introduction
OpenTelemetry Introduction OpenTelemetry Introduction
OpenTelemetry Introduction DimitrisFinas1
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusGrafana Labs
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For DevelopersKevin Brockhoff
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Edureka!
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
Secret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s VaultSecret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s VaultAWS Germany
 
How we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesHow we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesOpsta
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMartin Etmajer
 

Was ist angesagt? (20)

Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
 
Docker 101
Docker 101Docker 101
Docker 101
 
Introduction to Vault
Introduction to VaultIntroduction to Vault
Introduction to Vault
 
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
 
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
 
OpenTelemetry Introduction
OpenTelemetry Introduction OpenTelemetry Introduction
OpenTelemetry Introduction
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For Developers
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Vault
VaultVault
Vault
 
Linux Containers (LXC)
Linux Containers (LXC)Linux Containers (LXC)
Linux Containers (LXC)
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
Secret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s VaultSecret Management with Hashicorp’s Vault
Secret Management with Hashicorp’s Vault
 
How we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesHow we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on Kubernetes
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 

Ähnlich wie Cloud Observability mit Loki, Prometheus, Tempo und Grafana

Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDNUG e.V.
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Bernd Zuther
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererQAware GmbH
 
Software Metrics and Continuous Integration
Software Metrics and Continuous IntegrationSoftware Metrics and Continuous Integration
Software Metrics and Continuous IntegrationMilena Reichel
 
Service Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonMichael Hofmann
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafkagedoplan
 
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...Klaus Bild
 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt Klaus Bild
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien DNUG e.V.
 
Go on a Bughunt in production, but without a map! @ JavaLand 2023
Go on a Bughunt in production, but without a map! @ JavaLand 2023Go on a Bughunt in production, but without a map! @ JavaLand 2023
Go on a Bughunt in production, but without a map! @ JavaLand 2023QAware GmbH
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der CloudTorsten Fink
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOpsAarno Aukia
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009Andreas Schulte
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshopargency
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 

Ähnlich wie Cloud Observability mit Loki, Prometheus, Tempo und Grafana (20)

Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
DACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdfDACHNUG50 CNX3 Monitoring.pdf
DACHNUG50 CNX3 Monitoring.pdf
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container Orchestrierer
 
Software Metrics and Continuous Integration
Software Metrics and Continuous IntegrationSoftware Metrics and Continuous Integration
Software Metrics and Continuous Integration
 
Service Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-Marathon
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
The Best Things in Life Are Free – Wie Sie Ihre IBM ConnecEons Umgebung koste...
 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
Pink Monitoring oder wie Prometheus Licht ins Dunkel der Container bringt 
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
Go on a Bughunt in production, but without a map! @ JavaLand 2023
Go on a Bughunt in production, but without a map! @ JavaLand 2023Go on a Bughunt in production, but without a map! @ JavaLand 2023
Go on a Bughunt in production, but without a map! @ JavaLand 2023
 
MEAN SCS in der Cloud
MEAN SCS in der CloudMEAN SCS in der Cloud
MEAN SCS in der Cloud
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 

Mehr von QAware GmbH

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdfQAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzQAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureQAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPQAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 

Mehr von QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 

Cloud Observability mit Loki, Prometheus, Tempo und Grafana

  • 1. qaware.de Cloud Observability mit Loki, Prometheus, Tempo und Grafana Franz Wimmer franz.wimmer@qaware.de @zalintyre @zalintyre.chaos.social
  • 2. Franz Wimmer Senior Software Engineer @ QAware GmbH Seit 4 Jahren bei QAware Studium Informatik an der TH Rosenheim Vorlesung “Cloud Computing” @ TH Rosenheim Entwicklung von Cloud Native Applications DevOps Engineer Public Speaking * QAware | 2 * https://codefoundry.de/talks.html
  • 3. Was ist eigentlich Observability? Wie gut weiß ich über den internen Zustand meines Systems Bescheid, wenn ich mir seine Ausgaben ansehe? (vgl. [Kal]) Was hat so ein modernes System als Ausgabe? ■ Eine Webseite? ■ Eine REST-API? ■ E-Mails an den Admin? ■ Ein spärlich gepflegtes Logfile? Was ist, wenn das System aus vielen Microservices besteht? QAware | 3
  • 4. Was ist eigentlich Observability? “Observability” meint heute typischerweise drei Themen: ■ Logs ■ Metriken ■ Traces Alles zusammen ermöglicht einen Einblick auch in verteilte Microservices. QAware | 4
  • 10. Prometheus QAware | 10 Zeitreihendatenbank für Echtzeitmetriken PromQL für mächtige Queries Alerting inklusive! Seit: 2012 Lizenz: Apache 2.0
  • 11. Metriken: Grundlagen QAware | 11 Metriken sind Messwerte, die den aktuellen Zustand des Systems abbilden. Beispiele: ■ CPU-Auslastung ■ Größe des JVM-Heaps ■ Anzahl der Aufrufe einer Schnittstelle Die Metriken werden vom zu überwachenden System bereitgestellt. Metriken können auch Metadaten haben.
  • 12. Metriken: Grundlagen QAware | 12 # HELP process_open_fds Number of open file descriptors. # TYPE process_open_fds gauge process_open_fds 8 # HELP process_resident_memory_bytes Resident memory size in bytes. # TYPE process_resident_memory_bytes gauge process_resident_memory_bytes 2.326528e+07 # HELP process_start_time_seconds Start time of the process since unix epoch in seconds. # TYPE process_start_time_seconds gauge process_start_time_seconds 1.65566242485e+09 # HELP process_virtual_memory_bytes Virtual memory size in bytes. # TYPE process_virtual_memory_bytes gauge process_virtual_memory_bytes 1.782685696e+09 Im Grafana-Universum ist Prometheus für die Metriken zuständig. Prometheus zieht alle 15s Metriken von allen konfigurierten Zielen. Der Transport erfolgt meist über HTTP: GET /metrics Hier passiert noch keine Aggregation. Dafür ist der Konsument zuständig.
  • 13. Metric Types QAware | 13 Metriken haben verschiedene Typen, um Daten abzubilden: ■ Counter Eine Zahl, die entweder inkrementiert oder zurückgesetzt werden kann. ■ Gauge Eine Metrik, die sich beliebig nach oben oder unten verändern kann. ■ Histogram Werte in “Buckets” - z.B. die Dauer von Requests ■ Summary Ähnlich zum Histogram, fasst Werte zusammen
  • 14. PromQL QAware | 14 PromQL ist eine mächtige Query Language, um die gewünschten Metriken zu filtern / aggregieren. Die ganze Zeitreihe: http_requests_total Filter nach Labels: http_requests_total{job="apiserver", handler="/api/comments"} Rate berechnen: rate(http_requests_total[5m])[30m:1m]
  • 15. Prometheus: Architektur QAware | 15 Bild: https://prometheus.io/docs/introduction/overview/
  • 16. Konfiguration (Anwendung) Beispiel: Quarkus & Micrometer QAware | 16 # Gradle: implementation("io.quarkus:quarkus-micrometer-registry-prometheus") # Maven: <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-micrometer-registry-prometheus</artifactId> </dependency>
  • 17. Konfiguration (Anwendung) Beispiel: microprofile-metrics QAware | 17 @Gauge(unit = MetricUnits.NONE, name = "queueSize") public int getQueueSize() { return queue.size; } # Gradle implementation("io.quarkus:quarkus-smallrye-metrics") # Maven <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-metrics</artifactId> </dependency>
  • 18. Konfiguration (Prometheus) Die Metriken einsammeln QAware | 18 global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "Saturn node exporter" scheme: https static_configs: - targets: ["saturn.qaware.de"] basic_auth: username: "*******************" password: "*******************"
  • 20. Loki QAware | 20 Jedes System hat Logs. Aber immer in einem anderen Format. Loki ist der Log-Aggregator im Grafana-Ökosystem. Passiver Log-Speicher - Logs müssen anders beschafft werden. Promtail wird möglichst lokal installiert und schiebt die Logs zu Loki. Seit: 2018 Lizenz: AGPL 3.0
  • 21. Architektur QAware | 21 Bild: https://grafana.com/oss/loki/
  • 22. Promtail-Deployment: Helm QAware | 22 apiVersion: v2 name: promtail version: 1.0.0-SNAPSHOT description: Chart to deploy grafana promtail dependencies: # https://github.com/grafana/helm-charts/blob/main/charts/promtail/Chart.yaml - name: promtail version: 3.11.0 repository: https://grafana.github.io/helm-charts promtail: # https://github.com/grafana/helm-charts/blob/main/charts/promtail/values.yaml config: snippets: pipelineStages: # not cri, because we're running in minikube with docker runtime - docker: {} lokiAddress: http://loki.loki:3100/loki/api/v1/push
  • 23. Promtail-Deployment: Classic QAware | 23 clients: - url: "https://loki.qaware.de/loki/api/v1/push" basic_auth: username: loki password: **************** scrape_configs: - job_name: journal journal: json: true max_age: 12h labels: host: saturn job: systemd-journal relabel_configs: - source_labels: ['__journal__systemd_unit'] target_label: 'unit' Vorsicht: Labels nicht zu dynamisch verteilen! https://grafana.com/blog/2020/04/21/how-labels-in-loki-can-make-log-queries-faster-and-easier/
  • 24. LogQL QAware | 24 Auch Loki hat eine eigene Query Language. count_over_time({foo="bar"}[1m]) > 10 {host="$host", job="systemd-journal"} | json | line_format "{{ .unit }}: {{ .MESSAGE }}" |= "$search"
  • 26. Tempo QAware | 26 Traces im Grafana-Ökosystem! SDKs für verschiedene Plattformen Kompatibel zu verschiedenen Tracing Agents: ■ Jaeger ■ Zipkin ■ Opentracing ■ Opentelemetry Seit: 2020 Lizenz: AGPL 3.0
  • 27. Architektur QAware | 27 Bild: https://grafana.com/docs/tempo/latest/getting-started/
  • 28. Traces: Grundlagen QAware | 28 Traces visualisieren, welche Wege ein Request durch die Microservices genommen hat… … und wo vielleicht ein Fehler passiert ist!
  • 29. Traces: Grundlagen QAware | 29 Bild: https://grafana.com/blog/2021/09/23/intro-to-distributed-tracing-with-tempo-opentelemetry-and-grafana-cloud/
  • 30. Metriken und Traces verbinden? Exemplars! QAware | 30 Unterstützt z.B. in Micrometer 1.9 Bild: https://grafana.com/blog/2021/03/31/intro-to-exemplars-which-enable-grafana-tempos-distributed-tracing-at-massive-scale/
  • 32. Grafana QAware | 32 Visualisierung für viele verschiedene Datenquellen: ■ Prometheus ■ Loki ■ Tempo ■ InfluxDB ■ ... Seit: 2014 Lizenz: AGPL 3.0
  • 33. Dashboards QAware | 33 Daten aller Art werden in Dashboards visualisiert.
  • 34. Grafana - Dashboards QAware | 34 Keine Angst: Man muss Dashboards nicht mühsam selbst zusammenklicken. https://grafana.com/grafana/dashboards/
  • 36. Mehr aus dem Grafana-Universum
  • 37. k6 QAware | 37 Lasttests? k6! Gebaut mit Go - die Tests werden in JavaScript geschrieben. Testergebnisse landen in einer InfluxDB - visualisiert wird mit Grafana.
  • 38. Further reading QAware | 38 Blog: https://blog.qaware.de/posts/cloud-observability-grafana-spring-boot/ Showcase: https://github.com/zalintyre/cloud-observability-grafana-spring-boot Grafana: https://grafana.com/ Prometheus: https://prometheus.io/ Loki: https://grafana.com/oss/loki/ Tempo: https://grafana.com/oss/tempo/ k6: https://github.com/grafana/k6
  • 39. Quellen QAware | 39 [Kal] R.E. Kalman, On the general theory of control systems, IFAC Proceedings Volumes, Volume 1, Issue 1, 1960, Pages 491-502, ISSN 1474-6670, https://doi.org/10.1016/S1474-6670(17)70094-8. (https://www.sciencedirect.com/science/article/pii/S1474667017700948)
  • 40. qaware.de QAware GmbH Aschauer Straße 32 81549 München Tel. +49 89 232315-0 info@qaware.de twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware