LoginSignup
14
14

More than 5 years have passed since last update.

Mackerelでsensuのメトリクスを送る、rvmで専用gemset。

Last updated at Posted at 2014-05-14

この記事は最終更新から1年以上経過しています。 気をつけてね。

@matsumotoryがMackerelを申し込み、inviteされたのでエージェントを入れてみた。

【ベータテスター募集中】Mackerel: 新しいアプリケーションパフォーマンスマネジメント

Mackerel-Agentの設定ファイルを見るとsensu形式の出力も送信できるとなっていたのでやってみた。

-- snip --
# Configuration for Sensu Plugins
# Sensu checks (ref. http://sensuapp.org/docs/0.12/adding_a_check)
# Currently, metric type command can be used
# [sensu.checks.vmstat]
# command = "ruby /etc/sensu/plugins/system/vmstat-metrics.rb"
-- snip --

RVMでRubyを入れとく

sensuのプラグインはrequire 'sensu-plugin/metric/cli'します。

対象サーバにはroot用にRubyを入れていなかったので、RVMを入れておくことにした。

RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation

~# rvm install 2.1.2
Searching for binary rubies, this might take some time.

-- snip --

Install of ruby-2.1.2 - #complete 
Ruby was built without documentation, to build it run: rvm docs generate-ri

Gemsetで専用環境を用意する

グローバルにgemを入れるのはあまりやらないので、sensu専用のgemsetを作ることにした。

# rvm gemset create sensu
ruby-2.1.2 - #gemset created /home/ubuntu/.rvm/gems/ruby-2.1.2@sensu
ruby-2.1.2 - #generating sensu wrappers.........

# rvm use 2.1.2@sensu
Using /home/ubuntu/.rvm/gems/ruby-2.1.2 with gemset sensu

# gem install sensu-plugin --no-ri --no-rdoc 
Fetching: mixlib-cli-1.5.0.gem (100%)
Successfully installed mixlib-cli-1.5.0
Fetching: sensu-plugin-0.3.0.gem (100%)
Successfully installed sensu-plugin-0.3.0
2 gems installed

# gem which sensu-plugin
/home/ubuntu/.rvm/gems/ruby-2.1.2@sensu/gems/sensu-plugin-0.3.0/lib/sensu-plugin.rb

これでruby-2.1.2@sensuの環境でsensu-pluginがロードできる。

rvm-execで指定gemsetでスクリプト実行

Mackerel-Agentのサンプルでは"ruby /etc/sensu/plugins/system/vmstat-metrics.rb"の用になっていたので、この形式で任意のgemsetを使う場合rvm-execが楽だ。

# /usr/local/rvm/bin/rvm-exec 2.1.2@sensu  /home/ubuntu/github/sensu-community-plugins/plugins/system/vmstat-metrics.rb 
higanworks.example.com.vmstat.procs.waiting 0   1400045692
higanworks.example.com.vmstat.procs.uninterruptible 0   1400045692
higanworks.example.com.vmstat.memory.swap_used  36788   1400045692
higanworks.example.com.vmstat.memory.free   125280  1400045692
higanworks.example.com.vmstat.memory.buffers    24232   1400045692
higanworks.example.com.vmstat.memory.cache  1018052 1400045692
higanworks.example.com.vmstat.swap.in   0   1400045692
higanworks.example.com.vmstat.swap.out  0   1400045692
higanworks.example.com.vmstat.io.received   0   1400045692
higanworks.example.com.vmstat.io.sent   0   1400045692
higanworks.example.com.vmstat.system.interrupts_per_second  50  1400045692
higanworks.example.com.vmstat.system.context_switches_per_second    107 1400045692
higanworks.example.com.vmstat.cpu.user  0   1400045692
higanworks.example.com.vmstat.cpu.system    0   1400045692
higanworks.example.com.vmstat.cpu.idle  100 1400045692
higanworks.example.com.vmstat.cpu.waiting   0   1400045692

出力できているようだね。

mackerel-agentの設定に反映する

ということで、設定は次のようになった。

mackerel-agent.conf
-- snip --
# Currently, metric type command can be used
[sensu.checks.vmstat]
# command = "ruby /etc/sensu/plugins/system/vmstat-metrics.rb"
command = "/usr/local/rvm/bin/rvm-exec 2.1.2@sensu  /home/ubuntu/github/sensu-community-plugins/plugins/system/vmstat-metrics.rb"
type = "metric"
-- snip --

Mackerel側にもメトリクスがあがりました。vmstatではデフォルトの内容と大体かぶっている事は一旦置いときましょう。

スクリーンショット_5_14_14__3_35_PM.png

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14