Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sensu with golang

Sensu Deep Talks #1
http://connpass.com/event/12725/

  • Login to see the comments

Sensu with golang

  1. 1. 堀内 晨彦 (HORIUCHI Akihiko) @hico_horiuchi Sensu with Golang 2015.03.26(木) @Sensu Deep Talks #1
  2. 2. @hico_horiuchi ○  うどん大学 情報系 修士1年 ○  Emacs / Rails / Hubot / Ansible ○  http://bit.ly/hiconyan 普段はロードバランス・オートスケールの研究 研究室のインフラと掃除を担当 Sensu歴は半年 (ヤフーインターン∼) 15/03/26 2
  3. 3. Sensu構成図 @ 研究室 15/03/26 3 sensu-server + kibana Nginx + Dokuwiki GitLab Ruby on Rails Ubuntu + KVM ・ 物理サーバ (14台) ・ 仮想サーバ (9台) ・ スイッチ (3台) ・ 構成管理は AnsibleHubot (hico-horiuchi/huboco)
  4. 4. もくじ 15/03/26 4 ohgi (扇: Sensu command-line tool by golang) 1. sensu-plugins-go (Sensu Plugins by Golang) 2.
  5. 5. agent462/sensu-cli ●  Ruby製 Sensuコマンドラインツール 15/03/26 5 情報量が多く見辛い 動作が重い
  6. 6. hico-horiuchi/ohgi ●  Go言語製 Sensuコマンドラインツール ○  Go言語の勉強も兼ねて ○  開発は正月∼,現在 v0.1.4 15/03/26 6 ロゴが 欲しい
  7. 7. できること ●  Sensu API を一通り叩ける ○  ただし aggregates 以外 ○  コマンドは API の命名規則に準拠 ●  リスペクト ○  色付け,シンプルな表形式の表示 15/03/26 7 $ ohgi events [client] [check]
  8. 8. Why Golang? ●  なぜGo言語で作ったか ○  コンパイルと実行が高速 ○  ライブラリが豊富 (spf13/cobra最強) ○  バイナリ1つで (ノ ̄ー ̄)ノポイッ 15/03/26 8 \ナウでヤングな言語だから/
  9. 9. デモンストレーション http://bit.ly/sensu-ohgi 15/03/26 9
  10. 10. もくじ 15/03/26 10 ohgi (扇: Sensu command-line tool by golang) 1. sensu-plugins-go (Sensu Plugins by Golang) 2.
  11. 11. Sensuが重い ●  監視スクリプトのオーバーヘッド ○  community-plugins は 88% が Ruby ●  sensu-server (VM) はもっと重い ○  metrics の handler (クライアント数×項目数) ○  Elasticsearch + Kibana が同時稼動 15/03/26 11
  12. 12. hico-horiuchi/sensu-plugins-go ●  SensuのPluginをGoで書く ○  check:os.Exit() で終了ステータス変更 ○  metrics:Scheme + Value + Unix ●  sensu/handler ライブラリ ○  渡された event を構造体に格納 ○  simple-json で設定読込 15/03/26 12
  13. 13. 実装状況 ●  check ○  CPU,メモリ,ディスク,HTTP ●  metrics ○  CPU,メモリ,ディスク,通信量 ●  handler ○  Hubot,Elasticsearch 15/03/26 13
  14. 14. くらべてみた ●  10回実行,time の user + system 圧倒的な速さ! 15/03/26 14 Ruby Golang CPU 0.79 s 0.06 s メモリ 0.15 s 0.07 s ディスク 0.77 s 0.06 s HTTP 1.51 s 0.41 s
  15. 15. 15/03/26 15 これが CPU,メモリ,ディスク
  16. 16. 15/03/26 16 こうなる CPU,メモリ,ディスク
  17. 17. 15/03/26 17 まとめ ● ohgi:Go言語製 Sensu CLI 高速でシンプル,分かりやすい ● sensu-plugins-go community-plugins より高速! ● Sensu + Golang もっと速く!便利に!
  18. 18. 15/03/26 18 これから ● ohgi:Go言語製 Sensu CLI 複数 Sensu 対応,v1.0.0へ! ● sensu-plugins-go community-plugins からの移植 ● Sensu を他の研究室にも広める
  19. 19. 15/03/26 19 プルリクお待ちしてます! hico-horiuchi/ohgi hico-horiuchi/sensu-plugins-go

×