$30 off During Our Annual Pro Sale. View Details »
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
【ServiceNow SNUG Meetup LT deck】WorkFlow Editorの廃止と Flow Designerへの移行戦略
niwato
0
120
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
130
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.1k
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.1k
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
330
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
17
7.3k
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
250
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
230
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
240
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
180
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
日本Rubyの会: これまでとこれから
snoozer05
PRO
5
220
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
0
36
Claude Code のすすめ
schroneko
65
200k
How to build a perfect <img>
jonoalderson
0
4.6k
Designing for Timeless Needs
cassininazir
0
87
How STYLIGHT went responsive
nonsquared
100
6k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
88
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
83
Prompt Engineering for Job Search
mfonobong
0
120
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
77
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
23
Exploring anti-patterns in Rails
aemeredith
2
200
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Λ͍࢝ΊͯΈΔ • ՄࢹԽΛ͡ΊΔͱ͍ΖΜͳ͕ग़ͯ͘Δ • αʔϏεʹ͓͚Δʹ͋ΘͤͯੳπʔϧΛల։