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

Mackerelでの家庭用ルータの監視 / Monitoring home routers with Mackerel

Mackerelでの家庭用ルータの監視 / Monitoring home routers with Mackerel

at Mackerel User Group Meeting #1
http://mackerel-ug.connpass.com/event/33287/

Kasumi Hanazuki

June 14, 2016
Tweet

More Decks by Kasumi Hanazuki

Other Decks in Technology

Transcript

  1. Mackerelでの
    家庭用ルータの監視
    @k_hanazuki

    View Slide

  2. 2016-06-14 @k_hanazuki
    花月かすみ
    ● Github: hanazuki
    ● Twitter: k_hanazuki

    View Slide

  3. 2016-06-14 @k_hanazuki
    家庭用ルータ
    ● 5千円くらい(実売)
    ● OpenWrt
    ○ ルータ用Linux

    View Slide

  4. 2016-06-14 @k_hanazuki
    mackerel-agent
    ● Goで書かれている
    ○ シングルバイナリ
    ○ 置くだけで動いてべんり

    View Slide

  5. 2016-06-14 @k_hanazuki
    Goのよいところ
    ● ほどよい高級感 (GC, goroutine)
    ● シングルバイナリ
    ● クロスコンパイルが楽

    View Slide

  6. 2016-06-14 @k_hanazuki
    わがやのルータ
    @400MHz
    + 32MBi Flash

    View Slide

  7. 2016-06-14 @k_hanazuki
    /usr/bin/mackerel-agent
    ● ファイルサイズ
    ○ ~ 5MB (stripped)
    ● メモリフットプリント
    ○ > 10MB

    View Slide

  8. 2016-06-14 @k_hanazuki
    GoのMIPSへのコンパイル
    ● gc: 非対応
    ● gccgo: 対応
    ○ libgo: uClibcではコンパイル不可*
    * 次期OpenWrtではmuslを採用の予定
    * uClibcのtrunkではいけるかも……

    View Slide

  9. 2016-06-14 @k_hanazuki
    Goのあんまりよくないところ
    ● メモリ使用量おおい
    ● バイナリおおきい
    ● 移植性たかくない

    View Slide

  10. 2016-06-14 @k_hanazuki
    umackereld (マイクロ・マカレル・ディー)
    ● Cで書いている
    ○ OpenWrtのコンポーネントを
    できるだけ利用
    ● hanazuki/umackereld
    ● 機能はまだまだ実装途中

    View Slide

  11. 2016-06-14 @k_hanazuki
    mackerel-agent umackereld
    ファイル
    (stripped)
    ~ 5MB ~ 30kM + 440kM (shared obj)
    メモリ
    (RSS)
    > 10MB > 1.5MB*
    プラット
    フォーム
    Linux,Darwin,Win,
    {Free,Open}BSD
    Linux (OpenWrt)
    比較
    * なんだかリークしてる気がする……

    View Slide

  12. 2016-06-14 @k_hanazuki
    わがやのISPがパケットを落とす様子

    View Slide

  13. 2016-06-14 @k_hanazuki
    まとめ
    ● 組み込みLinuxでも使えてべんり
    ● https://github.com/
    hanazuki/umackereld

    View Slide