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
Prometheusで監視・モニタリング #hackt
Search
Manabu Matsuzaki
September 11, 2016
Programming
3
1.1k
Prometheusで監視・モニタリング #hackt
Manabu Matsuzaki
September 11, 2016
Tweet
Share
More Decks by Manabu Matsuzaki
See All by Manabu Matsuzaki
Spring BootユーザのためのArmeria入門 #jsug / Introduce to Armeria for Spring users
matsumana
0
2.9k
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
matsumana
1
1.2k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
900
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
2.9k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.4k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
890
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.3k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
570
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.5k
Other Decks in Programming
See All in Programming
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
120
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
220
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
250
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
3.3k
旅行プランAIエージェント開発の裏側
ippo012
2
930
Testing Trophyは叫ばない
toms74209200
0
890
アセットのコンパイルについて
ojun9
0
130
AIでLINEスタンプを作ってみた
eycjur
1
230
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
4 Signs Your Business is Dying
shpigford
184
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Six Lessons from altMBA
skipperchong
28
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Gamification - CAS2011
davidbonilla
81
5.4k
Making Projects Easy
brettharned
117
6.4k
How STYLIGHT went responsive
nonsquared
100
5.8k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Why Our Code Smells
bkeepers
PRO
339
57k
Transcript
PrometheusͰ ࢹɾϞχλϦϯά Hacker Tackle 2016 2016/09/10 @matsumana
ࣗݾհ • ໊લɿ দ࡚ ֶ • Twitterɿ @matsumana • ৬ۀɿ
ιϑτΣΞΤϯδχΞ ʢϓϩάϥϚɺWebαʔϏεӡ༻ʣ
ΞδΣϯμ • Prometheusͷհ • ଞͷπʔϧͱͷൺֱ • promgenͷհ • exporterʹ͍ͭͯ
Ξϯέʔτ
ݱࡏԿΛͬͯ·͔͢ʁ • Nagios • Ganglia • Munin • Cacti •
Zabbix • AWS CloudWatch • Datadog • Mackerel • New Relic • ͦΕҎ֎
PrometheusͷࣄΛ ͬͯ·͔ͨ͠ʁ
Prometheusͱ • SoundCloud͕ࣾ։ൃ͠ɺOSSͱͯ͠ެ։͍ͯ͠ΔࢹɾϞχλϦϯάπʔϧ • ࠷ॳͷcommit2012/11/24 • 2016/07/18ʹ1.0.0ϦϦʔε (ࠓ࣌Ͱͷ࠷৽1.1.0) • ࠷্͕ۙঢத
• Prometheus Casual Talks @౦ژ → ࢀՃऀ100໊ • Prometheus Core Developer Björn Rabenstein Open Q&A @ϩϯυϯ ˠ ࢀՃऀ 27໊ • PromCon 2016 @ϕϧϦϯ → ࢀՃऀ 80໊
Prometheusͷػೳ • time series database (࣌ܥྻσʔλϕʔε) • ϝτϦΫεऩू & อଘ
• อଘͨ͠ϝτϦΫεʹର͢ΔΫΤϦ • ͖͍͠Λઃఆͯ͠ΞϥʔτΛඈ͢ • μογϡϘʔυ
Prometheusʹແ͍ػೳ • ੜϩά/Πϕϯτσʔλͷऩू (Elasticsearchͷ༷ͳ) • ϦΫΤετͷτϨʔγϯά (Zipkinͷ༷ͳ) • ػցֶशσʔλϚΠχϯάʹΑΔݕग़ •
ϝτϦΫεͷظอଘετϨʔδ • ࣗಈతͳਫฏεέʔϦϯά • Ϣʔβೝূ
ͦͷଞͷಛ • golangͰॻ͔Ε͍ͯΔ • pullܕ ࢹରϊʔυʹexportorΛΠϯετʔϧͯ͠Prometheus͔ΒϙʔϦϯά • Grafanaͱ࿈ܞՄೳ • PrometheusࣗମʹPromDashͱ͍͏μογϡϘʔυπʔϧ͕͋Δ͕ɺ
Grafanaͱͷ࿈ܞ͕ਪ • CNCF(Cloud Native Computing Foundation)ͷϓϩδΣΫτʹͳͬͨ • Kubernetesͱ౷߹Մೳ ※ͱݴͬͯDocker༻Ͱͳ͍ͷͰɺͪΖΜΦϯϓϨͰ͑Δ
ΞʔΩςΫνϟ
pros • Grafanaͱ࿈ܞग़དྷΔ • ΫΤϦ͕ॻ͚Δ • αʔόεϖοΫϝτϦΫεʹΑΔͱࢥ͏͕ 1ͷαʔόͰࢁͷϊʔυΛࢹͰ͖ΔΒ͍͠ • 1ͷαʔόͰ3,000ϊʔυ͘Β͍ࢹग़དྷΔΒ͍͠
• AWSͷ߹ɺ50ʙ100ϊʔυ͘Β͍ͳΒαʔόεϖοΫ t2.medium(CPU: 2Core, Mem: 4GB)ͰेΒ͍͠ • exportor͕๛ɻ͠ཉ͍͠ͷ͕ແ͚Ε؆୯ʹ࡞ΕΔ
cons • ໊લ͕ΞϨͳͷͰάάΓʹ͍͘ ʢөըɺΪϦγϟਆͷਆʣ • ΫΤϦͷॻ͖ํ͕Α͘Θ͔Βͳ͍ • ࢹରϊʔυͷՃઃఆϑΝΠϧʹॻ͍ͯ ϓϩηεΛ࠶ىಈʢGUI͕ͳ͍ʣ •
TimeZone͕GMT (GrafanaΛ͑ͳ͍)
ଞͷπʔϧͱͷൺֱ • ྫ͑Zabbixͱൺֱ͢ΔͱɺͲΜͳײ͡ʁ • γϯϓϧ ʘ(^o^)ʗ • ίϯϙʔωϯτ͕ૄ݁߹ͳͷɺ 1ͭͷαʔϏεͰϊʔυࢹ͢Δ͚ͩͳΒZabbixͷ༷ͳ ΦʔϧΠϯϫϯͷํ͕͍͍͔
(´ɾωɾʆ) • WebUIͰઃఆग़དྷͳ͍ (´ɾωɾʆ) • ϝϯςφϯε͕࣌ؒઃఆग़དྷͳ͍ (´ɾωɾʆ) • Ξϥʔτૹ৴ઌϝʔϧΞυϨεͷઃఆ͕ࡉ͔͘ग़དྷͳ͍ (´ɾωɾʆ)
Prometheus ྑ͍Μ͚ͩͲ ͦͷ··͏ͷ ݁ߏͭΒ͍
ͦ͜Ͱ
promgen • GitHubͰެ։த • https://github.com/line/promgen • WebUIͰઃఆ͕Մೳ
promgen Service
promgen Project
ΞʔΩςΫνϟ (࠶ܝ)
Prometheus w/ promgen
exporter
Α͍ͦ͘͏ͳexporter • Default port allocations Wikiࣗ༝ʹฤूՄೳɻศརͳexporterΛ࡞ͬͨΒొ͠Α͏ʂ • node_exporter • blackbox_exporter
• nginx_exporter • apache_exporter • mysqld_exporter • redis_exporter • memcached_exporter • jmx_exporter • zookeeper_exporter • elasticsearch_exporter
exporterͷ࡞Γํ • ΫϥΠΞϯτϥΠϒϥϦΛ͏ͱָ • client_java • client_golang • client_python •
client_ruby
exporterͷಈ࡞Πϝʔδ
exporterΛࢹରΞϓϦʹΈࠐΉࣄՄೳ
γϯϓϧͳ exporterͷιʔεΛྫʹ ࡞ΓํΛઆ໌͠·͢
σϞ • promgen • Prometheus • Grafana
ϦϯΫू • ΦϑΟγϟϧ • prometheus.io • Github Organization • YouTubeνϟϯωϧ
ʢPromConͷಈը͋Γʣ ← ͓͢͢Ί • Prometheus Casual Talks #1Λ։࠵͠·ͨ͠ • Prometheus London meetupͰLT͖ͯ͠·ͨ͠ • PromCon 2016ʹߦͬͯൃද͖ͯ͠·ͨ͠ • promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus casual