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
新卒がZabbix3でサーバ監視を冗長化!?H2Oにも移行した!
Search
miyazawaiti
September 14, 2017
Technology
0
21k
新卒がZabbix3でサーバ監視を冗長化!?H2Oにも移行した!
https://atnd.org/events/90730
miyazawaiti
September 14, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
Claude Codeを使った情報整理術
knishioka
20
12k
202512_AIoT.pdf
iotcomjpadmin
0
190
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
740
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
20k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.6k
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
610
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
140
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
830
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
Automating Front-end Workflow
addyosmani
1371
200k
Darren the Foodie - Storyboard
khoart
PRO
1
2.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
34
Music & Morning Musume
bryan
46
7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
54
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
My Coaching Mixtape
mlcsv
0
21
Google's AI Overviews - The New Search
badams
0
890
Transcript
৽ଔ͕ZABBIX3ͰαʔόࢹΛ Խ!?H2OʹҠߦͨ͠ʂ ITI GROUP INFRA SRE TEAM HIKARU MIYAZAWA
ɾ̏ɾ AGENDA 1. ࣗݾհ 2. ZABBIX3.0ͰࢹΛԽͨ͠ܦҢ 3. H2OΛ࠾༻ͯ͠Α͔ͬͨ͜ͱ 4. ZABBIX×H2O
5. ·ͱΊ
ɾ̏ɾ HIKARU MIYAZAWA ɾ2016/10ʙ2017/3 גࣜձࣾITIͷΠϯλʔϯɺ ΠϯϑϥͷۀΛܦݧ ɾ2017/4ʙࠓ·Ͱ גࣜձࣾITIೖࣾ ΠϯϑϥSREνʔϜ झຯɿυϥϜɺ݈߁ΦλΫɺήʔϜɺ
͖ͳςΩετΤσΟλɿSublime Text
ɾ̏ɾ ZABBIX3.0ͰࢹΛԽͨ͠ܦҢ ▸ ฐࣾࢹαʔόzabbix2.2ɺࣗࣾͰߏங,ӡ༻ ▸ 6݄ʹ͘͞Βͷϝϯςφϯε͕ൃද ▸ ϝϯςφϯεதࢹΛܧଓͰ͖ͳ͍ ▸ ͜ͷػձʹ͔ͤͬ͘ͳͷͰ2ମ੍ͰԽ
None
None
ɾ̏ɾ ZABBIX3.0 ▸ શແྉͰΦʔϓϯιʔεͷ ࢹιϑτΣΞ ‣ LAMPڥʴzabbix-serverͰಈ͘ ▸ ࢹରαʔόʹɺ zabbix-agentΛΠϯετʔϧ
▸ ฐࣾͷࢹରαʔόɿ200ʙ
ɾ̏ɾ ͖ʹࢹɺ௨ʂࣗ༝ʂ εΫϦʔϯͰՄࢹԽ →ϦΞϧλΠϜͰোঢ়گѲ SlackνϟοτϫʔΫͷ ௨ઃఆ؆୯
ɾ̏ɾ GMO ConoHa ͷ࠾༻ཧ༝ ▸ AWSଆͷোͷӨڹΛड͚ͳ͍ ▸ ZabbixͷεϖοΫཁ݅Λຬ͍ͨͭͭ҆͠ʂ(2GB,3ίΞ,1700ԁ/݄) ▸ DiskSSDͰ50GB
※ՃDiskߴ͍Ͱ͢(ຖ݄/2400ԁ)
ɾ̏ɾ OSͱϛυϧΣΞ ▸ CentOS6.9(Final) ▸ Apache2.2.15 ▸ MySQL5.7.19 ▸ PHP7.0.18
▸ zabbix-server3.0.10-1 ▸ (zabbix-agent3.0.10-1)
ZABBIXΠϯετʔϧ ؆୯ͳͷͰ ׂѪ͍͖ͤͯͨͩ͞·͢ʂ
ɾ̏ɾ طଘͷZABBIXࢹαʔόͷઃఆΛ৽αʔόʹө ▸ ZABBIXผόʔδϣϯҠߦ࣌ͷҙ ▸ ɾτϦΨʔͷ݅ࣜͷมߋ ▸ ɾෆ࠾༻ʹͳͬͨΞΠςϜ ▸ ɾো࣌ΞΫγϣϯͷઃఆ͕exportग़དྷͳ͍
▸ ɾexportͨ͠xmlϑΝΠϧॻ͖͕͑ඞཁ
ͦͯ͠͏·͘ ͍ͬͨͷ͔ʂʁ
▸ ͘͞ΒͷϝϯςφϯεલʹԽྃ ▸ ΄ͱΜͲ͋ͩͪΜ͞Μ͕Γ·ͨ͠ ▸ ݟ͍͑ͯͨ՝ ▸ DBͷఆظతͳόοΫΞοϓ ▸ zabbixDB͕ੜ͖͍ͯΕ༰қʹ෮چͰ͖Δɻ
ɾ̏ɾ ॕʂࢹԽʂʂ
ɾ̏ɾ ϝϯςφϯε3લͷҰίϚ ▸ ▸ ɹɹɹɹɹɹɹɹɹɹɹʮఆظతʹDBΛόοΫΞοϓ͢ΔγΣϧ,ॻ͚·ͨ͠ʂʯ ▸ ▸ ɹ͋ͩͪΜ͞Μʮςετͯ͠Έͨʁ ɹɹɹɹɹɹɹɹͪΐͬͱ֬ೝͯ͠ΈΑ͏ʯ(ΧλΧλ)
▸ mysqldump -u user -x -p --all-databases < mysqldump.sql
Μʁ
—all-databases < mysqldump.sql ͋……
None
ɾ̏ɾ ͓͔Γ͚ͨͩΖ͏͔ ▸ mysqldump -u user -x -p --all-databases <
mysqldump.sql ▸ ۭͬΆΛͿͪࠐΉ ۭͬΆ ZABBIXͷDB
None
ɾ̏ɾ ຊདྷ͜Ε ▸ mysqldump -u user -x -p --all-databases >
mysqldump.sql ۭͬΆ ZABBIXͷDB
࣍ͷɺ͋ͩͪΜ͞Μ͕ ޕલதͰ͠·ͨ͠ɻ(ૣ͗͢) (ࣗ༗څͰͨ͠ww)
ɾ̏ɾ εΫϦʔϯͷ࡞ ▸ ཁɿো࣌ʹࢹσʔλΛάϥϑͰ͙͢ʹݟ͍ͨʂ ▸ Γ·͢ʂͤͯԼ͍͞ʂ͋Εʁ ▸ ฐࣾͷࢹରϗετ200Ҏ্ ▸ 1ϗετʹ͖ͭ12ݸͷࢹ߲
▸ खಈͰϙνϙν͢Δ߹ ▸ 200ϗετ×12߲×4ΫϦοΫʹ9600…Ұສճͷ࡞ۀ…
ɾ̏ɾ ਖ਼͠ΜͲ͍…
ɾ̏ɾ ޮΑ͘Ζ͏ʂ
ɾ̏ɾ ZABBIXͷઃఆIMPORT/EXPORTͰ͖Δ ZabbixͷઃఆʢҰ෦ʣ ɹɹɹɹɹɹɹɹɹɹɹɾάϧʔϓɹɹɹɹɹ ɹɹɹɹɹɹɹɹɹɹɹɹɹɾςϯϓϨʔτ ɹɹɹɹɹɹɹɹɹɹɾϗετ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɾωοτϫʔΫϚοϓ ɹɹɹɹɹɹɹɹɹɹɹɾΠϝʔδ ɹɹɹɹɹɹɹɹɹɹɹɹɾεΫϦʔϯ XMLorJSONܗࣜ
ɾ̏ɾ εΫϦʔϯ͜Μͳײ͡Ͱ͢
ɾ̏ɾ εΫϦʔϯͷXMLͱ࣮ࡍͷWEB্
ɾ̏ɾ XMLϑΝΠϧΛࣗಈੜ͢ΔSHELLΛ࡞
͜ ͜ Ͱ͕ ʂ
ɾ̏ɾ ͍ͬͦ͘ ▸ ϦΞϧλΠϜͰߋ৽͞ΕΔ120ݸͷάϥϑͷදࣔͬͺΓ ॏ͔ͬͨɻ
ͱͳΔͱNGINX ͕͍͍ͷ͔ʁ
▸ ݩDeNAͷԞҰึࢯ͕։ൃɻ ▸ HTTP/2ʹରԠͨ͠രͷWEBαʔόʔͰ͋Δ ▸ ͋ͩͪΜ͞Μਪ͠(ΏΔ;ΘΩϟϯύʔ͞Μ) ɾ̏ɾ H2Oͷ࠾༻
ɾ̏ɾ HTTP/1.1ͷͲ͕͜ѱ͍ͷʁ ‣ ʮHTTPύΠϓϥΠϯʯ ˠલճϦΫΤετͷྃΛͨͣʹ࣍ͷϦΫΤετΛૹ৴͢Δ͜ͱ͕Մೳ ‣ ʮαʔόʔϦΫΤετͷॱ൪௨ΓʹϨεϙϯεΛฦ͞ͳ͚ΕͳΒͳ͍ʯ →݁ہॱ൪͕ͪൃੜ͠ɺ Ԇ͍ͯͨ͠ɻ
ɾ̏ɾ HTTP/2ͰԿ͕มΘΔ͔ ‣ ଟॏԽ ɾಉ࣌ʹ100Ҏ্ͷϦΫΤετΛൃߦՄೳ ɾλΠϛϯάɺϨεϙϯεͷॱং͕ؔͳ͍ ɾෳฒྻॲཧ →HTTP/1.1Ͱͷॱ൪͕ͪͳ͍ ‣ ϔομѹॖ(HTTP/2ͷϔομେ͖͍300~500B)
ྫʣ100ճϦΫΤετ͕དྷͯɺຖճ300όΠτͷ ϔομΛૹΒͳͯ͘ࡁΉ →খ͞ͳϦΫΤετΛԿճૹͬͯ͘ͳΒͳ͍
ɾ̏ɾ ͦΜͳHTTP/2Λ࠷େݶʹ׆͔ͤΔ͔ ▸ ࣮HTTP/2ʹରԠ͔ͨ͠Βͱ͍ͬͯɺ αʔόଆͷઃఆ͕ͪΌΜͱ͍ͯ͠ͳ͍ͱ ͍͍ͱ͜ΖΛ׆͔ͤͳ͍ ▸ྫ͑…
ɾ̏ɾ ༏ઌ੍ޚ͕͍͢͝ ▸ ༏ઌ੍ޚ WEBϖʔδΛදࣔ͢ΔͷʹඞཁͳϑΝΠϧΛͲͷॱ൪Ͱ༏ઌతʹಡΈࠐΉ͔Λ͖Ί ͓ͯ͘ ᶃHTMLᶄCSSᶅJSᶆը૾ᶇը૾ᶈը૾ ▸ ΫϥΠΞϯτଆ →Firefoxݡ͍
→Chrome͋Δ͚Ͳશવ׆͔͍ͤͯͳ͍ Safari,IE-Edge,ͦͷଞͷϒϥβ༏ઌͷ֓೦͢Βແ͠ɻɻ αʔόଆͰͳΜͱ͔͢Δɻɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ
ɾ̏ɾ ༏ઌ੍ޚ͕͍͢͝ ▸ ʮhttp2-reprioritize-blocking-assetsʯ ▸ CSSͱJSΛ࠷༏ઌͰϨεϙϯεΛฦ͢ ▸ HTMLΛฦ͢ʢ͜ͷ࣌ͰɺWEBϖʔδͷϨϯμϦϯά͕ ։࢝Ͱ͖Δʣ ▸
ը૾Λฦ͢ʢฒྻॲཧͳͷͰॱ൪ΛؾʹͤͣҰؾʹૹΔʣ ▸ ※nginxͰؤுΕಉ͡Α͏ͳઃఆ͕ग़དྷΔΒ͍͠
ɾ̏ɾ αʔόϓογϡ ▸ αʔόϓογϡ ▸ ϦΫΤετΛઌಡΈͯ͠ඞཁͳϑΝΠϧΛૹΔ ྫʣHTMLͷϦΫΤετड͚ͨΒCSS·ͱΊͯૹΔ ▸ Ωϟογϡ༗ແΛ֬ೝͰ͖ΔͷͰɺແବʹૹΔ͜ͱͳ͍
Ͳ͏ͤઃఆ͢Δͷ ΊΜͲ͍͘͞Μ͡Ό Ζʁ
ɾ̏ɾ ͳΜͱνϡʔχϯάσϑΥϧτͰON ▸ ී௨ʹ্ཱͪ͛ͨॠ͔ؒΒരʂ ▸ νϡʔχϯάʹ͔͚ͯͨ࣌ؒΛଞͷλε Ϋʹ͑Δ
ɾ̏ɾ APACHE ઃఆϑΝΠϧ
ɾ̏ɾ H2O ઃఆϑΝΠϧ ▸ h2o.conf
ɾ̏ɾ ▸ zabbix.conf
ɾ̏ɾ ෛՙςετ ▸ AWS EC2Πϯελϯεt2.micro ▸ Apache2.4(νϡʔχϯάσϑΥϧτ) ▸ H2O2.2(νϡʔχϯάσϑΥϧτ) ▸
30ສϦΫΤετɺಉ࣌ଓ1000ϢʔβͰݕূɻ ▸ ςετπʔϧGoad
ɾ̏ɾ ෛՙςετ݁Ռ ▸ Apache 13.65ඵͰϑϦʔζ ▸ H2O 20ඵͰશϦΫΤετΛࡹ͘
ɾ̏ɾ ෛՙςετ݁Ռ Apache-2.4 H2O-2.2 300,000Requests 300,000Requests 1,000user 1,000user 1m3.65s 20.0s
ɾ̏ɾ ෛՙςετ݁Ռ Apache-2.4 H2O-2.2 300,000Requests 300,000Requests 1,000user 1,000user 1m3.65s 20.0s
Freeze… Done!
࣮ࡍʹH2Oͷ ͢͝͞Λ͓ݟͤ͠·͢
ɾ̏ɾ H2O×HTTP/2ͷ͗͢͢͝Δฒྻॲཧೳྗ
ɾ̏ɾ ZABBIX3.0×H2O×PHP7.0 ▸ H2O →ฒྻॲཧͰૣ͍ɺ࠷ॳ͔Βνϡʔχϯά͕͞ΕͯΔ Մಡੑͷߴ͍ઃఆϑΝΠϧ ▸ PHP7.0ૣ͍ ▸ ฐࣾͷ୲αʔϏεʹಋೖ͢Δ͖͔͚ͬʹͳͬͨɻ
▸ JoinsJob(δϣΠϯζδϣϒ),ITϓϩδΣΫτ໊ؑ,kiii(डୗ)
ɾ̏ɾ ·ͱΊ ▸ ࢹࣗࣾͰߏங ˠίετେ෯μϯˠ͔͠͠ӡ༻͕େม ▸ ࢹAWSҎ֎ͰԽ͢Δͷ͕͓͢͢Ί ˠAWSଆͷωοτϫʔΫো͕ى͖ͯࠔΔ͜ͱͳ͍ ▸ ͜Ε͔ΒͷWEBαʔόH2OʹมΘ͍͖ͬͯͦ͏
▸ Prometheusʹઓ͍ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝· ͨ͠ʂ