SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Monitoring
with Prometheus
and Grafana
Assuring business value
Monitoring with Prometheus 1
Lucas Jellema, CTO of AMIS
Fall 2018
Lucas Jellema
Architect / Developer
1994 started in IT at Oracle
2002 joined AMIS
Currently CTO & Solution Architect
Monitoring with Prometheus 2
Overview
• Why monitoring?
• How monitoring?
• Metrics
• gathering | processing | analyzing | presenting | alerting
• Prometheus
• History
• Metrics
• Exporters
• Instrumentation of Applications
• Grafana
• Dinner
• Handson Workshop
Monitoring with Prometheus 3
Monitoring
• Observe [non-functional] behavior of business functions/applications in
[near] real-time
• Availability and health
• Performance
• Access – when and as it should be for whom it should be
• Teams up with:
• Profiling & Debugging – maximum context for activity spikes
• Tracing – track paths through application [and platform & infra] stack
• Logging – per application or platform component output for off-line
processing
• Note: log agents such as Elastic Stack Beats and Elasticsearch
Monitoring with Prometheus 4
What is required for monitoring?
• Gather operational metrics
• And prepare | wrangle metrics (tag, filter, enrich, aggregate, …)
• To raise alert
• To human (via ticket/SMS/…)
• To automated handler/agent
• To support issue resolution (data for root cause analysis)
• To analyze trends + effects/impact of change
Monitoring with Prometheus 5
Type of metrics
• Primary metrics
• Tied to SLA indicators
• Relevant – representative of Key Performance Indicators
• End user experience
• Business activity throughput
• Cost efficiency
• Secondary metrics
• Predictors for primary metrics
• Technical metrics
• Hygiene factors – not directly tied to specific business indicators
• Temperature, Remaining Free Storage, Network Load,
Monitoring with Prometheus 6
Dashboard
• Provide starting point to respond to an alert – start investigation (drill down,
query)
• Demonstration purposes
• Always looks nice – a dashboard
Monitoring with Prometheus 7
Metrics are collected across the stack
• Business Applications
• SaaS, Standard Applications
• Custom | Tailor made applications
• Platform
• Web Server, Application Server
• Database
• LDAP
• JVM/Node/.NET/… runtime
• Infra
• Container, Container Platform (e.g. Kubernetes)
• Operating System
• Cache
• Proxy, Load Balancer
• Network
• Storage, File System
Monitoring with Prometheus 8
metrics
Monitoring
Monitoring with Prometheus 9
Bus App
Platform
Component
Infra
Component
metrics
Metrics Store (time series)
API to query
metrics data
Alert Handler
(real time
alert condition
evaluator)
notifications
UI to browse
metrics data
History and Status of Prometheus
• Written in Go Lang – all open source, available on GitHub
• Part of CNCF
• https://prometheus.io/
• Since 2012
• Defacto standard for gathering metrics (?)
• treating time-series data as a data source for generating alerts is now
accessible to everyone through those open source tools like Prometheus
Monitoring with Prometheus 10
Prometheus
• Gather metrics into database
• Scheduled pull |harvest| scrape actions – HTTP/TCP requests
• Accessing Exporters and built in (scrape) endpoints
• Make metrics availabe to consuming systems and humans
• Such as Grafana (for dashboarding)
• REST APIs
• Prometheus UI – Graphs, Console, PromQL
• Analyze metrics according to [alert] rules
• Determine if alerts are “firing”
• Act on firing alerts
• Send notifications
• Supports federation – global view over local environments and
recovery of local environment
Monitoring with Prometheus 11
Prometheus Architecture
Monitoring with Prometheus 12
Prometheus Metrics
• All are numeric
• Uniquely identified by name and set of labels
• All can be labeled (associated with dimensions)
• Aggregation is done grouped by dimension
• (labels should have limited number of values)
• Filtering and Drill down is also done using labels
• Examples of labels:
• Data Center, Region
• Environment (Prod, Acc, Test)
• Service, Application, Module
• URL Path, request type, status, error code
• Not for dynamic aspects such as date, time, user id, user IP
Monitoring with Prometheus 13
Demo – Getting started with Prometheus
Monitoring with Prometheus 14
prometheus.yml
- job_name: 'prometheus'
# metrics_path defaults to /metrics
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
Prometheus – Types of Metrics
• Basic counters:
• Gauge – current value (%disk free, response time, state of database)
• Counter - #occurrences – and the derived rate - #occurrences/time unit - (number of
requests, number of bytes transferred);
• counters can be reset but not decremented
• Sampling Counters:
• Summary – reports quantiles as well as total sum and total count (over sliding
window)
• Histogram – maps observations to buckets and reports number of instances per
bucket (over sliding window)
Monitoring with Prometheus 15
Counter – per time slice and as a rate
Monitoring with Prometheus 16
Exposing Metrics for Prometheus to Scrape
• Have the application or environment listen for HTTP requests at a specific
endpoint (for example: host:port/metrics)
• Return Metrics in the proper format to GET requests to this endpoint
• Use a Client Library to easily
compose the proper metrics
response messages
• Configure the endpoint on the
Prometheus server in the
prometheus.yml file
Monitoring with Prometheus 17
prometheus.yml
- job_name: node-app
scrape_interval: 5s
metrics_path: /metrics
static_configs:
- targets:
- 127.0.0.1:3001
Client Libraries for Exposing Metrics for Prometheus to
Scrape from custom applications
Monitoring with Prometheus 18
• Go
• Java or Scala
• Python
• Ruby
• Bash
• C++
• Common Lisp
• Elixir
• Erlang
• Haskell
• Lua for Nginx
• Lua for Tarantool
• .NET / C#
• Node.js
• PHP
• Rust
Example of Exposing Metrics from a Node application
Monitoring with Prometheus 19
Prometheus Exporters
• Specialized adapters to expose metrics for specific technology components
• Installed and configured for a specific component
• Scraped by Prometheus based on config file prometheus.yml that
references the endpoint
exposed by the exporter
Monitoring with Prometheus 20
Prometheus Exporters
• Linux & Windows
• Databases
• Messaging Systems
• Storage
• HTTP
• APIs
• Logging
• Monitoring Systems
• Application Servers & Container Platforms
• Blackbox Exporter
• A growing number of components has built-in
Promethes metrics publication
Monitoring with Prometheus 21
For example: Oracle Database Exporter
Monitoring with Prometheus 22
Oracle Database
Prometheus
Oracle Exporter
Query v$
views & data
dictionary
objects
Handles
HTTP
requests at
/metrics
Monitoring with Prometheus 23
Oracle Database
Prometheus
Oracle Exporter
Demo – (Linux) Node Exporter
• Run node exporter as background job on Linux node
Monitoring with Prometheus 24
Node
Exporter
Pushgateway for Short-Lived Jobs
• Jobs that may be gone before their metrics are scraped
Monitoring with Prometheus 25
Prometheus Alerting
Monitoring with Prometheus 26
Prometheus Alerting
• Rules specify alert conditions
• Expressed in Prometheus metrics
• Prometheus evaluates these rules –
• As time progresses
• As metrics get updated
• An alert is be triggered
• When the expr evaluates to true
• For at least as long as is specified in the for condition
• A triggering alert
• Can be found in the Prometheus Web UI
• Is notified to the Alert Manager
• The Alert Manager is configured for action
• For example: send notification via
specific communication channels
Monitoring with Prometheus 27
Alertmanager Configuration
Monitoring with Prometheus 28
The route to apply
depends on matching
conditions
Each receiver can use a
different communication channel
and notification layout
Each receiver can use a
different communication channel
and notification layout
Prometheus Alerting Demo
Monitoring with Prometheus 29
Node
Exporter
Dashboarding
Monitoring with Prometheus 30
Grafana - dashboarding
• Grafana is a generic open source dashboard product
• Supporting many types of data sources, of which Prometheus is but one
• Grafana queries data sources (such as Prometheus) periodically
• Does not store any data
• Refreshes visualizations
• Evaluates alert conditions and
triggers alerts/sends notifications
• Extensive library of pre-built
dashboards available
• Also plugins
• Supports user authentication and
authorization and multi-tenancy
• Online Playground
Monitoring with Prometheus 31
Grafana – Data Sources
• Grafana can extract data from many types of data sources
• Prometheus is but one
• Grafana can use multiple data source to provide data for a panel or chart
Monitoring with Prometheus 32
Grafana Visualizations
Monitoring with Prometheus 33
Annotations
Grafana Alerts and Notifications
Monitoring with Prometheus 34
Workshop
• Prometheus
• First steps
• Exporters for Linux, MySQL, Docker, Blackbox
• Custom Application instrumentation (Node application)
• Alerting
• Alert Manager and Notifications (to Slack)
• Grafana
• First steps
• Preconfigured Prometheus dashboard
• Custom Dashboard based on Prometheus metrics
• Alerts and notifications
• Use prebuilt VM image or build VM from scratch
• Need VirtualBox in both cases [and Vagrant for build from scratch]
Monitoring with Prometheus 35
Materials: http://bit.ly/prometheus-amis
Getting Started/Useful Resources
• KataCoda:
• https://www.katacoda.com/courses/prometheus
https://www.katacoda.com/courses/prometheus/creating-dashboards-with-grafana
• Book: Prometheus Up & Running (O’Reilly, 2018)
Monitoring with Prometheus 36
धन्यवाद
dhanyavaad
Thank you
Dank je wel
• Blog: technology.amis.nl
• Email: lucas.jellema@amis.nl
• : @lucasjellema
• : lucas-jellema
• : www.amis.nl, info@amis.nl
https://github.com/lucasjellema

Weitere ähnliche Inhalte

Was ist angesagt?

Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusGrafana Labs
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheusKasper Nissen
 
Prometheus Overview
Prometheus OverviewPrometheus Overview
Prometheus OverviewBrian Brazil
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For ArchitectsKevin Brockhoff
 
Introduction to Prometheus
Introduction to PrometheusIntroduction to Prometheus
Introduction to PrometheusJulien Pivotto
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For DevelopersKevin Brockhoff
 
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfOSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfNETWAYS
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...LibbySchulze
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaYoungHeon (Roy) Kim
 
Prometheus
PrometheusPrometheus
Prometheuswyukawa
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioDevOpsDays Tel Aviv
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaSridhar Kumar N
 
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...LibbySchulze
 
Grafana introduction
Grafana introductionGrafana introduction
Grafana introductionRico Chen
 
Cloud Monitoring with Prometheus
Cloud Monitoring with PrometheusCloud Monitoring with Prometheus
Cloud Monitoring with PrometheusQAware GmbH
 

Was ist angesagt? (20)

Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheus
 
Prometheus Overview
Prometheus OverviewPrometheus Overview
Prometheus Overview
 
Prometheus + Grafana = Awesome Monitoring
Prometheus + Grafana = Awesome MonitoringPrometheus + Grafana = Awesome Monitoring
Prometheus + Grafana = Awesome Monitoring
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
Introduction to Prometheus
Introduction to PrometheusIntroduction to Prometheus
Introduction to Prometheus
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For Developers
 
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfOSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & Grafana
 
Prometheus
PrometheusPrometheus
Prometheus
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
 
Monitoring With Prometheus
Monitoring With PrometheusMonitoring With Prometheus
Monitoring With Prometheus
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
 
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
 
Prometheus 101
Prometheus 101Prometheus 101
Prometheus 101
 
Grafana introduction
Grafana introductionGrafana introduction
Grafana introduction
 
Cloud Monitoring with Prometheus
Cloud Monitoring with PrometheusCloud Monitoring with Prometheus
Cloud Monitoring with Prometheus
 
Grafana.pptx
Grafana.pptxGrafana.pptx
Grafana.pptx
 
Cloud Monitoring tool Grafana
Cloud Monitoring  tool Grafana Cloud Monitoring  tool Grafana
Cloud Monitoring tool Grafana
 

Ähnlich wie MeetUp Monitoring with Prometheus and Grafana (September 2018)

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, GetInDataGetInData
 
Add observability to your django application - PyCon FR 2019
Add observability to your django application - PyCon FR 2019Add observability to your django application - PyCon FR 2019
Add observability to your django application - PyCon FR 2019Bleemeo
 
How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...Paul Brebner
 
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike KlusikOSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike KlusikNETWAYS
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxGrace Jansen
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubAlfonso Martino
 
David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...
David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...
David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...InfluxData
 
Application Performance Management
Application Performance ManagementApplication Performance Management
Application Performance ManagementNoriaki Tatsumi
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformApache Apex
 
Prometheus - Utah Software Architecture Meetup - Clint Checketts
Prometheus - Utah Software Architecture Meetup - Clint CheckettsPrometheus - Utah Software Architecture Meetup - Clint Checketts
Prometheus - Utah Software Architecture Meetup - Clint Checkettsclintchecketts
 
Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1Lahav Savir
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basicsJuraj Hantak
 
Monitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusJulien Pivotto
 
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Apex
 
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...Paul Brebner
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTWNGINX, Inc.
 

Ähnlich wie MeetUp Monitoring with Prometheus and Grafana (September 2018) (20)

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
 
Add observability to your django application - PyCon FR 2019
Add observability to your django application - PyCon FR 2019Add observability to your django application - PyCon FR 2019
Add observability to your django application - PyCon FR 2019
 
How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...
 
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike KlusikOSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
 
David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...
David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...
David Henthorn [Rose-Hulman Institute of Technology] | Illuminating the Dark ...
 
Application Performance Management
Application Performance ManagementApplication Performance Management
Application Performance Management
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
 
Prometheus - Utah Software Architecture Meetup - Clint Checketts
Prometheus - Utah Software Architecture Meetup - Clint CheckettsPrometheus - Utah Software Architecture Meetup - Clint Checketts
Prometheus - Utah Software Architecture Meetup - Clint Checketts
 
Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1
 
Monitoring Cockpit for OpenShift Clusters
Monitoring Cockpit for OpenShift ClustersMonitoring Cockpit for OpenShift Clusters
Monitoring Cockpit for OpenShift Clusters
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
 
Monitoring with Prometheus
Monitoring with PrometheusMonitoring with Prometheus
Monitoring with Prometheus
 
Prometheus @ Proteus Operations
Prometheus @ Proteus OperationsPrometheus @ Proteus Operations
Prometheus @ Proteus Operations
 
Monitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with Prometheus
 
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
 
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTW
 

Mehr von Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

Mehr von Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Kürzlich hochgeladen

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
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...WSO2
 
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 PlatformlessWSO2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%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 tembisamasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+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
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%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 Rustenburgmasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 

Kürzlich hochgeladen (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
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...
 
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
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%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
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+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...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%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
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

MeetUp Monitoring with Prometheus and Grafana (September 2018)

  • 1. Monitoring with Prometheus and Grafana Assuring business value Monitoring with Prometheus 1 Lucas Jellema, CTO of AMIS Fall 2018
  • 2. Lucas Jellema Architect / Developer 1994 started in IT at Oracle 2002 joined AMIS Currently CTO & Solution Architect Monitoring with Prometheus 2
  • 3. Overview • Why monitoring? • How monitoring? • Metrics • gathering | processing | analyzing | presenting | alerting • Prometheus • History • Metrics • Exporters • Instrumentation of Applications • Grafana • Dinner • Handson Workshop Monitoring with Prometheus 3
  • 4. Monitoring • Observe [non-functional] behavior of business functions/applications in [near] real-time • Availability and health • Performance • Access – when and as it should be for whom it should be • Teams up with: • Profiling & Debugging – maximum context for activity spikes • Tracing – track paths through application [and platform & infra] stack • Logging – per application or platform component output for off-line processing • Note: log agents such as Elastic Stack Beats and Elasticsearch Monitoring with Prometheus 4
  • 5. What is required for monitoring? • Gather operational metrics • And prepare | wrangle metrics (tag, filter, enrich, aggregate, …) • To raise alert • To human (via ticket/SMS/…) • To automated handler/agent • To support issue resolution (data for root cause analysis) • To analyze trends + effects/impact of change Monitoring with Prometheus 5
  • 6. Type of metrics • Primary metrics • Tied to SLA indicators • Relevant – representative of Key Performance Indicators • End user experience • Business activity throughput • Cost efficiency • Secondary metrics • Predictors for primary metrics • Technical metrics • Hygiene factors – not directly tied to specific business indicators • Temperature, Remaining Free Storage, Network Load, Monitoring with Prometheus 6
  • 7. Dashboard • Provide starting point to respond to an alert – start investigation (drill down, query) • Demonstration purposes • Always looks nice – a dashboard Monitoring with Prometheus 7
  • 8. Metrics are collected across the stack • Business Applications • SaaS, Standard Applications • Custom | Tailor made applications • Platform • Web Server, Application Server • Database • LDAP • JVM/Node/.NET/… runtime • Infra • Container, Container Platform (e.g. Kubernetes) • Operating System • Cache • Proxy, Load Balancer • Network • Storage, File System Monitoring with Prometheus 8 metrics
  • 9. Monitoring Monitoring with Prometheus 9 Bus App Platform Component Infra Component metrics Metrics Store (time series) API to query metrics data Alert Handler (real time alert condition evaluator) notifications UI to browse metrics data
  • 10. History and Status of Prometheus • Written in Go Lang – all open source, available on GitHub • Part of CNCF • https://prometheus.io/ • Since 2012 • Defacto standard for gathering metrics (?) • treating time-series data as a data source for generating alerts is now accessible to everyone through those open source tools like Prometheus Monitoring with Prometheus 10
  • 11. Prometheus • Gather metrics into database • Scheduled pull |harvest| scrape actions – HTTP/TCP requests • Accessing Exporters and built in (scrape) endpoints • Make metrics availabe to consuming systems and humans • Such as Grafana (for dashboarding) • REST APIs • Prometheus UI – Graphs, Console, PromQL • Analyze metrics according to [alert] rules • Determine if alerts are “firing” • Act on firing alerts • Send notifications • Supports federation – global view over local environments and recovery of local environment Monitoring with Prometheus 11
  • 13. Prometheus Metrics • All are numeric • Uniquely identified by name and set of labels • All can be labeled (associated with dimensions) • Aggregation is done grouped by dimension • (labels should have limited number of values) • Filtering and Drill down is also done using labels • Examples of labels: • Data Center, Region • Environment (Prod, Acc, Test) • Service, Application, Module • URL Path, request type, status, error code • Not for dynamic aspects such as date, time, user id, user IP Monitoring with Prometheus 13
  • 14. Demo – Getting started with Prometheus Monitoring with Prometheus 14 prometheus.yml - job_name: 'prometheus' # metrics_path defaults to /metrics # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090']
  • 15. Prometheus – Types of Metrics • Basic counters: • Gauge – current value (%disk free, response time, state of database) • Counter - #occurrences – and the derived rate - #occurrences/time unit - (number of requests, number of bytes transferred); • counters can be reset but not decremented • Sampling Counters: • Summary – reports quantiles as well as total sum and total count (over sliding window) • Histogram – maps observations to buckets and reports number of instances per bucket (over sliding window) Monitoring with Prometheus 15
  • 16. Counter – per time slice and as a rate Monitoring with Prometheus 16
  • 17. Exposing Metrics for Prometheus to Scrape • Have the application or environment listen for HTTP requests at a specific endpoint (for example: host:port/metrics) • Return Metrics in the proper format to GET requests to this endpoint • Use a Client Library to easily compose the proper metrics response messages • Configure the endpoint on the Prometheus server in the prometheus.yml file Monitoring with Prometheus 17 prometheus.yml - job_name: node-app scrape_interval: 5s metrics_path: /metrics static_configs: - targets: - 127.0.0.1:3001
  • 18. Client Libraries for Exposing Metrics for Prometheus to Scrape from custom applications Monitoring with Prometheus 18 • Go • Java or Scala • Python • Ruby • Bash • C++ • Common Lisp • Elixir • Erlang • Haskell • Lua for Nginx • Lua for Tarantool • .NET / C# • Node.js • PHP • Rust
  • 19. Example of Exposing Metrics from a Node application Monitoring with Prometheus 19
  • 20. Prometheus Exporters • Specialized adapters to expose metrics for specific technology components • Installed and configured for a specific component • Scraped by Prometheus based on config file prometheus.yml that references the endpoint exposed by the exporter Monitoring with Prometheus 20
  • 21. Prometheus Exporters • Linux & Windows • Databases • Messaging Systems • Storage • HTTP • APIs • Logging • Monitoring Systems • Application Servers & Container Platforms • Blackbox Exporter • A growing number of components has built-in Promethes metrics publication Monitoring with Prometheus 21
  • 22. For example: Oracle Database Exporter Monitoring with Prometheus 22 Oracle Database Prometheus Oracle Exporter Query v$ views & data dictionary objects Handles HTTP requests at /metrics
  • 23. Monitoring with Prometheus 23 Oracle Database Prometheus Oracle Exporter
  • 24. Demo – (Linux) Node Exporter • Run node exporter as background job on Linux node Monitoring with Prometheus 24 Node Exporter
  • 25. Pushgateway for Short-Lived Jobs • Jobs that may be gone before their metrics are scraped Monitoring with Prometheus 25
  • 27. Prometheus Alerting • Rules specify alert conditions • Expressed in Prometheus metrics • Prometheus evaluates these rules – • As time progresses • As metrics get updated • An alert is be triggered • When the expr evaluates to true • For at least as long as is specified in the for condition • A triggering alert • Can be found in the Prometheus Web UI • Is notified to the Alert Manager • The Alert Manager is configured for action • For example: send notification via specific communication channels Monitoring with Prometheus 27
  • 28. Alertmanager Configuration Monitoring with Prometheus 28 The route to apply depends on matching conditions Each receiver can use a different communication channel and notification layout Each receiver can use a different communication channel and notification layout
  • 29. Prometheus Alerting Demo Monitoring with Prometheus 29 Node Exporter
  • 31. Grafana - dashboarding • Grafana is a generic open source dashboard product • Supporting many types of data sources, of which Prometheus is but one • Grafana queries data sources (such as Prometheus) periodically • Does not store any data • Refreshes visualizations • Evaluates alert conditions and triggers alerts/sends notifications • Extensive library of pre-built dashboards available • Also plugins • Supports user authentication and authorization and multi-tenancy • Online Playground Monitoring with Prometheus 31
  • 32. Grafana – Data Sources • Grafana can extract data from many types of data sources • Prometheus is but one • Grafana can use multiple data source to provide data for a panel or chart Monitoring with Prometheus 32
  • 33. Grafana Visualizations Monitoring with Prometheus 33 Annotations
  • 34. Grafana Alerts and Notifications Monitoring with Prometheus 34
  • 35. Workshop • Prometheus • First steps • Exporters for Linux, MySQL, Docker, Blackbox • Custom Application instrumentation (Node application) • Alerting • Alert Manager and Notifications (to Slack) • Grafana • First steps • Preconfigured Prometheus dashboard • Custom Dashboard based on Prometheus metrics • Alerts and notifications • Use prebuilt VM image or build VM from scratch • Need VirtualBox in both cases [and Vagrant for build from scratch] Monitoring with Prometheus 35 Materials: http://bit.ly/prometheus-amis
  • 36. Getting Started/Useful Resources • KataCoda: • https://www.katacoda.com/courses/prometheus https://www.katacoda.com/courses/prometheus/creating-dashboards-with-grafana • Book: Prometheus Up & Running (O’Reilly, 2018) Monitoring with Prometheus 36
  • 37. धन्यवाद dhanyavaad Thank you Dank je wel • Blog: technology.amis.nl • Email: lucas.jellema@amis.nl • : @lucasjellema • : lucas-jellema • : www.amis.nl, info@amis.nl https://github.com/lucasjellema

Hinweis der Redaktion

  1. https://en.wikipedia.org/wiki/Draft:Prometheus_(software)
  2. https://pierrevincent.github.io/2017/12/prometheus-blog-series-part-1-metrics-and-labels/
  3. Preparation: Vagrant Up Vagrant SSH (open a few command windows with vagrant ssh into VM) Run Prometheus ./prometheus Show metrics: http://192.168.188.112:9090/metrics Open Web UI http://192.168.188.112:9090/targets Show Prometheus itself as target Goto Graph Show Prometheus metrics Show [1m] Show rate ([1m])
  4. [5m] will consider all data-points captured for our batch_jobs_completed_total metric for 5 minutes. Applying rate() to a range vectorcalculates the average rate of increase per second during that time-window. 
  5. Add Node app scrape job in prometheus.yml Run Node application Access Node app at http://192.168.188.112:3001/checkout
  6. https://prometheus.io/docs/instrumenting/exporters/
  7. https://github.com/freenetdigital/prometheus_oracle_exporter
  8. Run Linux exporter
  9. http://bit.ly/prometheus-amis
  10. Ukranian: Dyakuyu - https://www.google.nl/search?q=thank+you+in+ukrainian&rlz=1C1GGRV_enNL762NL762&oq=thank+y&aqs=chrome.1.69i59l2j69i61j0j69i57j0.1774j0j9&sourceid=chrome&ie=UTF-8 Russian: Spasibo