34
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

re:dashのAlert機能

Last updated at Posted at 2015-12-11

re:dashには閾値を超えたクエリ結果に対してAlertを投げる機能があります。

これは大変便利な機能なのですが現状通知方法がメールだけでした。

通知の仕組みががpluggableになってたら便利だな〜と考えPull Requestを投げたら取り込まれました。

最新のStable versionである0.8.3で適用されてます。

よくありそうなユースケース

  • 直近1日のエラーが閾値を超えたら通知
  • RedshiftやBigQueryのクエリ結果から、PV数やCV数がある閾値を下回ったら通知
  • Slowqueryの回数が閾値を超えたら通知

re:dashの豊富なデータソースで色々なユースケースが思い浮かびますね!

クエリのスケジューリングと組み合わせると更に色々柔軟な通知が可能です。

Alertの作成方法

トップページの「New Alert」を押して作成画面に移動します。
※↑はre:dashのデモサイトですので誰でも使えます。

Qiita

Query

  • Alertを飛ばしたいQueryを選択します。

Value column

  • 監視したいColumnを選択します。

Op

  • 以下からOperatorを選択
    • greater than
    • less than
    • equals

Reference

  • 閾値を入力します
    • Value columnを「count」、Opを「greater than」にしてReferenceを「5000」にした場合はcountが5000より大きいrecordがある場合にアラートを飛ばす事ができます。

Subscribers

  • 一番右側のSubscribersをチェックを外すと、自分への通知を止めることが出来ます。
  • メールのみですが、通知を受け取りたい人だけがAlertを受け取れます

Alertの通知方法

Alertは現状以下の3種類です

  • メールによる通知
  • Hipchatによる通知
  • Webhookによる通知

メールによる通知方法

.env
export REDASH_MAIL_SERVER="my.maildomain.jp"
export REDASH_MAIL_PORT="25"
export REDASH_MAIL_DEFAULT_SENDER="redash@mydomain.jp"
export REDASH_HOST="http://redash.sitedomain.jp"

# 以下は必要あれば設定
#export REDASH_MAIL_USE_TLS=true
#export REDASH_MAIL_USE_SSL=true
#export REDASH_MAIL_USERNAME=mail_user
#export REDASH_MAIL_PASSWORD=mail_password

.envに上記の変数を設定します。

Hipchatによる通知方法

.env
export REDASH_HIPCHAT_API_TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
export REDASH_HIPCHAT_ROOM_ID="111111"

こんな感じで通知されます。

Qiita

Webhookによる通知方法

.env
export REDASH_WEBHOOK_ENDPOINT="https://XXXXXX.herokuapp.com"

# Basic認証をかけている場合は以下を設定
# export REDASH_WEBHOOK_USERNAME="user"
# export REDASH_WEBHOOK_PASSWORD="password"

以下の様なJSONがEndpointにpostされます。

{
  "url_base": "http://redash.sitedomain.jp", 
  "event": "alert_state_change", 
  "alert": {
    "state": "triggered", 
    "query_id": 1, 
    "name": "fuga: count(*) greater than 5000", 
    "rearm": null, 
    "updated_at": "2015-12-11T08:09:04.898736", 
    "user_id": 1, 
    "created_at": "2015-12-11T08:08:58.228976+00:00", 
    "last_triggered_at": "2015-12-11T08:09:04.898690+00:00", 
    "id": 6, 
    "options": {
      "column": "count(*)", 
      "value": 5000, 
      "op": "greater than"
    }
  }
}

独自に何かアラートをpublishしたい場合はWebhookが効果的です。

まとめ

可視化だけでなく通知の仕組みとしても便利です

参考

34
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?