====== Pandora FMS エンドポイントデプロイスクリプト ======
{{indexmenu_n>68}}
===== 概要 =====
EndPoint installer for Linux. Always installs from a tarball (never from an RPM), validates the downloaded tarball is a real Pandora FMS EndPoint and configures the agent to report to a Pandora FMS Server.
Linux 用エンドポイントインストーラ。常に tarball からインストールを行い(RPMは使用しません)、ダウンロードした tarball が正規の Pandora FMS EndPoint であることを検証した上で、Pandora FMS サーバへ報告を行うようにエージェントを設定します。
* **Script**: ''../pandora_agent_deploy.sh''
* **Scope**: Pulls from ''packages.pandorafms.com''.
* **Supported OS**: RHEL/Fedora (EL7/8/9/10), SUSE/OpenSUSE, Debian/Ubuntu.
* **Supported architectures**: ''x86_64'' (binary agents). ''x86'', ''armv7l'', ''aarch64'' auto-switch to ''PERL_SOURCES'' (source build). Other architectures abort.
* **スクリプト**: `../pandora_agent_deploy.sh`
* **対象**: `packages.pandorafms.com` から取得します。
* **対応OS**: RHEL/Fedora (EL7/8/9/10)、SUSE/OpenSUSE、Debian/Ubuntu。
* **対応アーキテクチャ**: `x86_64` (バイナリ形式のエージェント)。''x86''、''armv7l''、''aarch64'' は自動的に ''PERL_SOURCES'' (ソースからのビルド) に切り替わります。その他のアーキテクチャでは処理が中断されます。
===== クイックスタート =====
Minimal install (GO agent, stable channel):
最小構成のインストール (GO エージェント、安定版チャネル):
export PANDORA_SERVER_IP='10.0.0.1'
curl -sSL https://pfms.me/agent-deploy | bash
Fully automated (no prompts):
完全自動(プロンプトなし):
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_PACKAGE=GO \
PANDORA_AGENT_RELEASE=STABLE \
PANDORA_SKIP_CONFIRMATION=1
curl -sSL https://pfms.me/agent-deploy | bash
===== 環境変数 =====
==== 要求事項 ====
^ Variable ^ Description ^
| ''PANDORA_SERVER_IP'' | **Required**. IP address or hostname of the Pandora FMS Server the agent will report to. //The script aborts if this is not set//. |
^ 変数 ^ 説明 ^
| ''PANDORA_SERVER_IP'' | **必須**。エージェントのレポート先となる Pandora FMS サーバの IP アドレスまたはホスト名。 //これが設定されていない場合、スクリプトは中止されます//。 |
==== パッケージ選択 ====
^Variable ^Default ^Accepted values ^
|''PANDORA_AGENT_PACKAGE'' \\ (Via \\ ''PANDORA_AGENT_PACKAGE_TYPE'') \\ Selects which agent \\ tarball to install. \\ See [[#ks3_2|Package selection]]. |''GO'' |''GO'', \\ ''PERL'', \\ ''PERL_SOURCES'', \\ or a direct \\ ''http(s)://'' URL |
|''PANDORA_AGENT_PACKAGE_TYPE'' \\ Fallback type \\ used only when \\ ''PANDORA_AGENT_PACKAGE'' \\ is not set. \\ Useful when you want \\ a default type but \\ still allow callers to \\ override with a direct URL. |''GO'' |''GO'', \\ ''PERL'', \\ ''PERL_SOURCES'' |
|''PANDORA_AGENT_RELEASE'' \\ Release channel. \\ ''STABLE'' pulls from ''…/latest'', \\ ''BETA'' \\ pulls from ''…/nightlies''. \\ See [[#ks5|Release channels]]. |''STABLE'' |''STABLE'', \\ ''BETA'' (case-insensitive) |
|''PANDORA_SKIP_CONFIRMATION'' \\ When set to ''1'', skips \\ interactive confirmation prompts. Use in CICD \\ and automated pipelines. \\ See [[#ks6|Confirmation]]. |unset |''1'' / unset |
^変数 ^デフォルト ^許容値 ^
|''PANDORA_AGENT_PACKAGE'' \\ (''PANDORA_AGENT_PACKAGE_TYPE'' \\ 経由) \\ インストールする \\ エージェントの tarball を \\ 選択します。 \\ [[#ks3_2|パッケージの選択]] \\ を参照してください。 |''GO'' |''GO'', \\ ''PERL'', \\ ''PERL_SOURCES'', \\ または直接の \\ ''http(s)://'' URL |
|''PANDORA_AGENT_PACKAGE_TYPE'' \\ ''PANDORA_AGENT_PACKAGE'' \\ が設定されていない \\ 場合にのみ使用される \\ フォールバックタイプ。 \\ デフォルトタイプを \\ 使用しつつ、 \\ 直接 URL による \\ 上書きも許可したい \\ 場合に便利です。 |''GO'' |''GO'', \\ ''PERL'', \\ ''PERL_SOURCES'' |
|''PANDORA_AGENT_RELEASE'' \\ リリースチャネル。 \\ ''STABLE''は''…/latest'' \\ から取得し、 \\ ''BETA''は \\ ''…/nightlies'' \\ から取得します。 \\ [[#ks5|リリースチャネル]] \\ を参照してください。 |''STABLE'' |''STABLE'', \\ ''BETA'' (大文字・小文字を区別しない) |
|''PANDORA_SKIP_CONFIRMATION'' \\ ''1''に設定すると、 \\ 対話型の確認 \\ プロンプトをスキップ \\ します。CI/CDや \\ 自動化パイプラインで \\ 使用します。 \\ [[#ks6|確認]] \\ を参照してください。 |未設定 |''1'' / 未設定 |
==== エージェント設定 (オプション) ====
All of these are injected into ''/etc/pandora/pandora_agent.conf'' after install via ''sed''. If a variable is not set, the corresponding config line is left untouched.
これらはすべて、インストール後に ''sed'' を使用して ''/etc/pandora/pandora_agent.conf'' に挿入されます。変数が設定されていない場合、対応する設定行は変更されずにそのまま残ります。
^ Variable ^ Config key affected ^ Effect ^
| ''PANDORA_REMOTE_CONFIG'' | ''remote_config'' | Enables/disables remote configuration \\ from the server. |
| ''PANDORA_GROUP'' | ''group'' | Sets the agent group. |
| ''PANDORA_DEBUG'' | ''debug'' | Enables debug mode \\ (verbose logging). |
| ''PANDORA_AGENT_NAME'' | ''agent_name'' | Sets the agent name \\ (uncomments the line). |
| ''PANDORA_AGENT_ALIAS'' | ''agent_alias'' | Sets the agent alias \\ (uncomments the line). |
| ''PANDORA_SECONDARY_GROUPS'' | ''secondary_groups'' | Sets secondary groups \\ (uncomments the line). |
| ''PANDORA_AGENT_SSL'' | ''server_ssl'' | Enables SSL for the tentacle connection \\ (uncomments the line). |
| ''TIMEZONE'' | symlink ''/etc/localtime'' | Sets the system timezone \\ (e.g. ''Europe/Madrid''). |
^ 変数 ^ 影響を受ける設定キー ^ 効果 ^
| ''PANDORA_REMOTE_CONFIG'' | ''remote_config'' | サーバからのリモート設定を \\ 有効/無効にします。 |
| ''PANDORA_GROUP'' | ''group'' | エージェントグループを設定します。 |
| ''PANDORA_DEBUG'' | ''debug'' | デバッグモードを有効にします \\ (詳細なログ出力)。 |
| ''PANDORA_AGENT_NAME'' | ''agent_name'' | エージェント名を設定します \\ (行のコメントを解除します)。 |
| ''PANDORA_AGENT_ALIAS'' | ''agent_alias'' | エージェントの別名を設定します \\ (行のコメントを解除します)。 |
| ''PANDORA_SECONDARY_GROUPS'' | ''secondary_groups'' | セカンダリグループを設定します \\ (行のコメントを解除します)。 |
| ''PANDORA_AGENT_SSL'' | ''server_ssl'' | Tentacle 接続 の SSL を有効にします \\ (行のコメントを解除します)。 |
| ''TIMEZONE'' | シンボリックリンク ''/etc/localtime'' | システムのタイムゾーンを設定します \\ (例: ''Europe/Madrid'')。 |
==== OS 動作 ====
^ Variable ^ Default ^ Accepted values ^ Description ^
| ''RHEL_CHECK_SUBSCRIPTION'' | ''1'' | ''0'' / ''1'' | When ''1'', on RHEL \\ (not Oracle Linux) \\ the script checks ''subscription-manager'' \\ status before installing. \\ Set to ''0'' to \\ skip the subscription check. |
| ''PANDORA_SKIP_DEPENDENCIES'' | unset | ''1'' / unset | When set to ''1'', \\ skips all OS dependency installation \\ (''perl'', ''libnsl'', etc.). \\ Use when you pre-install \\ dependencies yourself. |
^ 変数 ^ デフォルト ^ 指定可能な値 ^ 説明 ^
| ''RHEL_CHECK_SUBSCRIPTION'' | ''1'' | ''0'' / ''1'' | ''1'' に設定すると、RHEL (Oracle Linux ではない) 上で \\ インストール前に ''subscription-manager'' の \\ ステータスを確認します。 \\ サブスクリプションの確認をスキップするには \\ ''0'' に設定します。 |
| ''PANDORA_SKIP_DEPENDENCIES'' | 未設定 | ''1'' / 未設定 | ''1'' に設定すると、OS 依存関係の \\ インストール (''perl''、''libnsl'' など) を \\ すべてスキップします。 \\ 依存関係を事前に手動で \\ インストールする場合に使用します。 |
===== パッケージ選択 =====
''PANDORA_AGENT_PACKAGE'' accepts two kinds of values: a **[[#ks4_1|type selector]]** or a **[[#ks4_2|direct URL]]**.
''PANDORA_AGENT_PACKAGE'' は、**[[#ks4_1|タイプセレクター]]** または **[[#ks4_2|直接 URL]]** の2種類の値を受け付けます。
==== タイプセレクター ====
^ Value ^ Tarball downloaded (stable) ^ Description ^
| ''GO'' | ''pandorafms_one_agent_linux-latest.go.tar.gz'' | Go agent (binary). \\ Default. |
| ''PERL'' | ''pandorafms_one_agent_linux-latest.tar.gz'' | Perl agent \\ (pre-compiled binary tarball). |
| ''PERL_SOURCES'' | ''pandorafms_one_agent_linux-latest.src.tar.gz'' | Perl agent from source \\ (requires Perl on the target machine). |
^ 値 ^ ダウンロードするtarball (安定版) ^ 説明 ^
| ''GO'' | ''pandorafms_one_agent_linux-latest.go.tar.gz'' | Go エージェント (バイナリ)。 \\ デフォルト。 |
| ''PERL'' | ''pandorafms_one_agent_linux-latest.tar.gz'' | Perl エージェント \\ (コンパイル済みバイナリ tarball)。 |
| ''PERL_SOURCES'' | ''pandorafms_one_agent_linux-latest.src.tar.gz'' | ソースからの Perl エージェント \\ (対象マシンに Perl が必要)。 |
* The selector is case-insensitive (''go'', ''Go'', ''GO'' all work).
* ''PERL_SOURCES'' also accepts the aliases ''PERLSOURCES'', ''PERL_SRC'', ''PERLSRC''.
* セレクターは大文字と小文字を区別しません('go'、'Go'、'GO' のいずれも有効です)。
* 'PERL_SOURCES' は、エイリアスである ''PERLSOURCES''、''PERL_SRC''、''PERLSRC'' も受け付けます。
==== 直接 URL ====
If the value starts with ''http://'' or ''https://'', it is used as-is and the default-version logic is skipped. A yellow warning is printed:
値が ''http://'' または ''https://'' で始まる場合、その値がそのまま使用され、デフォルトバージョンを決定するロジックはスキップされます。その際、黄色い警告が表示されます。
PANDORA_AGENT_PACKAGE is a direct URL,
default version logic (GO/PERL/PERL_SOURCES) is skipped.
The tarball is still validated before install (see [[#ks7|Tarball validation]]), so a wrong URL fails fast instead of installing garbage.
インストール前には依然として tarball の検証が行われるため([[#ks7|Tarballの検証]] を参照)、誤った URL を指定しても、不正なデータがインストールされることなく、即座に失敗します。
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_PACKAGE='https://my-ci.example.com/builds/agent-1234.tar.gz'
==== 不正な値 ====
If ''PANDORA_AGENT_PACKAGE'' is set to something that is neither a type selector nor a URL, the script aborts with a red error.
''PANDORA_AGENT_PACKAGE'' にタイプセレクターでも URL でもない値が設定されている場合、スクリプトは赤色のエラーを表示して停止します。
==== アーキテクチャの上書き ====
Binary agents (''GO'', ''PERL'') only work on ''x86_64''. If the script detects ''x86'', ''armv7l'', or ''aarch64'', it automatically overrides the package type to ''PERL_SOURCES'' (source build) and prints a yellow warning:
バイナリ形式のエージェント(''GO''、''PERL'')は、''x86_64'' でのみ動作します。スクリプトが ''x86''、''armv7l''、または ''aarch64'' を検出すると、パッケージタイプを自動的に''PERL_SOURCES''(ソースビルド)に上書きし、黄色の警告メッセージを表示します。
Arch: armv7l is not supported by the binary agent,
switching to PERL_SOURCES (source build).
Overriding PANDORA_AGENT_PACKAGE from GO to
PERL_SOURCES for arch armv7l.
This override does NOT apply if:
* The user already selected ''PERL_SOURCES'' (no change needed).
* The user provided a direct URL (respected, but a yellow warning is printed reminding that the arch requires a source build).
以下の場合は、この上書き設定は適用されません。
* ユーザが既に ''PERL_SOURCES'' を選択している場合(変更は不要です)。
* ユーザが直接 URL を指定した場合(その指定は尊重されますが、当該アーキテクチャではソースからのビルドが必要であることを示す黄色の警告が表示されます)。
===== リリースチャネル =====
''PANDORA_AGENT_RELEASE'' chooses between stable and beta (nightly) builds.
''PANDORA_AGENT_RELEASE'' は、安定版(stable)とベータ版(nightly)のビルドのいずれかを選択します。
^ Value ^ Base URL ^
| ''STABLE'' \\ Tarball suffix \\ ''latest''| ''https://packages.pandorafms.com/pandorafms/latest'' |
| ''BETA'' \\ Tarball suffix \\ ''nightlies'' | ''https://packages.pandorafms.com/pandorafms/nightlies'' |
^ 値 ^ ベースURL ^
| ''STABLE'' \\ Tarball のサフィックス \\ ''latest''| ''https://packages.pandorafms.com/pandorafms/latest'' |
| ''BETA'' \\ Tarball のサフィックス \\ ''nightlies'' | ''https://packages.pandorafms.com/pandorafms/nightlies'' |
So with ''PANDORA_AGENT_RELEASE=BETA PANDORA_AGENT_PACKAGE=GO'', the downloaded tarball is:
したがって、''PANDORA_AGENT_RELEASE=BETA PANDORA_AGENT_PACKAGE=GO'' を指定した場合、ダウンロードされる tarball は以下のようになります。
''https://packages.pandorafms.com/pandorafms/nightlies/pandorafms_one_agent_linux-nightlies.go.tar.gz''.
The value is normalized to uppercase, so ''beta'', ''Beta'', ''BETA'' are all accepted. An invalid value aborts with a red error.
値は大文字に正規化されるため、''beta''、''Beta''、''BETA'' はいずれも有効です。無効な値を指定すると、赤色でエラーが表示され、処理が中断されます。
==== BETA 警告 ====
When ''PANDORA_AGENT_RELEASE=BETA'', a yellow warning is printed showing the nightlies URL. \\ Depending on ''PANDORA_SKIP_CONFIRMATION'', the script either asks for confirmation or continues automatically (see [[#ks6|Confirmation]]).
''PANDORA_AGENT_RELEASE=BETA'' の場合、nightly 版の URL を示す黄色の警告が表示されます。\\ ''PANDORA_SKIP_CONFIRMATION'' の設定に応じて、スクリプトは確認を求めるか、あるいは自動的に処理を続行します([[#ks6|確認]] を参照)。
===== 確認 =====
The ''confirm()'' function asks the user to type ''Y'' or ''y'' to continue. It reads from ''/dev/tty'' so it works even when the script is piped (''curl ... | bash'').
''confirm()'' 関数は、処理を続行するためにユーザに ''Y'' または ''y'' の入力を求めます。''/dev/tty'' から読み取りを行うため、スクリプトがパイプ経由で実行される場合(''curl ... | bash'' など)でも動作します。
^ ''PANDORA_SKIP_CONFIRMATION'' ^ ''PANDORA_AGENT_RELEASE'' ^ Behavior ^
| unset / not ''1'' | ''BETA'' | Prints yellow warning + asks ''Y/y'' to continue. Aborts on any other answer. |
| ''1'' | ''BETA'' | Prints yellow warning only, continues without asking. |
| any | ''STABLE'' | No confirmation prompt (stable does not require it). |
^ ''PANDORA_SKIP_CONFIRMATION'' ^ ''PANDORA_AGENT_RELEASE'' ^ 動作 ^
| 未設定 / ''1'' 以外 | ''BETA'' | 黄色の警告を表示し、続行するかどうか「Y/y」の入力を求めます。それ以外の入力では処理を中断します。 |
| ''1'' | ''BETA'' | 黄色の警告のみを表示し、入力を求めずに続行します。 |
| 任意の値 | ''STABLE'' | 確認のプロンプトは表示されません(STABLE版では不要なため)。 |
**CICD / automated usage**: always set ''PANDORA_SKIP_CONFIRMATION=1'' so the script never blocks waiting for input.
**CI/CD / 自動化での利用**: スクリプトが入力待ちで停止することがないよう、常に ''PANDORA_SKIP_CONFIRMATION=1'' を設定してください。
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_RELEASE=BETA \
PANDORA_SKIP_CONFIRMATION=1
===== Tarball 検証 =====
After downloading, the script validates the tarball before installing. Two layers:
スクリプトはダウンロード後、インストール前に tarball を検証します。2つの層があります:
- **Structural** — ''tar tzf'' lists the contents and verifies these entries exist:
* ''unix/pandora_agent_installer''
* ''unix/pandora_agent''
* ''unix/tentacle_client''
- **Fingerprint** — extracts ''unix/pandora_agent_installer'' to STDOUT and checks for the string ''Pandora FMS Agent Installer for Unix''.
- **構造(Structural)** — ''tar tzf'' を使用して内容を一覧表示し、以下のエントリが存在することを確認します。
* ''unix/pandora_agent_installer''
* ''unix/pandora_agent''
* ''unix/tentacle_client''
- **フィンガープリント(Fingerprint)** — ''unix/pandora_agent_installer'' を標準出力(STDOUT)に展開し、文字列 ''Pandora FMS Agent Installer for Unix'' が含まれているかを確認します。
If either layer fails, the script prints a red error showing the downloaded URL, cleans up the temp directory, and exits. This prevents installing a tarball that is not a Pandora FMS agent (e.g. a wrong URL pointing to a console or server package).
いずれかの層で処理に失敗した場合、スクリプトはダウンロードした URL を含むエラーを赤色で表示し、一時ディレクトリをクリーンアップして終了します。これにより、Pandora FMS エージェントではない tarball(例:コンソールやサーバのパッケージを指す誤った URL など)がインストールされるのを防ぎます。
===== インストールフロー =====
- Check ''PANDORA_SERVER_IP'' is set.
- Check ''grep'', ''sed'', and ''curl'' are available.
- Detect OS from ''/etc/os-release'' (''ID_LIKE'' / ''ID''). Abort if not RHEL/Fedora/SUSE/Debian.
- Check root permissions.
- Check connectivity to ''packages.pandorafms.com''.
- Check architecture. ''x86_64'' continues with the selected package. ''x86'', ''armv7l'', ''aarch64'' auto-switch to ''PERL_SOURCES'' (binary agents won't run on these archs). Other archs abort.
- Resolve ''PANDORA_AGENT_PACKAGE'' (type selector or direct URL) and ''PANDORA_AGENT_RELEASE'' (stable/beta). BETA may prompt for confirmation.
- Create temp workspace ''$HOME/pandora_deploy_tmp''.
- Install dependencies (skipped if ''PANDORA_SKIP_DEPENDENCIES=1''). Dependencies vary by agent type:
* **GO**: ''perl tar'' (+ ''procps'' on Debian).
* **PERL**: ''perl perl-Sys-Syslog unzip tar'' (+ RHEL: libnsl/libxcrypt, SUSE: none, Debian: procps).
* **PERL_SOURCES**: full set including ''perl-Scalar-List-Utils'', ''perl-IO-Socket-SSL'', \\ ''perl-Digest-MD5'', ''perl-threads'', ''perl-Thread-Semaphore'', \\ ''libnsl'' (RHEL); ''perl-YAML-Tiny'', \\ ''perl-IO-Socket-SSL'', ''libnsl3'' (SUSE); ''libsys-syslog-perl'', \\ ''libyaml-tiny-perl'', ''libio-socket-ssl-perl'', ''libscalar-list-utils-perl'' (Debian).
- Download the tarball with ''curl''.
- Validate the tarball (structural + fingerprint).
- Install via ''install_tarball'': \\ ''tar xvzf'' + ''cd unix && ./pandora_agent_installer --install''.
- Configure ''/etc/pandora/pandora_agent.conf'' with the ''PANDORA_*'' variables.
- Docker/systemd compatibility: if ''systemctl status'' fails, copy ''pandora_agent_daemon'' to ''/etc/init.d/'' and restart it there.
- Restart ''pandora_agent_daemon'' and verify the process is running (up to 5 retries, 1s apart).
- Clean up ''$HOME/pandora_deploy_tmp''.
- Print green success message.
- ''PANDORA_SERVER_IP'' が設定されているか確認します。
- ''grep''、''sed''、''curl'' が利用可能か確認します。
- ''/etc/os-release'' (''ID_LIKE'' / ''ID'') から OS を検出します。RHEL/Fedora/SUSE/Debian 以外の場合は処理を中断します。
- root 権限を確認します。
- ''packages.pandorafms.com'' への接続性を確認します。
- アーキテクチャを確認します。''x86_64'' の場合は選択されたパッケージで処理を続行します。''x86''、''armv7l''、''aarch64'' の場合は自動的に ''PERL_SOURCES'' に切り替わります(これらのアーキテクチャではバイナリエージェントは動作しないため)。その他のアーキテクチャでは処理を中断します。
- ''PANDORA_AGENT_PACKAGE''(タイプ選択または直接 URL)および ''PANDORA_AGENT_RELEASE''(stable/beta)を決定します。BETA の場合は確認を求められることがあります。
- 一時作業ディレクトリ ''$HOME/pandora_deploy_tmp'' を作成します。
- 依存関係をインストールします(''PANDORA_SKIP_DEPENDENCIES=1'' の場合はスキップ)。依存関係はエージェントタイプによって異なります:
* **GO**: ''perl tar'' (+ Debian では ''procps'')。
* **PERL**: ''perl perl-Sys-Syslog unzip tar'' (+ RHEL: libnsl/libxcrypt, SUSE: なし, Debian: procps)。
* **PERL_SOURCES**: 完全なセット(''perl-Scalar-List-Utils''、''perl-IO-Socket-SSL''、''perl-Digest-MD5''、''perl-threads''、''perl-Thread-Semaphore''、''libnsl'' (RHEL);''perl-YAML-Tiny''、''perl-IO-Socket-SSL''、''libnsl3'' (SUSE);''libsys-syslog-perl''、''libyaml-tiny-perl''、''libio-socket-ssl-perl''、''libscalar-list-utils-perl'' (Debian) を含む)。
- ''curl'' を使用して tarball をダウンロードします。
- tarball を検証します(構造およびフィンガープリント)。 - ''install_tarball'' を使用してインストールします: ''tar xvzf'' + ''cd unix && ./pandora_agent_installer --install''。
- ''PANDORA_*'' 変数を使用して ''/etc/pandora/pandora_agent.conf'' を設定します。
- Docker/systemd への対応: ''systemctl status'' が失敗した場合は、''pandora_agent_daemon'' を ''/etc/init.d/'' にコピーし、そこで再起動します。
- ''pandora_agent_daemon'' を再起動し、プロセスが実行中であることを確認します(1秒間隔で最大5回再試行)。
- ''$HOME/pandora_deploy_tmp'' を削除(クリーンアップ)します。
- 緑色で成功メッセージを表示します。
===== ログ =====
All command output goes to ''/tmp/pandora-agent-deploy-YYYY-MM-DD.log''. On failure the script prints the log path.
すべてのコマンド出力は ''/tmp/pandora-agent-deploy-YYYY-MM-DD.log'' に書き込まれます。失敗した場合は、スクリプトがログのパスを表示します。
===== 例 =====
==== GO エージェント、安定版、エージェント名とグループ指定 ====
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_PACKAGE=GO \
PANDORA_AGENT_NAME='web-01' \
PANDORA_GROUP='Web'
curl -sSL https://pfms.me/agent-deploy | bash
==== ソースでの Perl エージェント、beta 版、自動 ====
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_PACKAGE=PERL_SOURCES \
PANDORA_AGENT_RELEASE=BETA \
PANDORA_SKIP_CONFIRMATION=1
curl -sSL https://pfms.me/agent-deploy | bash
==== 直接 URL (カスタムビルド)、自動 ====
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_PACKAGE=\
'https://ci.internal/builds/pandorafms_one_agent_linux-999.go.tar.gz' \
PANDORA_SKIP_CONFIRMATION=1 \
curl -sSL https://pfms.me/agent-deploy | bash
==== RHEL でサブスクリプションチェックなし ====
export PANDORA_SERVER_IP='10.0.0.1' \
RHEL_CHECK_SUBSCRIPTION=0
curl -sSL https://pfms.me/agent-deploy | bash
==== SUSE / OpenSUSE (GO エージェント) ====
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_AGENT_PACKAGE=GO
curl -sSL https://pfms.me/agent-deploy | bash
==== 依存ファイルのインストールなし (事前にインストールされたシステム) ====
export PANDORA_SERVER_IP='10.0.0.1' \
PANDORA_SKIP_DEPENDENCIES=1
curl -sSL https://pfms.me/agent-deploy | bash
===== 対応 OS マトリックス =====
^ OS ^ Versions ^ Package manager ^ Notes ^
| RHEL / CentOS / Rocky / Alma | 7 | ''yum'' | |
| RHEL / CentOS / Rocky / Alma | 8 | ''dnf'' | + ''libnsl'' for PERL |
| RHEL / Rocky / Alma | 9 | ''dnf'' | + ''libnsl libxcrypt-compat'' for PERL |
| RHEL / Rocky / Alma | 10 | ''dnf'' | + ''libnsl libxcrypt-compat'' for PERL |
| SUSE / OpenSUSE | Tumbleweed / Leap | ''zypper'' | No extra perl subpackages (all in ''perl''). ''libnsl3'' for PERL_SOURCES. |
| Debian / Ubuntu | 22.04+ | ''apt'' | + ''procps'' for all types. |
^ OS ^ バージョン ^ パッケージマネージャー ^ 備考 ^
| RHEL / CentOS / Rocky / Alma | 7 | ''yum'' | |
| RHEL / CentOS / Rocky / Alma | 8 | ''dnf'' | PERL用に ''libnsl'' が必要 |
| RHEL / Rocky / Alma | 9 | ''dnf'' | PERL用に ''libnsl libxcrypt-compat'' が必要 |
| RHEL / Rocky / Alma | 10 | ''dnf'' | PERL用に ''libnsl libxcrypt-compat'' が必要 |
| SUSE / OpenSUSE | Tumbleweed / Leap | ''zypper'' | 追加の perl サブパッケージは不要 (すべて ''perl'' に含まれる)。PERL_SOURCES 用に ''libnsl3'' が必要。 |
| Debian / Ubuntu | 22.04+ | ''apt'' | すべてのタイプで ''procps'' が必要。 |
===== テスト結果 =====
Results below are from containerized tests using the BETA channel (''PANDORA_AGENT_RELEASE=BETA'').
以下の結果は、BETA チャネル(''PANDORA_AGENT_RELEASE=BETA'')を使用したコンテナ化テストによるものです。
==== 対応 OS(完全サポート) ====
^ OS ^ GO ^ PERL ^ PERL_SOURCES ^
| Rocky Linux 8 | 🆗 | 🆗 | 🆗 |
| Rocky Linux 9 | 🆗 | 🆗 | 🆗 |
| Rocky Linux 10 | 🆗 | 🆗 | 🆗 |
| Ubuntu 22.04 | 🆗 | 🆗 | 🆗 |
| Ubuntu 24.04 | 🆗 | 🆗 | 🆗 |
| Ubuntu 26.04 | 🆗 | 🆗 | 🆗 |
| openSUSE \\ Tumbleweed | 🆗 | fail installed, \\ won't start — \\ ''libnsl.so.1'' not present \\ on SUSE (binary needs it) | 🆗 |
^ OS ^ GO ^ PERL ^ PERL_SOURCES ^
| Rocky Linux 8 | 🆗 | 🆗 | 🆗 |
| Rocky Linux 9 | 🆗 | 🆗 | 🆗 |
| Rocky Linux 10 | 🆗 | 🆗 | 🆗 |
| Ubuntu 22.04 | 🆗 | 🆗 | 🆗 |
| Ubuntu 24.04 | 🆗 | 🆗 | 🆗 |
| Ubuntu 26.04 | 🆗 | 🆗 | 🆗 |
| openSUSE \\ Tumbleweed | 🆗 | インストール失敗、\\ 起動せず — \\ SUSEに ''libnsl.so.1'' が \\ 存在しないため \\ (バイナリがこれを必要とする) | 🆗 |
==== 追加テスト OS ====
^ OS ^ GO ^ PERL ^ PERL_SOURCES ^
| Debian 12 | 🆗 | 🆗 | 🆗 |
| Debian 13 | 🆗 | 🆗 | 🆗 |
| Fedora 43 | 🆗 | fail needs \\ ''libnsl'' + ''libxcrypt-compat'' \\ (not installed by default) | 🆗 |
| AlmaLinux 9 | 🆗 | 🆗 | 🆗 |
| AlmaLinux 10 | 🆗 | 🆗 | 🆗 |
| CentOS Stream 9 | 🆗 | 🆗 | 🆗 |
| CentOS Stream 10 | 🆗 | 🆗 | 🆗 |
^ OS ^ GO ^ PERL ^ PERL_SOURCES ^
| Debian 12 | 🆗 | 🆗 | 🆗 |
| Debian 13 | 🆗 | 🆗 | 🆗 |
| Fedora 43 | 🆗 | 失敗: ''libnsl'' + ''libxcrypt-compat'' が必要 \\ (デフォルトでは未インストール) | 🆗 |
| AlmaLinux 9 | 🆗 | 🆗 | 🆗 |
| AlmaLinux 10 | 🆗 | 🆗 | 🆗 |
| CentOS Stream 9 | 🆗 | 🆗 | 🆗 |
| CentOS Stream 10 | 🆗 | 🆗 | 🆗 |
==== パイプラインに関するメモ ====
* BETA channel requires ''PANDORA_SKIP_CONFIRMATION=1'' in non-TTY environments (containers, CICD).
* ''PANDORA_SKIP_DEPENDENCIES=1'' skips OS package installation. Use it only when dependencies are already present — both the script and the GO agent's ''pandora_agent_installer'' need ''perl'' and ''tar''.
* Oracle Linux is not supported because ''perl'' is absent from its base repositories. Enabling ''ol8_codeready_builder'' or EPEL may resolve it but is outside the script's scope.
* Alpine Linux lacks ''bash'' and uses ''busybox ash'', which does not support the bash syntax used by the script.
* BETA チャネルを非 TTY 環境(コンテナや CI/CD など)で使用する場合、''PANDORA_SKIP_CONFIRMATION=1'' の設定が必要です。
* ''PANDORA_SKIP_DEPENDENCIES=1'' を指定すると、OS パッケージのインストールがスキップされます。このオプションは、必要な依存関係が既に導入されている場合にのみ使用してください(スクリプトおよび Go エージェントの ''pandora_agent_installer'' は、いずれも ''perl'' と ''tar'' を必要とします)。
* Oracle Linux はサポート対象外です。これは、同 OS のベースリポジトリに ''perl'' が含まれていないためです。''ol8_codeready_builder'' や EPEL を有効にすることで解決できる可能性がありますが、それらの設定は本スクリプトの対象範囲外となります。
* Alpine Linuxには ''bash'' が含まれておらず、代わりに ''busybox ash'' が使用されていますが、これは本スクリプトで使用されている bash 構文をサポートしていません。
[[ja:documentation:pandorafms:start|Pandora FMS ドキュメント一覧に戻る]]