[Talend]tServerAliveを利用してサーバの死活チェックをする

今回はTalendのコンポーネント「tServerAlive」を紹介したいと思います。
2018.10.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。DI部の大高です。

今回はTalendのコンポーネント「tServerAlive」を紹介したいと思います。

前提条件

Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.0.1」で検証しています。

tServerAliveについて

「tServerAlive」を利用するとサーバの死活チェックをすることができます。

「tServerAlive」コンポーネントのTalend Helpページはこちらです。

tServerAlive

では、具体的に以下で解説していきます。

ジョブの説明

「tServerAlive」でサーバの死活チェックを行った後に「tJava」でチェック結果を標準出力に表示します。

「tServerAlive」コンポーネントの設定

「tServerAlive」コンポーネントの設定として「プロトコル」が「Ping」と「Telnet」から選択できます。

今回は「Ping」を選択しましたが、「Telnet」を選択するとさらに「ポート」を指定することができます。

あとはチェックを行いたい「ホスト」名の指定と「タイムアウト間隔 seconds(s)」を秒で指定してあげるだけです。タイムアウト指定をすると、応答がなかった場合に設定した秒数で処理がタイムアウトします。なお、試したところ「0」やマイナス値を設定すると、正常なホストであっても応答なしとみなされるので注意が必要です。

今回は「www.google.co.jp」に対して、タイムアウト「5」秒を設定しました。

「tJava」コンポーネントの設定

「tJava」コンポーネントでは、死活チェック結果として「tServerAlive.SERVER_ALIVE_RESULT」を以下のコードで表示しています。(trueの場合が、ALIVE)

System.out.println("IsAlive: " + ((Boolean)globalMap.get("tServerAlive_1_SERVER_ALIVE_RESULT")));

なお、入力する際にはコンポーネントのラベルを途中まで入力してからCtrl+Spaceで入力候補が出てくるので、「tServerAlive.SERVER_ALIVE_RESULT」を選択すると自動で「((Boolean)globalMap.get("tServerAlive_1_SERVER_ALIVE_RESULT"))」が補完入力されます。

実行結果

設定は以上です。実際にこのジョブを実行すると以下のように出力されます。

[statistics] connecting to socket on port 3629
[statistics] connected
IsAlive: true
[statistics] disconnected

「www.google.co.jp」が生きていることが確認できました!

まとめ

以上、「tServerAlive」コンポーネントの紹介でした。

「tServerAlive」コンポーネントはサーバへのアクセスを行う処理の事前処理として、死活チェックに活用できるコンポーネントだと思います。

それでは。