Upgrade to Pro — share decks privately, control downloads, hide ads and more …

maprobe / mackerel drinkup #7

maprobe / mackerel drinkup #7

FUJIWARA Shunichiro

April 24, 2018
Tweet

More Decks by FUJIWARA Shunichiro

Other Decks in Technology

Transcript

  1. maprobe
    Mackerel ͷϗετ৘ใͱ࿈ܞ͢Δ
    ֎ܗ؂ࢹΤʔδΣϯτ
    2018.04.24 Mackerel Drinkup #7
    @fujiwara

    View Slide

  2. @fujiwara
    ٕज़෦
    github.com/fujiwara
    sfujiwara.hatenablog.com

    View Slide

  3. Mackerel ͷ؂ࢹͷྲྀΕ

    View Slide

  4. View Slide

  5. ϗετͷμ΢ϯݕ஌Λ͍͍͔Μ͡ʹ͍ͨ͠
    • 7෼ఔ౓ agent ͔Β్ઈ͠ͳ͍ͱμ΢ϯͱ൑ఆ͞Εͳ͍
    • "connectivity" Ξϥʔτ͸ Critical Ϩϕϧ͔͠ͳ͍
    • ଟॏԽͯ͋͠ΔϗετͰ͸େ͛͞

    View Slide

  6. ಺෦Ϧιʔεʹ֎ܗ؂ࢹΛ͍ͨ͠

    View Slide

  7. View Slide

  8. maprobe
    ͭ͘Γ·ͨ͠
    github.com/fujiwara/maprobe

    View Slide

  9. View Slide

  10. maprobe works...
    1. Mackerel API Λୟ͍ͯϗετ৘ใΛऔಘ
    • Service, Role ͰϑΟϧλϦϯά
    2. ֤ϗετʹରͯ͠ probe(ping,tcp,http,command)Λ࣮ߦ
    3. ಘΒΕͨ݁ՌΛϗετϝτϦοΫͱͯ͠ Mackerel ʹૹ৴
    4. 60ඵ͝ͱʹ܁Γฦ͠

    View Slide

  11. ping probe
    production αʔϏε ͷ server ϩʔϧʹ ping Λૹ৴
    probes:
    - service: production
    role: server
    ping:
    address: '{{ .Host.IPAddresses.eth0 }}'

    View Slide

  12. View Slide

  13. HTTP Probe
    production αʔϏε ͷ InternalELB ϩʔϧʹ HTTP
    probes:
    - service: production
    role: InternalELB
    http:
    url: 'http://{{ .Host.CustomIdentifier }}/api/healthcheck'
    post: POST
    headers:
    Content-Type: application/json
    body: '{"hello":"world"}'
    expect_pattern: 'ok'

    View Slide

  14. TCP Probe
    production αʔϏε ͷ redis ϩʔϧʹ TCP
    probes:
    - service: production
    role: redis
    tcp:
    host: '{{ .Host.IPAddress.eth0 }}'
    port: 6379
    send: "PING\n"
    expect_pattern: "PONG"
    quit: "QUIT\n"

    View Slide

  15. Command Probe
    mackerel-plugin ޓ׵ίϚϯυ΋࣮ߦՄೳ
    probes:
    - service: production
    role: redis
    command:
    command: "mackerel-plugin-redis -host {{ .Host.IPAddress.eth0 }} -tempfile /tmp/redis-{{ .Host.ID }}"

    View Slide

  16. ίϚϯυ࣮ߦͷԠ༻ྫ
    probes:
    - service: production
    role: EC2
    command:
    command: 'cleanup.sh {{.Host.ID}} {{index .Host.Meta.Cloud.MetaData "instance-id"}}'
    Mackerel ϗετ ID ͱ EC2 Πϯελϯε ID Λݩʹࣗಈୀ໾͢
    Δ

    View Slide

  17. Blog ॻ͖·ͨ͠
    https://sfujiwara.hatenablog.com/entry/2018/04/23/113316
    Enjoy!

    View Slide