|

2023-03-08

データ関連

Data FusionでのパイプラインのSlackエラー通知設定方法

Data FusionGoogle Cloudデータ基盤

Data FusionでのSlackエラー通知設定について

皆さんCloud Data Fusion使ってますか?GUIベースでパイプライン構築が出来て便利ですよね。

コードじゃないと安心できない人のためにちゃんと設定はExportできるところもまた良いですよね。

しかしパイプラインに監視は付きものです。パイプラインが正常に稼働しなかった場合は勿論ですが、正常に稼働し終わったタイミングを知りたいユースケースもあるのではないでしょうか。

現在テスト的に運用しているData Fusionでは基本的に失敗時は必ずSlackへ通知を送るようにしています。

まだまだニッチな領域なのか、調べてもそこまでたくさん資料が出てこなかったので、その設定方法についてメモしていきます。

前準備

前準備として、SlackのWebhook URLが必要となりますのでその取得を行います。

SlackのWebhook URLは、こちらのページより取得出来ます。

Data Fusionの通知設定

準備が整ったらData Fusionに取得したSlack Webhook URLの設定を行います。

Data Fusionのパイプラインからの通知は「Pipeline alert」にて行えます。

具体的にはData Fusionのパイプライン設定画面で、Configureから「Pipeline alert」を選択し、「+」ボタンでアラートを追加出来ます。

Cloud_Data_Fusion__Studio_2023-03-07_19-44-30

ここでアラートの種類を選択することになります。メール送信などもありますが、Slack連携の場合は「Make HTTP Call」を選択します。

Untitled

HTTP Callback Propertiesの画面が開くので、

  • Run Condition: failure / success / completionを選択します。失敗時のみに絞りたい場合はfailureです。

  • URL: SlackのWebhook URLを入力します。

  • HTTP Method: POSTでOKです。

  • Request Body: SlackのWebhookに対して送るPayloadのJSONをそのまま記入します。特にエスケープ等は不要でした。

    • 例: {”channel”: “#Slackチャンネル名”, “username”: “Data Fusion”, “text”: “エラーが発生しました”}

Untitled

通知のテスト

正しくSlackへ通知がいくよう設定が行えているかを確認するためには、 BigQuery Execute 単体を作るのが手っ取り早いと思います。

「Conditions and Actions」から、「BigQuery Execute」を選択します

Cloud_Data_Fusion__Studio_2023-03-07_19-56-13

中身は SELECT 1 とだけでも設定しておくと良いかと思います。

Untitled

これで、Run Conditionを「completion」として実際にちゃんと通知がいくかを確認します。(実際のPipelineではRun Conditionをfailureとします)

Untitled

実際にData Fusionをデプロイして実行すると…

Untitled

問題無くエラー通知が飛びました!これで設定完了です。

まとめ

Data FusionでのSlackエラー通知を行う方法についてまとめてみました。

もちろん失敗時のみでなく成功時にも通知を行うことは出来るので、様々なユースケースに合わせて使える設定になっているかと思います。

やっぱりこのあたりの通知はSlackと連携して実施するのが一番ですね。まあ、もっとも、エラー通知ほど来て欲しくないものはないわけですが…


この記事の著者

プロフィール画像

伴 拓也

朝日放送グループホールディングス株式会社 DX・メディアデザイン局 デジタル・メディアチーム

アプリケーションからインフラ、ネットワーク、データエンジニアリングまで幅広い守備範囲が売り。最近はデータ基盤の構築まわりに力を入れて取り組む。 主な実績として、M-1グランプリ敗者復活戦投票システムのマルチクラウド化等。