SlideShare uma empresa Scribd logo
1 de 52
Through The
Looking Glass:
GRACE, JANSEN
DEVELOPER ADVOCATE, IBM
@gracejansen27
Effective observability
for cloud native
applications
• Phrase by Lewis Carroll
• The sequel to Alice's
Adventures in Wonderland
• Alice passes through a
mirror over a fireplace and
finds herself (once more) in
an enchanted land
Through the Looking-Glass...
Agenda:
• Why do we need observability?
• What do we mean by “Observability”?
• How can we do this in our own apps?
• OpenTelemetry
• MicroProfile Telemetry 1.0
• Demo
• Summary and Resources
Why do we need
observability?
Evolution of Modern Infrastructure
© 2021 IBM Corporation @gracejansen27
Evolution of Applications
15 Factor Applications (revised from 12 factors)
1. One Codebase, one application
2. API first
3. Dependency management
4. Design, build, release, and run
5. Configuration, credentials and code
6. Logs
7. Disposability
https://developer.ibm.com/articles/15-factor-applications/
8. Backing services
9. Environment parity
10. Administrative processes
11. Port binding
12. Stateless processes
13. Concurrency
14. Telemetry
15. Authentication and authorization
Why it matters
What do we mean
by “Observability”?
What is observability?
• In general…
• observability is the extent to which you can understand the internal state or
condition of a complex system based only on knowledge of its external
outputs
What is observability?
• In general…
• observability is the extent to which you can understand the internal state or
condition of a complex system based only on knowledge of its external
outputs
• In IT and cloud computing…
• observability also refers to software tools and practices for aggregating,
correlating and analyzing a steady stream of performance data from a
distributed application along with the hardware and network it runs on, in
order to more effectively monitor, troubleshoot and debug the
application and the network
Observability vs Monitoring
• Monitoring consists in using tools/techniques that highlight that an
issue occurred. A monitoring system could raise a warning when:
• average response time is getting slower and slower;
• a growing number of requests result in HTTP 500 – internal server error;
• application crashes;
• Observability is the ability to measure the internal states of a system
by examining its outputs (Control theory definition).
• An application is “observable” when it provides detailed visibility into
its behavior and always allows identifying the root cause of an issue.
How can we do this
in our own apps?
Implementing Observability
1. Instrument systems and applications to collect relevant
data (e.g. metrics, traces, and logs).
1
Implementing Observability
1. Instrument systems and applications to collect relevant
data (e.g. metrics, traces, and logs).
2. Send this data to a separate external system that can
store and analyze it.
1
2
Implementing Observability
1. Instrument systems and applications to collect relevant
data (e.g. metrics, traces, and logs).
2. Send this data to a separate external system that can
store and analyze it.
3. Provide visualizations and insights into systems as a
whole (including query capability for end users).
1
2
3
Instrumentation: The Three Pillars
Logs
Observability
Distributed
Traces
Metrics
1
Instrumentation: The Three Pillars
Logs
Observability
Distributed
Traces
Metrics
1
Profiling
End-user
monitoring
Instrumentation: Logs
Logs
• a timestamped message emitted by services or
other application components, providing coarser-
grained or higher-level information about system
behaviors (like errors, warnings, etc) and typically
will be stored in a set of log files.
• not necessarily associated with any particular user
request or transaction
Logs
Instrumentation: Metrics
Metrics
• aggregations of numeric data about
infrastructure or an application over a period
of time. Examples include system error rates,
CPU utilization, and request rates for a given
service. Metrics
Health
Check
Metrics
Fault
Tolerance
OpenAPI
Config
Open
Tracing
JWT
JSON-B
Rest Client
CDI
JAX-RS JSON-P
Core
Integrate
Observe
https://microprofile.io/
Open cloud-native Java APIs
Open
Telemetry
GraphQL
Reactive
Messaging
Compatible Runtimes
Compatible with MicroProfile APIs 2.x and
3.x
4.x 5.x 6.x
Open Liberty x x x x
WebSphere Liberty x x x x
Quarkus x x
Payara Micro x x x
WildFly x x x
Payara Server x x x
TomEE x x
KumuluzEE x
Thorntail x
JBoss EAP XP x
Helidon x x
Apache Launcher x
https://microprofile.io/compatible
MicroProfile Metrics
“This specification aims at providing a unified way for
Microprofile servers to export Monitoring data
("Telemetry") to management agents and also a unified
Java API, that all (application) programmers can use to
expose their telemetry data.”
Instrumentation: Traces
• Distributed traces (i.e. Traces)
• records the paths taken by requests (made by an
application or end user) as they disseminate
through multi-service architectures, like
microservice, macroservice, and serverless
applications. Distributed Traces
Key Tracing Concepts
• Traces
• Traces represent requests and
consist of multiple spans.
• Spans
• Spans are representative of
single operations in a request. A
span contains a name, time-
related data, log messages, and
metadata to give information
about what occurs during a
transaction.
Image: https://blog.sentry.io/2021/08/12/distributed-tracing-101-for-full-stack-developers/
Key Tracing Concepts
• Context
• Context is an immutable object
contained in the span data to
identify the unique request
that each span is a part of. This
data is required for moving
trace information across
service boundaries, allowing
developers to follow a single
request through a potentially
complex distributed system.
Image: https://blog.sentry.io/2021/08/12/distributed-tracing-101-for-full-stack-developers/
OpenTelemetry
Open Telemetry
• High-quality, ubiquitous, and portable telemetry to enable
effective observability
• OpenTelemetry is a collection of tools, APIs, and SDKs. Use it
to instrument, generate, collect, and export telemetry data
(metrics, logs, and traces) to help you analyze your software’s
performance and behaviour.
• NB: OpenTelemetry ≠ observability back-end
https://opentelemetry.io
Creating One Standard
https://opentelemetry.io/docs/
https://opentelemetry.io/docs/collector/
MicroProfile
Telemetry 1.0
MicroProfile Telemetry 1.0
• Introduced in MicroProfile
6.0 release
• Adopts OpenTelemetry
Tracing
• Set of APIs, SDKs, tooling
and integrations
• Designed for the creation
and management of
telemetry data (traces)
https://github.com/eclipse/microprofile-telemetry
MP Telemetry Instrumentation
• Automatic Instrumentation:
• Jakarta RESTful Web Services and MicroProfile Rest Client
automatically enlisted in distributed tracing
• Manual Instrumentation:
• Manual instrumentation can be added via annotations @WithSpan or
via CDI injection @Inject Tracer or @Inject Span or
programmatic lookup Span.current()
• Agent Instrumentation:
• Use OpenTelemetry Java Instrumentation project to gather telemetry
data without any code modification
How MP Telemetry works
Backend Exporter
• You can export the data that MicroProfile
Telemetry collects to multiple exporters.
• E.g.:
• Jaeger
• Zipkin
• Otel Collector
2
Visualization
• Prometheus
• Systems monitoring and alerting toolkit
• Grafana
• An open source analytics and interactivee visualization
• Kibana
• provides users with a tool for exploring, visualizing, and building dashboards
on top of the log data stored in Elasticsearch clusters.
https://blog.sebastian-daschner.com/entries/openliberty-monitoring-prometheus-grafana
3
Demo Time
Open Liberty
https://developer.ibm.com/articles/why-cloud-native-java-developers-love-liberty/
Focus on code
Easy to make fast and iterative changes
Easy to write tests
True-to-production testing (as much as
possible)
Ready for containers
Not-in-your-way tools and flexibility
Developer productivity
Repositories Build
IDEs
Dev Mode
APIs Testing
© 2021 IBM Corporation
MP Telemetry Demo
https://github.com/yasmin-aumeeruddy/mpTelemetry-Demo
Summary:
• Entering a world of increased complexity
• Effective observability is critical to monitor and understand
how our applications are behaving and performing in this
complex environment
• Many open source tools available to help us look through the
looking glass, including new standards like Open Telemetry
• OSS Java tools like MicroProfile enable us to make use of this in our
own applications
Resources:
• What is observability? - https://www.ibm.com/uk-
en/topics/observability
• OpenTelemetry and MicroProfile: Enabling effective
observability for your cloud-native Java applications -
https://developer.ibm.com/articles/opentelemetry-effective-
observability-for-your-cloud-native-java-apps/
• Tracing your microservices made easy with MicroProfile
Telemetry 1.0 - https://openliberty.io/blog/2023/03/10/tracing-
with-microprofile-telemetry.html
Open Liberty Interactive Guides
https://openliberty.io/guides/#observability
Interactive cloud-native labs
Connect with us
https://www.linkedin.com/company/openlibertyio/ https://twitter.com/OpenLibertyIO
GRACE, JANSEN
@gracejansen27
THANK
YOU

Mais conteúdo relacionado

Semelhante a ThroughTheLookingGlass_EffectiveObservability.pptx

Semelhante a ThroughTheLookingGlass_EffectiveObservability.pptx (20)

How to Monitor Microservices
How to Monitor MicroservicesHow to Monitor Microservices
How to Monitor 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
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
 
Monitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In AzureMonitoring Containerized Micro-Services In Azure
Monitoring Containerized Micro-Services In Azure
 
Proactive ops for container orchestration environments
Proactive ops for container orchestration environmentsProactive ops for container orchestration environments
Proactive ops for container orchestration environments
 
Istio Mesh – Managing Container Deployments at Scale
Istio Mesh – Managing Container Deployments at ScaleIstio Mesh – Managing Container Deployments at Scale
Istio Mesh – Managing Container Deployments at Scale
 
Manging Container Deployments at Scale
Manging Container Deployments at ScaleManging Container Deployments at Scale
Manging Container Deployments at Scale
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overview
 
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
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
 
PreMonR - A Reactive Platform To Monitor Reactive Application
PreMonR - A Reactive Platform To Monitor Reactive ApplicationPreMonR - A Reactive Platform To Monitor Reactive Application
PreMonR - A Reactive Platform To Monitor Reactive Application
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
Global Azure Bootcamp 2017 - Performance and Health Management for Modern App...
 
MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
Azure 101: Shared responsibility in the Azure Cloud
Azure 101: Shared responsibility in the Azure CloudAzure 101: Shared responsibility in the Azure Cloud
Azure 101: Shared responsibility in the Azure Cloud
 
Regulated Reactive - Security Considerations for Building Reactive Systems in...
Regulated Reactive - Security Considerations for Building Reactive Systems in...Regulated Reactive - Security Considerations for Building Reactive Systems in...
Regulated Reactive - Security Considerations for Building Reactive Systems in...
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
Operating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud Microservices
 

Mais de Grace Jansen

Mais de Grace Jansen (20)

JPrime_JITServer.pptx
JPrime_JITServer.pptxJPrime_JITServer.pptx
JPrime_JITServer.pptx
 
SwissJUG_15_factor_app.pptx
SwissJUG_15_factor_app.pptxSwissJUG_15_factor_app.pptx
SwissJUG_15_factor_app.pptx
 
SwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptxSwissJUG_Bringing the cloud back down to earth.pptx
SwissJUG_Bringing the cloud back down to earth.pptx
 
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthPittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
 
Javaland_JITServerTalk.pptx
Javaland_JITServerTalk.pptxJavaland_JITServerTalk.pptx
Javaland_JITServerTalk.pptx
 
JavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptxJavaLand_To InstantOn and Beyond.pptx
JavaLand_To InstantOn and Beyond.pptx
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptx
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptx
 
DevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxDevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptx
 
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxUtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
JCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptxJCON_Adressing the transaction challenge in a cloud-native world.pptx
JCON_Adressing the transaction challenge in a cloud-native world.pptx
 
JavaZone_Addressing the transaction challenge in a cloud-native world.pptx
JavaZone_Addressing the transaction challenge in a cloud-native world.pptxJavaZone_Addressing the transaction challenge in a cloud-native world.pptx
JavaZone_Addressing the transaction challenge in a cloud-native world.pptx
 
JavaZone_Mother Nature vs Java – the security face off.pptx
JavaZone_Mother Nature vs Java – the security face off.pptxJavaZone_Mother Nature vs Java – the security face off.pptx
JavaZone_Mother Nature vs Java – the security face off.pptx
 
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptxBoost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
Boost developer productivity with EE, MP and OL (Devoxx Ukraine 22).pptx
 
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
Addressing the transaction challenge in a cloud-native world Devoxx Ukraine 2022
 
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptxJBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
JBCNConf_Addressing_The_Transaction_Challenge_LRA.pptx
 
2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf
 
How to become a superhero without even leaving your desk!
How to become a superhero without even leaving your desk!How to become a superhero without even leaving your desk!
How to become a superhero without even leaving your desk!
 
Devoxx Ukraine - Going beyond the 12 factors
Devoxx Ukraine - Going beyond the 12 factorsDevoxx Ukraine - Going beyond the 12 factors
Devoxx Ukraine - Going beyond the 12 factors
 

Último

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

ThroughTheLookingGlass_EffectiveObservability.pptx

  • 1. Through The Looking Glass: GRACE, JANSEN DEVELOPER ADVOCATE, IBM @gracejansen27 Effective observability for cloud native applications
  • 2. • Phrase by Lewis Carroll • The sequel to Alice's Adventures in Wonderland • Alice passes through a mirror over a fireplace and finds herself (once more) in an enchanted land Through the Looking-Glass...
  • 3.
  • 4.
  • 5. Agenda: • Why do we need observability? • What do we mean by “Observability”? • How can we do this in our own apps? • OpenTelemetry • MicroProfile Telemetry 1.0 • Demo • Summary and Resources
  • 6. Why do we need observability?
  • 7. Evolution of Modern Infrastructure © 2021 IBM Corporation @gracejansen27
  • 9.
  • 10.
  • 11. 15 Factor Applications (revised from 12 factors) 1. One Codebase, one application 2. API first 3. Dependency management 4. Design, build, release, and run 5. Configuration, credentials and code 6. Logs 7. Disposability https://developer.ibm.com/articles/15-factor-applications/ 8. Backing services 9. Environment parity 10. Administrative processes 11. Port binding 12. Stateless processes 13. Concurrency 14. Telemetry 15. Authentication and authorization
  • 13. What do we mean by “Observability”?
  • 14. What is observability? • In general… • observability is the extent to which you can understand the internal state or condition of a complex system based only on knowledge of its external outputs
  • 15. What is observability? • In general… • observability is the extent to which you can understand the internal state or condition of a complex system based only on knowledge of its external outputs • In IT and cloud computing… • observability also refers to software tools and practices for aggregating, correlating and analyzing a steady stream of performance data from a distributed application along with the hardware and network it runs on, in order to more effectively monitor, troubleshoot and debug the application and the network
  • 16. Observability vs Monitoring • Monitoring consists in using tools/techniques that highlight that an issue occurred. A monitoring system could raise a warning when: • average response time is getting slower and slower; • a growing number of requests result in HTTP 500 – internal server error; • application crashes; • Observability is the ability to measure the internal states of a system by examining its outputs (Control theory definition). • An application is “observable” when it provides detailed visibility into its behavior and always allows identifying the root cause of an issue.
  • 17. How can we do this in our own apps?
  • 18. Implementing Observability 1. Instrument systems and applications to collect relevant data (e.g. metrics, traces, and logs). 1
  • 19. Implementing Observability 1. Instrument systems and applications to collect relevant data (e.g. metrics, traces, and logs). 2. Send this data to a separate external system that can store and analyze it. 1 2
  • 20. Implementing Observability 1. Instrument systems and applications to collect relevant data (e.g. metrics, traces, and logs). 2. Send this data to a separate external system that can store and analyze it. 3. Provide visualizations and insights into systems as a whole (including query capability for end users). 1 2 3
  • 21. Instrumentation: The Three Pillars Logs Observability Distributed Traces Metrics 1
  • 22. Instrumentation: The Three Pillars Logs Observability Distributed Traces Metrics 1 Profiling End-user monitoring
  • 23. Instrumentation: Logs Logs • a timestamped message emitted by services or other application components, providing coarser- grained or higher-level information about system behaviors (like errors, warnings, etc) and typically will be stored in a set of log files. • not necessarily associated with any particular user request or transaction Logs
  • 24. Instrumentation: Metrics Metrics • aggregations of numeric data about infrastructure or an application over a period of time. Examples include system error rates, CPU utilization, and request rates for a given service. Metrics
  • 26. Compatible Runtimes Compatible with MicroProfile APIs 2.x and 3.x 4.x 5.x 6.x Open Liberty x x x x WebSphere Liberty x x x x Quarkus x x Payara Micro x x x WildFly x x x Payara Server x x x TomEE x x KumuluzEE x Thorntail x JBoss EAP XP x Helidon x x Apache Launcher x https://microprofile.io/compatible
  • 27. MicroProfile Metrics “This specification aims at providing a unified way for Microprofile servers to export Monitoring data ("Telemetry") to management agents and also a unified Java API, that all (application) programmers can use to expose their telemetry data.”
  • 28. Instrumentation: Traces • Distributed traces (i.e. Traces) • records the paths taken by requests (made by an application or end user) as they disseminate through multi-service architectures, like microservice, macroservice, and serverless applications. Distributed Traces
  • 29. Key Tracing Concepts • Traces • Traces represent requests and consist of multiple spans. • Spans • Spans are representative of single operations in a request. A span contains a name, time- related data, log messages, and metadata to give information about what occurs during a transaction. Image: https://blog.sentry.io/2021/08/12/distributed-tracing-101-for-full-stack-developers/
  • 30. Key Tracing Concepts • Context • Context is an immutable object contained in the span data to identify the unique request that each span is a part of. This data is required for moving trace information across service boundaries, allowing developers to follow a single request through a potentially complex distributed system. Image: https://blog.sentry.io/2021/08/12/distributed-tracing-101-for-full-stack-developers/
  • 32. Open Telemetry • High-quality, ubiquitous, and portable telemetry to enable effective observability • OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behaviour. • NB: OpenTelemetry ≠ observability back-end https://opentelemetry.io
  • 37. MicroProfile Telemetry 1.0 • Introduced in MicroProfile 6.0 release • Adopts OpenTelemetry Tracing • Set of APIs, SDKs, tooling and integrations • Designed for the creation and management of telemetry data (traces) https://github.com/eclipse/microprofile-telemetry
  • 38. MP Telemetry Instrumentation • Automatic Instrumentation: • Jakarta RESTful Web Services and MicroProfile Rest Client automatically enlisted in distributed tracing • Manual Instrumentation: • Manual instrumentation can be added via annotations @WithSpan or via CDI injection @Inject Tracer or @Inject Span or programmatic lookup Span.current() • Agent Instrumentation: • Use OpenTelemetry Java Instrumentation project to gather telemetry data without any code modification
  • 40. Backend Exporter • You can export the data that MicroProfile Telemetry collects to multiple exporters. • E.g.: • Jaeger • Zipkin • Otel Collector 2
  • 41. Visualization • Prometheus • Systems monitoring and alerting toolkit • Grafana • An open source analytics and interactivee visualization • Kibana • provides users with a tool for exploring, visualizing, and building dashboards on top of the log data stored in Elasticsearch clusters. https://blog.sebastian-daschner.com/entries/openliberty-monitoring-prometheus-grafana 3
  • 42.
  • 44. Open Liberty https://developer.ibm.com/articles/why-cloud-native-java-developers-love-liberty/ Focus on code Easy to make fast and iterative changes Easy to write tests True-to-production testing (as much as possible) Ready for containers Not-in-your-way tools and flexibility
  • 45. Developer productivity Repositories Build IDEs Dev Mode APIs Testing © 2021 IBM Corporation
  • 47. Summary: • Entering a world of increased complexity • Effective observability is critical to monitor and understand how our applications are behaving and performing in this complex environment • Many open source tools available to help us look through the looking glass, including new standards like Open Telemetry • OSS Java tools like MicroProfile enable us to make use of this in our own applications
  • 48. Resources: • What is observability? - https://www.ibm.com/uk- en/topics/observability • OpenTelemetry and MicroProfile: Enabling effective observability for your cloud-native Java applications - https://developer.ibm.com/articles/opentelemetry-effective- observability-for-your-cloud-native-java-apps/ • Tracing your microservices made easy with MicroProfile Telemetry 1.0 - https://openliberty.io/blog/2023/03/10/tracing- with-microprofile-telemetry.html
  • 49. Open Liberty Interactive Guides https://openliberty.io/guides/#observability

Notas do Editor

  1. Our cloud-native environments are more complex than ever before! So how can we ensure that the applications we're deploying to them are behaving as we intended them to? This is where effective observability is crucial. It enables us to monitor our applications in real-time and analyse and diagnose their behaviour in the cloud. However, until recently, we were lacking the standardization to ensure our observability solutions were applicable across different platforms and technologies. In this session, we'll delve into what effective observability really means, exploring open source technologies and specifications, like OpenTelemetry, that can help us to achieve this while ensuring our applications remain flexible and portable.
  2. Through the Looking-Glass, and What Alice Found There A metaphor for any time the world suddenly appears unfamiliar, almost as if things were turned upside down – similar to looking out from inside the mirror to find a world both recognizable and yet turned inside-out. Like a portal or gateway to that magical world – see things that wouldn’t otherwise
  3. Not the only reference to being transported to a secret hidden world in literature/media… The Matrix has a similar storyline. In a couple of scenes in the movie, there a specific references to Lewis Carroll’s fantastic novels Through the Looking Glass and Alice in Wonderland. In the beginning of the movie, Neo gets woken up by his computer sending him a direct message instructing him to “Follow the white rabbit.” – lady with white rabbit tattoo “You take the blue pill, the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill, you stay in Wonderland, and I show you how deep the rabbit hole goes.”
  4. Innovations within cloud infrastructure, the evolution of cloud-native architecture toward microservices-based applications, and the distributed nature of cloud-native deployments have provided significant innovations and advantages but have brought with them new challenges. One such challenge is the ability to effectively observe and monitor an application’s behavior and performance in real time. Our applications are more complex than ever, often composed of tens to hundreds of distributed microservices, making them challenging to manage and monitor. This increased complexity is precisely the reason that effective observability of our applications is so critical. We need to be able to identify and act upon failures, bottlenecks, resource constraints, and issues that may arise within our deployed applications. With many of these applications mission-critical, it is vital that they remain responsive and resilient. This can only occur if we are aware of how our applications are performing in real time and how our own services depend on or affect other services.
  5. Used to be single core, we can now take advantage of multi-threading and multiple cores Cloud usage – naturally distributed Virtualization Containerzation cloud is inherently distributed Immediate response from apps Impatient society Reactive is perfect for this! Link to anaologies Used to be single core, we can now take advantage of multi-threading and multiple cores Benefits of new modern improved infrastructure
  6. Monolith like amoeba Suitably simple, but as they developed, they needed to evolve
  7. This new world makes root cause analysis and incident resolution potentially a lot harder, yet the same questions still need answering: What is the overall health of my solution? What is the root cause of errors and defects? What are the performance bottlenecks? Which of these problems could impact the user experience?
  8. The new API first factor enables teams to work against each other’s public contracts without interfering with internal development processes. This is particularly important in cloud-native applications where it is highly likely that any services you build and deploy as part of this application will have to interact with other services in a large ecosystem of services. It is particularly well suited to cloud development in its ability to allow rapid prototyping, support a services ecosystem, and facilitate the automated deployment testing and continuous delivery pipelines that are some of the hallmarks of modern cloud-native application development.   Telemetry is also critically important for cloud-native applications. Telemetry and real-time app monitoring enable developers to monitor their application’s performance, health and key metrics in this complicated and highly distributed environment.   Authentication and authorization, essentially the security of an application, is a vital part of any application including those deployed in cloud environments. Deploying applications in a cloud environment means that applications can be transported across many data centres across the globe, executed within multiple containers and accessed by an almost unlimited number of clients. So, it’s vital that security is not an after-thought for cloud-native applications and is a very important factor to consider when designing and building applications.
  9. https://www.splunk.com/en_us/solutions/opentelemetry.html
  10. Observability aims to provide highly granular insights into the behaviour of systems, along with rich context. The more observable a system, the more quickly and accurately you can navigate from an identified performance problem to its root cause, without additional testing or coding. The term “observability” comes from control theory, an area of engineering concerned with automating control a dynamic system — for example, the flow of water through a pipe, or the speed of an automobile over inclines and declines — based on feedback from the system. …essentially asking the question, "How well can the internal state of a system be inferred from outside?" A relatively new IT topic, observability is often mischaracterized as an overhyped buzzword, or a “rebranding” of system monitoring, application performance monitoring (APM), and network performance management (NPM). In fact, observability is a natural evolution of APM and NPM data collection methods that better addresses the increasingly rapid, distributed and dynamic nature of cloud-native application deployments. What about monitoring?? Do we still need this?
  11. The more observable a system, the more quickly and accurately you can navigate from an identified performance problem to its root cause, without additional testing or coding. Useful in production for trouble-shooting Useful during perf tests to identify bottlenecks and areas of improvement The term “observability” comes from control theory, an area of engineering concerned with automating control a dynamic system — for example, the flow of water through a pipe, or the speed of an automobile over inclines and declines — based on feedback from the system. …essentially asking the question, "How well can the internal state of a system be inferred from outside?" A relatively new IT topic, observability is often mischaracterized as an overhyped buzzword, or a “rebranding” of system monitoring, application performance monitoring (APM), and network performance management (NPM). In fact, observability is a natural evolution of APM and NPM data collection methods that better addresses the increasingly rapid, distributed and dynamic nature of cloud-native application deployments. What about monitoring?? Do we still need this?
  12. Observability doesn’t replace monitoring — it enables better monitoring, and better APM and NPM.
  13. Overall, implementing observability is conceptually fairly simple. To enable observability in your projects, you should… The final step—the query and visualization capabilities—are key to the power of observability.
  14. Overall, implementing observability is conceptually fairly simple. To enable observability in your projects, you should… The final step—the query and visualization capabilities—are key to the power of observability.
  15. Overall, implementing observability is conceptually fairly simple. To enable observability in your projects, you should… The final step—the query and visualization capabilities—are key to the power of observability.
  16. To make a system observable, it must first be instrumented. What do we mean by this? Instrumented means the code should emit traces, metrics, and logs. Logs, metrics, and traces are often known as the three pillars of observability. While plainly having access to logs, metrics, and traces doesn’t necessarily make systems more observable, these are powerful tools that, if understood well, can unlock the ability to build better systems.
  17. The hope is that, with time, OpenTelemetry may grow to be able to collect other types of telemetry data like profiling and end-user monitoring.
  18. To make a system observable, it must first be instrumented. What do we mean by this? Instrumented means the code should emit traces, metrics, and logs. Logs: They are found almost everywhere in software and have been heavily relied upon by developers and operators to help understand system behavior. Unfortunately, logs aren’t extremely useful for tracking code execution, as they typically lack contextual information, such as where they were called from. Thus, they become far more useful when they are included within a Trace. Open Liberty has a unified logging component that handles messages that are written by applications and the runtime, and provides First Failure Data Capture (FFDC) capability. Logging data that is written by applications by using the System.out, System.err, or java.util.logging.Logger streams is combined into the server logs Simplify log parsing with JSON With Open Liberty, you can write your logs to the console in JSON format and rely on the server management system to automatically consume and parse console logs. This flexibility enables servers to run in different environments without modifying the server log configuration. Can be viewed using ElasticStash Logs are, by far, the easiest to generate. The fact that a log is just a string or a blob of JSON or typed key-value pairs makes it easy to represent any data in the form of a log line. Most languages, application frameworks, and libraries come with support for logging. Logs are also easy to instrument, since adding a log line is as trivial as adding a print statement. Logs perform really well in terms of surfacing highly granular information pregnant with rich local context, so long as the search space is localized to events that occurred in a single service. While log generation might be easy, the performance idiosyncrasies of various popular logging libraries leave a lot to be desired. the application as a whole becomes susceptible to suboptimal performance due to the overhead of logging log messages can also be lost unless one uses a protocol like RELP to guarantee reliable delivery of messages logging excessively has the capability to adversely affect application performance as a whole
  19. Metrics Metrics, once collected, are more malleable to mathematical, probabilistic, and statistical transformations such as sampling, aggregation, summarization, and correlation. These characteristics make metrics better suited to report the overall health of a system. Metrics are also better suited to trigger alerts, since running queries against an in-memory, time-series database is far more efficient, not to mention more reliable, than running a query against a distributed system like Elasticsearch and then aggregating the results before deciding if an alert needs to be triggered. The biggest drawback with both application logs and application metrics is that they are system scoped, making it hard to understand anything else other than what’s happening inside a particular system. With logs without fancy joins, a single line doesn’t give much information about what happened to a request across all components of a system. Distributed tracing is a technique that addresses the problem of bringing visibility into the lifetime of a request across several systems.
  20. Eclipse MicroProfile is a set of cloud native capabilities, implemented by our Java runtimes, that provide standard applications annotations implementations for applications to use in containers – building on a core of familiar Java EE technologies. LRA is one of the newest MicroProfile specificactions, derived from WS-BA, to provide a simple compensating transaction for Java microservices. The blue specs are part of the MicroProfile 3.3 release. ReactiveMessaging and LRA are standalone specs. The LRA model provides a good balance between a loosely coupled transaction model that preserves independence of application lifecycle of each microservce and application simplicity over maintaining data consistency in the presence of failure. Simple Java annotations are used to register completion and compensation tasks while the platfrom takes care of ensuring these get invoked appropriately, across any form of system failure.
  21. MicroProfile Metrics can be accessed by monitoring tools, such as Prometheus, or by any client that can make REST requests. By default, MicroProfile Metrics provides metrics data in Prometheus format - a representation of the metrics that is compatible with the Prometheus monitoring tool, Prometheus metrics are a strict subset of OpenTelemetry metrics. Prometheus collects rich metrics and provides a powerful querying language
  22. Distributed tracing is a monitoring technique that links the operations and requests occurring between multiple services. This allows developers to “trace” the path of an end-to-end request as it moves from one service to another, letting them pinpoint errors or performance bottlenecks in individual services that are negatively affecting the overall system. Without tracing, it can be challenging to pinpoint the cause of performance problems in a distributed system. Tracing helps to improve the visibility of an application’s health and enables debuging behavior that can be difficult to reproduce locally.
  23. A span describes an operation or “work” taking place on a service. Spans can describe broad operations – for example, the operation of a web server responding to an HTTP request – or as granular as a single invocation of a function. A trace describes the end-to-end journey of one or more connected spans. A trace is considered to be a distributed trace if it connects spans (“work”) performed on multiple services. The diagram above illustrates how a trace begins in one service – an application running on the browser – and continues through a call to an API web server, and even further to a background task worker. The spans in this diagram are the work performed within each service, and each span can be “traced” back to the initial work kicked off by the browser application. Lastly, since these operations occur on different services, this trace is considered to be distributed
  24. So far we’ve identified the components of a trace, but we haven’t described how those components are linked together. This is where context is important The trace context is typically composed of just two values: Trace identifier (or trace_id): the unique identifier that is generated in the root span intended to identify the entirety of the trace. This is the same trace identifier we introduced in the last section; it is propagated unchanged to every downstream service. Parent identifier (or parent_id): the span_id of the “parent” span that spawned the current operation. With these two values, for any given operation, it is possible to determine the originating (root) service, and to reconstruct all parent/ancestor services in order that led to the current operation.
  25. In the past, the way in which code was instrumented would vary, as each Observability back-end would have its own instrumentation libraries and agents for emitting data to the tools. This meant that there was no standardized data format for sending data to an Observability back-end. Furthermore, if a company chose to switch Observability back-ends, it meant that they would have to re-instrument their code and configure new agents just to be able to emit telemetry data to the new tool of choice. OpenTelemetry has a much smaller scope. It collects metrics (as well as traces and logs) using a consolidated API via push or pull, potentially transforms them, and sends them onward to other systems for storage or query. By only focusing on the parts of Observability which applications interact with, OpenTelemetry is decoupling the creation of signals from the operational concerns of storing them and querying them. Ironically, this means OpenTelemetry metrics often end up back in Prometheus or a Prometheus-compatible system. The OpenTelemetry community is growing. As a joint project between Splunk, Google, Microsoft, Amazon and many other organizations, it currently has the second-largest number of contributors in the Cloud Native Computing Foundation after Kubernetes.
  26. OpenTelemetry is built around smart idea: • Every Java project uses a lot of standard (JDBC, Servlets...) and open-source components (Apache Tomcat, Hibernate, OkHttp, Spring...) • What if we could manipulate bytecode of such libraries (instrumentation) is to inject telemetry behavior OpenTelemetry is not an observability back-end like Jaeger or Prometheus. Instead, it supports exporting data to a variety of open source and commercial back-ends. OpenTelemetry offers a pluggable architecture that enables you to add technology protocols and formats easily. Supported open source projects include the metrics format of Prometheus, which allows you to store and query metrics data in a variety of backends, and the trace protocols used, among others, by Jaeger and Zipkin for storing and querying tracing data.
  27. The problems mentioned earlier wer recognized by the community, and open source projects were initiated to tackle this lack of standardization, including OpenTracing, OpenCensus, and OpenTelemetry – tools we can make use of to enable effective observability. OpenTracing provided a vendor-neutral API for sending telemetry data over to an Observability back-end; however, it relied on developers to implement their own libraries to meet the specification. OpenCensus provided a set of language-specific libraries that developers could use to instrument their code and send to any one of their supported back-ends. Still not ONE standard…. In the interest of having one single standard, OpenCensus and OpenTracing were merged to form OpenTelemetry (OTel for short) in May 2019. As a CNCF incubating project, OpenTelemetry takes the best of both worlds
  28. OTLP Short for OpenTelemetry Protocol. The OpenTelemetry Protocol (OTLP) specification describes the encoding, transport, and delivery mechanism of telemetry data between telemetry sources, intermediate nodes such as collectors and telemetry backends. Collector A vendor-agnostic implementation on how to receive, process, and export telemetry data. A single binary that can be deployed as an agent or gateway.
  29. The OpenTelemetry Collector offers a vendor-agnostic implementation of how to receive, process and export telemetry data. It removes the need to run, operate, and maintain multiple agents/collectors. This works with improved scalability and supports open-source observability data formats (e.g. Jaeger, Prometheus, Fluent Bit, etc.) sending to one or more open-source or commercial back-ends. The local Collector agent is the default location to which instrumentation libraries export their telemetry data. A receiver is how data gets into the OpenTelemetry Collector. Generally, a receiver accepts data in a specified format, translates it into the collector's internal format and passes it to processors and exporters defined in the applicable pipelines. An exporter is a component in the OpenTelemetry configured to send data to different systems/backends. You might wonder…. under what circumstances does one use a collector to send data, as opposed to having each service send directly to the backend? For trying out and getting started with OpenTelemetry, sending your data directly to a backend is a great way to get value quickly. Also, in a development or small-scale environment you can get decent results without a collector. However, in general we recommend using a collector alongside your service, since it allows your service to offload data quickly and the collector can take care of additional handling like retries, batching, encryption or even sensitive data filtering.
  30. Tracer Responsible for creating Spans. Baggage A mechanism for propagating name/value pairs to help establish a causal relationship between events and services.
  31. MicroProfile Telemetry 1.0 adopts OpenTelemetry tracing so your MicroProfile applications benefit from both manual and automatic traces! In future… Evolve MicroProfile Telemetry to include OpenTelemetry Metrics and OpenTelemetry Logging
  32. Supports three types of instrumentations:
  33. The following diagram shows a system that consists of two services that both have applications running on Open Liberty. With MicroProfile Telemetry 1.0 installed, the requests and responses generate spans and the paths between the services are monitored using their context. The spans are then exported to dedicated backend services where they can be viewed in a user interface or the console logs.
  34. You can export the data that MicroProfile Telemetry 1.0 collects to Jaeger or Zipkin. OpenTelemetry also provides a simple logging exporter so that you can check whether spans are created by viewing the data in your console. This exporter can be helpful for debugging
  35. Prometheus collects rich metrics and provides a powerful querying language; Grafana transforms metrics into meaningful visualizations. Both are compatible with many, if not most, data source types. In fact, it is very common for DevOps teams to run Grafana on top of Prometheus. Prometheus - It is not intended as a dashboarding solution  Grafana The open-source Prometheus monitoring tool offers a built-in dashboarding functionality even though it considers Grafana its visualization solution. Both Prometheus dashboard and Grafana allow users to query and graph time-series metrics stored in the Prometheus database, so deciding whether to use Grafana with Prometheus depends on your monitoring requirements.  Kibana The key difference between the Grafana and Kibana stems from their purpose. Grafana’s design for caters to analyzing and visualizing metrics such as system CPU, memory, disk and I/O utilization. The platform does not allow full-text data querying. Kibana, on the other hand, runs on top of Elasticsearch and is used primarily for analyzing log messages. Sebastian Video (old, 2019, but concepts are similar)
  36. https://openliberty.io/blog/2020/01/23/Kibana-dashboard-visualizations.html Liberty Grafana Dashboard - https://grafana.com/grafana/dashboards/11706-open-liberty/ Prometheus - https://openliberty.io/blog/2020/01/29/alerts-slack-prometheus-alertmanager-open-liberty.html
  37. Jamie
  38. a simple demo application to show you how to collect traces from multiple services