Spotfire Server 12.1より、インフォメーションサービス(Spotfire Server側の、インフォメーションリンクを実行する機能)がSpotfire Serverとは別のプロセスとして起動して動作するように仕様変更されました。12.1より前のバージョンではインフォメーションサービスがSpotfire Serverのメインプロセス内で動作します。
本資料はこれによる変更点について情報を整理いたします。
また、この仕様変更はエンドユーザーには特に影響はありませんが(インフォメーションリンクは従来通りに動作する)、管理者の場合はこの記事を参考に必要に応じて環境構成や設定変更などを実施してください。
動作確認環境
本資料はSpotfire Server 14.0.1 LTS環境で動作確認して作成しています。資料記載の内容はSpotfire Server 12.1以降に適用できます。
インフォメーションサービスプロセス
Spotfire Server 14.0 LTS(12.1以降)が動作時には以下の3つのプロセスが立ち上がっていますが、インフォメーションサービスは単独のプロセスとして動作します。
No | プロセス | コマンドライン |
1 |
インフォメーションサービスのプロセス ・Java |
<Spotfire Server 14.0インストール先>\jdk\bin\java -Xms512M -Xmx1024M <一部引数を省略> com.spotfire.ws.server.InformationServicesServer |
2 |
クラスター機能のプロセス ・Apache Ignite |
<Spotfire Server 14.0インストール先>\jdk\bin\java -Xms512M -Xmx512M <一部引数を省略> com.spotfire.server.cluster.StartIgnite |
3 |
Spotfire Serverのメインプロセス ・Apache Tomcat |
<Spotfire Server 14.0インストール先>\tomcat\bin\Tomcat10.exe //RS//spotfireserver-1401 |
これに伴い以下の仕様変更も行われています。
・インフォメーションサービスの動作ログの出力先フォルダ
前:<Spotfire Server 12.0インストール先>\tomcat\logs\
後:<Spotfire Server 14.0インストール先>\tomcat\logs\informationservices\
・インフォメーションサービスの動作ログの設定ファイル
前:<Spotfire Server 12.0インストール先>\tomcat\spotfire-config\log4j2.xml
後:<Spotfire Server 14.0インストール先>\tomcat\spotfire-config\log4j2-is.xml
・インフォメーションリンク実行に必要なJDBCドライバの格納先フォルダ
前:<Spotfire Server 12.0インストール先>\tomcat\custom-ext\
後:<Spotfire Server 14.0インストール先>\tomcat\custom-ext-informationservices\
他にも一部関連の機能が追加されています。
・インフォメーションサービスプロセスはポート番号「9445」を使って動作しており、Spotfire Serverと通信します。(Spotfire Server 14.0LTSより前のバージョン12.1~12.5では「9444」を使用)
・インフォメーションサービスプロセスの動作設定を変更するためのコマンド(config-external-information-services-process)が追加されています。
・インフォメーションサービスをJMX監視する機能も追加されています。
インフォメーションサービスプロセスの有効・無効化
以下のSpotfire Server 設定変更手順に従って、Spotfire Server の設定を変更してインフォメーションサービスプロセスを有効・無効化できます。
・Spotfire Server設定変更手順(「コマンドライン使用」の部分を参照ください)
Spotfire Server 12.1 以降ではデフォルト設定では有効となっていますが、無効化(従来通りにインフォメーションサービスをSpotfire Server のメインプロセス内で実行させる)するコマンドは以下の通りです(参考資料)。
config.bat set-config-prop --name "information-services.external-process.enabled" --value "false"
インフォメーションサービスプロセスを無効化した場合には完全にSpotfire Server 12.0 LTS などの従来通りの動作に戻ります。ログ設定ファイルやログ出力先、JDBCドライバの格納先などのすべてが従来の設定になります。
インフォメーションサービスプロセスの管理
以下のSpotfire Server 設定変更手順に従って、コマンド(config-external-information-services-process)を利用してインフォメーションサービスプロセスを管理できます。
・Spotfire Server設定変更手順(「コマンドライン使用」の部分を参照ください)
以下の引数を指定してインフォメーションサービスプロセスの動作設定を変更できます。
引数 | デフォルト値 | 説明 |
--port=value |
9445(v14.0) 9444(v12.1~v12.5) |
インフォメーションサービスプロセスの動作ポート番号 |
--max-memory=value | 1024M |
メモリ使用量の最大値、例: ・1024M/1024m:1024メガバイト ・4G/4g:4ギガバイト |
--min-memory=value | 512M | メモリ使用量の最小値(初期値)、設定方法は同上 |
--init-timeout=value | 120 | プロセスの初期化が完了までの最大待ち時間(秒数) |
-Jvalue ※複数指定可 |
-J-XX:+AlwaysPreTouch -J-XX:+UseG1GC -J-XX:+ScavengeBeforeFullGC -J-XX:+DisableExplicitGC |
Java実行オプションを指定(既存設定を上書き)、-Avalueや-Rvalueとの同時指定は不可 |
-Avalue ※複数指定可 | なし |
Java実行オプションを追加、-Jvalueとの同時指定は不可 |
-Rvalue ※複数指定可 | なし | Java実行オプションを削除、-Jvalueとの同時指定は不可 |
--use-legacy-extensions=<true|false> | false |
「true」の場合は従来のJDBCドライバ格納先フォルダと新しい仕様のフォルダ「custom-ext-informationservices」の両方とも使用 ・<Spotfire Server 14.0インストール先>\tomcat\custom-ext ※upgradetool.batを使って12.1より前のバージョンからアップグレードしてきた際に「custom-ext」内のファイルを移行したことがある場合には自動的に「true」に設定される |
上記のコマンドで設定変更を実施した際には設定ファイル「configuration.xml」が更新されます。
コマンド実行例:
config.bat config-external-information-services-process --max-memory=4g --min-memory=1g
変更後設定ファイル:
インフォメーションサービスプロセスのログレベルの設定
インフォメーションサービスプロセスのログレベルは、Spotfire Server のログレベル設定(Web管理画面⇒Monitoring&Diagnostics)に従います。
JDBCドライバの格納先
・Spotfire Server 12.1以降のバージョンでインフォメーションサービスプロセスを無効化した、もしくは「--use-legacy-extensions=true」を設定した場合には、インフォメーションリンク実行用のJDBCドライバは以下のいずれかの場所に格納しても構いません。
<Spotfire Server 14.0インストール先>\tomcat\custom-ext\
または、
<Spotfire Server 14.0インストール先>\tomcat\custom-ext-informationservices\
・Spotfire Server 12.1以降のバージョンで上記以外の場合、インフォメーションリンク実行用のJDBCドライバは以下のフォルダに格納する必要があります。
<Spotfire Server 14.0インストール先>\tomcat\custom-ext-informationservices\
・リポジトリDB接続(Spotfire Serverメインプロセスから接続)用のJDBCドライバ(Oracleのみ)は従来通りに以下のフォルダに格納してください。
<Spotfire Server 14.0インストール先>\tomcat\custom-ext\
すなわち、リポジトリDBにOracleを使っていて、かつインフォメーションリンクを利用してOracleからデータを取り込むことがある場合、Oracle接続用のJDBCドライバ(ojdbc11.jar)は以下の2箇所ともに格納する必要があります。
<Spotfire Server 14.0インストール先>\tomcat\custom-ext\ojdbc11.jar
<Spotfire Server 14.0インストール先>\tomcat\custom-ext-informationservices\ojdbc11.jar
補足としてSpotfire Serverカスタムモジュール(例えばPostAuthenticationFilterなど)は従来通りに以下のフォルダに格納してください。
<Spotfire Server 14.0インストール先>\tomcat\custom-ext\
Spotfire Server Configuration Tool(config.bat/uiconfig.bat)は常に「custom-ext」と「custom-ext-informationservices」の両方とも参照していますので、どちらに設置されているJARファイルであっても正しく利用できます。
インフォメーションサービスプロセスのログ
重要なログは以下になります。インフォメーションリンク実行時に問題が発生した場合はこれらのログから原因調査してください。
・インフォメーションサービスプロセスの動作ログ
<Spotfire Server 14.0インストール先>\tomcat\logs\informationservices\server.log
・インフォメーションリンク実行時のSQLログ
<Spotfire Server 14.0インストール先>\tomcat\logs\informationservices\sql.log
・パフォーマンス監視ログ(直接Analystへドラッグアンドドロップして取り込んで解析可能)
<Spotfire Server 14.0インストール先>\tomcat\logs\informationservices\performance.monitoring.log
JMX監視
Spotfire Serverのメインプロセスの場合はポート番号「1099」へ接続してJMX監視を行えますが、インフォメーションサービスプロセスの場合はポート番号「1100」を利用してJMX監視を行います。
※JMX監視機能はデフォルト設定では有効となっていません。
旧バージョンからv14.0 LTSへバージョンアップした場合の注意事項
旧バージョン:<Spotfire Server 12.0インストール先>\tomcat\custom-ext\ ⇒
新バージョン:<Spotfire Server 14.0インストール先>\tomcat\custom-ext\
旧バージョン:<Spotfire Server 12.1インストール先>\tomcat\custom-ext\ ⇒
新バージョン:<Spotfire Server 14.0インストール先>\tomcat\custom-ext\
旧バージョン:<Spotfire Server 12.1インストール先>\tomcat\custom-ext-informationservices\ ⇒
新バージョン:<Spotfire Server 14.0インストール先>\tomcat\custom-ext-informationservices\
参考資料
SPOT-1526 12.1.0 Information Services runs in its own subprocess on the TIBCO Spotfire Server Information Services, used for accessing data with JDBC, now runs in its own subprocess on the same computer as the TIBCO Spotfire Server. The purpose of this change is, among other things, to improve the stability of the Spotfire environment and to facilitate troubleshooting. For the end user, Information Services works the same way as before, and no action is required before upgrading.