SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Patrocina Colabora
Organiza
Cloud native monitoring with
Prometheus
Beatriz Martínez |Cloud Engineer en IBM
@beatrizmrg
IBMer, insatiable learner, passionate about technology and
innovation #AI #cloud #devops
Índice
Talk overview
Cloud native monitoring
with Prometheus
1. Prometheus
Monitoring from the way we used to, to cloud-native world
2. Monitoring systems and applications
Metrics scraping, querying, graphing, instrumenting prometheus-native apps.
3. Alerting and Integrations
Decoupling, grouping, silencing, alerting.
4. Scaling and ecosystem
Federation, Thanos, k8s operator, Signifai
1.Prometheus
Monitoring from the way we
used to, to cloud-native
world
1.1 Monitoring
What do we understand for monitoring?
Ensure both systems and applications works as they should.
● Automatic or manual monitoring systems.
● Blackbox or Whitebox systems.
1.2 Monitoring systems space
Well known monitoring systems
We used to ensure the system health based on some basic checks
available such as:
● CPU load
● Memory use
● Disk use
● Network use
Monitoring systems with this behaviour:
- Nagios (1999)
- Sensu
1.2 Monitoring systems space
Today necessities
Today must-have metrics we should be obtaining out of any
system (RED method):
● Request rate
● Error rate
● Duration, response time (Latency)
Monitoring systems metrics based:
- Graphite
- Prometheus
Allow alerts based on more complex queries and correlate data:
High CPU System A High Error Rate System B
High Duration High Request Rate
1.2 Monitoring systems space
Observability
● know when things
go wrong
● Be able to debug
and gain insight
● Trending to see changes over
time, and drive
technical/business decisions
● Feed into other systems (QA,
security, automation, ...)
1.2 Monitoring systems space
Working with metrics
In order to get metrics of the system or app insight:
● Logs based metrics
● Specific metrics systems
x.x.x.90 - - [13/Sep/2006:07:01:53 -0700] "PROPFIND /svn/[xxxx]/Extranet/branches/SOW-101 HTTP/1.1" 401 587
x.x.x.90 - - [13/Sep/2006:07:01:51 -0700] "PROPFIND /svn/[xxxx]/[xxxx]/trunk HTTP/1.1" 401 587
x.x.x.90 - - [13/Sep/2006:07:00:53 -0700] "PROPFIND /svn/[xxxx]/[xxxx]/2.5 HTTP/1.1" 401 587
x.x.x.90 - - [13/Sep/2006:07:00:53 -0700] "PROPFIND /svn/[xxxx]/Extranet/branches/SOW-101 HTTP/1.1" 401 587
Even being able to graph same events with both, they
complement and are used for specific goals.
Logs always have higher computational cost, so correlations and
complex queries made with metrics would be preferable.
1.3 Prometheus
The Development History of this instrumentation and monitoring stack.
● Inspired by Google’s Borgmon monitoring system.
● Started in 2012 by ex-Googlers working in Soundcloud as an open source project
● Mainly written in Go.
● Publicly launched in early 2015
● Today continues to be independent of any company.
● K8s and Prometheus, along with envoy are the only three graduated CNCF projects.
Borg Kubernetes
Borgmon Prometheus
1.3 Prometheus
Why Prometheus?
It has knowledge about what the world should look like (which endpoints
should exists, what time series means trouble, ..) and actively tries to find
faults.
● Whitebox: Instrumenting applications and systems.
● Metrics based: gaining insights both systems and business.
● Manageable and Reliable
● Advanced service discovery
● Efficient: single server can handle millions of metrics, hundreds of
thousands of datapoints per second
● Scalable
● Easy to integrate with
● ….
1.3 Prometheus
Becoming the standard
Prometheus metrics:
● Databases
● Hardware related
● Messaging systems
● Storage
● HTTP
● APIs
● Logging
● ….
Official exporters: Native:
1.3 Prometheus
Becoming the standard
Open Metrics Project
● Standard based on prometheus exposign format.
● Exploit metrics beyond Prometheus.
● Accepted by Cloud Native Computing Foundation. Sandbox (early-stage
project) Mars 2018.
● Aims to bring useful metrics to cloud-native deployments
● At its core, is an effort to develop a neutral metrics exposition format.
● Define an efficient way to transport the metrics over the wire, and a
flexible way to attach information to them: label sets.
An effort to create an open standard
for transmitting metrics at scale, with
support for both text representation
and Protocol buffers.
1.4 Cloud-native monitoring
Microservices observability
Android
Web
iOS
App backend External backend
LOAD
BALANCER
QUEUES DATABASE CACHE STORAGE
LOGGING TRACING MONITORIN
G
API 3API 1
API 2
API 4
API 5
API 6
API 7 EXT 1
EXT 1
EXT 1
Backend
1.4 Cloud-native monitoring
Microservices observability
Android
Web
iOS
App backend External backend
LOAD
BALANCER
QUEUES DATABASE CACHE STORAGE
LOGGING TRACING MONITORIN
G
API 3API 1
API 2
API 4
API 5
API 6
API 7 EXT 1
EXT 1
EXT 1
1.4 Cloud-native monitoring
Microservices observability
Android
Web
iOS
App backend External backend
LOAD
BALANCER
QUEUES DATABASE CACHE STORAGE
LOGGING TRACING MONITORIN
G
API 3API 1
API 2
API 4
API 5
API 6
API 7 EXT 1
EXT 1
EXT 1
2. Monitoring
systems and
applications
Metrics, scraping, querying,
graphing, prometheus-
native apps
Node Exporter / cAdvisor
/metrics
kube-state-metrics
2.1 Monitoring systems
Available exporters
● node-exporter (Prometheus)
● kube-state-metrics (Kubernetes)
● cadvisor (Google)
● Docker daemon (Docker)
node-exporter metrics
arp, boottime, cpu, diskstats, entropy, exec, filesystem, ipvs, loadavg, meminfo, netclass,
netstat, nfs, sockstat, stat, textfile, time, timex, vmstat, zfs ...
cadvisor metrics
container_accelerator_memory_used_bytes, container_cpu_load_average_10s,
container_fs_reads_total, container_last_seen, container_network_receive_errors_total ....
kube-state-metrics metrics
kube_cronjob_status_active, kube_namespace_annotations, kube_service_labels,
kube_service_created, kube_replicaset_status_replicas, kube_node_status_condition .
docker daemon metrics
engine_daemon_container_action_seconds_bucket, process_cpu_seconds_total
2.2 Monitoring applications
Application metrics
● Blackbox exporter: monitoring microservices endpoints
● Official exporters
● prometheus-native applications
2.3 prometheus-native applications
Instrumenting applications
Before you can monitor your services, you need to add instrumentation to
their code.
1. Implement the Prometheus metric types
2. Choose a Prometheus client library that matches the language of
your application.
3. Define internal metrics
4. Expose them via an HTTP endpoint on your application instance.
Available client libraries:
● Go
● Java or Scala
● Python
● Ruby
● Unofficial, third-party: bash, PHP,
node.js, …..
Available metrics types:
● Counter
● Gauge
● Histogram
● Summary
2.3.1 prometheus-native applications
Book store app
Possible actions taken by users:
● Buy a book
Every book categorized by:
● Genre: Terror, Romance, Science Fiction
● Pages
- I would like to know, which genres are buy the most by my clients.
- Which editions are preferred, pocket editions, portable..
- If a specific genre is most buy to read in a comfortable light edition.
- Number of visits
- Time spend before buying
2.3.1 prometheus-native applications
What metrics look like
# HELP books_sold Number of books sold
# TYPE books_sold counter
books_sold{genre="terror"} 199.0
books_sold{genre="romance"} 70.0
# HELP uptime uptime
# TYPE uptime gauge
uptime 4.2769899E7
# HELP systemload_average systemload_average
# TYPE systemload_average gauge
systemload_average 0.55
# HELP heap_committed heap_committed
# TYPE heap_committed gauge
heap_committed 2234880.0
For every metric
Description
Metric type
Values are
float64
2.3.2 prometheus-native applications
Metrics types: Counter and Gauge
Counter:
● Increment or reset
● Number of visits or books sold
Gauge:
● Type of counter
● Increment or decrement
● Common use: represent memory or CPU
2.3.2 prometheus-native applications
Metrics types: Counter
# HELP books_sold Number of books sold
# TYPE books_sold counter
books_sold{genre="terror"} 2
books_sold{genre="romance"} 1
r.POST("/buy/:genre", func(c *gin.Context) {
genre := c.Param("genre")
booksSold.WithLabelValues(genre).Inc()
c.JSON(200, gin.H{
"message": "Thank you for purchasing a book",
})
})
booksSold = promauto.NewCounterVec(prometheus.CounterOpts{
Name: "books_sold",
Help: "The total number of books sold",
},
[]string{"genre"})
2.3.2 prometheus-native applications
Metrics types: Gauge
# HELP online_users Users that are online
# TYPE online_users gauge
online_users 3
onlineUsers = promauto.NewGauge(prometheus.GaugeOpts{
Name: "online_users",
Help: "Users that are online",
})
r.GET("/", func(c *gin.Context) {
onlineUsers.Inc()
c.JSON(200, gin.H{
"message": "Look at all the books we have!",
})
})
r.POST("/buy/:genre", func(c *gin.Context) {
onlineUsers.Dec()
c.JSON(200, gin.H{
"message": "Thank you for purchasing a book",
})
})
2.3.3 prometheus-native applications
Metrics types: Histogram and Summary
Histogram:
● Values grouped in buckets
● Cumulative
● Number of books with number of pages ranged
from 50 to 100 pages.
Summary:
● Average and Percentiles information
● Get extremes behaviours
● Time spent in the application previous to buy
anything
2.3.3 prometheus-native applications
Metrics types: Histogram
# HELP books_sold_pages Books sold with number of pages
# TYPE books_sold_pages histogram
books_sold_pages_bucket{genre="terror",le="20"} 5
books_sold_pages_bucket{genre="terror",le="100"} 21
books_sold_pages_bucket{genre="terror",le="150"} 29
books_sold_pages_bucket{genre="terror",le="200"} 32
books_sold_pages_bucket{genre="terror",le="+Inf"} 32
books_sold_pages_sum{genre="terror"} 2624
books_sold_pages_count{genre="romance"} 32
bSoldPages = promauto.NewHistogramVec(
prometheus.HistogramOpts{
Name: "books_sold_pages",
Help: "Books sold with number of pages",
Buckets: []float64{20.0, 100.0, 150.0, 200.0}
},
[]string{"genre"})
r.POST("/buy/:genre", func(c *gin.Context) {
genre := c.Param("genre")
bSoldPages.WithLabelValues(genre).Observe(rand.Float64()* 200)
c.JSON(200, gin.H{
"message": "Thank you for purchasing a book",
})
})
2.3.3 prometheus-native applications
Metrics types: Summary
# HELP time_spent Time spent to buy a book
# TYPE time_spent summary
time_spent{genre="romance",quantile="0.5"} 36.08
time_spent{genre="romance",quantile="0.9"} 68.68
time_spent{genre="romance",quantile="0.99"} 94.05
time_spent_sum{genre="romance"} 912.74
time_spent_count{genre="romance"} 22
timeSpent = promauto.NewSummaryVec(prometheus.SummaryOpts{
Name: "time_spent",
Help: "Time spent to buy a book",
Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99:
0.001},
},
[]string{"genre"})
r.POST("/buy/:genre", func(c *gin.Context) {
genre := c.Param("genre")
timeSpent.WithLabelValues(genre).Observe(rand.Float64()*100)
c.JSON(200, gin.H{
"message": "Thank you for purchasing a book",
})
})
2.3.4 prometheus-native applications
Book Store insights
3. Alerting and
Integrations
Grouping, silencing, alerting
3.1 Alertmanager
Alerts notification management
● Deduplicates
● Groups
● Routes
● Inhibits
● Silence
4. Scaling and
Ecosystem
Federation, Thanos, K8s
operator, Signifai
Getting the most out of Prometheus in real life case scenarios.
● New necessities are born: Scaling Prometheus
● A whole ecosystem appears to:
○ Enable an easy deployment, management and operation (Helm, Operator, ...)
○ Complement functionalities and support new approaches to cover specific necessities
(Thanos, M3,Cortex ..)
○ Provide new paths to exploit the observability and instrumentations of our applications
(Signifai)
4.1 Deploying Prometheus
K8s prometheus-operator
Custom resources:
● Prometheus
● ServiceMonitor
● Alertmanager
● PrometheusRule
4.2 Scaling Prometheus
Federation
4.3 Thanos
Highly available Prometheus setup with long term storage capabilities
● Global view
● Distributed queries
● Unlimited retention
4.4 M3DB
Born to facilitate the growth of Uber’s global operations
– name: Retain all disk_used metrics
filter: name:disk_used* device:sd*
policies:
– resolution: 10s
retention: 2d
– resolution: 1m
retention: 30d
– resolution: 1h
retention: 5y
● Reliably houses large-scale
metrics over long retention
time windows
● Downsampling of metrics
4.5 Cortex
● Multi-tenant, horizontally scalable open source Prometheus-as-a-
Service
● CNCF project since September 2018
● Provides a complete out-of-the-box solution for even most
demanding monitoring and observability use cases.
● Hosted Cortex: Weave Cloud and Grafana Cloud
4.6 Signifai
● Acquired by NewRelic
● AI and machine learning powered correlation engine for DevOps and
Site Reliability Engineering.
● End-to-end systems analysis
● Get answers not alerts
● Automatic correlation, aggregation and prioritization of alerts.
● Be proactive not reactive
AIOps with Prometheus
Patrocina Colabora
Conclusions
cloud-native monitoring: observability
RED metrics, don’t fly blind
Cross team implication
Instrumentation: not as painful after all
Beatriz Martínez
@beatrizmrg

Contenu connexe

Tendances

Cloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsCloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsWeaveworks
 
Addressing the 8 Key Pain Points of Kubernetes Cluster Management
Addressing the 8 Key Pain Points of Kubernetes Cluster ManagementAddressing the 8 Key Pain Points of Kubernetes Cluster Management
Addressing the 8 Key Pain Points of Kubernetes Cluster ManagementEnterprise Management Associates
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftKangaroot
 
[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps
[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps
[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOpsDaniel Oh
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityWeaveworks
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...DevOps.com
 
DevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppDevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppatSistemas
 
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...Weaveworks
 
Redefining cloud native debugging
Redefining cloud native debugging  Redefining cloud native debugging
Redefining cloud native debugging LibbySchulze
 
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your doorLFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your doorEric Smalling
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Richard Bullington-McGuire
 
Observe and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git opsObserve and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git opsWeaveworks
 
Microsoft Azure DevOps
Microsoft Azure DevOpsMicrosoft Azure DevOps
Microsoft Azure DevOpstdc-globalcode
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudAmazon Web Services
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...Weaveworks
 
App sec in the time of docker containers
App sec in the time of docker containersApp sec in the time of docker containers
App sec in the time of docker containersAkash Mahajan
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitEng Teong Cheah
 
#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NET#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NETJaqueline Ramos
 
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real WebinarPivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real WebinarVMware Tanzu
 
Getting Started with Azure Artifacts
Getting Started with Azure ArtifactsGetting Started with Azure Artifacts
Getting Started with Azure ArtifactsCallon Campbell
 

Tendances (20)

Cloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOpsCloud Native Engineering with SRE and GitOps
Cloud Native Engineering with SRE and GitOps
 
Addressing the 8 Key Pain Points of Kubernetes Cluster Management
Addressing the 8 Key Pain Points of Kubernetes Cluster ManagementAddressing the 8 Key Pain Points of Kubernetes Cluster Management
Addressing the 8 Key Pain Points of Kubernetes Cluster Management
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps
[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps
[muCon2017]DevSecOps: How to Continuously Integrate Security into DevOps
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
DevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppDevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetApp
 
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
 
Redefining cloud native debugging
Redefining cloud native debugging  Redefining cloud native debugging
Redefining cloud native debugging
 
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your doorLFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
 
Observe and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git opsObserve and command your fleets across any kubernetes with weave git ops
Observe and command your fleets across any kubernetes with weave git ops
 
Microsoft Azure DevOps
Microsoft Azure DevOpsMicrosoft Azure DevOps
Microsoft Azure DevOps
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the Cloud
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
App sec in the time of docker containers
App sec in the time of docker containersApp sec in the time of docker containers
App sec in the time of docker containers
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with Git
 
#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NET#SheSharp Conference - Azure DevOps for .NET
#SheSharp Conference - Azure DevOps for .NET
 
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real WebinarPivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
 
Getting Started with Azure Artifacts
Getting Started with Azure ArtifactsGetting Started with Azure Artifacts
Getting Started with Azure Artifacts
 

Similaire à DevOps Spain 2019. Beatriz Martínez-IBM

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
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 
Prometheus for Monitoring Metrics (Percona Live Europe 2017)
Prometheus for Monitoring Metrics (Percona Live Europe 2017)Prometheus for Monitoring Metrics (Percona Live Europe 2017)
Prometheus for Monitoring Metrics (Percona Live Europe 2017)Brian Brazil
 
PreMonR - A Reactive Platform To Monitor Reactive Application
PreMonR - A Reactive Platform To Monitor Reactive ApplicationPreMonR - A Reactive Platform To Monitor Reactive Application
PreMonR - A Reactive Platform To Monitor Reactive ApplicationKnoldus Inc.
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxGrace Jansen
 
Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)Brian Brazil
 
Combining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityCombining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityElasticsearch
 
Les logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiéeLes logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiéeElasticsearch
 
Apache Eagle Strata Hadoop World London 2016
Apache Eagle Strata Hadoop World London 2016Apache Eagle Strata Hadoop World London 2016
Apache Eagle Strata Hadoop World London 2016Arun Karthick Manoharan
 
Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...
Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...
Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...SonjaChevre
 
Scaling Prometheus on Kubernetes with Thanos
Scaling Prometheus on Kubernetes with ThanosScaling Prometheus on Kubernetes with Thanos
Scaling Prometheus on Kubernetes with ThanosThomas Riley
 
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...IRJET Journal
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareSumit Naiksatam
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16AppDynamics
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBconfluent
 
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
 

Similaire à DevOps Spain 2019. Beatriz Martínez-IBM (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
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
Prometheus for Monitoring Metrics (Percona Live Europe 2017)
Prometheus for Monitoring Metrics (Percona Live Europe 2017)Prometheus for Monitoring Metrics (Percona Live Europe 2017)
Prometheus for Monitoring Metrics (Percona Live Europe 2017)
 
Introduction to FIWARE Open Ecosystem
Introduction to FIWARE Open EcosystemIntroduction to FIWARE Open Ecosystem
Introduction to FIWARE Open Ecosystem
 
PreMonR - A Reactive Platform To Monitor Reactive Application
PreMonR - A Reactive Platform To Monitor Reactive ApplicationPreMonR - A Reactive Platform To Monitor Reactive Application
PreMonR - A Reactive Platform To Monitor Reactive Application
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
 
Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)
 
Combining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified ObservabilityCombining Logs, Metrics, and Traces for Unified Observability
Combining Logs, Metrics, and Traces for Unified Observability
 
Les logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiéeLes logs, traces et indicateurs au service d'une observabilité unifiée
Les logs, traces et indicateurs au service d'une observabilité unifiée
 
Apache Eagle Strata Hadoop World London 2016
Apache Eagle Strata Hadoop World London 2016Apache Eagle Strata Hadoop World London 2016
Apache Eagle Strata Hadoop World London 2016
 
Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...
Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...
Migrating from OpenTracing to OpenTelemetry - Kubernetes Community Days Munic...
 
Scaling Prometheus on Kubernetes with Thanos
Scaling Prometheus on Kubernetes with ThanosScaling Prometheus on Kubernetes with Thanos
Scaling Prometheus on Kubernetes with Thanos
 
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
 
vinay-mittal-new
vinay-mittal-newvinay-mittal-new
vinay-mittal-new
 
Open stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshareOpen stack gbp final sn-4-slideshare
Open stack gbp final sn-4-slideshare
 
Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
 
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...
 

Plus de atSistemas

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassianatSistemas
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital atSistemas
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021atSistemas
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.atSistemas
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureatSistemas
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipoatSistemas
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialatSistemas
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación AgileatSistemas
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación culturalatSistemas
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSatSistemas
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezatSistemas
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraatSistemas
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloatSistemas
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaatSistemas
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatatSistemas
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezatSistemas
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasatSistemas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezatSistemas
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolatSistemas
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezatSistemas
 

Plus de atSistemas (20)

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassian
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipo
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarial
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación Agile
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación cultural
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel Martínez
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor Gándara
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis Gozalo
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón Abruña
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago Chamat
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio Gómez
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel Rojas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés Sánchez
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel Martínez
 

Dernier

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Dernier (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

DevOps Spain 2019. Beatriz Martínez-IBM

  • 1. Patrocina Colabora Organiza Cloud native monitoring with Prometheus Beatriz Martínez |Cloud Engineer en IBM @beatrizmrg IBMer, insatiable learner, passionate about technology and innovation #AI #cloud #devops
  • 2. Índice Talk overview Cloud native monitoring with Prometheus 1. Prometheus Monitoring from the way we used to, to cloud-native world 2. Monitoring systems and applications Metrics scraping, querying, graphing, instrumenting prometheus-native apps. 3. Alerting and Integrations Decoupling, grouping, silencing, alerting. 4. Scaling and ecosystem Federation, Thanos, k8s operator, Signifai
  • 3. 1.Prometheus Monitoring from the way we used to, to cloud-native world 1.1 Monitoring What do we understand for monitoring? Ensure both systems and applications works as they should. ● Automatic or manual monitoring systems. ● Blackbox or Whitebox systems.
  • 4. 1.2 Monitoring systems space Well known monitoring systems We used to ensure the system health based on some basic checks available such as: ● CPU load ● Memory use ● Disk use ● Network use Monitoring systems with this behaviour: - Nagios (1999) - Sensu
  • 5. 1.2 Monitoring systems space Today necessities Today must-have metrics we should be obtaining out of any system (RED method): ● Request rate ● Error rate ● Duration, response time (Latency) Monitoring systems metrics based: - Graphite - Prometheus Allow alerts based on more complex queries and correlate data: High CPU System A High Error Rate System B High Duration High Request Rate
  • 6. 1.2 Monitoring systems space Observability ● know when things go wrong ● Be able to debug and gain insight ● Trending to see changes over time, and drive technical/business decisions ● Feed into other systems (QA, security, automation, ...)
  • 7. 1.2 Monitoring systems space Working with metrics In order to get metrics of the system or app insight: ● Logs based metrics ● Specific metrics systems x.x.x.90 - - [13/Sep/2006:07:01:53 -0700] "PROPFIND /svn/[xxxx]/Extranet/branches/SOW-101 HTTP/1.1" 401 587 x.x.x.90 - - [13/Sep/2006:07:01:51 -0700] "PROPFIND /svn/[xxxx]/[xxxx]/trunk HTTP/1.1" 401 587 x.x.x.90 - - [13/Sep/2006:07:00:53 -0700] "PROPFIND /svn/[xxxx]/[xxxx]/2.5 HTTP/1.1" 401 587 x.x.x.90 - - [13/Sep/2006:07:00:53 -0700] "PROPFIND /svn/[xxxx]/Extranet/branches/SOW-101 HTTP/1.1" 401 587 Even being able to graph same events with both, they complement and are used for specific goals. Logs always have higher computational cost, so correlations and complex queries made with metrics would be preferable.
  • 8. 1.3 Prometheus The Development History of this instrumentation and monitoring stack. ● Inspired by Google’s Borgmon monitoring system. ● Started in 2012 by ex-Googlers working in Soundcloud as an open source project ● Mainly written in Go. ● Publicly launched in early 2015 ● Today continues to be independent of any company. ● K8s and Prometheus, along with envoy are the only three graduated CNCF projects. Borg Kubernetes Borgmon Prometheus
  • 9. 1.3 Prometheus Why Prometheus? It has knowledge about what the world should look like (which endpoints should exists, what time series means trouble, ..) and actively tries to find faults. ● Whitebox: Instrumenting applications and systems. ● Metrics based: gaining insights both systems and business. ● Manageable and Reliable ● Advanced service discovery ● Efficient: single server can handle millions of metrics, hundreds of thousands of datapoints per second ● Scalable ● Easy to integrate with ● ….
  • 10. 1.3 Prometheus Becoming the standard Prometheus metrics: ● Databases ● Hardware related ● Messaging systems ● Storage ● HTTP ● APIs ● Logging ● …. Official exporters: Native:
  • 11. 1.3 Prometheus Becoming the standard Open Metrics Project ● Standard based on prometheus exposign format. ● Exploit metrics beyond Prometheus. ● Accepted by Cloud Native Computing Foundation. Sandbox (early-stage project) Mars 2018. ● Aims to bring useful metrics to cloud-native deployments ● At its core, is an effort to develop a neutral metrics exposition format. ● Define an efficient way to transport the metrics over the wire, and a flexible way to attach information to them: label sets. An effort to create an open standard for transmitting metrics at scale, with support for both text representation and Protocol buffers.
  • 12. 1.4 Cloud-native monitoring Microservices observability Android Web iOS App backend External backend LOAD BALANCER QUEUES DATABASE CACHE STORAGE LOGGING TRACING MONITORIN G API 3API 1 API 2 API 4 API 5 API 6 API 7 EXT 1 EXT 1 EXT 1 Backend
  • 13. 1.4 Cloud-native monitoring Microservices observability Android Web iOS App backend External backend LOAD BALANCER QUEUES DATABASE CACHE STORAGE LOGGING TRACING MONITORIN G API 3API 1 API 2 API 4 API 5 API 6 API 7 EXT 1 EXT 1 EXT 1
  • 14. 1.4 Cloud-native monitoring Microservices observability Android Web iOS App backend External backend LOAD BALANCER QUEUES DATABASE CACHE STORAGE LOGGING TRACING MONITORIN G API 3API 1 API 2 API 4 API 5 API 6 API 7 EXT 1 EXT 1 EXT 1
  • 15. 2. Monitoring systems and applications Metrics, scraping, querying, graphing, prometheus- native apps
  • 16. Node Exporter / cAdvisor /metrics kube-state-metrics 2.1 Monitoring systems Available exporters ● node-exporter (Prometheus) ● kube-state-metrics (Kubernetes) ● cadvisor (Google) ● Docker daemon (Docker) node-exporter metrics arp, boottime, cpu, diskstats, entropy, exec, filesystem, ipvs, loadavg, meminfo, netclass, netstat, nfs, sockstat, stat, textfile, time, timex, vmstat, zfs ... cadvisor metrics container_accelerator_memory_used_bytes, container_cpu_load_average_10s, container_fs_reads_total, container_last_seen, container_network_receive_errors_total .... kube-state-metrics metrics kube_cronjob_status_active, kube_namespace_annotations, kube_service_labels, kube_service_created, kube_replicaset_status_replicas, kube_node_status_condition . docker daemon metrics engine_daemon_container_action_seconds_bucket, process_cpu_seconds_total
  • 17. 2.2 Monitoring applications Application metrics ● Blackbox exporter: monitoring microservices endpoints ● Official exporters ● prometheus-native applications
  • 18. 2.3 prometheus-native applications Instrumenting applications Before you can monitor your services, you need to add instrumentation to their code. 1. Implement the Prometheus metric types 2. Choose a Prometheus client library that matches the language of your application. 3. Define internal metrics 4. Expose them via an HTTP endpoint on your application instance. Available client libraries: ● Go ● Java or Scala ● Python ● Ruby ● Unofficial, third-party: bash, PHP, node.js, ….. Available metrics types: ● Counter ● Gauge ● Histogram ● Summary
  • 19. 2.3.1 prometheus-native applications Book store app Possible actions taken by users: ● Buy a book Every book categorized by: ● Genre: Terror, Romance, Science Fiction ● Pages - I would like to know, which genres are buy the most by my clients. - Which editions are preferred, pocket editions, portable.. - If a specific genre is most buy to read in a comfortable light edition. - Number of visits - Time spend before buying
  • 20. 2.3.1 prometheus-native applications What metrics look like # HELP books_sold Number of books sold # TYPE books_sold counter books_sold{genre="terror"} 199.0 books_sold{genre="romance"} 70.0 # HELP uptime uptime # TYPE uptime gauge uptime 4.2769899E7 # HELP systemload_average systemload_average # TYPE systemload_average gauge systemload_average 0.55 # HELP heap_committed heap_committed # TYPE heap_committed gauge heap_committed 2234880.0 For every metric Description Metric type Values are float64
  • 21. 2.3.2 prometheus-native applications Metrics types: Counter and Gauge Counter: ● Increment or reset ● Number of visits or books sold Gauge: ● Type of counter ● Increment or decrement ● Common use: represent memory or CPU
  • 22. 2.3.2 prometheus-native applications Metrics types: Counter # HELP books_sold Number of books sold # TYPE books_sold counter books_sold{genre="terror"} 2 books_sold{genre="romance"} 1 r.POST("/buy/:genre", func(c *gin.Context) { genre := c.Param("genre") booksSold.WithLabelValues(genre).Inc() c.JSON(200, gin.H{ "message": "Thank you for purchasing a book", }) }) booksSold = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "books_sold", Help: "The total number of books sold", }, []string{"genre"})
  • 23. 2.3.2 prometheus-native applications Metrics types: Gauge # HELP online_users Users that are online # TYPE online_users gauge online_users 3 onlineUsers = promauto.NewGauge(prometheus.GaugeOpts{ Name: "online_users", Help: "Users that are online", }) r.GET("/", func(c *gin.Context) { onlineUsers.Inc() c.JSON(200, gin.H{ "message": "Look at all the books we have!", }) }) r.POST("/buy/:genre", func(c *gin.Context) { onlineUsers.Dec() c.JSON(200, gin.H{ "message": "Thank you for purchasing a book", }) })
  • 24. 2.3.3 prometheus-native applications Metrics types: Histogram and Summary Histogram: ● Values grouped in buckets ● Cumulative ● Number of books with number of pages ranged from 50 to 100 pages. Summary: ● Average and Percentiles information ● Get extremes behaviours ● Time spent in the application previous to buy anything
  • 25. 2.3.3 prometheus-native applications Metrics types: Histogram # HELP books_sold_pages Books sold with number of pages # TYPE books_sold_pages histogram books_sold_pages_bucket{genre="terror",le="20"} 5 books_sold_pages_bucket{genre="terror",le="100"} 21 books_sold_pages_bucket{genre="terror",le="150"} 29 books_sold_pages_bucket{genre="terror",le="200"} 32 books_sold_pages_bucket{genre="terror",le="+Inf"} 32 books_sold_pages_sum{genre="terror"} 2624 books_sold_pages_count{genre="romance"} 32 bSoldPages = promauto.NewHistogramVec( prometheus.HistogramOpts{ Name: "books_sold_pages", Help: "Books sold with number of pages", Buckets: []float64{20.0, 100.0, 150.0, 200.0} }, []string{"genre"}) r.POST("/buy/:genre", func(c *gin.Context) { genre := c.Param("genre") bSoldPages.WithLabelValues(genre).Observe(rand.Float64()* 200) c.JSON(200, gin.H{ "message": "Thank you for purchasing a book", }) })
  • 26. 2.3.3 prometheus-native applications Metrics types: Summary # HELP time_spent Time spent to buy a book # TYPE time_spent summary time_spent{genre="romance",quantile="0.5"} 36.08 time_spent{genre="romance",quantile="0.9"} 68.68 time_spent{genre="romance",quantile="0.99"} 94.05 time_spent_sum{genre="romance"} 912.74 time_spent_count{genre="romance"} 22 timeSpent = promauto.NewSummaryVec(prometheus.SummaryOpts{ Name: "time_spent", Help: "Time spent to buy a book", Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001}, }, []string{"genre"}) r.POST("/buy/:genre", func(c *gin.Context) { genre := c.Param("genre") timeSpent.WithLabelValues(genre).Observe(rand.Float64()*100) c.JSON(200, gin.H{ "message": "Thank you for purchasing a book", }) })
  • 29. 3.1 Alertmanager Alerts notification management ● Deduplicates ● Groups ● Routes ● Inhibits ● Silence
  • 30. 4. Scaling and Ecosystem Federation, Thanos, K8s operator, Signifai Getting the most out of Prometheus in real life case scenarios. ● New necessities are born: Scaling Prometheus ● A whole ecosystem appears to: ○ Enable an easy deployment, management and operation (Helm, Operator, ...) ○ Complement functionalities and support new approaches to cover specific necessities (Thanos, M3,Cortex ..) ○ Provide new paths to exploit the observability and instrumentations of our applications (Signifai)
  • 31. 4.1 Deploying Prometheus K8s prometheus-operator Custom resources: ● Prometheus ● ServiceMonitor ● Alertmanager ● PrometheusRule
  • 33. 4.3 Thanos Highly available Prometheus setup with long term storage capabilities ● Global view ● Distributed queries ● Unlimited retention
  • 34. 4.4 M3DB Born to facilitate the growth of Uber’s global operations – name: Retain all disk_used metrics filter: name:disk_used* device:sd* policies: – resolution: 10s retention: 2d – resolution: 1m retention: 30d – resolution: 1h retention: 5y ● Reliably houses large-scale metrics over long retention time windows ● Downsampling of metrics
  • 35. 4.5 Cortex ● Multi-tenant, horizontally scalable open source Prometheus-as-a- Service ● CNCF project since September 2018 ● Provides a complete out-of-the-box solution for even most demanding monitoring and observability use cases. ● Hosted Cortex: Weave Cloud and Grafana Cloud
  • 36. 4.6 Signifai ● Acquired by NewRelic ● AI and machine learning powered correlation engine for DevOps and Site Reliability Engineering. ● End-to-end systems analysis ● Get answers not alerts ● Automatic correlation, aggregation and prioritization of alerts. ● Be proactive not reactive AIOps with Prometheus
  • 37. Patrocina Colabora Conclusions cloud-native monitoring: observability RED metrics, don’t fly blind Cross team implication Instrumentation: not as painful after all Beatriz Martínez @beatrizmrg