SlideShare a Scribd company logo
Monitoring With Actuator
Spring Camp 2019
서경원
ruddnjs1230@gmail.com
서경원
개발자
모니터링 플랫폼 담당
Agenda
- Why & How Monitoring
- Spring Boot Actuator
- Metrics Endpoint
- Micrometer
- Demo
- Conclusion
Why & How Monitoring
Image by Lorenzo Cafaro from Pixabay
Why & How Monitoring
장애 예방, 원인 파악, 조치
변경에 대한 상태 확인
성능 개선
장기적인 서비스 상태 분석
Why & How Monitoring
Why & How Monitoring
지표가 필요해!!
Why & How Monitoring
모니터링 도구
Prometheus
KIBANA
Atlas
InfluxDB
Collectd
Datadog
NHN 사내 모니터링 플랫폼
Why & How Monitoring
- 서버 인프라 지표 수집
- 애플리케이션 지표 수집
- 모니터링 차트 제공
- 지표 감시 및 알림
Why & How Monitoring
애플리케이션 모니터링
TOMCAT
Spring Boot
Why & How Monitoring
애플리케이션 모니터링
TOMCAT
Spring Boot
지표를 어디서 가져오지?
OR
지표를 어떻게 생성하지?
Spring Boot Actuator
Spring Boot Actuator
Spring Boot 애플리케이션을 제어하고 모니터링하기 위한 도구
Spring Boot Actuator
- 애플리케이션 제어 도구 제공 - endpoints
- 애플리케이션 지표 제공 - metrics
- 사용 중인 라이브러리 탐지 - 관련 도구 및 지표 제공
Spring Boot Actuator
Using Spring Boot Actuator
Maven
Gradle
Auto Configuration
Spring Boot Actuator
health
info
metrics
threaddump
heapdump
httptrace
loggers
Endpoints
cache
mappings
configprop
env
beans
sessions
shutdown
Spring Boot Actuator
health
info
metrics
threaddump
heapdump
httptrace
loggers
Endpoints
cache
mappings
configprop
env
beans
sessions
shutdown
Spring Boot Actuator
Endpoints
잠깐! Endpoint 사용하기 전에…
Spring Boot Actuator
Exposing Endpoints
Enabling Endpoints
Spring Boot Actuator
Web Endpoints
http://{domain}:{port}/actuator
http://{domain}:{port}/actuator/{endpoint-id}
JMX Endpoints
MBeans -> org.springframework.boot.Endpoint
Spring Security
Spring Boot Actuator
application.properties
Spring Boot Actuator
Endpoints – metrics
애플리케이션의 측정된 내부 지표
http://{domain}:{port}/actuator/metrics
JVM Metrics
JDBC Metrics
Web(HTTP, Tomcat, Jetty…) Metrics
Library Metrics
Spring Boot Actuator
Metrics URL
/actuator/metrics/jvm.memory.used
Metrics Endpoint
Metrics Endpoint
Metrics – Spring Boot 1
계층적 지표 구조
200 응답 /some-url 요청 수
- counter.status.200.some-url
404 응답 /** 요청 수
- counter.status.404.star-star
Metrics Endpoint
Metrics – Spring Boot 1
“/some-url“ Requests
counter.status.200.some-url
with region and cloud and exception
region.cloud. .exception
A Cloud에서 발생한 모든 예외 요청의 수를 보고 싶어요.
Metrics Endpoint
Metrics – Spring Boot 1
Metrics Endpoint
Metrics – Spring Boot 2
Dimensional 지표 구조
Tags == Dimension
== key/value pair
장점
- 이해하기 쉬움
- 여러 관점에서 지표 분석 가능
- 유연함. 손쉬운 Tag 추가/삭제
Metrics Endpoint
Metrics URL - /actuator/metrics/jvm.memory.used
Metrics Endpoint
Metrics with Tags - /actuator/metrics/jvm.memory.used
? tag=area:heap
Metrics Endpoint
Metrics with Tags - /actuator/metrics/jvm.memory.used
? tag=area:heap & tag=id:Par+Eden+Space
Metrics Endpoint
Metrics – Infra Resource
system.cpu.usage
system.cpu.count
system.load.average.1m
process.cpu.usage
process.file.open
process.uptime
Metrics Endpoint
Metrics – JVM
jvm.memory.used, committed, max
jvm.threads.states
jvm.gc.pause
jvm.classes.loaded
jvm.buffer.capacity
Metrics Endpoint
http.server.requests
http.client.requests
logback.events
tomcat.*
jdbc.*
Metrics - Application
Metrics Endpoint
http.server.requests
http.client.requests
logback.events
tomcat.*
jdbc.*
Metrics - Application
Metrics Endpoint
- (Request) Rate
- (Request) Errors
- (Request) Duration
RED Method
https://www.weave.works/blog/the-red-method-key-metrics-for-microservices-architecture/
Three key metrics you should measure - Tom Wilkie
Metrics Endpoint
Metric - http.server.requests
Metrics Endpoint
Metric - http.server.requests
Metrics Endpoint
Metric - http.server.requests
outcome tag
- 1xx -> INFORMATIONAL
- 2xx -> SUCCESS
- 3xx -> REDIECTION
- 4xx -> CLIENT_ERROR
- 5xx -> SERVER_ERROR
Metrics Endpoint
Rate and Duration of Success
- http.server.requests?tag=outcome:SUCCESS
Rate and Duration of Errors
- http.server.requests?tag=outcome:SERVER_ERROR
- http.server.requests?tag=exception:IllegalArgumentException
Metric - http.server.requests
Metrics Endpoint
hystrix.*
hicaricp.*
kafka.*
rabbitmq.*
cache.*
Metric – Third-Party Library
Metrics Endpoint
hystrix.*
hicaricp.*
kafka.*
rabbitmq.*
cache.*
Metric – Third-Party Library
Metrics Endpoint
Circuit Breaker - 장애 내성 / 지연 내성
What is Hystrix?
WebApp A WebApp B
Metrics Endpoint
Circuit Breaker - 장애 내성 / 지연 내성
What is Hystrix?
WebApp A WebApp B
Open
Metrics Endpoint
HTTP Request 응답시간
정상화?
Metrics Endpoint
HTTP Request 응답시간
Hystrix Circuit Breaker
No!!
Open 상태!
Metrics Endpoint
/actuator/metrics/jvm.memory.used
?tag=id:Par+Eden+Space&tag=area:heap
Metrics Endpoint
URL 하나 당 하나의 지표…
하나 하나 가져와야 하나…
/actuator/metrics/jvm.memory.used
?tag=id:Par+Eden+Space&tag=area:heap
Micrometer
Micrometer
Spring Boot 2 Actuator based on Micrometer
Micrometer
Micrometer
“Vendor-neutral application metrics facade”
“Think SLF4J, but for metric.”
Micrometer
Micrometer
MeterRegistry
Atlas
Prometheus
Influx
AWS CloudWatch
…
동일한 인터페이스
Micrometer
https://github.com/micrometer-metrics/micrometer/tree/master/implementations
Micrometer Registries
Micrometer
Using Micrometer Registry – Poll 방식
Auto Configuration by Spring Boot
prometheus endpoint 추가
pom.xml
Micrometer
Endpoint - /actuator/prometheus
Micrometer
Using Micrometer Registry – Push 방식
pom.xml
Auto Configuration by Spring Boot
Push Thread 생성
Micrometer
Using Micrometer Registry – Push 방식
pom.xml
application.properties
Micrometer
Netflix Atlas Graph
Micrometer
Instrumentation
Meter Tag
Micrometer
Counter
Gauge
Timer
Distribution Summary
Long Task Timer
Function Counter
Function Timer
Time Gauge
Meters
Micrometer
Micrometer
Histogram
Percentile
SLA(Service Level Agreement)
Meters - Distribution Summary
Micrometer
Customizing MeterRegistry
Micrometer
Binder
명시적인 지표 바인딩
Micrometer 자체는 Spring과 독립적인 라이브러리
Actuator & Micrometer
Demo
Image by StartupStockPhotos from Pixabay
Conclusion
Conclusion
Spring Boot Actuator
Endpoint Metrics
Micrometer
Registry Meter Tag
Conclusion
Server
Collector
Agent
Spring Boot Actuator
Prometheus
NHN 사내 모니터링 플랫폼
Conclusion
Conclusion
Conclusion
Conclusion
Dependencies For Monitoring
Conclusion
Dependencies For Monitoring Spring Boot 1.5
Conclusion
Pros Cons
- Spring Boot Ecosystem
- 손쉬운 설치
- 손쉬운 배포
- 손쉬운 커스터마이징
- 백엔드로부터 독립적
- 코드 수준의 상세한 프로파일링
지표 미제공
- Auto Configuration Spring Boot
Only
기존 모니터링 에이전트와의 차이점?
Conclusion
모든 것을 해결해주지는 않는다. No Silver Bullet!
그러나 짐을 덜어줄 수는 있을 것이다.
Thank You!
데모 코드
https://github.com/kwSeo/springcamp2019-monitoring-demo

More Related Content

PPTX
Cfgmgmtcamp 2023 — eBPF Superpowers
PDF
Jenkins vs GitLab CI
PDF
eBPF - Observability In Deep
PPTX
DevOps Roadmap.pptx
PDF
cLoki: Like Loki but for ClickHouse
PDF
Kubernetes Networking with Cilium - Deep Dive
PDF
Advanced GitHub Enterprise Administration
PPTX
Introduction to Gitlab | Gitlab 101 | Training Session
Cfgmgmtcamp 2023 — eBPF Superpowers
Jenkins vs GitLab CI
eBPF - Observability In Deep
DevOps Roadmap.pptx
cLoki: Like Loki but for ClickHouse
Kubernetes Networking with Cilium - Deep Dive
Advanced GitHub Enterprise Administration
Introduction to Gitlab | Gitlab 101 | Training Session

What's hot (20)

PDF
Microservices & API Gateways
PDF
GitHub Actions in action
PDF
Think2018 2314-Microservices and BPM-can they coexist?
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PPTX
Déploiement ELK en conditions réelles
PDF
Native Support of Prometheus Monitoring in Apache Spark 3.0
PPTX
Hashicorp Vault Open Source vs Enterprise
PDF
Alfresco Backup and Disaster Recovery White Paper
PPTX
Ingress overview
PDF
CI/CD with Github Actions
PDF
Cloud Native Architectures for Devops
PDF
From Terraform OSS to Enterprise
PDF
Introduction to Vault
PDF
Openstack Summit Vancouver 2018 - Multicloud Networking
PDF
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
PDF
Understand the iptables step by step
PDF
Introduction to influx db
PDF
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
PPTX
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
PPTX
FIWARE implementation of IDS concepts
Microservices & API Gateways
GitHub Actions in action
Think2018 2314-Microservices and BPM-can they coexist?
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Déploiement ELK en conditions réelles
Native Support of Prometheus Monitoring in Apache Spark 3.0
Hashicorp Vault Open Source vs Enterprise
Alfresco Backup and Disaster Recovery White Paper
Ingress overview
CI/CD with Github Actions
Cloud Native Architectures for Devops
From Terraform OSS to Enterprise
Introduction to Vault
Openstack Summit Vancouver 2018 - Multicloud Networking
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Understand the iptables step by step
Introduction to influx db
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
FIWARE implementation of IDS concepts
Ad

Similar to [Spring Camp 2019] Monitoring With Actuator (6)

PPTX
Hadoop metric을 이용한 알람 개발
PPTX
Asset performance management using Druid by Eric Lim, Bistel
PDF
AWS를 활용한 Big Data 실전 배치 사례 :: 이한주 :: AWS Summit Seoul 2016
PDF
Spring boot Actuator : Monitoring and Managing Production Ready App
PPTX
Beginner's guide to Springboot - Actuator
PDF
Infrastructure Monitoring with Postgres
Hadoop metric을 이용한 알람 개발
Asset performance management using Druid by Eric Lim, Bistel
AWS를 활용한 Big Data 실전 배치 사례 :: 이한주 :: AWS Summit Seoul 2016
Spring boot Actuator : Monitoring and Managing Production Ready App
Beginner's guide to Springboot - Actuator
Infrastructure Monitoring with Postgres
Ad

Recently uploaded (20)

PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PPTX
Custom Software Development Services.pptx.pptx
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
Website Design Services for Small Businesses.pdf
PDF
DNT Brochure 2025 – ISV Solutions @ D365
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
MCP Security Tutorial - Beginner to Advanced
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
STL Containers in C++ : Sequence Container : Vector
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Wondershare Recoverit Full Crack New Version (Latest 2025)
Custom Software Development Services.pptx.pptx
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Website Design Services for Small Businesses.pdf
DNT Brochure 2025 – ISV Solutions @ D365
How to Use SharePoint as an ISO-Compliant Document Management System
Monitoring Stack: Grafana, Loki & Promtail
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Digital Systems & Binary Numbers (comprehensive )
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
MCP Security Tutorial - Beginner to Advanced
Topaz Photo AI Crack New Download (Latest 2025)
Autodesk AutoCAD Crack Free Download 2025
Why Generative AI is the Future of Content, Code & Creativity?
STL Containers in C++ : Sequence Container : Vector
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...

[Spring Camp 2019] Monitoring With Actuator