SlideShare a Scribd company logo
Hawkular
Successor of the JBoss ON (RHQ)
JBoss User Group Korea
tedwon
2017-11-29
Hawkular
● Open source monitoring project
● Next generation monitoring project of JBoss ON (RHQ since 2006)
○ Hawkular started end of 2014
● Apache License v2
● Provide REST services
● Providing a generic solutions to common problems.
○ From collecting rain sensors data and send an SMS on rain,
○ Monitor docker containers
○ Application Performance Monitoring,
● Adopted to the Middleware management solution in the ManageIQ project
For who ?
● IoT entusiast who needs to collect metrics and possibly need to trigger alerts
● Operators who are looking for a solution to store metrics from statsD, collectd,
syslog…​
● Developers of solutions who need long term timeseries database storage
● Users of ManageIQ who are looking for Middleware management
● Users of Kubernetes/Heapster who wants to store docker container metrics in a
long term timeseries database storage
Hawkular Projects
● Hawkular Services & Alerts
○ flagship base project
○ based on WildFly
○ provides services
■ store metrics,
■ alert on metrics,
■ keep a graph view of an inventory
● Hawkular Metrics
○ provide TimeSeries Database (TSDB) services
○ Time Series Metrics Engine based on Cassandra for scalability
○ offers a REST API to store and retrieve metrics.
● Hawkular APM
○ Application Performance Management
○ visualize which layer of an application time is spent
○ deprecated in favor of CNCF's Jaeger
Red Hat Middleware Management with CloudForms
● ManageIQ project
● Middleware Manager for Red Hat Cloudforms Technology Preview
○ https://access.redhat.com/announcements/2820611
● Provide centralized management of all the JBoss middleware products from
within the CloudForms user interface.
● Red Hat Middleware Management 7.0.TechPreview
○ https://access.redhat.com/documentation/en-us/red_hat_middleware_management/7.0.techpr
eview/html-single/installing_red_hat_middleware_management_with_cloudforms/
Hawkular Services Quick Start
Hawkular Services Quick Start
● Let’s run Hawkular
○ http://www.hawkular.org/hawkular-services/docs/quickstart-guide/
● Run Cassandra
○ docker run --name hawkular-cassandra -e CASSANDRA_START_RPC=true -d
cassandra:3.0.9
● Run Hawkular Services
○ docker run --name hawkular-services --link=hawkular-cassandra -e
CASSANDRA_NODES=hawkular-cassandra -p 8080:8080 hawkular/hawkular-services
○ docker exec -it hawkular-services bash
○ http://localhost:8080/
Hawkular Services Quick Start
● STEP 1: ADD METRICS
● STEP 2: READ THE METRICS
● STEP 3: ADD ALERTING
● STEP 4: TEST THE ALERT TRIGGER
● Metrics REST API
○ http://www.hawkular.org/hawkular-metrics/docs/user-guide/
○ http://www.hawkular.org//docs/rest/rest-metrics.html
Hawkular Services Quick Start
● STEP 1: ADD METRICS
○ metrics_day_1.json => weather data collected every 30 min for the whole day of July 15th
2016.
○ curl -v -u jdoe:password -X POST http://localhost:8080/hawkular/metrics/gauges/temperature/raw -d
@metrics_day_1.json -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
Hawkular Services Quick Start - Read Metrics
● STEP 2: READ THE METRICS
● from when to when we want the values, and ordered by time
○ curl -v -u jdoe:password -X GET
"http://localhost:8080/hawkular/metrics/gauges/temperature/raw?start=1468578600000&end=
1468594800001&order=ASC" -H "Content-Type: application/json" -H "Hawkular-Tenant:
myTenant"
Hawkular Services Quick Start - Read Metrics
Hawkular Services Quick Start - Downsampled
● STEP 2: READ THE METRICS
● Want to know the minimum, maximum and average values for buckets that
would last 2 hours
○ curl -v -u jdoe:password -X GET
"http://localhost:8080/hawkular/metrics/gauges/temperature/stats?bucketDuration=2h&start=1
468533600000&end=1468618200001" -H "Content-Type: application/json" -H
"Hawkular-Tenant: myTenant"
Hawkular Services Quick Start - Downsampled
Hawkular Services Quick Start
● STEP 3: ADD ALERTING
○ curl -v -u jdoe:password -X POST http://localhost:8080/hawkular/alerts/import/all -d
@trigger_definition.json -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
Hawkular overview
Hawkular Services Quick Start
● STEP 4: TEST THE ALERT TRIGGER
○ clear console
○ curl -v -u jdoe:password -X POST
http://localhost:8080/hawkular/metrics/gauges/temperature/raw -d @metrics_day_2.json -H
"Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
● In the logs of Hawkular Services, you should see 3 INFO messages showing
that the conditions were met
Hawkular Alerts Quick Start with UI
Hawkular Alerts Quick Start with UI
● You can
○ Add New Trigger
○ Ack Alert
○ Resolve Alert
● Run Hawkular Alerts UI
○ docker stop hawkular-services
○ docker stop hawkular-cassandra
○ docker ps
○ cd hawkular-alerts/examples/tutorial/lessons
○ docker rm lessons_hawkularAlerts_1
○ docker-compose up
○ http://localhost:8080/hawkular/alerts/ui
○ ./tutorial-data.sh => generate random sample data every 5secs
○ https://github.com/hawkular/hawkular-alerts/blob/master/examples/tutorial/lessons/lesson-04-ui.adoc
Hawkular Alert Lifecycle
https://www.slideshare.net/ponceballesteros/hawkular-alerting
Hawkular APM with Jaeger
Hawkular APM with Jaeger
● Want to trace performance issue on distributed polyglot systems e.g. msa
○ Java
○ Go
○ Python
○ Node.js
○ C++
● Hawkular developed own contemporary distributed tracing systems
○ http://www.hawkular.org/blog/2016/09/19/hawkular-apm-on-msa.html
○ for application performance management
○ for distributed & micro-service applications
● e.g., Zipkin, Google Dapper
Hawkular APM with Jaeger
● Hawkular deprecated Hawkular APM project
○ http://www.hawkular.org/blog/2016/09/19/hawkular-apm-on-msa.html
● Instead, Hawkular Team collaborate on the Jaeger project
○ http://www.hawkular.org/blog/2017/04/19/hawkular-apm-jaeger.html
● Uber’s Yuri Shkuro and Red Hat’s Gary Brown, both core contributors to the
Jaeger Distributed Tracing project
○ Hawkular Team contributing to OpenTracing standard
● Distributed tracing based on OpenTracing standard
● OpenTracing is the vendor neutral open standard for distributed tracing
○ Adopted by CNCF (Cloud Native Computing Foundation)
● https://github.com/uber/jaeger
● http://opentracing.io/documentation/pages/quick-start
● https://eng.uber.com/distributed-tracing/
● Run Jaeger
○ docker run -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 -p5775:5775/udp -p6831:6831/udp
-p6832:6832/udp -p5778:5778 -p16686:16686 -p14268:14268 -p9411:9411
jaegertracing/all-in-one:latest
● Jaeger UI
○ http://localhost:16686/
Let’s run Jaeger
Jaeger Example
● Spring Boot App /chaining call => Spring Boot /hello => WildFly Swarm /hello
○ https://github.com/pavolloffay/opentracing-java-examples
○ http://www.hawkular.org/blog/2017/06/9/opentracing-spring-boot.html
○ http://www.hawkular.org/blog/2017/07/opentracing-jaxrs.html
Jaeger Example
Jaeger Example
Jaeger - a Distributed Tracing System
References
● http://www.hawkular.org/
● http://www.hawkular.org/overview/
● https://access.redhat.com/articles/2221611
● http://www.hawkular.org/hawkular-services/docs/installation-guide/
● http://www.hawkular.org/hawkular-services/docs/quickstart-guide/
● http://www.hawkular.org/hawkular-services/docs/user-guide/inventory/
● http://www.hawkular.org/hawkular-services/docs/user-guide/inventory/inventory-v3-details.html
● http://www.hawkular.org/hawkular-apm/
● http://jaeger.readthedocs.io/en/latest/
● http://www.hawkular.org/hawkular-metrics/docs/user-guide/
● http://www.hawkular.org/hawkular-metrics/docs/user-guide/installation.html
● http://www.hawkular.org/hawkular-metrics/docs/user-guide/configuration.html
● https://www.slideshare.net/ponceballesteros/hawkular-alerting
● http://www.hawkular.org/community/docs/developer-guide/alerts-v1.html
● http://www.hawkular.org/community/docs/developer-guide/alerts-v2.html
● https://github.com/ManageIQ/manageiq-providers-hawkular/blob/master/GETTING_STARTED.md
● https://github.com/hawkular/hawkular-alerts/tree/master/examples/hello-world
● http://highscalability.com/blog/2010/4/27/paper-dapper-googles-large-scale-distributed-systems-tracing.html
● http://www.hawkular.org/blog/2016/09/19/hawkular-apm-on-msa.html
● https://eng.uber.com/distributed-tracing/
● https://www.slideshare.net/YuriShkuro/distributed-tracing-at-uber-scale-creating-a-treasure-map-for-your-monitoring-data
● http://www.hawkular.org/blog/2017/03/24/distributed-tracing-with-camel.html
● https://www.cncf.io/blog/2017/09/13/cncf-hosts-jaeger/
● https://blog.openshift.com/openshift-commons-briefing-82-distributed-tracing-with-jaeger-prometheus-on-kubernetes/
Thank you

More Related Content

PPT
Planning For High Performance Web Application
PDF
제3회난공불락 오픈소스 인프라세미나 - MySQL
PDF
Scaling symfony apps
PDF
Cassandra Community Webinar | In Case of Emergency Break Glass
PDF
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
PPTX
Practical Operation Automation with StackStorm
PPTX
Distributed Applications with Apache Zookeeper
PPTX
Understanding DSE Search by Matt Stump
Planning For High Performance Web Application
제3회난공불락 오픈소스 인프라세미나 - MySQL
Scaling symfony apps
Cassandra Community Webinar | In Case of Emergency Break Glass
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
Practical Operation Automation with StackStorm
Distributed Applications with Apache Zookeeper
Understanding DSE Search by Matt Stump

What's hot (15)

PDF
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
PDF
Spark / Mesos Cluster Optimization
PPTX
Kafka Tutorial: Advanced Producers
PPTX
Meetup on Apache Zookeeper
PDF
Nuvola: a tale of migration to AWS
PPTX
JahiaOne - Performance Tuning
PDF
[262] netflix 빅데이터 플랫폼
PDF
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
PDF
MHA (MySQL High Availability): Getting started & moving past quirks
PPTX
Introduction to XtraDB Cluster
PPTX
Apache Zookeeper Explained: Tutorial, Use Cases and Zookeeper Java API Examples
PDF
Высокопроизводительный инференс глубоких сетей на GPU с помощью TensorRT / Ма...
PDF
1 sysadmin vs 250 clusters de stockage
PDF
Linux conna kpatch-without-stopmachine-fixed
PDF
Transforming the Ceph Integration Tests with OpenStack
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
Spark / Mesos Cluster Optimization
Kafka Tutorial: Advanced Producers
Meetup on Apache Zookeeper
Nuvola: a tale of migration to AWS
JahiaOne - Performance Tuning
[262] netflix 빅데이터 플랫폼
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-CRUI
MHA (MySQL High Availability): Getting started & moving past quirks
Introduction to XtraDB Cluster
Apache Zookeeper Explained: Tutorial, Use Cases and Zookeeper Java API Examples
Высокопроизводительный инференс глубоких сетей на GPU с помощью TensorRT / Ма...
1 sysadmin vs 250 clusters de stockage
Linux conna kpatch-without-stopmachine-fixed
Transforming the Ceph Integration Tests with OpenStack
Ad

Similar to Hawkular overview (16)

PDF
Apache Whirr
PDF
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
PDF
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
PDF
Middleware - Heiko Rupp - ManageIQ Design Summit 2016
PDF
Hawkular Alerting
PDF
Apache Whirr
PPT
Open Nebula An Innovative Open Source Toolkit For Building Cloud Solutions ...
PDF
20100128ebay
PPTX
Ultimate Guide to Microservice Architecture on Kubernetes
PPT
Hadoop ecosystem
PDF
Hadoop Futures
PPTX
Hortonworks HBase Meetup Presentation
PPTX
Instant hadoop of your own
PDF
Webinar: Productionizing Hadoop: Lessons Learned - 20101208
PDF
Deploying Hadoop-Based Bigdata Environments
PDF
Deploying Hadoop-based Bigdata Environments
Apache Whirr
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Middleware - Heiko Rupp - ManageIQ Design Summit 2016
Hawkular Alerting
Apache Whirr
Open Nebula An Innovative Open Source Toolkit For Building Cloud Solutions ...
20100128ebay
Ultimate Guide to Microservice Architecture on Kubernetes
Hadoop ecosystem
Hadoop Futures
Hortonworks HBase Meetup Presentation
Instant hadoop of your own
Webinar: Productionizing Hadoop: Lessons Learned - 20101208
Deploying Hadoop-Based Bigdata Environments
Deploying Hadoop-based Bigdata Environments
Ad

More from Ted Won (18)

PDF
Undertow RequestBufferingHandler 소개
PDF
JBoss EAP 7 & JDG 7 최신 기술 소개
PDF
JBoss Modules Internal
PDF
오픈 소스 컨트리뷰션 가이드
PDF
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
PDF
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
PDF
Complex Event Processing with Esper
PDF
JDG 7 & Spark Integration
PDF
지금 핫한 Real-time In-memory Stream Processing 이야기
PDF
Nara - Personalized Web Recommendation Service Quick Review
PDF
JBoss Community's Application Monitoring Platform
PDF
Real-time Big Data Analytics Practice with Unstructured Data
PDF
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
PDF
Building Real-time CEP Application with Open Source Projects
PDF
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
PDF
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
PPT
RHQ 공감 Seminar 6th
PDF
Complex Event Processing with Esper
Undertow RequestBufferingHandler 소개
JBoss EAP 7 & JDG 7 최신 기술 소개
JBoss Modules Internal
오픈 소스 컨트리뷰션 가이드
Jenkins X Hands-on - automated CI/CD solution for cloud native applications o...
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Complex Event Processing with Esper
JDG 7 & Spark Integration
지금 핫한 Real-time In-memory Stream Processing 이야기
Nara - Personalized Web Recommendation Service Quick Review
JBoss Community's Application Monitoring Platform
Real-time Big Data Analytics Practice with Unstructured Data
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Building Real-time CEP Application with Open Source Projects
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링
RHQ 공감 Seminar 6th
Complex Event Processing with Esper

Recently uploaded (20)

PPTX
CH1 Production IntroductoryConcepts.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
composite construction of structures.pdf
PPT
Mechanical Engineering MATERIALS Selection
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
Digital Logic Computer Design lecture notes
PPTX
Sustainable Sites - Green Building Construction
PPTX
Construction Project Organization Group 2.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CH1 Production IntroductoryConcepts.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Foundation to blockchain - A guide to Blockchain Tech
composite construction of structures.pdf
Mechanical Engineering MATERIALS Selection
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Digital Logic Computer Design lecture notes
Sustainable Sites - Green Building Construction
Construction Project Organization Group 2.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Mitigating Risks through Effective Management for Enhancing Organizational Pe...

Hawkular overview

  • 1. Hawkular Successor of the JBoss ON (RHQ) JBoss User Group Korea tedwon 2017-11-29
  • 2. Hawkular ● Open source monitoring project ● Next generation monitoring project of JBoss ON (RHQ since 2006) ○ Hawkular started end of 2014 ● Apache License v2 ● Provide REST services ● Providing a generic solutions to common problems. ○ From collecting rain sensors data and send an SMS on rain, ○ Monitor docker containers ○ Application Performance Monitoring, ● Adopted to the Middleware management solution in the ManageIQ project
  • 3. For who ? ● IoT entusiast who needs to collect metrics and possibly need to trigger alerts ● Operators who are looking for a solution to store metrics from statsD, collectd, syslog…​ ● Developers of solutions who need long term timeseries database storage ● Users of ManageIQ who are looking for Middleware management ● Users of Kubernetes/Heapster who wants to store docker container metrics in a long term timeseries database storage
  • 4. Hawkular Projects ● Hawkular Services & Alerts ○ flagship base project ○ based on WildFly ○ provides services ■ store metrics, ■ alert on metrics, ■ keep a graph view of an inventory ● Hawkular Metrics ○ provide TimeSeries Database (TSDB) services ○ Time Series Metrics Engine based on Cassandra for scalability ○ offers a REST API to store and retrieve metrics. ● Hawkular APM ○ Application Performance Management ○ visualize which layer of an application time is spent ○ deprecated in favor of CNCF's Jaeger
  • 5. Red Hat Middleware Management with CloudForms ● ManageIQ project ● Middleware Manager for Red Hat Cloudforms Technology Preview ○ https://access.redhat.com/announcements/2820611 ● Provide centralized management of all the JBoss middleware products from within the CloudForms user interface. ● Red Hat Middleware Management 7.0.TechPreview ○ https://access.redhat.com/documentation/en-us/red_hat_middleware_management/7.0.techpr eview/html-single/installing_red_hat_middleware_management_with_cloudforms/
  • 7. Hawkular Services Quick Start ● Let’s run Hawkular ○ http://www.hawkular.org/hawkular-services/docs/quickstart-guide/ ● Run Cassandra ○ docker run --name hawkular-cassandra -e CASSANDRA_START_RPC=true -d cassandra:3.0.9 ● Run Hawkular Services ○ docker run --name hawkular-services --link=hawkular-cassandra -e CASSANDRA_NODES=hawkular-cassandra -p 8080:8080 hawkular/hawkular-services ○ docker exec -it hawkular-services bash ○ http://localhost:8080/
  • 8. Hawkular Services Quick Start ● STEP 1: ADD METRICS ● STEP 2: READ THE METRICS ● STEP 3: ADD ALERTING ● STEP 4: TEST THE ALERT TRIGGER ● Metrics REST API ○ http://www.hawkular.org/hawkular-metrics/docs/user-guide/ ○ http://www.hawkular.org//docs/rest/rest-metrics.html
  • 9. Hawkular Services Quick Start ● STEP 1: ADD METRICS ○ metrics_day_1.json => weather data collected every 30 min for the whole day of July 15th 2016. ○ curl -v -u jdoe:password -X POST http://localhost:8080/hawkular/metrics/gauges/temperature/raw -d @metrics_day_1.json -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
  • 10. Hawkular Services Quick Start - Read Metrics ● STEP 2: READ THE METRICS ● from when to when we want the values, and ordered by time ○ curl -v -u jdoe:password -X GET "http://localhost:8080/hawkular/metrics/gauges/temperature/raw?start=1468578600000&end= 1468594800001&order=ASC" -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
  • 11. Hawkular Services Quick Start - Read Metrics
  • 12. Hawkular Services Quick Start - Downsampled ● STEP 2: READ THE METRICS ● Want to know the minimum, maximum and average values for buckets that would last 2 hours ○ curl -v -u jdoe:password -X GET "http://localhost:8080/hawkular/metrics/gauges/temperature/stats?bucketDuration=2h&start=1 468533600000&end=1468618200001" -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
  • 13. Hawkular Services Quick Start - Downsampled
  • 14. Hawkular Services Quick Start ● STEP 3: ADD ALERTING ○ curl -v -u jdoe:password -X POST http://localhost:8080/hawkular/alerts/import/all -d @trigger_definition.json -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
  • 16. Hawkular Services Quick Start ● STEP 4: TEST THE ALERT TRIGGER ○ clear console ○ curl -v -u jdoe:password -X POST http://localhost:8080/hawkular/metrics/gauges/temperature/raw -d @metrics_day_2.json -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant" ● In the logs of Hawkular Services, you should see 3 INFO messages showing that the conditions were met
  • 17. Hawkular Alerts Quick Start with UI
  • 18. Hawkular Alerts Quick Start with UI ● You can ○ Add New Trigger ○ Ack Alert ○ Resolve Alert ● Run Hawkular Alerts UI ○ docker stop hawkular-services ○ docker stop hawkular-cassandra ○ docker ps ○ cd hawkular-alerts/examples/tutorial/lessons ○ docker rm lessons_hawkularAlerts_1 ○ docker-compose up ○ http://localhost:8080/hawkular/alerts/ui ○ ./tutorial-data.sh => generate random sample data every 5secs ○ https://github.com/hawkular/hawkular-alerts/blob/master/examples/tutorial/lessons/lesson-04-ui.adoc
  • 21. Hawkular APM with Jaeger ● Want to trace performance issue on distributed polyglot systems e.g. msa ○ Java ○ Go ○ Python ○ Node.js ○ C++ ● Hawkular developed own contemporary distributed tracing systems ○ http://www.hawkular.org/blog/2016/09/19/hawkular-apm-on-msa.html ○ for application performance management ○ for distributed & micro-service applications ● e.g., Zipkin, Google Dapper
  • 22. Hawkular APM with Jaeger ● Hawkular deprecated Hawkular APM project ○ http://www.hawkular.org/blog/2016/09/19/hawkular-apm-on-msa.html ● Instead, Hawkular Team collaborate on the Jaeger project ○ http://www.hawkular.org/blog/2017/04/19/hawkular-apm-jaeger.html ● Uber’s Yuri Shkuro and Red Hat’s Gary Brown, both core contributors to the Jaeger Distributed Tracing project ○ Hawkular Team contributing to OpenTracing standard ● Distributed tracing based on OpenTracing standard ● OpenTracing is the vendor neutral open standard for distributed tracing ○ Adopted by CNCF (Cloud Native Computing Foundation)
  • 23. ● https://github.com/uber/jaeger ● http://opentracing.io/documentation/pages/quick-start ● https://eng.uber.com/distributed-tracing/ ● Run Jaeger ○ docker run -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 -p5775:5775/udp -p6831:6831/udp -p6832:6832/udp -p5778:5778 -p16686:16686 -p14268:14268 -p9411:9411 jaegertracing/all-in-one:latest ● Jaeger UI ○ http://localhost:16686/ Let’s run Jaeger
  • 24. Jaeger Example ● Spring Boot App /chaining call => Spring Boot /hello => WildFly Swarm /hello ○ https://github.com/pavolloffay/opentracing-java-examples ○ http://www.hawkular.org/blog/2017/06/9/opentracing-spring-boot.html ○ http://www.hawkular.org/blog/2017/07/opentracing-jaxrs.html
  • 27. Jaeger - a Distributed Tracing System
  • 28. References ● http://www.hawkular.org/ ● http://www.hawkular.org/overview/ ● https://access.redhat.com/articles/2221611 ● http://www.hawkular.org/hawkular-services/docs/installation-guide/ ● http://www.hawkular.org/hawkular-services/docs/quickstart-guide/ ● http://www.hawkular.org/hawkular-services/docs/user-guide/inventory/ ● http://www.hawkular.org/hawkular-services/docs/user-guide/inventory/inventory-v3-details.html ● http://www.hawkular.org/hawkular-apm/ ● http://jaeger.readthedocs.io/en/latest/ ● http://www.hawkular.org/hawkular-metrics/docs/user-guide/ ● http://www.hawkular.org/hawkular-metrics/docs/user-guide/installation.html ● http://www.hawkular.org/hawkular-metrics/docs/user-guide/configuration.html ● https://www.slideshare.net/ponceballesteros/hawkular-alerting ● http://www.hawkular.org/community/docs/developer-guide/alerts-v1.html ● http://www.hawkular.org/community/docs/developer-guide/alerts-v2.html ● https://github.com/ManageIQ/manageiq-providers-hawkular/blob/master/GETTING_STARTED.md ● https://github.com/hawkular/hawkular-alerts/tree/master/examples/hello-world ● http://highscalability.com/blog/2010/4/27/paper-dapper-googles-large-scale-distributed-systems-tracing.html ● http://www.hawkular.org/blog/2016/09/19/hawkular-apm-on-msa.html ● https://eng.uber.com/distributed-tracing/ ● https://www.slideshare.net/YuriShkuro/distributed-tracing-at-uber-scale-creating-a-treasure-map-for-your-monitoring-data ● http://www.hawkular.org/blog/2017/03/24/distributed-tracing-with-camel.html ● https://www.cncf.io/blog/2017/09/13/cncf-hosts-jaeger/ ● https://blog.openshift.com/openshift-commons-briefing-82-distributed-tracing-with-jaeger-prometheus-on-kubernetes/