LinuxおよびmacOSインストーラーのinstall.shを使用すると、mabl Link Agentを、ホストの起動時に開始され、停止した場合は再起動されるサービスとしてインストールできます。インストーラーは実行中にトンネルとプロキシの設定を尋ね、設定ファイルに書き込み、完了時にエージェントを起動できます。すべての質問はコマンドラインオプションとしても指定できるため、同じインストーラーを無人で実行することもできます。
開始する前に
- "Link Agent" のAPIキーとトンネル名。Link Agentのセットアップを参照してください。
- ホスト上のJava 11以降。インストーラーは、
JAVA_HOMEまたはPATHで見つかったJava、あるいは--javaで指定したJavaを使用します。 - systemdを使用するホスト (ほとんどのLinuxディストリビューション) またはmacOSで、Link Agentの要件を満たしていること。
- サービスを登録するための管理者権限 (
sudo)。
Link Agentのインストール
-
Settings > Networkingからtar.bz2またはzipアーカイブをダウンロードし、ホストにコピーします。
-
アーカイブを展開し、展開したディレクトリに移動します。
tar xjf link-agent.tbz2 cd link-agent -
インストーラーを実行します。
sudo ./install.sh -
インストーラーの質問に答えます。サービスを提供するトンネル (それぞれのトンネル名とAPIキー) と、プロキシがある場合はエージェントがプロキシ経由でmablに到達する方法を指定します。
-
ホストのソケットバッファーの上限を引き上げるかどうかを尋ねられたら、承諾します。mablは、すべてのホストでこのチューニングを推奨しています。ホストのソケットバッファーの上限を引き上げるを参照してください。
完了すると、インストーラーはLink Agentを起動し、各ファイルのインストール先を表示します。デフォルトのインストール先は次のとおりです。
| 項目 | 場所 |
|---|---|
| Link Agent | /opt/mabl/link-agent |
| 設定ファイル | /opt/mabl/link-agent/config/config.yaml |
| ログ | /opt/mabl/link-agent/logs/agent.log |
| サービスアカウント |
mabl (インストーラーが作成するシステムアカウント) |
Link Agentのセットアップの説明に従って、Settings > Networkingでエージェントが [接続済み] と表示されることを確認してください。
プロンプトなしでのインストール
プロビジョニングスクリプトなどから質問なしでインストールするには、回答をオプションとして渡し、--yesを追加します。
sudo ./install.sh --yes --tunnel qa-env-01={your-api-key} --proxy none
複数のトンネルにサービスを提供するには、--tunnelを繰り返し指定します。主なオプションは次のとおりです。
| オプション | 説明 |
|---|---|
--tunnel {name}={api-key} |
サービスを提供するトンネル。複数指定する場合は繰り返します。設定ファイル内のトンネルを置き換えます。 |
--proxy {choice} |
エージェントがmablに到達する方法。autoはホストのプロキシ設定に従い、manualは指定したプロキシを使用し、pacはプロキシ自動設定スクリプトを使用し、noneは直接接続し、keep (デフォルト) は設定ファイルのプロキシ設定をそのまま残します。 |
--proxy-host {host}、--proxy-port {port}
|
--proxy manualで使用するプロキシ。 |
--proxy-mode {mode} |
--proxy manualの場合に、プロキシを使用するトラフィック: mabl (デフォルト)、all、またはupstream。mabl Linkトラフィックのフォワードプロキシを参照してください。 |
--pac-url {url} |
--proxy pacで使用するPACスクリプト。 |
--proxy-user {name}、--proxy-password {password}
|
プロキシに認証が必要な場合のクレデンシャル。 |
--proxy-exclude {list} |
--proxy manualの場合に、直接接続する宛先のコンマ区切りリスト。 |
--prefix {directory} |
Link Agentのインストール先。デフォルトは/opt/mabl/link-agentです。 |
--user {name} |
インストールを所有し、サービスを実行するアカウント。デフォルトはmablで、存在しない場合はシステムアカウントとして作成されます。 |
--java {path} |
Link Agentの実行に使用するJava。 |
--tune、--no-tune
|
ホストのソケットバッファーの上限を引き上げるかどうか。インストーラーをrootとして実行した場合、デフォルトで引き上げます。 |
--service、--no-service
|
起動時にエージェントを開始するサービスを登録するかどうか。 |
--start、--no-start
|
インストールの完了時にサービスを開始するかどうか。デフォルトでは、設定に少なくとも1つのトンネルが含まれている場合に開始します。 |
--yes、-y
|
すべての質問にデフォルトの回答を使用し、プロンプトを表示しません。 |
すべてのオプションを確認するには、./install.sh --helpを実行します。何もインストールせずに、インストーラーが書き込むサービス定義を確認するには、./install.sh --print-unitを実行します。
コマンドライン上のシークレット
インストーラーの実行中、そのオプションはpsなどのツールを通じてホスト上の他のユーザーから見える状態になります。これには、--tunnelに含まれるAPIキーや--proxy-passwordのパスワードも含まれます。共有ホストでは、シークレットはインストーラーのプロンプトで入力するか、後から設定ファイルに記述してください。インストーラーが書き込む設定ファイルは、サービスアカウントだけが読み取れます。
サービスの管理
インストーラーは、Link Agentをホストのサービスマネージャーに登録します。
サービス名はmabl-link-agentです。
# Check the service
systemctl status mabl-link-agent
# Follow the service's output
journalctl -u mabl-link-agent -f
# Start, stop, or restart the service
sudo systemctl start mabl-link-agent
sudo systemctl stop mabl-link-agent
sudo systemctl restart mabl-link-agent
サービス名はcom.mabl.link-agentです。
# Check the service
sudo launchctl print system/com.mabl.link-agent
# Start or restart the service
sudo launchctl kickstart -k system/com.mabl.link-agent
macOSでは、エージェント自身のログが開始される前にサービスが出力した内容は、インストールディレクトリのlogs/service.out.logとlogs/service.err.logに書き込まれます。
どちらのプラットフォームでも、Link Agent自身のログはインストールディレクトリのlogs/agent.logです。
Link Agentが予期せず停止した場合や、エージェントがアップデートをインストールした後は、サービスがLink Agentを再起動します。APIキーが無効になった、トンネルが削除されたなどの理由でmablがエージェントを拒否し、エージェントが意図的に終了した場合は、同じ拒否を繰り返さないよう、サービスは停止したままになります。サービスを停止すると、エージェントは処理中の接続が完了するのを待ってから終了します。
設定の変更
後からトンネルやプロキシ設定を変更するには、設定ファイルを編集します。Link Agentは、再起動なしで実行中に変更を適用します。Link Agent設定ファイルを参照してください。
インストーラーをもう一度実行し、プロンプトに別の回答を入力することもできます。たとえば、トンネルを追加したり、プロキシを変更したりする場合に使用します。
既存のLink Agentの上からインストールしても問題ありません。インストーラーは、アップデートと同じ方法で既存のバージョンの横に新しいバージョンを追加し、設定、ログ、その他のデータをそのまま残します。
Link Agentのアンインストール
インストーラーは自身をインストールディレクトリにコピーするため、エージェントを削除する際に元のアーカイブは必要ありません。
sudo /opt/mabl/link-agent/install.sh --uninstall
このコマンドはサービスを削除し、設定とログを含むインストールディレクトリはそのまま残します。インストールディレクトリも削除するには、--purgeを追加します。
mablからトンネルへのテストのルーティングを停止するには、mabl Linkトンネルの削除も参照してください。