SlideShare a Scribd company logo
Making sure your containers
aren’t on fire
Monitoring microservices with Prometheus
Brice Fernandes
@fractallambda
Monitoring kubernetes with prometheus
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
How
I.T.
Was
OS
App
How
I.T.
Was
OS
App
Foo v1.1.0
How
I.T.
Was
OS
App
Foo v1.1.0 Foo v1.5.0
How
I.T.
Was
OS
App
Foo v1.1.0 Foo v1.5.0
?
Monitoring kubernetes with prometheus
How
I.T.
Was
Reproducible Deployment
Continuous Deployment
Fault Recovery
Memory & CPU allocation
Managing VMs?
?
?
?
?
?
?
The
New
Hotness
OS
Manager
Container
App
The
New
Hotness
OS
Manager
Container
App
Somebody Else’s Problem (SEP)™
The
New
Hotness
OS
Manager
Container
App
Somebody Else’s Problem (SEP)™
Reproducible deployments
Fault recovery
Continuous deployment
Don’t care about machine virtualisation
Memory & CPU multiplexing
Buzzword compliance
The
New
Hotness
But…
But…
But…
But…
But…
Mo’ containers
Mo’ problems
Kubernetes
–
Greek for Helmsman or Pilot
Monitoring kubernetes with prometheus
Monitoring kubernetes with prometheus
Master
kube-apiserver
kube-controller-manager
kube-scheduler
Monitoring kubernetes with prometheus
Node
kubelet
kube-proxy
Monitoring kubernetes with prometheus
This is what I want
This is what I want
This is what I want
This is what I want
This is what I want
xxx.xxx.xxx.xxx:30003
This is what I want
xxx.xxx.xxx.xxx:30003
xxx.xxx.xxx.xxx:30003
Set up
Kubernetes
➤ minikube start
➤ minikube start
Starting local Kubernetes v1.7.5 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components…
Kubectl is now configured to use the cluster.
➤ minikube start
Starting local Kubernetes v1.7.5 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components…
Kubectl is now configured to use the cluster.
Start a local cluster
➤ minikube start
Starting local Kubernetes v1.7.5 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components…
Kubectl is now configured to use the cluster.
Set up the kubernetes tools
to point to our cluster
➤ kubectl get all
➤ kubectl get all
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/kubernetes 10.0.0.1 <none> 443/TCP 5m
➤ kubectl get all
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/kubernetes 10.0.0.1 <none> 443/TCP 5m
Default kubernetes service
HOST
HOST
VM
HOST
VM
Kubernetes
Deploy an app
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-demo-v1
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-demo-v1
Our definition manifest
Monitoring kubernetes with prometheus
Where to find the image
How many to run
Which port to expose externally
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-demo-v1
deployment "mighty-fine-fe" created
service "mighty-fine-fe" created
Creates our pods
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-demo-v1
deployment "mighty-fine-fe" created
service "mighty-fine-fe" created
Exposes a service
➤ kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S)
kubernetes 10.0.0.1 <none> 443/TCP
mighty-fine-fe 10.0.0.223 <nodes> 3000:30001/TCP
Port 3000 of app is visible
on port 30001 of cluster
➤ open http://$(minikube ip):30001
➤ open http://$(minikube ip):30001
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
Why monitor?
Quality
Assurance
Continuous
Improvement
NOT about collecting data
Why vs How
IS relevant outside of IT
Q:What’s the
most important
metric?
A: What’s the
purpose of your
organisation?
Maybe:
Educational goals
# People reached
# Papers published
Probably £/$/€
Metrics come from
purpose.
Monitor your goals
Ignorance
Availability
Collection
Aggregation
0
Analysis
1
Learning
Automation
Proactivity
2
3
4
5
6
7
The
Monitoring
Ladder
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Aggregation
Analysis
1
Learning
Automation
Proactivity
2
3
4
5
6
7
You don’t know
what’s going on.
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Aggregation
Analysis
1
Learning
Automation
Proactivity
2
3
4
5
6
7
You know whether your
systems are available.
You may have alerts
Ignorance0
The
Monitoring
Ladder
Availability
Logging
Aggregation
Analysis
1
Learning
Automation
Proactivity
2
3
4
5
6
7
You collect logs.
Forensics is possible .
Alerts
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Aggregation
Analysis
1
Learning
Automation
Proactivity
2
3
4
5
6
7
You aggregate and persist
data in a central place.
Correlation is possible.
Alerts
Logs
Forensics
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
You actually analyse
the aggregated and
correlated data.
Use it to fix issues. Alerts
Logs
Forensics
Aggregation3Persistence
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
Root cause analysis.
Strengthening fixes.
Antifragile.
Still responsive. Alerts
Logs
Forensics
Aggregation3Persistence
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
Automated remedial actions.
Data collection for analysis.
No customer impact.
Alerts
Logs
Forensics
Aggregation3Persistence
Antifragile
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
Automated remedial actions.
Data collection for analysis.
No customer impact.
Alerts
Logs
Forensics
Aggregation3Persistence
Antifragile
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
Active strengthening
by attacking
production systems.
Alerts
Logs
Forensics
Aggregation3Persistence
Antifragile
0-Impact
Ignorance0
The
Monitoring
Ladder
Availability
Collection
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
Alerts
Logs
Forensics
Aggregation3Persistence
Antifragile
0-Impact
Monitoring is
a broad topic
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
Whitebox vs Blackbox
Whitebox vs Blackbox
Push vs Pull
Push vs Pull
Realtime vs Historic
Realtime vs Historic
Which one is right?
Pull or Push?
Whitebox or Blackbox?
Which one is right?
Pull or Push?
Whitebox or Blackbox?
Both
Pull based
Whitebox
Historic
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
Monitoring infrastructure
Key metrics
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-monitoring
deployment "prometheus" created
service "prometheus" created
service "internal-prometheus" created
deployment "grafana" created
service "grafana" created
configmap "prometheus-configmap" created
Create and expose
Prometheus
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-monitoring
deployment "prometheus" created
service "prometheus" created
service "internal-prometheus" created
deployment "grafana" created
service "grafana" created
configmap "prometheus-configmap" created Create and expose
Grafana
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-monitoring
deployment "prometheus" created
service "prometheus" created
service "internal-prometheus" created
deployment "grafana" created
service "grafana" created
configmap "prometheus-configmap" created
Configure Prometheus
Using a ConfigMap
➤ kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S)
grafana 10.0.0.120 <nodes> 3000:30002/TCP
internal-prometheus 10.0.0.39 <none> 9090/TCP
kubernetes 10.0.0.1 <none> 443/TCP
mighty-fine-fe 10.0.0.223 <nodes> 3000:30001/TCP
prometheus 10.0.0.112 <nodes> 9090:30003/TCP
➤ kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S)
grafana 10.0.0.120 <nodes> 3000:30002/TCP
internal-prometheus 10.0.0.39 <none> 9090/TCP
kubernetes 10.0.0.1 <none> 443/TCP
mighty-fine-fe 10.0.0.223 <nodes> 3000:30001/TCP
prometheus 10.0.0.112 <nodes> 9090:30003/TCP
Prometheus internal IP
➤ kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S)
grafana 10.0.0.120 <nodes> 3000:30002/TCP
internal-prometheus 10.0.0.39 <none> 9090/TCP
kubernetes 10.0.0.1 <none> 443/TCP
mighty-fine-fe 10.0.0.223 <nodes> 3000:30001/TCP
prometheus 10.0.0.112 <nodes> 9090:30003/TCP
Prometheus external port
➤ open http://$(minikube ip):30003
➤ open http://$(minikube ip):30003
➤ open http://$(minikube ip):30002
➤ open http://$(minikube ip):30002
Built-in
Prometheus
provider
Internal
Prometheus
IP
and port
Proxy
instead
of data from
browser
PromQL
Query
But…
Aggregation3
Ignorance
Availability
Collection
0
Analysis
1
Learning
Automation
Proactivity
2
4
5
6
7
What about persistence?
Using
Weave Cloud’s
Hosted Prometheus
Name your cluster
Pick
your
platform
Choose
your
environment
Run
Command
➤ kubectl apply 

-n kube-system 

-f “<some_url>&t=<some_token>”
serviceaccount "weave-flux" created
clusterrole "weave-flux" created
clusterrolebinding "weave-flux" created
secret "flux-git-deploy" created
deployment "weave-flux-memcached" created
service "weave-flux-memcached" created
deployment "weave-flux-agent" created
serviceaccount "weave-scope" created
clusterrole "weave-scope" created
clusterrolebinding "weave-scope" created
daemonset "weave-scope-agent" created
serviceaccount "weave-cortex" created
clusterrole "weave-cortex" created
clusterrolebinding "weave-cortex" created
deployment "weave-cortex-agent" created
service "weave-cortex-agent" created
daemonset "weave-cortex-node-exporter" created
configmap "weave-cortex-agent-config" created
➤ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS
kube-addon-manager-minikube 1/1 Running 1
kube-dns-910330662-bv35c 3/3 Running 3
kubernetes-dashboard-zj028 1/1 Running 1
weave-cortex-agent-815474457-5q0rg 1/1 Running 0
weave-cortex-node-exporter-5tf88 1/1 Running 0
weave-flux-agent-1731903026-d0gw8 1/1 Running 0
weave-flux-memcached-2601059440-f31vp 1/1 Running 0
weave-scope-agent-6fq0b 1/1 Running 0
Go to monitoring
Monitoring kubernetes with prometheus
Monitoring infrastructure
Key metrics
Adding the
Prometheus
Agent to our app
➤ npm install —save epimetheus
➤ npm install —save epimetheus
Client libraries in: Go, Java, Python,
Ruby, Bash, C++, Common Lisp,
Elixir, Erlang, Haskell, Lua, .NET,
PHP, Rust…
Monitoring kubernetes with prometheus
Very straight
forward
in most languages
…
Omitted for brevity:
Pushing new image to registry
Creating new manifest
…
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-demo-v2
➤ kubectl apply -f 

https://tinyurl.com/kube-prom-demo-v2
deployment "mighty-fine-fe" configured
service "mighty-fine-fe" configured
➤ open http://$(minikube ip):30001/metrics
➤ open http://$(minikube ip):30001/metrics
Getting
Prometheus
to scrape our app
Monitoring kubernetes with prometheus
➤ kubctl apply -f 

https://tinyurl.com/kube-prom-monitoring-v2
➤ kubctl apply -f 

https://tinyurl.com/kube-prom-monitoring-v2
deployment "prometheus" configured
service "prometheus" configured
service "internal-prometheus" configured
deployment "grafana" configured
service "grafana" configured
configmap "prometheus-configmap" configured
➤ curl -X POST 

http://$(minikube ip):30001/-/reload
Tell Prometheus to
reload its config
NodeJS
Metrics
Weave
discovers
the new
Metrics
too
Defining a
custom metric
Monitoring kubernetes with prometheus
…
Omitted for brevity:
Pushing new image to registry
Creating new manifest
…
➤ kubctl apply -f 

https://tinyurl.com/kube-prom-monitoring-v3
deployment "prometheus" configured
service "prometheus" configured
service "internal-prometheus" configured
deployment "grafana" configured
service "grafana" configured
configmap "prometheus-configmap" configured
➤ open http://$(minikube ip):30001
➤ open http://$(minikube ip):30001
➤ open http://$(minikube ip):30001
Custom
Metric
Monitoring infrastructure
Key metrics
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
Joel York’s SaaS Metrics
http://chaotic-flow.com
Worked
Example:
Churn rate
C × Δt
Churn Ratemonth = ΔCcancel
Worked
Example:
Churn rate
C × Δt
Number of
cancellations
In interval
Churn Ratemonth = ΔCcancel
Worked
Example:
Churn rate
C × Δt
Number of
cancellations
In interval
Churn Ratemonth = ΔCcancel
Number of customers
(at start of interval)
Worked
Example:
Churn rate
Time interval
Number of customers
(at start of interval)
Number of
cancellations
In interval
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
Assumed metrics:
total_signups (counter)
total_cancels (counter)
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Base metric
(scalar)
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Base metric
(scalar)
Churn Ratemonth = ΔCcancel
C × Δt
t0, t1, t2, t3, t4, t5, t6
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Base metric
(scalar) Data window
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Base metric
(scalar) Data window
Data range
(vector)
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Base metric
(scalar) Data window
Data range
(vector)
Churn Ratemonth = ΔCcancel
C × Δt
t0, t1, t2, t3, t4, t5, t6
0
2
4
7
9
11
…
0
2
4
7
9
11
…
0
2
4
7
9
11
…
0
2
4
7
9
11
…
0
2
4
7
9
11
…
0
2
4
7
9
11
…
0
2
4
7
9
11
…
Worked
Example:
Churn rate
ΔCcancel = rate(total_cancels[1m])
Base metric
(scalar) Data window
Data range
(vector)
Built-in rate function
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
C = (total_signups offset 1m) -
(total_cancels offset 1m)
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
C = (total_signups offset 1m) -
(total_cancels offset 1m)
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
C = (total_signups offset 1m) -
(total_cancels offset 1m)
One month ago
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
Churn Ratemonth =
rate(total_cancels[1m]) /
((total_signups offset 1m) - (total_cancels offset 1m))
Churn Ratemonth = ΔCcancel
C × Δt
Worked
Example:
Churn rate
Churn Ratemonth =
rate(total_cancels[1m]) /
((total_signups offset 1m) - (total_cancels offset 1m))
Churn Ratemonth = ΔCcancel
C × Δt
Getting started with Kubernetes1
2
3
4
The monitoring maturity ladder
Whitebox vs blackbox monitoring
Monitoring with Prometheus
Using PromQL5
Review
References & useful links
- https://landing.google.com/sre/book/chapters/monitoring-distributed-systems.html
- http://www.ncsysadmin.org/meetings/1010/Monitoring_and_Alerting.pdf
- https://www.oreilly.com/ideas/monitoring-distributed-systems
- https://www.slideshare.net/brianbrazil/monitoring-what-matters-the-prometheus-approach-to-
whitebox-monitoring-berlin-ops-summit-2016
Thank You!
Brice Fernandes
@fractallambda
@weaveworks
Slides: https://tinyurl.com/prometheus-kubernetes-slides
Code: https://tinyurl.com/prometheus-kubernetes-code
Video: https://tinyurl.com/cloud-native-2017
https://weave.works

More Related Content

PPTX
Kubernetes PPT.pptx
PDF
Rancher 2.0 Technical Deep Dive
PDF
Kubernetes - A Comprehensive Overview
PDF
Architecting for the Cloud using NetflixOSS - Codemash Workshop
PPTX
Introduction to helm
PDF
Monitoring with prometheus
PPTX
Introduction to the Container Network Interface (CNI)
PPTX
Introduction to openshift
Kubernetes PPT.pptx
Rancher 2.0 Technical Deep Dive
Kubernetes - A Comprehensive Overview
Architecting for the Cloud using NetflixOSS - Codemash Workshop
Introduction to helm
Monitoring with prometheus
Introduction to the Container Network Interface (CNI)
Introduction to openshift

What's hot (20)

PDF
Infrastructure & System Monitoring using Prometheus
PDF
Kubernetes dealing with storage and persistence
PPTX
Azure kubernetes service (aks)
PDF
Kubernetes 101
PDF
OpenShift 4, the smarter Kubernetes platform
ODP
Kubernetes Architecture
PDF
An overview of the Kubernetes architecture
PPTX
Introduction to Kubernetes
PPTX
K8s in 3h - Kubernetes Fundamentals Training
PDF
Kubernetes
PDF
Building infrastructure as code using Terraform - DevOps Krakow
PDF
An Introduction to Kubernetes
PDF
Getting Started with Kubernetes
PPTX
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
PDF
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
PDF
Introduction to Kubernetes Workshop
PDF
Terraform in deployment pipeline
PDF
Best Practices with Azure Kubernetes Services
PDF
Autoscaling Kubernetes
Infrastructure & System Monitoring using Prometheus
Kubernetes dealing with storage and persistence
Azure kubernetes service (aks)
Kubernetes 101
OpenShift 4, the smarter Kubernetes platform
Kubernetes Architecture
An overview of the Kubernetes architecture
Introduction to Kubernetes
K8s in 3h - Kubernetes Fundamentals Training
Kubernetes
Building infrastructure as code using Terraform - DevOps Krakow
An Introduction to Kubernetes
Getting Started with Kubernetes
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
Introduction to Kubernetes Workshop
Terraform in deployment pipeline
Best Practices with Azure Kubernetes Services
Autoscaling Kubernetes
Ad

Similar to Monitoring kubernetes with prometheus (20)

PDF
Monitoring on Kubernetes using Prometheus - Chandresh
PPTX
Monitoring on Kubernetes using prometheus
PDF
Download full Managing Kubernetes operating Kubernetes clusters in the real w...
PDF
Monitoring Kubernetes with Prometheus
PDF
Monitoring a Kubernetes-backed microservice architecture with Prometheus
PPTX
Hands-on monitoring with Prometheus
PDF
Deploying PostgreSQL on Kubernetes
PDF
Monitoring Kubernetes with Prometheus
PDF
Nex clipper 1905_summary_eng
PDF
Kubernetes Basics - ICP Workshop Batch II
PPTX
A brief study on Kubernetes and its components
PDF
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
PDF
LISA2017 Kubernetes: Hit the Ground Running
PDF
Kubernetes for Java developers
PDF
Build cloud native solution using open source
PDF
Kubecon seattle 2018 workshop slides
PDF
Presentación11.pdf
PDF
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
PPTX
Introduction to Kubernetes
PDF
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
Monitoring on Kubernetes using Prometheus - Chandresh
Monitoring on Kubernetes using prometheus
Download full Managing Kubernetes operating Kubernetes clusters in the real w...
Monitoring Kubernetes with Prometheus
Monitoring a Kubernetes-backed microservice architecture with Prometheus
Hands-on monitoring with Prometheus
Deploying PostgreSQL on Kubernetes
Monitoring Kubernetes with Prometheus
Nex clipper 1905_summary_eng
Kubernetes Basics - ICP Workshop Batch II
A brief study on Kubernetes and its components
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)
LISA2017 Kubernetes: Hit the Ground Running
Kubernetes for Java developers
Build cloud native solution using open source
Kubecon seattle 2018 workshop slides
Presentación11.pdf
DevOpsDays Houston 2019 - Terry Shea - Centralizing Kubernetes Operations
Introduction to Kubernetes
OSMC 2022 | Ignite: Observability with Grafana & Prometheus for Kafka on Kube...
Ad

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Spectroscopy.pptx food analysis technology
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
Review of recent advances in non-invasive hemoglobin estimation
Building Integrated photovoltaic BIPV_UPV.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Empathic Computing: Creating Shared Understanding
Spectroscopy.pptx food analysis technology
Spectral efficient network and resource selection model in 5G networks
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
sap open course for s4hana steps from ECC to s4
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
Unlocking AI with Model Context Protocol (MCP)

Monitoring kubernetes with prometheus