ただのにっき
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が出たらそれに合わせて書き換えていこう。