Talend Open Studio Data Integration のジョブで発生したエラー情報をメールで送信する

Talend Open Studio Data Integration のジョブで発生したエラー情報をメールで送信する

tSendMail コンポーネントを使って発生したエラー情報をメールで送信する

前回下記の記事で Talend Open Studio Data Integration でのエラー処理の基本を学びました。

Talend Open Studio Data Integration でのエラー処理の基本

今回は Talend で発生したエラー情報をメールで送信する方法を学んでいきます。

[関連記事]
Talend Data Integration で処理を迅速かつ効率良く開発する (ETL ツール)
Talend Open Studio for Data Integration (Version 6.4.1) のインストール
Talend Open Studio for Data Integration の拡張機能インストール
Talend Open Studio for Data Integration でのジョブ作成方法Talend Open Studio for Data Integration で Oracle 接続が失敗あるいは遅い
Talend Open Studio Data Integration でのエラー処理の基本
Talend Open Studio Data Integration のジョブで発生したエラー情報をメールで送信する



データベース接続エラーを発生させるジョブを作成

ジョブで発生したエラー情報をメールで送信する方法を見ていきます。今回は Oracle データベースに接続するジョブを作成しますが、データベースに接続できないエラーを発生させるだけですので、データベースを準備する必要はありません。

tOracleConnection コンポーネントと tOracleInput コンポーネントを配置し、tOracleConnection から tOracleInput 同士を接続します (OnComponentOK)。

また tLogCatcher コンポーネント配置するとともに、tSendMail コンポーネントも配置します。tLogCatcher は Talend のジョブで発生したエラーを捕捉してくれるコンポーネントで、tSendMail コンポーネントはメールを配信してくれる便利な部品です。

ジョブの全体像は次のようになります。


tOracleConnection コンポーネントの設定は次のように、Host に存在しない IP アドレスを設定します (ここでは 10.10.10.10 という存在しない IP アドレスを設定)。これでデータベースに接続できないエラーを発生させることが出来ます。

エラー情報を送信するために tSendMail コンポーネントを設定する

Oracle データベースへの接続が失敗すると、tLogCatcher コンポーネントによってエラーが補足されます。tLogCatcher には様々なエラー情報が格納されており、その中から今回は次のエラー情報を取得するようにしてみます。

  • job ===> ジョブ名
  • origin ===> エラー発生原因となったコンポーネント名
  • message ===> エラーメッセージ

これらの情報をメール本文に記載することで、どんな問題がどこで発生したのかメールを見るだけで判断できるはずです。

では tSendMail コンポーネントの "Message" 欄に下の図のように情報を記述しましょう。Message にこのような書き方をしている理由は、Talend が Java で記述されているためです。Java の文法に則ってメッセージを書く必要があります。

ジョブを実行してエラー情報がメールで配信されることを確認する

それでは作成したジョブを実行してみましょう。ここまでの設定に問題がなければ、以下のようなメールが届きます。


まとめ

ジョブが失敗した際にメールを送る仕組みを入れておくことで、常にサーバーのログを確認したりする必要がなく、外出先でもエラーを確認することが出来るようになります。