SlideShare a Scribd company logo
1 of 25
Download to read offline
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 1
th
김동후
donghu.kim@oracle.com
Spring Boot: Microservice Metrics Monitoring
2019.06.15
12
thOracle
Developer
Meetup
Architecture Evolution:
From Monolithic to Microservices Architecture
Image Source: https://blogs.sap.com/2015/02/25/microservices-the-dismantle-of-the-monolith/
(Single Unit) (Coarse-grained) (Fine-grained)
Monolithic (Pre-SOA) SOA Microservices
Amazon, 2008 Hailo, 2014Netflix, 2012 Twitter, 2013 The Empire
Image Source:
Netflix: http://codeobsession.blogspot.com/2018/02/architecture-at-different-levels-of.html
Twitter: https://blog.twitter.com/engineering/en_us/a/2013/observability-at-twitter.html
Hail-o: https://www.instana.com/blog/introducing-dynamic-focus-application-performance-management/
Amazon: https://aws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/sessions/pushing_the_boundaries_1300_microservices_on_aws.pdf
The Empire: https://www.ixxiyourworld.com/en/products/ixxi-images/death-star-4/
Death Star Diagrams
Challenges in Microservices Architecture
Image Source: https://dzone.com/articles/challenges-in-implementing-microservices
Use the Force.
What to Measure?
Metrics
Tracing
Logging
+ Fault
Tolerance
Metrics
An Introduction to Metrics Monitoring
Application Metrics
System Metrics
CPU & Memory usage, Network, Disk I/O
, JVM (Threads, Heap, GC), etc
Request Volume, Duration, Size, Error and Timeout,
Latency, Http Error Codes, Health,
Custom (Counter, Timer, Gauge), etc
CNCF Cloud Native Interactive Landscape
Monitoring: Spring Boot Admin
Created by a company called Codecentric
Open source monitoring software for Spring Boot Actuator
Monitoring: Prometheus
Prometheus is an open-source systems monitoring
and alerting toolkit originally built at SoundCloud
A Monitoring System and Time Series Database
Suited for Containers and Microservices
Monitoring: Grafana
Grafana is an open source, feature rich metrics dashboard
and graph editor for Graphite, Elasticsearch,
OpenTSDB, Prometheus and InfluxDB.
Grafana supports over 30 open source and
commercial data sources.
Monitoring: Prometheus and Grafana
https://docs.cloudposse.com/monitoring-and-alerting/prometheus/
Monitoring with Service Discovery
Service discovery is the automatic detection of devices and services offered by these
devices on a computer network. A service discovery protocol (SDP) is a network
protocol that helps accomplish service discovery. Service discovery aims to reduce the
configuration efforts from users. Wikipedia
https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/
Monitoring with Service Discovery
Discovery
Server
Service A
Service C
Service D
Service E
Discovery
Server
Service A
Service C
Service D
Service E
Load
Balancer
REQUEST
REGISTER
QUERY
The Client-Side Discovery Pattern The Server-Side Discovery Pattern
Monitoring
Server
Monitoring
Server
Service Discovery: Netflix Eureka
https://coe.gitbook.io/guide/service-discovery/eureka
Eureka is a REST based service that is primarily used
in the AWS cloud for locating services for the purpose
of load balancing and failover of middle-tier servers.
At Netflix, Eureka is used for the following purposes
apart from playing a critical part in mid-tier
load balancing.
Service Discovery: Hashicorp Consul
Consul is a service mesh solution providing
a full featured control plane with service discovery,
configuration, and segmentation functionality.
• Service Discovery
• Health Checking
• KV Store
• Secure Service Communication
• Multi Datacenter
Spring Boot Actuator and Micrometer
Micrometer
Micrometer is the metrics collection facility included in Spring Boot 2's Actuator
Spring Boot Actuator
Prometheus, AppOptics, Azure Monitor,
Netflix Atlas, CloudWatch, Datadog, Dynatrace, 
Elastic, Ganglia, Graphite, Humio, Influx/
Telegraf, JMX, KairosDB, New Relic, SignalFx,
Google Stackdriver, StatsD, and Wavefront.
Think SLF4J,
but for Metrics
To help you
monitor and manage
your Spring application
Spring Boot: Microservices Metrics Monitoring
Lab 1: Spring Boot Monitoring with Spring Boot Admin
Love Calculator
Service
Yes-Or-No
Consumer
Love Calculator
Consumer
Love Calculator Application
Love Calculator
Open API
Yes or No
Open API
https://github.com/MangDan/sb-metrics-monitoring-handson
http://localhost:8082/love-calculator-consumer
http://localhost:8083/yes-or-no-consumer
http://localhost:8081/love-calculator
LAB Setup
https://github.com/MangDan/sb-metrics-monitoring-handson
1. 전체 프로그램 및 예제 소스 다운로드
2. 설치 및 환경 구성
2.1 Path 설정 (Java, Maven)
2.2 Eclipse STS (Spring Tool Suite) 설정 (Windows는 구성되어 있으며, macOS 사용자는 가이드 참고)
2.3 Eclipse STS 실행 후 프로젝트 확인 (6개)
2.4 서비스 시작 및 테스트
2.5 서비스 종료
오픈된 커맨드 창 종료(닫기)
c:setx path "%PATH%;c:oracle_dev_meetup0615_windowsjdk-12bin;c:oracle_dev_meetup0615_windowsapache-maven-3.6.1bin;
c:cd oracle_dev_meetup0615_windowssts_workspace
c:oracle_dev_meetup0615_windowssts_workspacestart-all-svc.cmd
Lab 1: Spring Boot Monitoring with Spring Boot Admin
Love Calculator
Service
Love Calculator
Consumer
Yes-Or-No
Consumer
Spring Boot Admin
/actuator
/actuator
/actuator
Love Calculator
Application
https://github.com/MangDan/sb-metrics-monitoring-handson/blob/master/HOL-PART1.md
1. Spring Boot Admin 서버 프로젝트 생성 (선택) 및 실행
2. 각 서비스별로 pom.xml 의존성(dependency) 설정
3. 각 서비스별로 application.properties 설정
4. 모든 서비스 시작 (start-all-svc.cmd)
5. Spring Boot Admin 서버 시작 및 대시보드 확인
6. 모든 서비스 종료 (커맨드 창 종료/닫기)
http://localhost:8090
Lab 2: Spring Boot Monitoring with Eureka and Spring Boot
https://github.com/MangDan/sb-metrics-monitoring-handson/blob/master/HOL-PART2.md
Love Calculator
Service
Love Calculator
Consumer
Yes-Or-No
Consumer
Spring Boot Admin
/actuator
/actuator
/actuator
Love Calculator
Application
Eureka
1. Eureka Server 서버 프로젝트 생성 (선택) 및 시작
2. 각 서비스별로 pom.xml 의존성(dependency) 설정
3. 각 서비스별로 application.properties 설정
4. 각 서비스별로 ~Application.java 설정
5. 서비스 시작 (start-all-svc.cmd)
6. Spring Boot Admin 서버 시작 및 대시보드 확인
http://localhost:8761/eureka
http://localhost:8090
Lab 3: Spring Boot Monitoring with Consul and Prometheus, Grafana
https://github.com/MangDan/sb-metrics-monitoring-handson/blob/master/HOL-PART3.md
Love Calculator
Service
Love Calculator
Consumer
Yes-Or-No
Consumer
/actuator
/actuator
/actuator
Love Calculator
Application
Consul
1. Consul 서버 시작
2. 각 서비스별로 pom.xml 의존성(dependency) 설정
3. 각 서비스별로 application.properties 설정
4. 각 서비스별로 ~Application.java 설정
5. 서비스 시작 (start-all-svc.cmd)
6. Prometheus 서버 설정 및 시작
7. Grafana 서버 시작 및 설정, 대시보드 확인
Prometheus
Grafana
http://localhost:9090
http://localhost:3000
http://localhost:8500/ui
Summary
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted
감사합니다
25

More Related Content

What's hot

Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Microservices using .Net core
Microservices using .Net coreMicroservices using .Net core
Microservices using .Net coregirish goudar
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page ApplicationKMS Technology
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introduçãoDaniel Baptista Dias
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaEdureka!
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...John Musser
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi SpecPedro J. Molina
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureAbdelghani Azri
 
Event-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS StreamingEvent-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS StreamingShiju Varghese
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 

What's hot (20)

Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Microservices using .Net core
Microservices using .Net coreMicroservices using .Net core
Microservices using .Net core
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introdução
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | Edureka
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Event-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS StreamingEvent-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS Streaming
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Spring cloud
Spring cloudSpring cloud
Spring cloud
 

Similar to Spring boot microservice metrics monitoring

Build12 factorappusingmp
Build12 factorappusingmpBuild12 factorappusingmp
Build12 factorappusingmpEmily Jiang
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxssuser5faa791
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootTiera Fann, MBA
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the boxKangaroot
 
Session 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionSession 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionPawanMM
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesJakarta_EE
 
Surekha_haoop_exp
Surekha_haoop_expSurekha_haoop_exp
Surekha_haoop_expsurekhakadi
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksMohammad Asif Siddiqui
 
Struts 2 - Introduction
Struts 2 - Introduction Struts 2 - Introduction
Struts 2 - Introduction Hitesh-Java
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZERAshish Tanwer
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
03 monoliths to microservices with java ee and spring boot
03 monoliths to microservices with java ee and spring boot03 monoliths to microservices with java ee and spring boot
03 monoliths to microservices with java ee and spring bootRam Maddali
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316Jupil Hwang
 
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...IRJET Journal
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 

Similar to Spring boot microservice metrics monitoring (20)

Build12 factorappusingmp
Build12 factorappusingmpBuild12 factorappusingmp
Build12 factorappusingmp
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
Microservices
MicroservicesMicroservices
Microservices
 
Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring Boot
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
 
Session 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionSession 41 - Struts 2 Introduction
Session 41 - Struts 2 Introduction
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
Surekha_haoop_exp
Surekha_haoop_expSurekha_haoop_exp
Surekha_haoop_exp
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
 
Struts 2 - Introduction
Struts 2 - Introduction Struts 2 - Introduction
Struts 2 - Introduction
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
03 monoliths to microservices with java ee and spring boot
03 monoliths to microservices with java ee and spring boot03 monoliths to microservices with java ee and spring boot
03 monoliths to microservices with java ee and spring boot
 
Microservices with kubernetes @190316
Microservices with kubernetes @190316Microservices with kubernetes @190316
Microservices with kubernetes @190316
 
Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...Developing microservices with Java and applying Spring security framework and...
Developing microservices with Java and applying Spring security framework and...
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 

More from Oracle Korea

Oracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Korea
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Korea
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interfaceOracle Korea
 
On premise db & cloud database
On premise db & cloud databaseOn premise db & cloud database
On premise db & cloud databaseOracle Korea
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaegerOracle Korea
 
Which Questions We Should Have
Which Questions We Should HaveWhich Questions We Should Have
Which Questions We Should HaveOracle Korea
 
Enterprise Postgres
Enterprise PostgresEnterprise Postgres
Enterprise PostgresOracle Korea
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발Oracle Korea
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential Oracle Korea
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발Oracle Korea
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advancedOracle Korea
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewOracle Korea
 
Eclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – HelidonEclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – HelidonOracle Korea
 
times ten in-memory database for extreme performance
times ten in-memory database for extreme performancetimes ten in-memory database for extreme performance
times ten in-memory database for extreme performanceOracle Korea
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자Oracle Korea
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub ServiceOracle Korea
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습Oracle Korea
 
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 [Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 Oracle Korea
 

More from Oracle Korea (20)

Oracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo Yoo
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTO
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interface
 
On premise db & cloud database
On premise db & cloud databaseOn premise db & cloud database
On premise db & cloud database
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
Which Questions We Should Have
Which Questions We Should HaveWhich Questions We Should Have
Which Questions We Should Have
 
Oracle NoSQL
Oracle NoSQLOracle NoSQL
Oracle NoSQL
 
Enterprise Postgres
Enterprise PostgresEnterprise Postgres
Enterprise Postgres
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발
 
kubernetes from beginner to advanced
kubernetes  from beginner to advancedkubernetes  from beginner to advanced
kubernetes from beginner to advanced
 
OpenJDK & Graalvm
OpenJDK & GraalvmOpenJDK & Graalvm
OpenJDK & Graalvm
 
Cloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm OverviewCloud Native 자바 플랫폼: Graalvm Overview
Cloud Native 자바 플랫폼: Graalvm Overview
 
Eclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – HelidonEclipse MicroProfile 과 Microservice Java framework – Helidon
Eclipse MicroProfile 과 Microservice Java framework – Helidon
 
times ten in-memory database for extreme performance
times ten in-memory database for extreme performancetimes ten in-memory database for extreme performance
times ten in-memory database for extreme performance
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개 [Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Spring boot microservice metrics monitoring

  • 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 1 th 김동후 donghu.kim@oracle.com Spring Boot: Microservice Metrics Monitoring 2019.06.15 12 thOracle Developer Meetup
  • 2. Architecture Evolution: From Monolithic to Microservices Architecture Image Source: https://blogs.sap.com/2015/02/25/microservices-the-dismantle-of-the-monolith/ (Single Unit) (Coarse-grained) (Fine-grained) Monolithic (Pre-SOA) SOA Microservices
  • 3. Amazon, 2008 Hailo, 2014Netflix, 2012 Twitter, 2013 The Empire Image Source: Netflix: http://codeobsession.blogspot.com/2018/02/architecture-at-different-levels-of.html Twitter: https://blog.twitter.com/engineering/en_us/a/2013/observability-at-twitter.html Hail-o: https://www.instana.com/blog/introducing-dynamic-focus-application-performance-management/ Amazon: https://aws-de-media.s3.amazonaws.com/images/AWS_Summit_Berlin_2016/sessions/pushing_the_boundaries_1300_microservices_on_aws.pdf The Empire: https://www.ixxiyourworld.com/en/products/ixxi-images/death-star-4/ Death Star Diagrams
  • 4. Challenges in Microservices Architecture Image Source: https://dzone.com/articles/challenges-in-implementing-microservices
  • 6.
  • 8. An Introduction to Metrics Monitoring Application Metrics System Metrics CPU & Memory usage, Network, Disk I/O , JVM (Threads, Heap, GC), etc Request Volume, Duration, Size, Error and Timeout, Latency, Http Error Codes, Health, Custom (Counter, Timer, Gauge), etc CNCF Cloud Native Interactive Landscape
  • 9. Monitoring: Spring Boot Admin Created by a company called Codecentric Open source monitoring software for Spring Boot Actuator
  • 10. Monitoring: Prometheus Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud A Monitoring System and Time Series Database Suited for Containers and Microservices
  • 11. Monitoring: Grafana Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. Grafana supports over 30 open source and commercial data sources.
  • 12. Monitoring: Prometheus and Grafana https://docs.cloudposse.com/monitoring-and-alerting/prometheus/
  • 13. Monitoring with Service Discovery Service discovery is the automatic detection of devices and services offered by these devices on a computer network. A service discovery protocol (SDP) is a network protocol that helps accomplish service discovery. Service discovery aims to reduce the configuration efforts from users. Wikipedia https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/
  • 14. Monitoring with Service Discovery Discovery Server Service A Service C Service D Service E Discovery Server Service A Service C Service D Service E Load Balancer REQUEST REGISTER QUERY The Client-Side Discovery Pattern The Server-Side Discovery Pattern Monitoring Server Monitoring Server
  • 15. Service Discovery: Netflix Eureka https://coe.gitbook.io/guide/service-discovery/eureka Eureka is a REST based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers. At Netflix, Eureka is used for the following purposes apart from playing a critical part in mid-tier load balancing.
  • 16. Service Discovery: Hashicorp Consul Consul is a service mesh solution providing a full featured control plane with service discovery, configuration, and segmentation functionality. • Service Discovery • Health Checking • KV Store • Secure Service Communication • Multi Datacenter
  • 17. Spring Boot Actuator and Micrometer Micrometer Micrometer is the metrics collection facility included in Spring Boot 2's Actuator Spring Boot Actuator Prometheus, AppOptics, Azure Monitor, Netflix Atlas, CloudWatch, Datadog, Dynatrace,  Elastic, Ganglia, Graphite, Humio, Influx/ Telegraf, JMX, KairosDB, New Relic, SignalFx, Google Stackdriver, StatsD, and Wavefront. Think SLF4J, but for Metrics To help you monitor and manage your Spring application
  • 18. Spring Boot: Microservices Metrics Monitoring
  • 19. Lab 1: Spring Boot Monitoring with Spring Boot Admin Love Calculator Service Yes-Or-No Consumer Love Calculator Consumer Love Calculator Application Love Calculator Open API Yes or No Open API https://github.com/MangDan/sb-metrics-monitoring-handson http://localhost:8082/love-calculator-consumer http://localhost:8083/yes-or-no-consumer http://localhost:8081/love-calculator
  • 20. LAB Setup https://github.com/MangDan/sb-metrics-monitoring-handson 1. 전체 프로그램 및 예제 소스 다운로드 2. 설치 및 환경 구성 2.1 Path 설정 (Java, Maven) 2.2 Eclipse STS (Spring Tool Suite) 설정 (Windows는 구성되어 있으며, macOS 사용자는 가이드 참고) 2.3 Eclipse STS 실행 후 프로젝트 확인 (6개) 2.4 서비스 시작 및 테스트 2.5 서비스 종료 오픈된 커맨드 창 종료(닫기) c:setx path "%PATH%;c:oracle_dev_meetup0615_windowsjdk-12bin;c:oracle_dev_meetup0615_windowsapache-maven-3.6.1bin; c:cd oracle_dev_meetup0615_windowssts_workspace c:oracle_dev_meetup0615_windowssts_workspacestart-all-svc.cmd
  • 21. Lab 1: Spring Boot Monitoring with Spring Boot Admin Love Calculator Service Love Calculator Consumer Yes-Or-No Consumer Spring Boot Admin /actuator /actuator /actuator Love Calculator Application https://github.com/MangDan/sb-metrics-monitoring-handson/blob/master/HOL-PART1.md 1. Spring Boot Admin 서버 프로젝트 생성 (선택) 및 실행 2. 각 서비스별로 pom.xml 의존성(dependency) 설정 3. 각 서비스별로 application.properties 설정 4. 모든 서비스 시작 (start-all-svc.cmd) 5. Spring Boot Admin 서버 시작 및 대시보드 확인 6. 모든 서비스 종료 (커맨드 창 종료/닫기) http://localhost:8090
  • 22. Lab 2: Spring Boot Monitoring with Eureka and Spring Boot https://github.com/MangDan/sb-metrics-monitoring-handson/blob/master/HOL-PART2.md Love Calculator Service Love Calculator Consumer Yes-Or-No Consumer Spring Boot Admin /actuator /actuator /actuator Love Calculator Application Eureka 1. Eureka Server 서버 프로젝트 생성 (선택) 및 시작 2. 각 서비스별로 pom.xml 의존성(dependency) 설정 3. 각 서비스별로 application.properties 설정 4. 각 서비스별로 ~Application.java 설정 5. 서비스 시작 (start-all-svc.cmd) 6. Spring Boot Admin 서버 시작 및 대시보드 확인 http://localhost:8761/eureka http://localhost:8090
  • 23. Lab 3: Spring Boot Monitoring with Consul and Prometheus, Grafana https://github.com/MangDan/sb-metrics-monitoring-handson/blob/master/HOL-PART3.md Love Calculator Service Love Calculator Consumer Yes-Or-No Consumer /actuator /actuator /actuator Love Calculator Application Consul 1. Consul 서버 시작 2. 각 서비스별로 pom.xml 의존성(dependency) 설정 3. 각 서비스별로 application.properties 설정 4. 각 서비스별로 ~Application.java 설정 5. 서비스 시작 (start-all-svc.cmd) 6. Prometheus 서버 설정 및 시작 7. Grafana 서버 시작 및 설정, 대시보드 확인 Prometheus Grafana http://localhost:9090 http://localhost:3000 http://localhost:8500/ui
  • 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 감사합니다 25