Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
210
Write your own mrbgem, Create your own device
harukasan
PRO
1
200
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
600
pixivを支える技術 / 技育CAMPアカデミア
harukasan
PRO
3
540
20240401 新卒研修 - ピクシブにおける技術領域
harukasan
PRO
1
880
ピクシブのコンテンツ配信基盤技術 / pixiv TECH SALON
harukasan
PRO
5
5.8k
Goにおける画像ファイル処理 / golang.tokyo #19
harukasan
PRO
7
6.7k
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
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
420
Next.js 16の新機能 Cache Components について
sutetotanuki
0
190
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
480
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
9
4.3k
Identity Management for Agentic AI 解説
fujie
0
490
障害対応訓練、その前に
coconala_engineer
0
200
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
330
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
140
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.4k
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
130
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
390
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
220
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
0
640
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
Prompt Engineering for Job Search
mfonobong
0
130
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
46
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
44k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
97
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Λ͍࢝ΊͯΈΔ • ՄࢹԽΛ͡ΊΔͱ͍ΖΜͳ͕ग़ͯ͘Δ • αʔϏεʹ͓͚Δʹ͋ΘͤͯੳπʔϧΛల։