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
KibanaではじめるDashboard
Search
Harukasan
PRO
September 10, 2014
Technology
1
5.7k
KibanaではじめるDashboard
KibanaではじめるDashboard
サーバ/インフラ養成読本 ログ収集可視化編 / 2014-09-08
Harukasan
PRO
September 10, 2014
Tweet
Share
More Decks by Harukasan
See All by Harukasan
Successor to PicoRabbit: Ruby Programming Envorinment / RubyKaigi 2025 follow up
harukasan
PRO
1
220
Write your own mrbgem, Create your own device
harukasan
PRO
1
230
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
630
pixivを支える技術 / 技育CAMPアカデミア
harukasan
PRO
3
550
20240401 新卒研修 - ピクシブにおける技術領域
harukasan
PRO
1
890
ピクシブのコンテンツ配信基盤技術 / pixiv TECH SALON
harukasan
PRO
5
5.8k
Goにおける画像ファイル処理 / golang.tokyo #19
harukasan
PRO
7
6.8k
WebRTC動画をトランスコードする / Transcoding video streams from WebRTC
harukasan
PRO
5
1.6k
ImageFluxを支えるリモート開発 / 20171202
harukasan
PRO
2
1.9k
Other Decks in Technology
See All in Technology
AWS Amplify Conference 2026 - 仕様からリリースまで一気通貫生成 AI 時代のフルスタック開発
inariku
3
390
「AIでできますか?」から「Agentを作ってみました」へ ~「理論上わかる」と「やってみる」の隔たりを埋める方法
applism118
5
4.1k
CodeRabbit CLI + Claude Codeの連携について
oikon48
1
650
Exadata Database Service ソフトウェアのアップデートとアップグレードの概要
oracle4engineer
PRO
1
1.2k
Vivre en Bitcoin : le tutoriel que votre banquier ne veut pas que vous voyiez
rlifchitz
0
360
ReproでのicebergのStreaming Writeの検証と実運用にむけた取り組み
joker1007
0
450
BiDiってなんだ?
tomorrowkey
2
490
VRTと真面目に向き合う
hiragram
1
490
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
3
780
メルカリのAI活用を支えるAIセキュリティ
s3h
6
3.7k
AI開発をスケールさせるデータ中心の仕組みづくり
kzykmyzw
0
160
Kaggleコンペティション「MABe Challenge - Social Action Recognition in Mice」振り返り
yu4u
1
760
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
130
Are puppies a ranking factor?
jonoalderson
1
2.6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
280
Color Theory Basics | Prateek | Gurzu
gurzu
0
190
Faster Mobile Websites
deanohume
310
31k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
57
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
110
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
KibanaͰ͡ΊΔDashboard Harukasan / MICHII Shunsuke 2014-09-08 サーバ/インフラエンジニア養成読本 ログ収集〜可視化編 出版記念!執筆者が語る大講演会!
Harukasan / MICHII Shunsuke Infrastructure team in pixiv Inc. since
2012 ! Works Contents Delivery / Monitoring / Server Management Server side infrastructure nginx / Apache TrafficServer / PHP / Ruby Data Analytics Fluentd / Kibana / Google BigQuery @harukasan shunsuke.michii
Agenda • pixivʹ͓͚Δσʔλੳ • DashboardΛͭ͘Ζ͏ • ͔ͭͬͯ͘Βͷ͜ͱ
None
pixiv ͜͜ʹpixivͷઆ໌͕ೖΔ ʮ͓ֆ͔͖͕ͬͱָ͘͠ͳΔॴʯΛࢦ͍ͯ͠Δ ΠϥετίϛϡχέʔγϣϯαʔϏε
pixivʹ͓͚Δσʔλੳ
pixivͷ։ൃαΠΫϧ • σϓϩΠճ: ฏۉ17ճ/ • ຖिͳʹ͔͠Β৽͍͠ػೳ͕ϦϦʔε͞ΕΔ • ৽͍͠ػೳͷޮՌΛݕূ͍ͨ͠ • ࢥ͍͕͚ͳ͍มԽ͕ͳ͍͔
pixivʹ͓͚Δσʔλੳ • άϩʔενʔϜ • αʔϏεͷάϩʔεͷͨΊʹͳΜͰΔ • ༷ʑͳࢪࡦͷݕূͷͨΊʹϩάΛ༻͍ͯ͠Δ ! • pixivͰ࣮ࡍʹى͍ͬͯ͜Δ͜ͱΛௐΔ
• ͲͷΑ͏ͳΠϥετ͕Ӿཡ͞Ε͍ͯΔ͔ • ͲͷΑ͏ͳݕࡧ͕ߦΘΕ͍ͯΔ͔
pixivʹ͓͚Δσʔλੳ • ։ൃνʔϜ • σʔλੳܧଓతσϦόϦʔͷखஈ • ػೳΛϦϦʔεͨ͠ͱ͖ʹςετ͢Δ • ਖ਼͍࣮͕͠ߦ͑ͨͷ͔ •
༧֎ͷޮՌ͕ͳ͍ͷ͔
pixivʹ͓͚Δσʔλੳ • ͳͥՄࢹԽΛ͡Ίͨͷ͔ • ࣾͰFluentd/MongoͰՄࢹԽπʔϧΛͭͬͨ͘ • ܾ·ͬͨΛه͚ͭͮ͠Δ • ͦΕͳΓʹΘΕ͍ͯͨ
pixivʹ͓͚Δσʔλੳ • ;ͱKibanaΛΔ • ͳΜ͔͓͠Ζͦ͏ • σʔλΛྲྀ͠ࠐΜͰΈΔͱ݁ߏ͓͠Ζ͍ • ͦͷ͏ͪଞͷਓ͕͍࢝Ίͨ •
ো͕ى͜ΔͱౖΒΕΔΑ͏ʹͳͬͨ
pixivʹ͓͚Δσʔλੳ • fluent-plugin-elasticsearch͔Βlogstash-*Ҏ֎ͷ ΠϯσοΫεʹग़ྗग़དྷΔΑ͏ʹͨ͠ • ͳͥlogstash_prefixͱ͍͏໊લʹͯ͠͠·ͬͨͷ͔……
Kibana
Query/Filter and Panels • Query: ϩάΛݕࡧ • Filter: ͯ͢ͷΫΤϦʹద༻͞ΕΔ •
Panel: ΫΤϦͷݕࡧ݁ՌΛ༷ʑͳํ๏Ͱදࣔ͢Δ
• ຊͰͨ͘͞Μઆ໌ͨ͠ Panels
Dashboard
Dashboard • ݟ͍͕ͨ1ը໘ʹऩ·͍ͬͯΔ • 1ͭͷσʔλʹରͯ͠ෳͷ໘͔Βੳ͢Δ • ຖ/ຖिܧଓͯ͠มԽΛݟΔ͜ͱ͕ग़དྷΔ • ͜ͷσʔλʹ͍ͭͯݟΔʹ͜ͷը໘ΛݟΕྑ͍ !
• ΠϯϑϥΤϯδχΞ։ൃऀ͕༻͍ͯͨ͠ ϩάσʔλʹ୭ͰΞΫηεͰ͖ΔΑ͏ʹ͢Δ
ྫ͑
ྫ͑ • ελϯϓػೳՃͷࡍʹͭ͘ΒΕͨ • ͲͷΑ͏ͳ༻్ͰΘΕ͍ͯΔ͔ • ίϝϯτʹͲͷΑ͏ͳมԽ͕͔͋ͬͨ • ຖिϛʔςΟϯά࣌ʹ֬ೝ͢Δ
DashboardΛͭ͘Ζ͏
༻ҙ͢Δͷ • దͳαʔό: SSD 256GBx3/ϝϞϦ32GB • 5,000,000 records/day ·Ͱ༨༟ •
EFKελοΫ • Elasticsearch • Fluentd • Kibana • ϩάϑΝΠϧ • ۭ͖࣌ؒ
ͭ͘Γ͔ͨ 1. ElasticsearchΛηοτΞοϓ 2. FluentdͰϩάΛૹΓ࢝ΊΔ 3. μογϡϘʔυΛͭ͘Δ Elasticsearch Fluentd
Application Load Balancer Database ΞΫηεϩά Πϕϯτϩά ੜσʔλ Τϥʔϩά
Ͳ͏͍͏ϩάΛ͏͔ • αʔόʹอଘ͞Ε͍ͯΔΠϕϯτϩά • ूܭࡁΈͷσʔλ͍͠ • ΠϯϑϥνʔϜͱ͕ه͍ͯͨ͠ϩάΛଞͷ༻్ʹ͑ΔΑ͏ʹ ΞΫηεϩά • ϦΫΤετͨ͠URL
• ૹ৴ݩIPΞυϨε • ϨεϙϯελΠϜ/ϦΫΤετॲཧ࣌ؒ ! Πϕϯτϩά • Ϣʔβ͕ߦͬͨΠϕϯτ(ϩάΠϯ/ߘ/ϒοΫϚʔΫ)ͷৄࡉใ • ΠϕϯτͷछྨຖʹߏԽ͞Ε͍ͯΔ • ࠷ॳʹՄࢹԽը໘Λͭͬͨ͘ͱ͖ʹ༻ҙͨ͠
Πϕϯτϩά • ༧ΊߏԽσʔλ͕͋Δͱศར • ͱͱੳπʔϧ༻ͷϩά͕͋ͬͨ ! • type • ϦΫΤετใ
• ϦϞʔτΞυϨε • UA • ϦϑΝϥ • ࠃใ • Πϕϯτͷৄࡉ • ରίϯςϯτͷID
มॲཧ • FluentdͰ࠷ݶͷมॲཧΛߦ͓ͬͯ͘ • ूܭॲཧߦΘͳ͍ ! fluent-plugin-geoip • IPΞυϨεΛࠃใʹม͢Δ fluent-plugin-rewrite-tag-filter
• ϩάͷग़ྗઌΠϯσοΫεΛৼΓ͚Δ • ෆඞཁͳϩάΛল͘
DashboardΛͭ͘Δ ͖ͬ͞ͷίϝϯτμογϡϘʔυΛྫʹߟ͑Δ ! 1. جຊHistogramͱTable 2. ϩάΛϑΟϧλϦϯά 3. ͱΓ͋͑ͣదʹ͍ΖΜͳύωϧΛฒΔ 4.
Share͢Δ
Histogram / Table • ώετάϥϜͱςʔϒϧΛஔ͍͚ͨͩ • ·ͣϑΟϧλϦϯάͯ͠ίϝϯτؔ࿈ͷσʔλΛநग़
σϓϩΠΛه͢Δ • σϓϩΠεΫϦϓτʹ1ߦՃ͢Δ͚ͩ • σϓϩΠޙʹͲͷΑ͏ͳมԽ͕͔͋ͬͨΘ͔Γ͍͢ curl -XPOST -H 'Content-type: text/json'
http://localhost:9200/deploy/deploy/ -d "{'project':'pixiv', '@timestamp':'$(date +"%Y-%m-%dT%H:%I:%S%z")', 'message':'tag'}"
Terms • ؾʹͳ͍ͬͯΔΛूܭ্ͯ͠ҐN݅Λදࣔ • άϥϑɾԁάϥϑͰදࣔͰ͖Δ • TableܗࣜͩͱϘλϯͰϑΟϧλϦϯάͰ͖Δ
Text • MarkdownͰςΩετΛॻ͚Δ • ҙࣄ߲ͱ͔ɺຌྫͱ͔Λද͓ࣔͯ͘͠ • Ͳ͏͍͏σʔλ͔ɺͲ͏͍͏͍ํΛ͢Δ͔
͔ͭͬͯ͘Βͷ͜ͱ
Share͢Δ • ShareϘλϯͰҰ࣌URLΛੜͯ͠νϟοτͱ͔ʹషΔ • ͪΌΜͱग़དྷͨΒอଘͯٞ͠ࣄͱ͔ʹష͓ͬͯ͘
͔ͭͬͯ͘Βͷ͜ͱ • ຖ/ຖि࣌ؒΛͱͬͯมԽΛ؍͢Δ • ͨͩϦϯΫΛΔ͚ͩͩͱ୭ݟͯ͘Εͳ͍ • ΈΜͳͰมԽʹ͍ͭͯٞ͢Δ࣌ؒΛͭ͘Δ • ৽͍͠վળํ๏ΞΠσΞʹͭͳ͕Δ •
ՄࢹԽج൫ʹର͍ͯ͠ΖΜͳจ͕۟Ͱͯ͘Δ
ͬͯΔͱग़ͯ͘Δ • PVΛͦͷ··ಥͬࠐΉͱܭࢉϦιʔε͕Γͳ͘ͳΔ • TermsɺTrendsͷύωϧΛฒΔͱ͔ͳΓॏ͍ • ظؒʹΔσʔλΛ͍͍ͨ • ෳࡶͳूܭॲཧϑΟϧλϦϯάΛ͍͍ͨ
Kibana with BigQuery • BigQueryͰूܭ/ϑΟϧλϦϯάΛߦ͏ • σʔλΛBulk APIͰElasticsearchʹग़ྗ • JenkinsΛͬͯఆظతʹ࣮ߦ͢Δ
Elasticsearch Fluentd Google BigQuery Jenkins
ଞͷੳπʔϧΛ͏ • ·ͣKibanaͰ͡ΊͯΈΔ • िؒͷσʔλͰ͋Ε؆୯ʹՄࢹԽͰ͖Δ • Kibana͕ۤखͳ͜ͱΘ͔ͬͯ͘Δ • ͨ͘͞Μͷ࣠ʹΔ౷ܭใ •
ظؒʹΔσʔλ • େྔͷσʔλͷूܭॲཧ • KibanaͷͨΊʹͭͬͨ͘ΠϯϑϥΛଞͷπʔϧʹల։
ଞͷੳπʔϧʹల։ Elasticsearch Fluentd Google BigQuery Jenkins Tableau HRForecast
·ͱΊ • ͱΓ͋͑ͣKibanaΛ͍࢝ΊͯΈΔ • ՄࢹԽΛ͡ΊΔͱ͍ΖΜͳ͕ग़ͯ͘Δ • αʔϏεʹ͓͚Δʹ͋ΘͤͯੳπʔϧΛల։