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
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
210
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
830
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
530
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
140
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
130
Zeal of the Convert: Taming Shai-Hulud with AI
ramimac
0
110
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
4
350
OSC仙台プレ勉強会 AlmaLinuxとは
koedoyoshida
0
170
[E2]CCoEはAI指揮官へ。Bedrock×MCPで構築するコスト・セキュリティ自律運用基盤
taku1418
0
170
楽しく学ぼう!ネットワーク入門
shotashiratori
4
3.3k
AI時代のSaaSとETL
shoe116
1
150
AI駆動AI普及活動 ~ 社内AI活用の「何から始めれば?」をAIで突破する
oracle4engineer
PRO
1
100
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
Designing Powerful Visuals for Engaging Learning
tmiket
0
280
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Writing Fast Ruby
sferik
630
63k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
400
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
410
Making Projects Easy
brettharned
120
6.6k
WENDY [Excerpt]
tessaabrams
9
36k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
4 Signs Your Business is Dying
shpigford
187
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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ʹઓ͍ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝· ͨ͠ʂ