hawkular overview
TRANSCRIPT
![Page 1: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/1.jpg)
HawkularSuccessor of the JBoss ON (RHQ)
JBoss User Group Koreatedwon
2017-11-29
![Page 2: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/2.jpg)
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
![Page 3: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/3.jpg)
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
![Page 4: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/4.jpg)
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
![Page 5: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/5.jpg)
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/
![Page 6: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/6.jpg)
Hawkular Services Quick Start
![Page 7: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/7.jpg)
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/
![Page 8: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/8.jpg)
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
![Page 9: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/9.jpg)
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"
![Page 10: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/10.jpg)
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"
![Page 11: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/11.jpg)
Hawkular Services Quick Start - Read Metrics
![Page 12: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/12.jpg)
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=1468533600000&end=1468618200001" -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
![Page 13: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/13.jpg)
Hawkular Services Quick Start - Downsampled
![Page 14: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/14.jpg)
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"
![Page 15: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/15.jpg)
![Page 16: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/16.jpg)
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
![Page 17: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/17.jpg)
Hawkular Alerts Quick Start with UI
![Page 18: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/18.jpg)
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
![Page 19: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/19.jpg)
Hawkular Alert Lifecycle
https://www.slideshare.net/ponceballesteros/hawkular-alerting
![Page 20: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/20.jpg)
Hawkular APM with Jaeger
![Page 21: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/21.jpg)
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
![Page 22: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/22.jpg)
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)
![Page 23: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/23.jpg)
● 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
![Page 24: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/24.jpg)
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
![Page 25: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/25.jpg)
Jaeger Example
![Page 26: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/26.jpg)
Jaeger Example
![Page 27: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/27.jpg)
Jaeger - a Distributed Tracing System
![Page 28: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/28.jpg)
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/
![Page 29: Hawkular overview](https://reader033.vdocuments.net/reader033/viewer/2022051710/5a66dd6e7f8b9a68588b45eb/html5/thumbnails/29.jpg)
Thank you