Mackerel事始め mkrで残アラートのクローズ
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