SlideShare a Scribd company logo
1 of 38
Download to read offline
Monitoring in a Serverless
World
Colin Douch
Cloudflare Observability
OSMC 2022 |
@sinkingpoint |
@colind@hachydermio
In the beginning, life was good
These SaaS providers decided to invent Serverless Computing one day, and now we
have to support the Observability infrastructure
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Serverless At Cloudflare
We made a thing
And then we started
using it…
OSMC 2022 | @sinkingpoint | @colind@hachydermio
A Quick Introduction
Hi! I’m Colin
Observability Lead @ Cloudflare
Incorrectly thinks that COBOL is
a decent language
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Not British
Metrics
Logs
Traces
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Metrics!
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Prometheus:
Innovative,
Useful
The downside of Prometheus
Prometheus:
Innovative,
Useful,
Opinionated
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Your system can be discovered and scraped
You have to wait
for Prometheus to
talk to you
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Your system can expose metrics over the network
Prometheus needs to be able
to pull your metrics
- Your metrics need to be
exposed over HTTP
(generally…)
- And it needs to be
reachable over the network
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Your system can do its own aggregation
What if your
service only ever
processes one
request?
Credit: Wikipedia
OSMC 2022 | @sinkingpoint | @colind@hachydermio
# TYPE slide SUMMARY
OSMC 2022 | @sinkingpoint | @colind@hachydermio
We did a survey!
- What sort of metrics do our
teams actually use?
- Do teams actually use
aggregation?
- What sort of semantics do they
need?
OSMC 2022 | @sinkingpoint | @colind@hachydermio
What We Found: 😱
OSMC 2022 | @sinkingpoint | @colind@hachydermio
What we found: Counters
Numbers that sum
together
- Request counts
- Error counts
OSMC 2022 | @sinkingpoint | @colind@hachydermio
What we found: Gauges
Numbers that go
up and down
- Memory usage
- Request Times
OSMC 2022 | @sinkingpoint | @colind@hachydermio
What we found: Histograms / Summaries
Deceptively hard.
- What happens when
you need to merge
buckets?
- What happens when
you get a summary
OSMC 2022 | @sinkingpoint | @colind@hachydermio
What we found: Info metrics
Metrics that replace
the entire metric family
when a new label set
comes in
- Version metrics
- Enums
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Some prior art
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Push Gateway
https://github.com/prometheus/pushgateway
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Usually, the only valid use case for the
Pushgateway is for capturing the outcome
of a service-level batch job.
Aggregation Gateway
https://github.com/weaveworks/prom-
aggregation-gateway
OSMC 2022 | @sinkingpoint | @colind@hachydermio
An Internal Bespoke thing
Let’s just stitch the
two things together
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Something Event Based?
We could leave Text Exposition
behind entirely
Events2prom, Cleodora
OSMC 2022 | @sinkingpoint | @colind@hachydermio
What we came up with
OSMC 2022 | @sinkingpoint | @colind@hachydermio
The Gravel Gateway
https://github.com/sinkingpoint/gravel-
gateway
Credit: Wikipedia
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Some functional requirements
1. Accept pushes, like the Push
Gateway
2. Aggregate like the Aggregation
Gateway
3. Aggregate with all our identified
semantics
OSMC 2022 | @sinkingpoint | @colind@hachydermio
“How do we
express all the
semantics we
need, in the limited
amount of space
we have”?
OSMC 2022 | @sinkingpoint | @colind@hachydermio
# TYPE go_threads gauge
go_threads 13
# TYPE build_info
build_info{go_version="1.18",version="2022.2.1"} 1
That’s easy: We Cheat
Let’s smuggle semantic information
in the labels!
🤫
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Introducing the “Clear Mode Label”
wshim_build_info{go_version=”1.18”,clear_mode=”info”}
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Summing
wshim_request_count{clear_mode=”sum”} 1
wshim_request_count{clear_mode=”sum”} 1
wshim_request_count 2
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Info Metrics
wshim_info{version=”1.1”,go_version=”1.18”} 1
OSMC 2022 | @sinkingpoint | @colind@hachydermio
wshim_info{version=”1.0”,go_version=”1.17,clear_mode=”family”} 1
wshim_info{version=”1.1”,go_version=”1.18”,clear_mode=”family”} 1
Means/Medians
wshim_memory_usage_bytes{clear_mode=”mean5m”} 0
wshim_memory_usage_bytes{clear_mode=”mean5m”} 5
wshim_memory_usage_bytes{clear_mode=”mean5m”} 10
wshim_memory_usage_bytes 5
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Compatibility with existing client libraries
OSMC 2022 | @sinkingpoint | @colind@hachydermio
How this looks in practice
const { Pushgateway, register } = require('prom-client')
const pushGw = new Pushgateway(
'https://gravel.sinkingpoint.com',
register
);
const counter = new client.Counter({name: 'requests'});
counter.inc();
const info = new client.Gauge({name: 'info'});
info.set(1, {'clear_mode': 'family', 'version': '1.0'});
pushGw.push({ jobName: 'test' }, (err, resp, body) => {});
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Looking Forward to the Future
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Where Gravel Gateway goes from here
Credit: Wikipedia
OSMC 2022 | @sinkingpoint | @colind@hachydermio
- More work on scaling
- More interesting
aggregations
- Rewriting pebbles
Open Metrics
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Cleodora and the shift towards Open Telemetry
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Thanks!
OSMC 2022 | @sinkingpoint | @colind@hachydermio
Slides: https://colindou.ch/slides
Code: https://github.com/sinkingpoint/gravel-gateway
Want to chat, or tell me how bad of a person I am?
@colind@hachyderm.io
iam@colindou.ch
In the hallway, after this
Slides ^
Code v

More Related Content

Similar to OSMC 2022 | Monitoring in a Serverless World by Colin Douch

Open API Specification - SiliconValley Code camp 2017 session @siddiqimuhammad
Open API Specification - SiliconValley Code camp 2017 session @siddiqimuhammadOpen API Specification - SiliconValley Code camp 2017 session @siddiqimuhammad
Open API Specification - SiliconValley Code camp 2017 session @siddiqimuhammadMuhammad Siddiqi
 
Starting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackStarting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackMongoDB
 
Website Migration Best Practices - Sukhjinder Singh - Brighton SEO - April 2022
Website Migration Best Practices  - Sukhjinder Singh - Brighton SEO - April 2022Website Migration Best Practices  - Sukhjinder Singh - Brighton SEO - April 2022
Website Migration Best Practices - Sukhjinder Singh - Brighton SEO - April 2022I Do SEO
 
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdfSupply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdfBrij Consulting, LLC
 
VisibleThread - 3 GovCon Tech Trends 2021
VisibleThread - 3 GovCon Tech Trends 2021VisibleThread - 3 GovCon Tech Trends 2021
VisibleThread - 3 GovCon Tech Trends 2021VisibleThread
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema DesignJoe Drumgoole
 
EveryCook Story for 29C3 Hacker Convention
EveryCook Story for 29C3 Hacker ConventionEveryCook Story for 29C3 Hacker Convention
EveryCook Story for 29C3 Hacker ConventionAlexis Wiasmitinow
 
A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...
A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...
A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...Submer Immersion Cooling
 
Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15
Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15
Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15Andy McIlwain
 
London Ruby User Group - Application Example based on Gov.uk public code
London Ruby User Group - Application Example based on Gov.uk public codeLondon Ruby User Group - Application Example based on Gov.uk public code
London Ruby User Group - Application Example based on Gov.uk public codeJairo Diaz
 
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...PROIDEA
 
Crosswalk Introduction CSI National Sept. 23rd, 2021
Crosswalk Introduction CSI National Sept. 23rd, 2021Crosswalk Introduction CSI National Sept. 23rd, 2021
Crosswalk Introduction CSI National Sept. 23rd, 2021Hugh Seaton
 
Design and emulation tools for serverless edge computing
Design and emulation tools for serverless edge computingDesign and emulation tools for serverless edge computing
Design and emulation tools for serverless edge computingIIT CNR
 
4th Qatar BIM User Day, BIM Solutions and Strategies
4th Qatar BIM User Day, BIM Solutions and Strategies4th Qatar BIM User Day, BIM Solutions and Strategies
4th Qatar BIM User Day, BIM Solutions and StrategiesBIM User Day
 
Microservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shippedMicroservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shippedCatalin Jora
 
Supply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdfSupply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdfBrij Consulting, LLC
 
From Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product AgilityFrom Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product AgilityCprime
 

Similar to OSMC 2022 | Monitoring in a Serverless World by Colin Douch (20)

Open API Specification - SiliconValley Code camp 2017 session @siddiqimuhammad
Open API Specification - SiliconValley Code camp 2017 session @siddiqimuhammadOpen API Specification - SiliconValley Code camp 2017 session @siddiqimuhammad
Open API Specification - SiliconValley Code camp 2017 session @siddiqimuhammad
 
Starting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN StackStarting from Scratch with the MEAN Stack
Starting from Scratch with the MEAN Stack
 
Website Migration Best Practices - Sukhjinder Singh - Brighton SEO - April 2022
Website Migration Best Practices  - Sukhjinder Singh - Brighton SEO - April 2022Website Migration Best Practices  - Sukhjinder Singh - Brighton SEO - April 2022
Website Migration Best Practices - Sukhjinder Singh - Brighton SEO - April 2022
 
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdfSupply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
 
VisibleThread - 3 GovCon Tech Trends 2021
VisibleThread - 3 GovCon Tech Trends 2021VisibleThread - 3 GovCon Tech Trends 2021
VisibleThread - 3 GovCon Tech Trends 2021
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema Design
 
EveryCook Story for 29C3 Hacker Convention
EveryCook Story for 29C3 Hacker ConventionEveryCook Story for 29C3 Hacker Convention
EveryCook Story for 29C3 Hacker Convention
 
A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...
A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...
A retrospective of 2019 and what to expect from Submer and Immersion Cooling ...
 
Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15
Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15
Crafting Custom CSS @ PodCamp Toronto 2015 #PCTO15
 
London Ruby User Group - Application Example based on Gov.uk public code
London Ruby User Group - Application Example based on Gov.uk public codeLondon Ruby User Group - Application Example based on Gov.uk public code
London Ruby User Group - Application Example based on Gov.uk public code
 
Milestones, SHUV, Roadmaps - Oh My!
Milestones, SHUV, Roadmaps - Oh My!Milestones, SHUV, Roadmaps - Oh My!
Milestones, SHUV, Roadmaps - Oh My!
 
Milestones, SHUV, Roadmaps - Oh My!
Milestones, SHUV, Roadmaps - Oh My!Milestones, SHUV, Roadmaps - Oh My!
Milestones, SHUV, Roadmaps - Oh My!
 
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...Atmosphere 2016 - Catalin Jora -  Microservices continuous delivery with MANT...
Atmosphere 2016 - Catalin Jora - Microservices continuous delivery with MANT...
 
Crosswalk Introduction CSI National Sept. 23rd, 2021
Crosswalk Introduction CSI National Sept. 23rd, 2021Crosswalk Introduction CSI National Sept. 23rd, 2021
Crosswalk Introduction CSI National Sept. 23rd, 2021
 
Design and emulation tools for serverless edge computing
Design and emulation tools for serverless edge computingDesign and emulation tools for serverless edge computing
Design and emulation tools for serverless edge computing
 
4th Qatar BIM User Day, BIM Solutions and Strategies
4th Qatar BIM User Day, BIM Solutions and Strategies4th Qatar BIM User Day, BIM Solutions and Strategies
4th Qatar BIM User Day, BIM Solutions and Strategies
 
Kaedim
KaedimKaedim
Kaedim
 
Microservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shippedMicroservices continuous delivery with mantl & shipped
Microservices continuous delivery with mantl & shipped
 
Supply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdfSupply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdf
 
From Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product AgilityFrom Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product Agility
 

Recently uploaded

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
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-...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

OSMC 2022 | Monitoring in a Serverless World by Colin Douch

  • 1. Monitoring in a Serverless World Colin Douch Cloudflare Observability OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 2. In the beginning, life was good These SaaS providers decided to invent Serverless Computing one day, and now we have to support the Observability infrastructure OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 3. Serverless At Cloudflare We made a thing And then we started using it… OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 4. A Quick Introduction Hi! I’m Colin Observability Lead @ Cloudflare Incorrectly thinks that COBOL is a decent language OSMC 2022 | @sinkingpoint | @colind@hachydermio Not British
  • 5. Metrics Logs Traces OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 6. Metrics! OSMC 2022 | @sinkingpoint | @colind@hachydermio Prometheus: Innovative, Useful
  • 7. The downside of Prometheus Prometheus: Innovative, Useful, Opinionated OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 8. Your system can be discovered and scraped You have to wait for Prometheus to talk to you OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 9. Your system can expose metrics over the network Prometheus needs to be able to pull your metrics - Your metrics need to be exposed over HTTP (generally…) - And it needs to be reachable over the network OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 10. Your system can do its own aggregation What if your service only ever processes one request? Credit: Wikipedia OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 11. # TYPE slide SUMMARY OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 12. We did a survey! - What sort of metrics do our teams actually use? - Do teams actually use aggregation? - What sort of semantics do they need? OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 13. What We Found: 😱 OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 14. What we found: Counters Numbers that sum together - Request counts - Error counts OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 15. What we found: Gauges Numbers that go up and down - Memory usage - Request Times OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 16. What we found: Histograms / Summaries Deceptively hard. - What happens when you need to merge buckets? - What happens when you get a summary OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 17. What we found: Info metrics Metrics that replace the entire metric family when a new label set comes in - Version metrics - Enums OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 18. Some prior art OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 19. Push Gateway https://github.com/prometheus/pushgateway OSMC 2022 | @sinkingpoint | @colind@hachydermio Usually, the only valid use case for the Pushgateway is for capturing the outcome of a service-level batch job.
  • 21. An Internal Bespoke thing Let’s just stitch the two things together OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 22. Something Event Based? We could leave Text Exposition behind entirely Events2prom, Cleodora OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 23. What we came up with OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 24. The Gravel Gateway https://github.com/sinkingpoint/gravel- gateway Credit: Wikipedia OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 25. Some functional requirements 1. Accept pushes, like the Push Gateway 2. Aggregate like the Aggregation Gateway 3. Aggregate with all our identified semantics OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 26. “How do we express all the semantics we need, in the limited amount of space we have”? OSMC 2022 | @sinkingpoint | @colind@hachydermio # TYPE go_threads gauge go_threads 13 # TYPE build_info build_info{go_version="1.18",version="2022.2.1"} 1
  • 27. That’s easy: We Cheat Let’s smuggle semantic information in the labels! 🤫 OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 28. Introducing the “Clear Mode Label” wshim_build_info{go_version=”1.18”,clear_mode=”info”} OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 30. Info Metrics wshim_info{version=”1.1”,go_version=”1.18”} 1 OSMC 2022 | @sinkingpoint | @colind@hachydermio wshim_info{version=”1.0”,go_version=”1.17,clear_mode=”family”} 1 wshim_info{version=”1.1”,go_version=”1.18”,clear_mode=”family”} 1
  • 32. Compatibility with existing client libraries OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 33. How this looks in practice const { Pushgateway, register } = require('prom-client') const pushGw = new Pushgateway( 'https://gravel.sinkingpoint.com', register ); const counter = new client.Counter({name: 'requests'}); counter.inc(); const info = new client.Gauge({name: 'info'}); info.set(1, {'clear_mode': 'family', 'version': '1.0'}); pushGw.push({ jobName: 'test' }, (err, resp, body) => {}); OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 34. Looking Forward to the Future OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 35. Where Gravel Gateway goes from here Credit: Wikipedia OSMC 2022 | @sinkingpoint | @colind@hachydermio - More work on scaling - More interesting aggregations - Rewriting pebbles
  • 36. Open Metrics OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 37. Cleodora and the shift towards Open Telemetry OSMC 2022 | @sinkingpoint | @colind@hachydermio
  • 38. Thanks! OSMC 2022 | @sinkingpoint | @colind@hachydermio Slides: https://colindou.ch/slides Code: https://github.com/sinkingpoint/gravel-gateway Want to chat, or tell me how bad of a person I am? @colind@hachyderm.io iam@colindou.ch In the hallway, after this Slides ^ Code v