概要
Spotfire Server環境を構築した後に、クライアント端末からブラウザ上では無事にSpotfire Serverへログインできることを確認できたのにもかかわらず、Analystへはログインできない場合があります。
例えば下記のようにAnalystへログインしようとする際に「サーバーにログインできません。」のエラーが発生しています。
「詳細情報」には以下のようなメッセージが出力されております。
Error message: ログインできませんでした。もう一度やり直してください。
Could not authenticate with server to get tokens. No detailed response:
AuthenticationException at :
Could not authenticate with server to get tokens. No detailed response: (HRESULT: 80131501)
Stack Trace:
WebException at System:
リモート名を解決できませんでした。: 'spotfire-server-1' (HRESULT: 80131509)
上記の問題が起きた際には下記の対応方法で改善できるかどうかをお試しください。
対象バージョン(11.0以降のみ)
本件問題は11.0以降のバージョンにて発生する可能性があります。
・Spotfire Server 11.0~
・Spotfire Analyst 11.0~
原因
Spotfire Analyst 11.0から仕様が変更され、AnalystからSpotfire Serverにログインする際には、ログインダイアログで指定したURLだけでなく、Spotfire Server側に設定されているPublic Addressにも通信を行いますので、Analyst動作端末からいずれかのアドレスに接続できない場合にはAnalystへログインできません。
※Spotfire Analyst 11.0より前のバージョンではログインダイアログに指定したURLへ接続できればログイン可能です。
Public AddressとはSpotfire Server側設定の一つであり、Spotfire Serverのアドレス(例:http://spotfire-server-1:1200)を指定します。Public Addressが未設定の場合はSpotfire Server動作端末のFQDN、ホスト名またはIPアドレスから自動的に生成されて使用されます。また、Spotfire Serverには1つのPublic Addressのみを設定可能です。複数台のSpotfire Serverがクラスター構成されている場合はPublic Addressの設定がすべてのSpotfire Serverに適用されますが、サイト機能(Sites)を利用して各Spotfire Serverに異なるPublic Addressを設定することも可能です。
一般的には、Analyst動作端末からログインダイアログに指定したURLへは接続が可能であるものの、Spotfire Server側に設定されているPublic Addressへ接続できないという事例は多く見られます。この場合には上記のエラーが発生しますので、以下の手順に従って対処してください。
対応方法
上記のエラー「リモート名を解決できませんでした。: 'spotfire-server-1'」は下記のいずれかの方法で対応できます。
対応方法①(推奨)
Spotfire ServerのPublic Addressを変更して、すべてのAnalyst動作端末からアクセスできるように設定してください。
Public Addressの変更は以下の手順に従って実施してください。
1.Spotfire Server端末内でOS管理者権限でコマンドプロンプトを起動して、Spotfire Serverインストール先フォルダ(下記例)へ移動してください。
C:\tibco\tss\12.0.4\tomcat\spotfire-bin
2.以下のコマンド(set-public-address)を実行してPublic Addressを設定してください。
config.bat set-public-address -u http://<Spotfire Server端末のhost名、FQDNまたはIPアドレス>:<port>/
コマンド実行時にはConfiguration Toolのパスワードが必要です。Configuration ToolのパスワードはSpotfire環境構築時に設定されておりますので管理者様へお問い合わせください。
3.Public Addressの設定を確認するには以下のコマンド(list-sites)を実行します。
config.bat list-sites
このコマンドはサイト(Sites)の一覧を表示していますが、Public Addressは実際にはサイトごとに設定されますのでサイト情報とともにPublic Addressも表示されます。サイト機能は必ず有効になっているため未設定の場合はすべてのSpotfire Serverが「Default」サイトに所属しています。
例:
4.Spotfire Serverサービス、Node Managerサービスを再起動して設定変更を反映させてください。
また、上記の手順の代わりにSpotfire Server端末内でスタートメニューから「TIBCO Spotfire Server 12.0.4 LTS」⇒「Configure TIBCO Spotfire Server 12.0.4 LTS」を押して、GUI画面の設定ツール「TIBCO Spotfire Configuration Tool」を起動してPublic Addressを設定することも可能です。
設定ツール起動時にパスワード(Configuration Toolのパスワード)の入力が求められます。パスワードを入力しOKボタンを押して続行してください。
次に、「Configuration」タブにて「Public Address」画面を開いて、以下のようにPublic Addressを設定してください。
・Enable custom public address:Yesを選択
・Public address URL:Public addressを「http[s]://<host>[:<port>]/」の形式で指定してください。
上記のようにPublic Addressを設定した後には「Save configuration」を行う必要はありませんが、必ず一度「Security」などほかの画面へ移動してPublic Addressの設定変更を保存させてください。また、設定後には同様にSpotfire Serverサービス、Node Managerサービスを再起動して設定変更を反映させてください。
対応方法②
Spotfire Serverに設定されているPublic Addressにホスト名またはFQDNが使用されており、かつAnalyst動作端末上はそのFQDNまたはホスト名を正しく名前解決できない場合、Analyst動作端末内でhostsファイルを編集して、Spotfire ServerのIPアドレス(Analyst動作端末から接続可能が前提)とPublic Address内に含まれているホスト名またはFQDNの対応づけを指定することで、Analyst動作端末からアクセスできるようにします。
※すべてのAnalyst端末上で実施する必要があります。
・hostsファイルのフルパス:C:\Windows\System32\drivers\etc\hosts
・変更内容(例):
192.168.100.1 spotfire-server-1
対応方法③(12.0以降のみ)
Spotfire Server設定を変更して、Analystからログインする際にはログインダイアログに指定したURLのみを利用するようにすることも可能です。これでAnalystへのログイン時にはPublic Addressを使わなくなるため、Analyst動作端末から該当Public Addressへ接続できなくてもログインが可能になります。
※この方法はSpotfire Server 12.0以降のみ利用できます。
1.Spotfire Server端末内でOS管理者権限でコマンドプロンプトを起動して、Spotfire Serverのインストール先フォルダ(下記例)へ移動してください。
C:\tibco\tss\12.0.4\tomcat\spotfire-bin
2.以下のコマンド(export-config)を実行して現行Spotfire Server設定をエクスポートしてください。
config.bat export-config -f
コマンド実行時にはConfiguration Toolのパスワードが必要です。Configuration ToolのパスワードはSpotfire環境構築時に設定されておりますので管理者様へお問い合わせください。
引数「-f」は既存ファイル(同フォルダの下に「configuration.xml」)を上書きすることを示しております。
3.以下のコマンド(set-config-prop)を実行してSpotfire Server設定を変更してください。
config.bat set-config-prop -n general.calculate-public-address-per-request -v true
引数「-n」には設定項目名(本例:general.calculate-public-address-per-request)を指定します。
引数「-v」には設定値(本例:true、有効にする)を指定します。
コマンド実行後にはエクスポートされたファイル「configuration.xml」が変更されます。
4.以下のコマンド(import-config)を実行して変更後Spotfire Server設定をインポートしてください。
config.bat import-config -c "enable calculate-public-address-per-request"
引数「-c」には任意文字列でコメント(設定変更内容がわかるものを推奨)を指定します。
5.Spotfire Serverサービス、Node Managerサービスを再起動して設定変更を反映させてください。
Public Addressの利用
1.Consumer機能
以下のConsumer機能(ブラウザ画面)を利用する際にはPublic Addressが使用されております。また、上記の対応方法③の設定有無にかかわらず必ずSpotfire Serverに設定されているPublic Addressが使用されます。
①分析閲覧画面にて「ファイル」⇒「開く」を押した際には以下のURL(「Analytics」画面)が別のブラウザタブで開かれます。
<Public Address>/spotfire/wp/analysis
②分析閲覧画面にて「ファイル」⇒「ライブラリー アプリ」を押した際には以下のURL(「Library」画面)が別のブラウザタブで開かれます。
<Public Address>/spotfire/#/library
③分析閲覧画面にて「ファイル」⇒「共有」⇒「リンクのコピー」を押した際には以下の共有リンク(例)を示すダイアログが表示されます。
<Public Address>/spotfire/wp/OpenAnalysis?file=/samples/Expense%20Analyzer%20Dashboard&configurationBlock=SetPage%28pageIndex%3D0%29%3B&options=13-1,10-1,9-1,5-1,6-0,17-1,11-1,12-1,14-1,1-1,3-1,18-1,7-1,15-1,19-1,4-1,2-1
④分析閲覧画面にて「ユーザー」⇒「マイアカウント」を押した際には以下のURL(「マイアカウント」ページ)が別のブラウザタブで開かれます。
<Public Address>/spotfire/#/myAccount
⑤分析閲覧画面にて「ユーザー」⇒「Serverの管理」を押した際には以下のURL(Web管理画面)が別のブラウザタブで開かれます。(※管理者権限でログインしている場合のみ)
<Public Address>/spotfire/#/home
⑥「Library」画面にて分析へのリンクをコピーする際には以下(例)のURLが取得されます。
<Public Address>/spotfire/wp/OpenAnalysis?file=ef474646-6c0b-40ea-b45c-4df5cf66de7d
2.Analyst機能
以下のAnalyst機能を利用する際にはPublic Addressが使用されておりますが、上記の対応方法③の設定を実施した場合にはPublic Addressの代わりにAnalystのログインダイアログに指定したURLが使用されます。
①分析を初回にライブラリに保存(または名前を付けて保存)した場合には保存後に以下のダイアログが表示されますが、WebクライアントからアクセスできるURL(下記例)の部分にはPublic Addressが使用されています。
<Public Address>/spotfire/wp/OpenAnalysis?file=c0e1dc61-3b17-4e56-ab57-3d9a79dd24a5
②「ファイルとデータ」フライアウトから、ライブラリにあるファイルへのリンクをコピーする際には、コピーされたURLにはPublic Addressが使用されています。
<Public Address>/spotfire/wp/OpenAnalysis?file=c0e1dc61-3b17-4e56-ab57-3d9a79dd24a5
③Analystメニュー:「ツール」⇒「ライブラリーの管理」画面を開いて、分析へのリンクをコピーする際には、コピーされたURLにはPublic Addressが使用されております。
・ライブラリー パス
<Public Address>/spotfire/wp/OpenAnalysis?file=/samples/Expense%20Analyzer%20Dashboard
・ライブラリーの識別子
<Public Address>/spotfire/wp/OpenAnalysis?file=eca209f9-293f-49df-92fa-1113fb494596
④「Automation Services Job Builder」にてジョブを初回にライブラリに保存(または名前を付けて保存)した場合には保存後に以下のダイアログが表示されますが、ジョブ実行スケジュール作成画面へのリンクURL(下記例)の部分にはPublic Addressが使用されています。
<Public Address>/spotfire/#/automationServices?viewId=schedules&action=manage&libItemId=611e1e79-0a6e-4dcb-98e6-64de3ccdabe3
⑤「Automation Services Job Builder」にて「ツール」⇒「サーバーで実行する」を実施する際にはPublic Addressに対してジョブを実行します。
サーバー <Public Address> でジョブ job1 を開始中
⑥Analystメニュー:「ユーザー」⇒「マイアカウント」を押した際には以下のURL(「マイアカウント」画面)がブラウザ上で開かれます。
<Public Address>/spotfire/#/myAccount
⑦Analystメニュー:「ユーザー」⇒「Serverの管理」を押した際には以下のURL(Web管理画面)がブラウザ上で開かれます。(※管理者権限でログインしている場合のみ)
<Public Address>/spotfire/#/home
参考資料
Unable to login from TIBCO Spotfire Analyst 11.X onwards
以上