2015-12-09(水) [長年日記]
■ Mackerelの通知をPushbulletにも送るようにした(2)
昨日はMackerelが検知したalertを、たんにその存在をPushbulletに通知するにとどまっていたが、手元の開発マシンで強制的にCPU利用率が高すぎるalertを発生させた場合のJSONを見ながら、いい感じのPipelineを書いた:
var src = JSON.parse(request.body); var dst = { value1: "[" + src.event + "]", value2: null, value3: null }; switch(src.event) { case "sample": dst.value2 = src.message; break; case "alert": dst.value1 = "[" + src.event + "] " + src.host.name + " is " + src.alert.status; dst.value2 = src.alert.monitorName + ": " + src.alert.metricValue; dst.value3 = src.alert.url; break; default: dst.value2 = "unknown event"; break; } request.body = JSON.stringify(dst); return request;
これで、CPU使用率が徐々にあがってwarning → critical になり、その後下がったようすがこんな感じに通知されるようになった。悪くないんじゃね?
今後は未知のeventが出たらそれに合わせて書き換えていこう。