Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
InfluxDB + Prometheus
Search
Paul Dix
August 18, 2017
Programming
3.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
InfluxDB + Prometheus
Slides from my Promcon2017 talk on integrating InfluxDB and Prometheus.
Paul Dix
August 18, 2017
More Decks by Paul Dix
See All by Paul Dix
InfluxDB IOx Project Update - 2021-02-10
pauldix
0
280
InfluxDB IOx data lifecycle and object store persistence
pauldix
1
710
InfluxDB 2.0 and Flux
pauldix
1
790
Flux and InfluxDB 2.0
pauldix
1
1.5k
Querying Prometheus with Flux
pauldix
1
990
Flux (#fluxlang): a new (time series) data scripting language
pauldix
7
5.4k
At Scale, Everything is Hard
pauldix
2
760
IFQL and the future of InfluxData
pauldix
2
1.5k
Time series & monitoring with InfluxDB and the TICK stack
pauldix
0
510
Other Decks in Programming
See All in Programming
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
360
どこまでゆるくて許されるのか
tk3fftk
0
500
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
210
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
390
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.7k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
350
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
190
霧の中の代数的エフェクト
funnyycat
1
400
5分で問診!Composer セキュリティ健康診断
codmoninc
0
280
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
210
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Believing is Seeing
oripsolob
1
170
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
Leo the Paperboy
mayatellez
8
1.9k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Transcript
InfluxDB + Prometheus Paul Dix CTO @ InfluxData @pauldix paul@influxdb.com
Open Source Time Series Database
• OSS - MIT License • Written in Go •
SQL-ish query language • Time Series Merge Tree storage engine & inverted index • Commercial Enterprise - HA + Scale Out Clustering
Data Model Measurement cpu,host=serverA,num=1,region=west idle=1.667,system=2342.2 1492214400000000000 Tags Fields nanosecond epoch
float64, int64, bool, string uint64 in next release
Example Query select percentile(90, value) from cpu where time >
now() - 12h and “region” = ‘west’ group by time(10m), host
Process: • OSS - MIT License • Written in Go
• Process, monitor, alert, act/execute • TICK script • Streaming & Batch • Store data back into InfluxDB • User Defined Functions • Service Discovery & Pull
Collect: • OSS - MIT License • Written in Go
• Agent deployed across infrastructure • Input plugins - system, docker, postgres, mysql, cassandra, elastic, hadoop, redis, nginx, apache, etc. • Output plugins - InfluxDB, Graphite, Kafka, etc.
Why is a competitor at Promcon?
What is Prometheus?
Prometheus Server
Alert Manager
Exposition Format
Client Libraries • Supported • Go • Java • Python
• Ruby • Community • C++ • C# • Node.js • PHP • etc…
PromQL
API /api/v1/series /api/v1/label/<name>/values
Remote Read/Write API
Prometheus is more than just the server
Influx + Prometheus today
We’re embracing pull & push
Prometheus Scrape Targets Kapacitor
https://github.com/prometheus/prometheus/issues/2911 https://github.com/influxdata/prometheus_metric_normalizer
Remote Read/Write
Prometheus Config # Remote write configuration (for Graphite, OpenTSDB, or
InfluxDB). remote_write: - url: "http://localhost:9201/write" # Remote read configuration (for InfluxDB only at the moment). remote_read: - url: "http://localhost:9201/read"
metric -> measurement labels -> tags value -> only field
(float64)
Remote Read Protobuf over HTTP
Reads message Query { int64 start_timestamp_ms = 1; int64 end_timestamp_ms
= 2; repeated LabelMatcher matchers = 3; } enum MatchType { EQUAL = 0; NOT_EQUAL = 1; REGEX_MATCH = 2; REGEX_NO_MATCH = 3; } message LabelMatcher { MatchType type = 1; string name = 2; string value = 3; }
Remote Read JSON over HTTP
Unnecessary Overhead
Can we push down processing?
Influx + Prometheus future
First, pull remote gateway into InfluxDB!
Influx Data Model tags + value + time
Like Prometheus message Sample { double value = 1; int64
timestamp_ms = 2; } message LabelPair { string name = 1; string value = 2; } message TimeSeries { repeated LabelPair labels = 1; // Sorted by time, oldest sample first. repeated Sample samples = 2; }
metric is __name__ label
But we’ll continue to support int64, bool, string, and uint64
IFQL - (Influx Functional Query Language) select(database:"foo",where:{'metric'="requests"}) .range(start:-4h) .window(period:10m) .sum()
.interpolate(start:-4h,every:10m,value:{mean($)})
Decouple QL from Processing from Storage
None
DAG { "operations": [ { "id": "select", "kind": "select", "spec":
{ "database": "mydb" } }, { "id": "range", "kind": "range", "spec": { "start": "-4h", "stop": "now" } }, { "id": "sum", "kind": "sum" } ], "edges": [ { "parent": "select", "child": "range" }, { "parent": "range", "child": "sum" } ] } }
Pushdown Predicates
Opportunities to improve storage/remote?
Bulk Write
Long term storage and query for Prometheus SaaS & On-Premise
Thank you @pauldix paul@influxdb.com