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
delightworks-tech-night-1
Search
Tomohiro Koike
March 07, 2019
Technology
2
1.6k
delightworks-tech-night-1
Tomohiro Koike
March 07, 2019
Tweet
Share
More Decks by Tomohiro Koike
See All by Tomohiro Koike
2023-10-31-SRE-MIXITECHTALK.pdf
tmkoikee
0
230
全社横断組織でのAWSコスト最適化への取り組み
tmkoikee
1
580
新規ゲームのリリース(開発)前からのSRE活動
tmkoikee
1
6.8k
モンスターストライクのマスターデータのローカライズ運用について / Operation of Monster-Strike master data localization /
tmkoikee
1
910
モンストのマルチクラウドについて / sre-lounge-at-xflag
tmkoikee
1
5.2k
モンスターストライク海外版でのSREの取り組み / xflag-studio-sre-in-global
tmkoikee
2
2.3k
Other Decks in Technology
See All in Technology
Cracking the KubeCon CfP
inductor
2
250
ServiceNow Knowledge Learning Rise up
manarobot
0
210
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
640
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
680
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
530
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
JSON攻略法.pdf
miyakemito
8
5.1k
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
170
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
2
280
反実仮想機械学習とは何か
usaito
PRO
11
4.7k
Featured
See All Featured
Code Review Best Practice
trishagee
55
15k
Visualization
eitanlees
136
14k
KATA
mclloyd
15
12k
Unsuck your backbone
ammeep
663
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Side Projects
sachag
451
41k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
78
43k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Transcript
ϞϯελʔετϥΠΫͷࢹπʔϧࠓੲޠ ʙ্רʙ ։ൃຊ෦ SREάϧʔϓ খ༟ גࣜձࣾϛΫγΟ
ࣗݾհ 2
ࣗݾհ ‣ࢯ໊ ‣খ༟ ‣ܦྺ ‣2008ϛΫγΟʹೖࣾ ‣SNSʮmixiʯͳͲͰΠϯϑϥɺγεςϜӡ༻ ‣ͦͷޙɺϞϯελʔετϥΠΫΛ͡Ίͱͨ͠ήʔϜΞϓϦͷӡ༻ ‣Ϟϯετ֤छαΠτɺࣾͰར༻͢ΔαʔϏεӡ༻πʔϧɺཧΠ ϯϑϥڥͷӡ༻ʑɺ෯͘ैࣄ ‣։ൃຊ෦
SRE άϧʔϓॴଐ 3
ϞϯελʔετϥΠΫ 4
ϞϯελʔετϥΠΫ ࣗͷϞϯελʔΛҾͬு͖ͬͯɺఢͷϞϯελʔʹ͍ͯͯͯ͘͠ͱ͍͏ɺεϚʔτϑΥϯͷಛੑΛ׆༻ͨ͠ɺ ୭Ͱ؆୯ʹָ͠ΊΔΞΫγϣϯRPGͰ͢ɻήʔϜλʔϯ੍Λͱ͓ͬͯΓɺ Ұॹʹ͍Δ༑ͩͪͱ࠷େ4ਓ·Ͱಉ࣌ʹ༡ΔڠྗϓϨΠʢϚϧνϓϨΠʣ͕ಛͰ͢ɻ 2013ͷ10݄ͷఏڙ։͔࢝Βݱࡏ※·Ͱͷੈքྦྷܭར༻ऀ4,900ສਓΛಥഁ※ 201812݄࣌ ʮੈքྦྷܭར༻ऀ 4,900ສਓΛಥഁͨ͠εϚϗΞϓϦʯ 5
͓͠ͳ͕͖ 6 ‣Ϟϯετͷαʔόߏ ‣ࢹγεςϜͷߏʹ͍ͭͯ ‣ࢮ׆ɾϝτϦοΫεࢹ ‣ΞϥʔτରԠ ‣·ͱΊ
αʔόߏ 7
αʔόߏ(γεςϜ) Unicorn memcached MariaDB Redis Fluetnd resque worker LoadBalancer 8
αʔόߏ(Πϯϑϥ) 9 ‣Քಇαʔόʔ ‣1,000 ‣ϚϧνΫϥυߏ ‣ΦϯϓϨαʔόʔͱΫϥυͷซ༻ ‣ࣗࣾDC 2ڌ ‣ύϒϦοΫΫϥυΛෳ
αʔόߏ DataCenter 1 •DB •memcached DataCenter 2 •DB •memcached 10
application Cloud1 application Cloud3 application Cloud4 application Cloud2
αʔόߏ 11 ‣Application ‣13,000 ʙ 26,000 core ‣DB ‣ཧϚγϯ150 1ηοτ
‣ͦΕͧΕͷDCʹஔ
ࢹγεςϜߏ 12
ࢹγεςϜ 13 ‣ࢮ׆ࢹ ‣ Nagios ‣ ϝτϦοΫεࢹ ‣ CloudForecast ‣
Kibana + elasticsearch ‣ Grafana + InfluxDB
ࢹγεςϜ 14 ‣ͳͥ͜ΕΒΛબΜͩͷ͔ ‣ΦϯϓϨɺΫϥυͰڞ௨Ͱ͑Δ ‣SNS(mixi.jp)͔Βͷࢿ࢈
ࢮ׆ࢹ 15
ࢮ׆ࢹ 16 ‣ࠔͬͨ͜ͱ ‣ରαʔό͕୯७ʹଟ͍ ‣ࢹαʔό͕ࣗΛࢹͰ͖ͳ͍ ‣αʔό͕ࢮΜͩͷ͔Ϋϥυͱͷ ଓ͕Εͨͷ͔
ࢮ׆ࢹ 17 ‣֤ڌʹNagios Λߏங ‣ͦΕͧΕʹ૬ޓࢹ
ࢮ׆ࢹ 18 DC 1 DC 2 Cloud 1
ࢮ׆ࢹ 19 ‣ࠔͬͨ͜ͱ ‣Nagios ͷઃఆϑΝΠϧ(cfg)͕ࡶ ‣ෳͷࢹαʔόͷߋ৽͕໘
ࢮ׆ࢹ 20 ‣Nagios ‣ ࢹઃఆͷcfg ϑΝΠϧΛYAML͔Βੜ ‣ ֤ڌͷߋ৽ΛҰׅͰߦ͏πʔϧΛ ‣ cfg
ϑΝΠϧߋ৽ ‣ syntax check && nagios restart
ࢮ׆ࢹ 21
ࢮ׆ࢹ 22 DC 1 DC 2 Cloud 1
ࢮ׆ࢹ 23 ‣ࠔͬͨ͜ͱ ‣ࢹ߲ΛΧελϚΠζ͍ͨ͠
ࢮ׆ࢹ 24 ‣SNMP ͷextend ػೳΛར༻ ‣Net-SNMPͷ֦ுػೳ ‣ҙͷίϚϯυ݁ՌΛSNMPͰฦ͢
ࢮ׆ࢹ 25 ‣check plugin ͍͔ͭࣾ͘Ͱࣗ࡞ ‣ྫ: ‣αʔόͷuptime ΛνΣοΫ ‣filesystem ͷreadonly
ΛνΣοΫ
ࢮ׆ࢹ 26 ‣ࠔͬͨ͜ͱ ‣ ෳͷࢹαʔόཧࡶ ‣ ࢹ͢ΔͨΊʹ༷ʑͳιϑτΣΞ͕ඞཁ ‣ libmysqlclient, snmp…
ࢮ׆ࢹ 27 ‣ ͦ͜Ͱ ‣ࢹγεςϜͷ৽ ‣ৄ͘͠ޙฤʹͯ
ϝτϦοΫεࢹ 28
ࢮ׆ࢹ 29 ࠷ॳ
ϝτϦοΫεࢹ 30 ‣CloudForecast ‣https://github.com/kazeburo/ cloudforecast ‣monitor pluginΛࣗ࡞
ࢮ׆ࢹ 31 ࣍ʹ
ϝτϦοΫεࢹ 32 ‣Kibana + Elasticsearch ‣application αʔόͷlog Λੵ ‣ूܭݕࡧͳͲ ‣1/100
ʹ samplingͰऩू
ϝτϦοΫεࢹ Application Elasticsearch + Kibana Fluetnd 33 αϯϓϦϯάσʔλՃ
ࢮ׆ࢹ 34 ࣍ʹ
ϝτϦοΫεࢹ 35 ‣grafana + InfluxDB ‣ ֤छσʔλΛूܭͯ͠InfluxDB ʹੵ ‣ ͦΕΒΛgrafana
ͰՄࢹԽ ‣ μογϡϘʔυΛ࡞ ‣ Ξϥʔτઃఆ
ϝτϦοΫࢹ 36 ‣ͳͥ͜ΕΒΛબΜͩͷ͔ ‣ΦϯϓϨɺΫϥυͰڞ௨Ͱ͑Δ ‣༷ʑͳϝτϦοΫεΛՃͰ͖Δ
ࢹΞϥʔτ 37
ࢹΞϥʔτ 38 ‣ࢹͰҟৗ͕͋ͬͨ߹ͷΞϥʔτ ‣ϞϯετͰPagerDuty Λར༻ ‣On-Call൪੍ ‣αʔό։ൃ & SRE Ͱϩʔςʔγϣϯ
ࢹΞϥʔτ 39 ‣PagerDuty ‣ https://www.pagerduty.com/ ‣ ֤छࢹγεςϜͱ࿈ܞͯ͠௨ΛૹΕΔ ‣ ॊೈͳΤεΧϨʔγϣϯϧʔϧ͕ΊΔ
ࢹΞϥʔτ 40 ‣On-Call ൪ ‣γεςϜͷোʹඋ͑ΔͨΊͷػ ‣ೋਓҰͷ൪੍ ‣Ξϥʔτൃੜ࣌ʹ15ͰରԠ։࢝
ࢹΞϥʔτ 41 Ϛωʔδϟɾࣄۀऀ ։ൃɾSRE ຊͷରԠ൪ োൃੜʂ
·ͱΊ 42
·ͱΊ 43 ‣ϞϯετͷΠϯϑϥͷࢹʹ͍ͭͯ ‣ࢮ׆ࢹ ‣ϝτϦοΫεࢹ ‣ΞϥʔτରԠ
Thank you!