Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
それでも僕はzabbixと生きていく
Search
youyo
October 07, 2017
Technology
520
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
それでも僕はzabbixと生きていく
youyo
October 07, 2017
More Decks by youyo
See All by youyo
家の快適度を計測してみた
youyo
1
240
Get started AWS CDK
youyo
0
170
Tried to create a deployment pipeline of AutoML Vision.
youyo
0
130
API GatewayのWebSocket対応について
youyo
0
1k
GCRと脆弱性検査
youyo
0
260
goodbye-ec2
youyo
0
940
About AWS Lambda and kintone
youyo
1
320
TerraformとWerckerとAWS Organizationsで始めるステージング・開発環境構築 / terraform-wercker-aws-organizations
youyo
1
34k
ServerlessのおさらいとIronFunctionsについて
youyo
0
510
Other Decks in Technology
See All in Technology
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
280
Agent × Maestro で始める モバイル E2E 端末準備からテスト実行・結果確認まで
sansantech
PRO
0
170
AIをリアル世界に解き放つ 〜M5Stack×AIであなたのアイディアを手の平に〜
hamadakoji
1
430
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
310
2026-10-24 JAWS JAWS-UG 茨城 #18 IAM Policy Autopilotってなにさ。terraform planからIAM Policyつくれるの? / What's IAM Policy Autopilot
masasuzu
0
130
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
370
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
0
740
その Valkey 使いこなしていますか?
onk
PRO
5
2k
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
250
AWS DevOps Agentはどこまで任せられるか 〜機能の現在地と、機能拡張の実践〜
nyankotaro
0
200
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
2
320
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
10k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Crafting Experiences
bethany
1
390
The Invisible Side of Design
smashingmag
301
52k
Design in an AI World
tapps
1
360
The Pragmatic Product Professional
lauravandoore
37
7.5k
Being A Developer After 40
akosma
PRO
92
590k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Transcript
ͦΕͰZabbixͱ ੜ͖͍ͯ͘
ࣗݾհ • ੴᖒਓ(Naoto Ishizawa) • twitter: @youyo_ • github: https://github.com/youyo
• Cloud Architect @ heptagon inc. • I love golang, python, ruby • ࠷ۙϋϚ͍ͬͯΔͷ: υϥΰϯϘʔϧυοΧϯότϧ LRଙޛ൧ͷݩΛखʹೖΕͨ͜ͱ͕࠷ۙҰ൪خ͔ͬͨ͠
mackerel͖Ͱ͔͢ʁ
mackerelͱ • ΤϯδχΞΛϫΫϫΫͤ͞ΔʮײతαʔόʔࢹαʔϏεʯ https://mackerel.io/ja/ • Monitoring as a service
͔Βݟͨmackerelͷ͍͍ͱ͜Ζ • ͍͍ײ͡ʹcloudwatch͔Βσʔλऔ͖ͬͯͯ͘ΕΔ • ͖Ε͍ͳUI • ϑϧϚωʔδυ • ๛ͳNotification
࠷ߴ
mackerelͷಛʹ͍͍ͱ͜Ζ • CloudWatch APIͱͷγʔϜϨεͳ࿈ܞ IUUQTNBDLFSFMJPKBGFBUVSFTBXTJOUFHSBUJPO
࠷ߴ
͔ΒݟͨmackerelͷؾʹͳΔͱ͜Ζ • 1,800ԁ ϗετ/month ->2,000ϗετࢹ͢ΔͱͳΔͱ360ສԁ ->ࣗલͰzabbixͰࢹ͢Ε30ສ͔͔Βͳ͍(ࣾൺ) • ϑϧϚωʔδυ ->ָͳΜ͚ͩͲͭ·Βͳ͍ʂ ->mackerelΈ͍ͨͳࢹγεςϜ࡞Γ͍ͨʂʂ
(ӡ༻͕ࣄͳΜͰͦͷࠜװͱͳΔͷࣗલͰ͖࣋ͭ)
mackerelʹ͋ͬͯzabbix ʹͳ͍ͷΛิ͍͍͑
͔Βݟͨmackerelͷ͍͍ͱ͜Ζ • ͍͍ײ͡ʹcloudwatch͔Βσʔλऔ͖ͬͯͯ͘ΕΔ • ͖Ε͍ͳUI • ϑϧϚωʔδυ • ๛ͳNotification
͜Ε͔ΒZabbixͱੜ͖͍ͯͨ͘Ίʹ ZabbixͰ͍͍ײ͡ʹ͑Δ AWS Integration࡞Ζ͏
Zabbixͱ
Zabbixͱ • ZabbixͱɺαʔόʔɺωοτϫʔΫɺΞϓϦέʔγϣϯΛࢹ͢ΔͨΊ ͷιϑτΣΞͰ͢ɻZabbixओʹҎԼͷ3ͭͷػೳΛ༗͍ͯ͠·͢ɻ • αʔόωοτϫʔΫʹଓ͞ΕͨσόΠεΛࢹ͢Δࢹػೳ • ऩूͨ͠σʔλΛͱʹάϥϑԽɺωοτϫʔΫϚοϓͷ࡞Λߦ͏ά ϥϑΟΧϧදࣔػೳ •
ऩूͨ͠σʔλʹᮢΛઃఆ͠ɺো/෮چ࣌ʹཧऀʹ௨Λߦ͏ো ݕ/௨ػೳ IUUQXXX[BCCJYKQEPDVNFOUTXIBU@JT@[BCCJY
ेͳػೳΛ͍࣋ͬͯΔ
ZabbixͷؾʹͳΔͱ͜Ζ • ΫϥυϑΝʔετͳ͜ͷ࣌͝ੈɺ͍͍ͪͪΠϯελϯεΛzabbixʹϗετ ొͱ͔ͨ͘͠ͳ͍ • ࣗಈొͰ͖Δɻ͚Ͳࣗಈআ… • zabbix-agentΛΠϯετʔϧͰ͖ͳ͍αʔϏεͷࢹͲ͏͢Δʁ
Ͳ͏Δʁ • ΫϥυϑΝʔετͳ͜ͷ࣌͝ੈɺ͍͍ͪͪΠϯελϯεΛzabbixʹϗετ ొͱ͔ͨ͘͠ͳ͍ • ࣗಈొͰ͖Δɻ͚Ͳࣗಈআ… =>LowLevelDiscovery • zabbix-agentΛΠϯετʔϧͰ͖ͳ͍αʔϏεͷࢹͲ͏͢Δʁ =>LowLevelDiscovery
Low Level Discovery
LLD (Low Level Discovery) • “ϩʔϨϕϧσΟεΧόϦʹΑΓɺίϯϐϡʔλʔ্ͷछʑͷཁૉʹରͯ͠ ΞΠςϜɺτϦΨʔɺάϥϑΛࣗಈతʹ࡞Ͱ͖·͢ɻྫ͑ɺZabbix ༻͍ͯ͠ΔϚγϯ্ͷϑΝΠϧγεςϜ·ͨωοτϫʔΫΠϯλʔϑΣʔ εͷࢹΛࣗಈతʹ։࢝Ͱ͖·͢ɻͦͷͨΊʹɺ֤ϑΝΠϧγεςϜ·ͨ ωοτϫʔΫΠϯλʔϑΣʔεʹରͯ͠खಈͰΞΠςϜΛ࡞͢Δඞཁ͋
Γ·ͤΜɻ͞Βʹɺఆظతʹ࣮ࢪ͞ΕΔσΟεΧόϦͷ࣮ࡍͷ݁Ռʹج͍ͮ ͯෆཁͳཁૉΛࣗಈతʹআ͢ΔΑ͏ʹɺZabbixΛઃఆ͢Δ͜ͱ͕Ͱ͖· ͢ɻ” IUUQTXXX[BCCJYDPNEPDVNFOUBUJPOKQNBOVBMEJTDPWFSZMPX@MFWFM@EJTDPWFSZ
LLD (Low Level Discovery) • ͍͍ײ͡ʹࢹରΛݟ͚ͭͯ • ͍͍ײ͡ʹσʔλूΊͯ • ͍͍ײ͡ʹࢹରফ͑ͨΒϗετొআͯ͘͠ΕΔ
“ϢʔβʔɺಛఆͷJSONϓϩτίϧʹै͏ͱ͍͏݅ͰɺಠࣗͷλΠϓ ͷσΟεΧόϦΛఆٛͰ͖·͢ɻ” IUUQTXXX[BCCJYDPNEPDVNFOUBUJPOKQNBOVBMEJTDPWFSZMPX@MFWFM@EJTDPWFSZ
࠷ߴ
Ͳ͏͢Ε͍͍ʁ • UserParameterͰεΫϦϓτΛ࣮ߦ͢Δ • Loadable modulesΛ࡞͠ɺݺͼग़͢
UserParameter & Loadale modules • UserParameter “رͷσʔλͷݕࡧΛߦ͏ίϚϯυΛॻ͖ɺΤʔδΣϯτઃఆϑΝΠϧͷ ϢʔβʔύϥϝʔλʢʮUserParameterʯઃఆύϥϝʔλʣʹؚΊΔ͜ͱ͕ Ͱ͖·͢ɻ” >UserParameter=<key>,<command>
• Loadable modules “loadable modulesɺZabbixͷػೳΛ֦ு͢ΔͨΊͷɺੑೳΛߟྀͨ͠ બࢶͱͳΓ·͢ɻZabbix 2.2͔ΒɺੑೳΛଛͶΔ͜ͱͳ͘ɺZabbixΤʔ δΣϯτ͓ΑͼαʔόʔΛ֦ு͢ΔͨΊͷloadable modules͕αϙʔτ͞ ΕΔΑ͏ʹͳΓ·ͨ͠ɻ” IUUQTXXX[BCCJYDPNEPDVNFOUBUJPOKQNBOVBMDPOpHJUFNTVTFSQBSBNFUFST IUUQTXXX[BCCJYDPNEPDVNFOUBUJPOKQNBOVBMDPOpHJUFNTMPBEBCMFNPEVMFT
Loadable modulesͰ AWS Integration Ͱ͖ΔΑ͏ʹ͠Α͏
Ͱࠔͬͨ͜ͱ͕… • loadable modulesCݴޠͰॻ͘ඞཁ͕͋Δ • ɺCݴޠॻ͚ͳ͍…
g2z
What is "g2z”? • https://github.com/cavaliercoder/g2z • loadable modulesΛgolangͰॻ͚Δ. (golangͰshared libraryͱͯ͠ੜ)
• Zabbix version 2.xܥ, 3.0ରԠ package main import ( "strings" "github.com/cavaliercoder/g2z" ) func main() { panic("THIS_SHOULD_NEVER_HAPPEN") } func Echo(request *g2z.AgentRequest) (string, error) { return strings.Join(request.Params, " "), nil } func init() { g2z.RegisterStringItem("go.echo", "Hello world!", Echo) }
উͬͨʂ
Ͱݱ࣮͘ͳ͔ͬͨ
ͳ͔ͥ͏·͘ಈ͔ͳ͍
Loadable modulesΛ ݺͼग़͢ͱzabbix-agent ϓϩηε͕ͨ·ʹݻ·Δ
IUUQTHJUIVCDPNDBWBMJFSDPEFSH[JTTVFT
ҙ༁ • ֎෦ʹhttpϦΫΤετΛߦ͏ͱɺݻ·Δ͜ͱ͕͋Δ • golangѱ͘ͳ͍ • zabbixѱ͘ͳ͍ • goroutine͕ؔͯ͠Δͷ͔ͳʁ •
single coreͷϚγϯͰͳΒਖ਼ৗʹಈͬ͘Ά͍Αʁ ->͍ಈ͔ͳ͍.. • ͪΐͬͱαϙʔτ͖͠Εͳ͍Θʔ
٧Μͩ…
UserParameterʹ Γସ͍͑ͯ͘
UserParameterͰLLD͢Δʹ • ϓϩάϥϜॻ͍ͯshell-scriptͰԿͰ͍͍ • ܾ·ͬͨϑΥʔϚοτ(json)ͰσʔλΛฦ͢ඞཁ͕͋Δ { "data":[ { "{#INSTANCE_ID}":"i-xxxxxxxxxx", "{#INSTANCE_NAME}":"test1"
}, { "{#INSTANCE_ID}":"i-yyyyyyyyyy", "{#INSTANCE_NAME}":"test2" }, { "{#INSTANCE_ID}":"i-zzzzzzzzzz", "{#INSTANCE_NAME}":"test3" } ] }
UserParameterͰLLDͨ͠ • https://github.com/youyo/zabbix-userparameter-script-aws-integration • EC2, RDS(and cluster)ͷdiscoveryʹରԠ • cloudwatchͷϝτϦΫεऔΕΔ •
zabbixͷtemplate࡞த • loadable modulesͱൺֱͯ͠ফඅϦιʔεͷ໘ͰྼΔ͕͠ΐ͏͕ͳ ͍
͍͍͍ͩͨײ͡ʹ ͳ͖ͬͯͨ
͍ͭͰʹzabbixڥΛ ࡞Γ͢͜ͱʹͨ͠
Zabbix3.4 Full containernized on k8s
·ͱΊ • zabbixUserParameterͱLoadale modulesΛ͏͜ͱͰࣗ༝ʹ֦ுͰ͖Δ • ཉ͍͠ػೳࣗͰ࡞͍͚͍͍ͬͯ • ผʹzabbixʹݻࣥ͢Δඞཁͳ͍ • mackerel࠷ߴͩ͠prometheus࠷ߴ
• zabbix࠷ߴ ࠓޙ͍ͬͯ͘ • Infrastracture as code • zabbixίʔυͰཧ͍ͨ͠ • terraformͷpluginΛॻ͍͍ͯͧ͘
͓·͚: prometheusࡶײ • prometheuszabbixͷΑ͏ͳࢹπʔϧ • ΠϯετʔϧͳͲόΠφϦஔ͚ͩ͘ͰࡁΉͷͰָ • Service discoveryͷػೳ͕͋Γɺࠓճ࡞ͨ͠Α͏ͳػೳॳΊ͔Β͍࣋ͬͯ ΔɻΫϥυωΠςΟϒɻ
• ίϯςφͷࢹ͍͍ײ͡ʹߦ͑ΔɻcAdvisorͱͷ࿈ܞ͕ૉΒ͍͠ɻ • σʔλͷอଘظؒσϑΥϧτ15ɻظอଘ(long term storage)ਪ͞ Εͳ͍ɻͨͩ͠࠷ۙ֎෦ετϨʔδͱͯ͠influxdb͕αϙʔτ͞Εͨؾ͕͢Δ ͷͰཁݕূ • Ͱͦͦࢹσʔλͷظอଘ͕ඞཁͳέʔεͬͯ͋·Γͳ͍ؾ͕ͯ͠Δɻ (zabbixʹ׳Ε͗ͨ͢) • Ξϥʔτϧʔϧͷهड़͕େมͦ͏ɻzabbixͷ΄͏͕ݸਓతʹΘ͔Γ͍͢ɻ • ΞϥʔτपΓΛ͏·͍͜ͱΕΔΑ͏ʹͳͬͨΒଈಋೖ͍ͨ͠Ϩϕϧ (zabbixͱ྆ํ͏·͍͚͍͖͍ͯͨ͘)