maprobeMackerel ͷϗετใͱ࿈ܞ͢Δ֎ܗࢹΤʔδΣϯτ2018.04.24 Mackerel Drinkup #7@fujiwara
View Slide
@fujiwaraٕज़෦github.com/fujiwarasfujiwara.hatenablog.com
Mackerel ͷࢹͷྲྀΕ
ϗετͷμϯݕΛ͍͍͔Μ͡ʹ͍ͨ͠• 7ఔ agent ͔Β్ઈ͠ͳ͍ͱμϯͱఆ͞Εͳ͍• "connectivity" Ξϥʔτ Critical Ϩϕϧ͔͠ͳ͍• ଟॏԽͯ͋͠ΔϗετͰେ͛͞
෦Ϧιʔεʹ֎ܗࢹΛ͍ͨ͠
maprobeͭ͘Γ·ͨ͠github.com/fujiwara/maprobe
maprobe works...1. Mackerel API Λୟ͍ͯϗετใΛऔಘ• Service, Role ͰϑΟϧλϦϯά2. ֤ϗετʹରͯ͠ probe(ping,tcp,http,command)Λ࣮ߦ3. ಘΒΕͨ݁ՌΛϗετϝτϦοΫͱͯ͠ Mackerel ʹૹ৴4. 60ඵ͝ͱʹ܁Γฦ͠
ping probeproduction αʔϏε ͷ server ϩʔϧʹ ping Λૹ৴probes:- service: productionrole: serverping:address: '{{ .Host.IPAddresses.eth0 }}'
HTTP Probeproduction αʔϏε ͷ InternalELB ϩʔϧʹ HTTPprobes:- service: productionrole: InternalELBhttp:url: 'http://{{ .Host.CustomIdentifier }}/api/healthcheck'post: POSTheaders:Content-Type: application/jsonbody: '{"hello":"world"}'expect_pattern: 'ok'
TCP Probeproduction αʔϏε ͷ redis ϩʔϧʹ TCPprobes:- service: productionrole: redistcp:host: '{{ .Host.IPAddress.eth0 }}'port: 6379send: "PING\n"expect_pattern: "PONG"quit: "QUIT\n"
Command Probemackerel-plugin ޓίϚϯυ࣮ߦՄೳprobes:- service: productionrole: rediscommand:command: "mackerel-plugin-redis -host {{ .Host.IPAddress.eth0 }} -tempfile /tmp/redis-{{ .Host.ID }}"
ίϚϯυ࣮ߦͷԠ༻ྫprobes:- service: productionrole: EC2command:command: 'cleanup.sh {{.Host.ID}} {{index .Host.Meta.Cloud.MetaData "instance-id"}}'Mackerel ϗετ ID ͱ EC2 Πϯελϯε ID Λݩʹࣗಈୀ͢Δ
Blog ॻ͖·ͨ͠https://sfujiwara.hatenablog.com/entry/2018/04/23/113316Enjoy!