Application Monitoring with �Micrometer &�Prometheus &
Grafana
Andrew Fitzgerald�Sonatype
@fitzoh
https://github.com/fitzoh/micrometer-prometheus-grafana-talk
About me
Agenda
3 Pillars of Observability�Don’t know who to credit, sorry ¯\_(ツ)_/¯
Logging
(Structured) Logging
(Structured) Logging
(Structured) Logging
Metrics
Tracing
https://zipkin.io/
Tracing
Micrometer
Think SLF4J, but for metrics
One API, many backends
Out of the box instrumentation
Out of the box instrumentation
Dimensional metrics
Hierarchical:
Dimensional:
Meters
A Meter is uniquely defined by its name and dimensions/tags
Registries
Metric types
Counter
Metric types
Gauge
Metric types
Timer
Metric types
Long Task Timer
Metric types
Distribution Summary
Distribution Statistics
Timers and Distribution Summaries can optionally emit distribution statistics
Distribution Statistics
Prometheus
Prometheus
https://prometheus.io/docs/introduction/overview/
Pull model
Exporters
Open Standard
Prometheus
Configuration
Prometheus
Ecosystem
Prometheus
https://timber.io/blog/promql-for-humans/
Grafana
Demo
Demo App
Demo App
Grafana
:3000
Prometheus
:9090
Spring Boot
:8080 :8081
PromQL
Scrape
/actuator/prometheus
Questions/Comments?
Links, samples, config @�https://github.com/fitzoh/micrometer-prometheus-grafana-talk
@Fitzoh