Mackerelを使用しているとアラート発生後に復旧せずに残り続けるアラートが出てきます。
AWS インテグレーションで CloudWatch 上に値が出力されない物(ELB の ERROR 等、CloudWatch上 0 ではなく、値が無い物)が良く残ります。
Web上から一つずつクリックしてCloseするのは数が多くなってくると厳しいので mkr を使用して一括Closeを行います。

今回の判定条件はアラート発生後 n秒経過した物を対象とします。
(Close実行部分はコメントアウトしています)

export MACKEREL_APIKEY='XXXXXXXXXX'
# 経過秒数を指定
_SEC=86400

# epoch秒生成
_EPOCH=$(expr $(date +'%s') - ${_SEC})
echo "Target: $(date --date "@${_EPOCH}" +'%Y-%m-%d %H:%M:%S')"
#BSD
#echo "Target: $(date -r "${_EPOCH}" +'%Y-%m-%d %H:%M:%S')"

# アラートをクローズ
for _ID in $(mkr alerts | jq -r '.[] | select(.openedAt  < '${_EPOCH}').id')
do
  echo "${_ID}"
  # mkr alerts close ${_ID}
done
  • Closed by API

20160805023259

元記事はこちら

Mackerel事始め mkrで残アラートのクローズ