ハッシュタグ: #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と同じ問題を抱えるようになった
公式以外の有用なプラグイン