ハッシュタグ: #mackerelio



おさらい
sensuのメトリックプラグイン互換の出力
$ mackerel-plugin-memcached
memcached.evictions.evictions   0.000000        1481707889
memcached.unfetched.expired_unfetched   0.000000        1481707889
memcached.unfetched.evicted_unfetched   0.000000        1481707889
memcached.cachesize.limit_maxbytes      67108864.000000 1481707889
memcached.cachesize.bytes       0       1481707889
memcached.connections.curr_connections  15.000000       1481707889
memcached.cmd.cmd_get   0.000000        1481707889
memcached.cmd.cmd_set   0.000000        1481707889
memcached.cmd.cmd_flush 0.000000        1481707889
memcached.cmd.cmd_touch 0.000000        1481707889
memcached.hitmiss.get_hits      0.000000        1481707889
memcached.hitmiss.get_misses    0.000000        1481707889
memcached.hitmiss.delete_hits   0.000000        1481707889
memcached.hitmiss.delete_misses 0.000000        1481707889
memcached.hitmiss.incr_hits     0.000000        1481707889
memcached.hitmiss.incr_misses   0.000000        1481707889
memcached.hitmiss.cas_hits      0.000000        1481707889
memcached.hitmiss.cas_misses    0.000000        1481707889
memcached.hitmiss.touch_hits    0.000000        1481707889
memcached.hitmiss.touch_misses  0.000000        1481707889
memcached.rusage.rusage_user    0.004140        1481707889
memcached.rusage.rusage_system  0.009150        1481707889
memcached.bytes.bytes_read      180.000000      1481707889
memcached.bytes.bytes_written   39840.000000    1481707889
memcached.items.curr_items      0       1481707889
memcached.items.new_items       0.000000        1481707889
環境変数 MACKEREL_AGENT_PLUGIN_META がセットされていたら、グラフ定義が出力される。(Mackerel独自フォーマット)
$ MACKEREL_AGENT_PLUGIN_META=1 mackerel-plugin-memcached
# mackerel-agent-plugin
{"graphs":{"memcached.bytes":{"label":"Memcached Traffics","unit":"bytes","metrics":[{"name":"bytes_read","label":"Read","stacked":false},{"name":"bytes_written","label":"Write","stacked":false}]},"memcached.cachesize":{"label":"Memcached Cache Size","unit":"bytes","metrics":[{"name":"limit_maxbytes","label":"Total","stacked":false},{"name":"bytes","label":"Used","stacked":false}]},"memcached.cmd":{"label":"Memcached Command","unit":"integer","metrics":[{"name":"cmd_get","label":"Get","stacked":false},{"name":"cmd_set","label":"Set","stacked":false},{"name":"cmd_flush","label":"Flush","stacked":false},{"name":"cmd_touch","label":"Touch","stacked":false}]},"memcached.connections":{"label":"Memcached Connections","unit":"integer","metrics":[{"name":"curr_connections","label":"Connections","stacked":false}]},"memcached.evictions":{"label":"Memcached Evictions","unit":"integer","metrics":[{"name":"evictions","label":"Evictions","stacked":false}]},"memcached.hitmiss":{"label":"Memcached Hits/Misses","unit":"integer","metrics":[{"name":"get_hits","label":"Get Hits","stacked":false},{"name":"get_misses","label":"Get Misses","stacked":false},{"name":"delete_hits","label":"Delete Hits","stacked":false},{"name":"delete_misses","label":"Delete Misses","stacked":false},{"name":"incr_hits","label":"Incr Hits","stacked":false},{"name":"incr_misses","label":"Incr Misses","stacked":false},{"name":"cas_hits","label":"Cas Hits","stacked":false},{"name":"cas_misses","label":"Cas Misses","stacked":false},{"name":"touch_hits","label":"Touch Hits","stacked":false},{"name":"touch_misses","label":"Touch Misses","stacked":false}]},"memcached.items":{"label":"Memcached Items","unit":"integer","metrics":[{"name":"curr_items","label":"Current Items","stacked":false},{"name":"new_items","label":"New Items","stacked":false}]},"memcached.rusage":{"label":"Memcached Resouce Usage","unit":"float","metrics":[{"name":"rusage_user","label":"User","stacked":false},{"name":"rusage_system","label":"System","stacked":false}]},"memcached.unfetched":{"label":"Memcached Unfetched","unit":"integer","metrics":[{"name":"expired_unfetched","label":"Expired unfetched","stacked":false},{"name":"evicted_unfetched","label":"Evicted unfetched","stacked":false}]}}}
[plugin.metrics.memcached]
command = "/path/to/mackerel-plugin-memcached"
Nagios/Sensu check/Consul check などと互換。コマンドの終了コードで状態を観測
$ check-procs -p crond
Procs OK: Found 1 matching processes; cmd /crond/
[plugin.checks.crond]
command = "check-procs -p crond"
max_check_attempts = 3 // optional
check_interval = 5     // optional
OSSとして提供。社外からのコントリビュートも受け付けている
go-mackerel-plugin を整備しなおました
過去のSensuと同じ問題を抱えるようになった

公式以外の有用なプラグイン