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