注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Agent Managerは、インストールされているサーバー上で「bootvisor」と呼ばれています。
このページでは、エージェントログの設定方法、エージェント設定の一般的な問題、およびデバッグのガイダンスについて説明しています。
curl -s https://<your domain name>/magritte-coordinator/api/ping > /dev/null && echo pass || echo fail
を実行します。
pass
が表示されます。その場合は次のことを行う必要があります。
echo $http_proxy
を実行することで、プロキシが使用されているかどうかを確認できます。curl: (6) Could not resolve host: ...
。この場合、接続をブロックしているものがある可能性があります(例:ファイアウォールやプロキシ)、Palantirの担当者に連絡してください。<agent-manager-install-location>/var/log/startup.log
ファイルの内容を確認してください。
以下のエラーが表示された場合: Caused by: java.net.BindException: {} Address already in use
、これは、エージェントマネージャーがバインドしようとしているポートですでにプロセスが実行されていることを意味します。
<agent-manager-directory>/var/conf/install.yml
ファイルの内容を確認し、「port」パラメーター(例:port: 1234
- ここで1234はポート)を探すことで行うことができます。ポートパラメーターが定義されていない場合、エージェントマネージャーはデフォルトのポート7032を使用します。ps aux | grep $(lsof -i:<PORT> |awk 'NR>1 {print $2}' |sort -n |uniq)
ここで <PORT>
は、エージェントマネージャーがバインドしようとしているポートです。
com.palantir.magritte.bootvisor.BootvisorApplication
が含まれている場合、別のエージェントマネージャーがすでに実行されていることを意味します。BindException
エラーを修正するには、使用されていない新しいポートをエージェントマネージャー用に見つける必要があります。
lsof -i :<PORT>
ここで <PORT>
は選択したポート番号です。利用可能なポートが見つかったら、<agent-manager-directory>/var/conf/install.yml
に保存されている設定で port
パラメーターを追加(または更新)する必要があります。
以下は、ポートが 7032
に設定された例の エージェントマネージャー設定スニペット です。
Copied!1 2 3
... port: 7032 auto-start-agent: true
上記の設定を保存したら、エージェントマネージャーを再起動します。<agent-manager-root>/service/bin/init.sh stop && <agent-manager-root>/service/bin/init.sh start
を実行してください。
<agent-manager-directory>/var/data/processes/<latest-bootstrapper-directory>/var/log/startup.log
ファイルの内容を確認してください。
以下のエラーが表示された場合: Caused by: java.net.BindException: {} Address already in use
、これは、ブートストラッパーがバインドしようとしているポートですでにプロセスが実行されていることを意味します。
port
パラメーターで定義されています(例:port: 1234
- ここで1234はポート)。ブートストラッパーのデフォルトポートは7002です。ps aux | grep $(lsof -i:$PORT |awk 'NR>1 {print $2}' |sort -n |uniq)
ここで $PORT
は、ブートストラッパーがバインドしようとしているポートです。
com.palantir.magritte.bootstrapper.MagritteBootstrapperApplication
が含まれている場合、別のブートストラッパーがすでに実行されていることを意味します。BindException
エラーを修正するには、使用されていない新しいポートをブートストラッパー用に見つける必要があります。
lsof -i :<PORT>
ここで <PORT>
は選択したポート番号です。利用可能なポートが見つかったら、ブートストラッパーの設定で port
パラメーターを設定する必要があります。これは、Data Connectionアプリ内のエージェント概要ページに移動することで行うことができます。そこから詳細設定ボタンを選択し、最後に「ブートストラッパー」タブに移動します。
以下は、ポートが 7002
に設定された例の ブートストラッパー設定スニペット です。
Copied!1 2 3 4
server: adminConnectors: ... port: 7002 #これがポートの値です
設定を更新したら、変更を保存し、効果を適用するためにエージェントを再起動する必要があります。
これは、通常、「ゴースト」のエージェントインスタンスが実行されているためであり、それを見つけてシャットダウンする必要があります。
古いプロセスを見つけて終了するには、以下の手順に従ってください。
<agent-manager-install-location>/service/bin/init.sh stop
を実行します。<agent-manager-install-location>/var/data/processes/index.json
ファイルを削除します。for folder in $(ls -d <agent-manager-root>/var/data/processes/*/); do $folder/service/bin/init.sh stop; done
を実行します。<agent-manager-install-location>/service/bin/init.sh start
)。Data Connectionを通じてではなく、インストールされているホストでエージェントを手動で起動すると、「ゴースト」プロセスが作成されることがあります。
エージェントプロセスが「不健康」状態を示すことがよくありますが、これは、オペレーティングシステムまたはアンチウイルスなどの他のソフトウェアによってクラッシュしたり、シャットダウンされたりしたためです。
オペレーティングシステムがプロセスをシャットダウンした理由はいくつかありますが、最も一般的なのは、オペレーティングシステムにプロセスを実行するのに十分なメモリがないためであり、これはOOM(Out Of Memory)キルと呼ばれます。
エージェントまたはエクスプローラーサブプロセスがオペレーティングシステムによってOOMキルされたかどうかを確認するには、次のコマンドを実行します。 grep "exited with return code 137" -r <agent-manager-directory> --include=*.log
。このコマンドは、エージェントマネージャーディレクトリ内のすべてのログファイルを検索し、'exited with return code 137'(リターンコード137は、プロセスがOOMキルされたことを示す)が含まれているエントリを探します。
上記のコマンドによって生成される例の出力は、次のようになります。これは、エージェントサブプロセスがOOMキルされていることを示しています。 ./var/data/processes/bootstrapper~<>/var/log/magritte-bootstrapper.log:ERROR [timestamp] com.palantir.magritte.bootstrapper.ProcessMonitor: magritte-agent exited with return code 137
。このような出力が表示される場合は、以下の手順に従ってヒープサイズを調整する必要があります。
また、次のコマンドを実行することで、オペレーティングシステムのログでOOMキルエントリを確認することもできます。 dmesg -T | egrep -i 'killed process
。このコマンドは、カーネルリングバッファ内の 'killed process' ログエントリを検索し、プロセスがOOMキルされたことを示します。
OOMキルされたプロセスの実際のログエントリは、次のようになります。
[timestamp] Out of memory: Killed process 9423 (java) total-vm:2928192kB, anon-rss:108604kB, file-rss:0kB, shmem-rss:0kB, UID:0 pgtables:1232kB oom_score_adj:0
(java)
が含まれていないエントリは無視できます。これらはエージェントと関連していません。ヒープサイズの調整
ヒープ割り当てを変更する前に、まず次のことを行ってください。
free -h
を実行します。6 GBのシステムでは、出力は次のようになることがあります。Copied!1 2 3
total used free shared buff/cache available Mem: 5.8Gi 961Mi 2.8Gi 9.0Mi 2.1Gi 4.6Gi # メモリ: 合計 5.8Gi、使用中 961Mi、空き 2.8Gi、共有 9.0Mi、バッファ/キャッシュ 2.1Gi、利用可能 4.6Gi Swap: 1.0Gi 0B 1.0Gi # スワップ: 合計 1.0Gi、使用中 0B、空き 1.0Gi
free
コマンドによって生成される出力では、available
行が新しいアプリケーションの開始に使用できるメモリの量を示します。エージェントに割り当てることができるメモリの量を決定するために、エージェントを停止し、システムが通常から高負荷状態にある間にfree -h
を実行することをお勧めします。利用可能な値は、すべてのエージェントプロセスを組み合わせたメモリの最大量を示します。可能であれば、システム上の他のプロセスがより多くのメモリを必要とするため、およびエージェントプロセスによるヒープ外メモリの使用のために、約2〜4GBのバッファを残すことをお勧めします。free
のすべてのバージョンが利用可能な列を表示しないため、システム上のバージョンのドキュメントを確認して同等の情報を見つける必要があるかもしれません。支援が必要な場合は、Palantirの担当者にお問い合わせください。
以下のサブプロセスにそれぞれどれだけのメモリが割り当てられているかを決定します。エージェントマネージャー、ブートストラッパー、エージェント、エクスプローラー。
エージェントとエクスプローラーのサブプロセスに割り当てられているメモリの量を調べるには、Data Connectionアプリ内のエージェント設定ページに移動し、詳細設定ボタンをクリックし、"Bootstrapper"タブを選択する必要があります。そこで、各サブプロセスが独自の設定ブロックを持っていることがわかります。各ブロック内には、関連するプロセスに割り当てられたメモリの量を定義するjvmHeapSize
パラメーターが表示されます。
デフォルトでは、ブートストラッパーサブプロセスには512mb
のメモリが割り当てられます。これは、最初に<agent-manager-directory>/var/data/processes/
ディレクトリに移動し、そこでls -lrt
を実行して最も最近作成されたbootstrapper~<uuid>
ディレクトリを見つけることで確認できます。最も最近作成されたbootstrapper~<uuid>
ディレクトリに入ったら、./var/conf/launcher-custom.yml
ファイルの内容を調べることができます。ここで、Xmx
値は、ブートストラッパーに割り当てられたメモリの量です。
デフォルトでは、エージェントマネージャーサブプロセスにも512mb
のメモリが割り当てられます。これは、ファイル<agent-manager-directory>/var/conf/launcher-custom.yml
の内容を調べることで確認できます。ここで、Xmx
値は、エージェントマネージャーに割り当てられたメモリの量です。
Windowsマシンにインストールされたエージェントは、launcher-custom.yml
ファイルを使用せず、デフォルトでJavaはエージェントマネージャーとブートストラッパープロセスにシステムが利用可能な合計メモリの25%を割り当てます。これを修正するには、以下の手順でエージェントマネージャーとブートストラッパーのヒープサイズを手動で設定する必要があります。
setx -m JAVA_HOME "{BOOTVISOR_INSTALL_DIR}\jdk\{JDK_VERSION}-win_x64\"
setx -m MAGRITTE_BOOTVISOR_WIN_OPTS "-Xmx512M -Xms512M"
setx -m MAGRITTE_BOOTSTRAPPER_OPTS "-Xmx512M -Xms512M"
.\service\bin\magritte-bootvisor-win
ホストが利用可能なメモリの量と、上記のサブプロセスに割り当てられているメモリの量を確認したら、次に行うべきことは:上記のプロセスに割り当てられたメモリの量を減らすか、ホストに利用可能なメモリの量を増やすかを決定します。
エージェントプロセスのメモリ使用量を安全に減らすことができるかどうかは、エージェントの設定(同時同期の最大数やファイルアップロードの並列性など)、同期されるデータの種類、およびエージェントへの通常の負荷によって異なります。ヒープサイズを減らすと、OSがプロセスを終了する可能性は低くなりますが、Javaプロセスがヒープスペースを使い果たす可能性は高くなります。何が機能するかを見つけるために、異なる値をテストする必要があるかもしれません。この値を調整するための支援が必要な場合は、Palantirの担当者にお問い合わせください。
サブプロセスのうち1つ(または複数)に割り当てられたメモリの量を減らすには、以下の操作を行います。
jvmHeapSize
パラメーターを設定できます。Copied!1 2 3
agent: .... jvmHeapSize: 3g #これがjvmヒープサイズの値です
デフォルトのヒープ割り当て
デフォルトでは、エージェントは約3GBのメモリを必要とし、以下のように割り当てられます。
Javaプロセスはヒープ外メモリも使用するため、少なくとも≥4GBの空き容量があることを確認してください。
エージェントのダウンロードに失敗する主な原因は、ネットワーク接続と期限切れのリンクです。
Foundryに接続できるが、ダウンロードで無効なtar.gz
ファイルやエラーメッセージが表示される場合は、期限切れか無効化されたリンクが原因かもしれません。
ユーザーは、プロジェクトのエディタである場合、そのプロジェクト内でエージェントを作成できますが、プロジェクトのオーナーである場合にのみ、そのプロジェクト内のエージェントを管理できます。つまり、ユーザーがエージェントを作成しても、エージェントのダウンロードリンクを生成したり、エージェントに関する他の管理タスクを実行したりすることができない場合があります。エージェントの権限に関する詳細は、権限リファレンスのガイダンスを参照してください。
TLSv.1.0およびTLSv1.1は、時代遅れで不安全なプロトコルであるため、Foundryではサポートされていません。Azul ZuluのOpenJDK 11.0.14ビルドでは、java.security
ファイルのjdk.tls.disabledAlgorithms
セキュリティプロパティによって、デフォルトでTLSv1.0およびTLSv1.1が明示的に無効化されています。
TLSv1.0およびTLSv1.1を排他的にサポートするデータソースシステムへの接続は、Error: The server selected protocol version TLS10 is not accepted by client preferences
などのさまざまなエラーを含む失敗します。
TLSの古いバージョンの使用を積極的に勧めておらず、Palantirはその使用に関連するセキュリティリスクを負わないことに注意してください。それでもTLSv1.0およびTLSv1.1を一時的にサポートする必要がある場合は、以下の手順を実行してください。
java.security
ファイルを探します。このファイルは、<bootvisor-directory>/jdk/<jdk-directory>/conf/security/java.security
にあるはずです。java.security
ファイルをブートバイザーディレクトリの外側の別の場所にコピーし(ファイルがブートバイザーのアップグレード時に上書きまたは削除されないようにするため)、/opt/palantir/tls-override/tls-overrides.java.security
のような名前に変更します。tls-overrides.java.security
ファイルで、jdk.tls.disabledAlgorithms
プロパティを見つけ、その値からTLSv1
とTLSv1.1
を削除します。ファイルを保存します。jvmArguments
設定を、エージェント設定 > 設定 > 詳細 > ブートストラッパーの下に探します。エージェントとエクスプローラーの既存のjvmArguments
に、次のJVM引数を追加します:-Djava.security.properties=/opt/palantir/tls-overrides/tls-overrides.java.security
(オーバーライドファイルが作成された適切なパスを入力)。これらの手順により、エージェントはエージェントのアップグレードを通じてTLSv1.0およびTLSv1.1を引き続き許可します。データソースが新しいTLSバージョンに移行したら、オーバーライドファイルとJVM引数を削除してください。
エージェントのホストマシンでログ保存設定を調整するには、以下の手順に従ってください。
新しい設定が適用されるはずです。