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
OPENLOGI Company Profile for engineer
hr01
1
46k
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
820
DSPy入門
tomehirata
6
900
Amazon Q Developer CLIをClaude Codeから使うためのベストプラクティスを考えてみた
dar_kuma_san
0
340
Giving Tuesday Auctria Set-Up 2025
auctria
PRO
0
100
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
11
5.8k
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
110
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
960
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
470
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
230
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
1
180
最近読んで良かった本 / Yokohama North Meetup #10
mktakuya
0
860
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Visualization
eitanlees
150
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
KATA
mclloyd
PRO
32
15k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
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ʹઓ͍ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝· ͨ͠ʂ