SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Server-side OSGi with Apache Sling
Server-side OSGi with Apache SlingServer-side OSGi with Apache Sling
Server-side OSGi with Apache SlingFelix Meschberger
 
Server-side OSGi with Apache Sling (Jazoon 2010)
Server-side OSGi with Apache Sling (Jazoon 2010)Server-side OSGi with Apache Sling (Jazoon 2010)
Server-side OSGi with Apache Sling (Jazoon 2010)Felix Meschberger
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootToshiaki Maki
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAlexander Feschenko
 
Guide - Migrating from Heroku to AWS using CloudFormation
Guide - Migrating from Heroku to AWS using CloudFormationGuide - Migrating from Heroku to AWS using CloudFormation
Guide - Migrating from Heroku to AWS using CloudFormationRob Linton
 
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Alexandre Dutra
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesJeff Potts
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & ActuatorsVMware Tanzu
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot ActuatorRowell Belen
 
A Series of Fortunate Events: Building an Operator in Java
A Series of Fortunate Events: Building an Operator in JavaA Series of Fortunate Events: Building an Operator in Java
A Series of Fortunate Events: Building an Operator in JavaVMware Tanzu
 
Java on Azure JJUG Night Seminar 2016 0322
Java on Azure JJUG Night Seminar 2016 0322Java on Azure JJUG Night Seminar 2016 0322
Java on Azure JJUG Night Seminar 2016 0322Yoshio Terada
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker, Inc.
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerToshiaki Maki
 
Oracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c InstallationOracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c InstallationOsama Mustafa
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryAlain Sahli
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with DockerDocker, Inc.
 
Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to applicationdamian-h
 
Automating MySQL Deployments on Kubernetes
Automating MySQL Deployments on KubernetesAutomating MySQL Deployments on Kubernetes
Automating MySQL Deployments on KubernetesPresslabs
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache MesosTimothy St. Clair
 

Tendances (20)

Server-side OSGi with Apache Sling
Server-side OSGi with Apache SlingServer-side OSGi with Apache Sling
Server-side OSGi with Apache Sling
 
Server-side OSGi with Apache Sling (Jazoon 2010)
Server-side OSGi with Apache Sling (Jazoon 2010)Server-side OSGi with Apache Sling (Jazoon 2010)
Server-side OSGi with Apache Sling (Jazoon 2010)
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShell
 
Guide - Migrating from Heroku to AWS using CloudFormation
Guide - Migrating from Heroku to AWS using CloudFormationGuide - Migrating from Heroku to AWS using CloudFormation
Guide - Migrating from Heroku to AWS using CloudFormation
 
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
Staying Ahead of the Curve with Spring and Cassandra 4 (SpringOne 2020)
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to Microservices
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
 
Spring Boot Actuator
Spring Boot ActuatorSpring Boot Actuator
Spring Boot Actuator
 
A Series of Fortunate Events: Building an Operator in Java
A Series of Fortunate Events: Building an Operator in JavaA Series of Fortunate Events: Building an Operator in Java
A Series of Fortunate Events: Building an Operator in Java
 
Dev stacklabguide
Dev stacklabguideDev stacklabguide
Dev stacklabguide
 
Java on Azure JJUG Night Seminar 2016 0322
Java on Azure JJUG Night Seminar 2016 0322Java on Azure JJUG Night Seminar 2016 0322
Java on Azure JJUG Night Seminar 2016 0322
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
 
Oracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c InstallationOracle Enterprise manager 13c Installation
Oracle Enterprise manager 13c Installation
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundry
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to application
 
Automating MySQL Deployments on Kubernetes
Automating MySQL Deployments on KubernetesAutomating MySQL Deployments on Kubernetes
Automating MySQL Deployments on Kubernetes
 
Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache Mesos
 

Similaire à Spring Boot Microservices 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
 

Similaire à Spring Boot Microservices 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
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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 Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 

Spring Boot Microservices 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