プロジェクト

全般

プロフィール

操作問い合わせ #3818

未完了

Job Arranger 7.0.0 → 7.2.2 アップグレードについて

匿名ユーザー さんが1日前に追加. 約8時間前に更新.

ステータス:
担当者アサイン中
優先度:
通常
開始日:
2026/06/23

説明

Job Arranger 7.0.0 → 7.2.2 アップグレードについて以下質問させてください。

1. 7.0.0 → 7.2.2 の移行手順書(migrate.php 方式)の有無
migrate.php を用いた一連の正式手順書(前提・順序・確認方法)はありますでしょうか。

2.パッケージ構成・名称の変更(server-postgresql → server)
7.0.0 では jobarranger-server-postgresql でしたが、7.2.2 では jobarranger-server(DB 種別の区別なし)にパッケージ名が変わり、rpm -Uvh ではファイル競合(jobarg_server.conf / jobarg-server.service が旧パッケージと競合)して更新できませんでした。旧パッケージを rpm -e で削除してから新パッケージを導入する必要がありました。

質問:7.0.0 → 7.2.2 の正式なパッケージ入れ替え手順(旧削除→新導入の順序、設定ファイルの退避・復元方法)をご教示ください。
質問:7.2.2 で必要な RPM は server / agentd / manager / utils のうちどれが必須でしょうか

3. 設定ファイル jobarg_server.conf
7.2.2 の jobarg_server.conf は 7.0.0 と大きく異なり、以下が必須(Mandatory: yes)でした。

・DBType(maria/mysql/postgres)の明示指定が必須。
・DB 接続が 「DB(Zabbix 側)」と「JazDB(Job Arranger 側)」の2系統に分かれている。
・各種 *MaxDBConCount(マネージャごとの DB 接続数)の指定。

当環境のように Zabbix と Job Arranger を同一 DB(zabbix)で運用する場合、DB 系・JazDB 系の両方に同じ接続情報を設定する理解で正しいでしょうか。
7.0.0 の設定から 7.2.2 設定への移行(マッピング)表はありますか。.rpmsave の旧値をそのまま流用してよい項目/新規に設定が必要な項目の整理をご提供いただけますか。

4.agentd の設定(AllowRoot・Server・Hostname)
質問:7.0.0 から 7.2.2 へ上げる際に、agentd 設定で見直しが必要な項目(既定値が変わった項目)の一覧はありますか。

5.ja_2_* スキーマ作成と migrate.php の手順・設定(config.php)
新スキーマ作成(PostgreSQL_JA_CREATE_TABLE.sql + JA_2_INSERT_TABLE.sql)→ migrate/config.php 設定 → migrate.php 実行、という流れを試行で組み立てました。config.php の既定は MySQL 例(port 3306、jaz2 の dbname が jobarranger)でした。

質問:同一 DB(zabbix)内に ja_* と ja_2_* を共存させる構成の場合、config.php の jaz1 と jaz2 をともに同じ zabbix DBに向ける設定で正しいですか。PostgreSQL では dbType=pgsql、port=5432 への変更が必要、という理解で正しいですか。

6.migrate.php 実行時の件数差異(ja_parameter_table 23 → 19)
migrate.php 本実行で、ほぼ全テーブルが件数一致した一方、ja_parameter_table => ja_2_parameter_table のみ「Total 23 rows | 19 rows migrated」となり、4件少なくなりました(JA_2_INSERT_TABLE.sql で投入済みの初期データと UPSERT で重複した分がスキップされたと推測)。

質問:この 23 → 19 の差異は正常(仕様どおり)でしょうか。移行後に件数が一致しないことが想定されるテーブルの一覧があれば、確認時の判断のためご提供ください。

7. 7.2.1 → 7.2.2 増分 SQL のエラー(already exists)
PostgreSQL_JA_UPGRADE_TABLE-7.2.2.sql 適用時、test_run_time 列追加は NOTICE(スキップ)でしたが、インデックス作成は ERROR: リレーション "..." はすでに存在します(IF NOT EXISTS 無し)となりました。CREATE_TABLE.sql が既に 7.2.2 相当の完全スキーマを作るため、増分 SQL が実質 no-op になっていると理解しています。

質問:CREATE_TABLE.sql で新規構築した場合、7.2.1-7.2.2 の増分 SQL の適用は不要、という理解で正しいですか。適用が必要なケース/不要なケースの切り分けをご教示ください(増分 SQL に IF NOT EXISTS が無いため、誤適用で ERROR が出ます)。

8. migrate_compare.php がログ書き込み権限で失敗する
質問:照合スクリプトの想定実行ユーザー・ログ出力先・権限要件をご教示いただけないでしょうか。

9.JA Manager API の設定ファイル配置
7.2.2 で Manager(API/UI)が React + PHP API 構成に変わり、設定ファイルの配置・読み込み順が以下のように分かりにくく、画面が Configuration Error / API が {"type":"config","detail":{"message":"Config not Found"}} を返し続けました。

・調査状況:
API の設定は app/config/jam.config.php ではなく、/etc/jobarranger/web/jam.config.php を優先的に読む(Utils/Router.php のロジック)。7.0.0 からのアップグレードで当該ファイルが .rpmsave 化され本体が消えていたため、Config not Found になっていた。
httpd の Alias は /jobarranger/api → /usr/share/jobarranger/api、/jobarranger → /usr/share/jobarranger/ui。
jam.config.php の既定は MySQL 用(DATA_SOURCE_NAME=mysql、port 3306、JA_DB_NAME=jobarranger、DB_HOST=localhost)。PostgreSQL・同一DB構成に合わせ、pgsql / 5432 / JA_DB_NAME=zabbix / DB_HOST=127.0.0.1(localhost だとソケット解決で接続不可)へ変更が必要だった。

・質問:
API が読み込む設定ファイルの正式な配置場所と読み込み優先順位(/etc/jobarranger/web/ と app/config/ のどちらが正か)を明確にした資料はありますか。
7.2.2 では JA Manager の設定はブラウザのセットアップ画面(CONFIG_CREATION_PERMISSION)で生成する想定でしょうか。それとも設定ファイルを手で配置する想定でしょうか。正式な初期セットアップ手順をご教示ください。

10.ZBX_API_ROOT の末尾スラッシュ

jam.config.php の ZBX_API_ROOT は、内部で ZBX_API_ROOT . '/api_jsonrpc.php'(ZBX_MAIN_END_POINT が先頭スラッシュ付き)と連結されるため、末尾スラッシュを付けると //api_jsonrpc.php となり不正でした。http://127.0.0.1(末尾スラッシュ無し)が正しい値でした。

・質問:ZBX_API_ROOT の正しい記法(末尾スラッシュ無し)を明記いただけますか。また当環境のようにルート配信の Zabbix では /zabbix を付けない点も含め、設定例の提示を希望します。

11.Zabbix セッション連携(sessionid)で JA Manager 画面が表示されない
設定修正後、Configuration Error は解消し画面が Redirecting...(ローディング)まで進みましたが、API ログに以下が出続け、ジョブネット一覧まで到達できていません。

[App\Controllers\Users::redirectLogin()] Invalid parameter "/sessionid": a character string is expected.

調査で判明した点:
http://127.0.0.1/api_jsonrpc.php への疎通は確認済み(apiinfo.version が 7.0.27 を返す)。
Zabbix モジュール JazManagerApp.php は、Zabbix のセッション Cookie(ZBX_SESSION_NAME)を base64_decode → json_decode し、$session['sessionid'] を取り出して JA Manager の /api/session へ POST している。
このセッションから取得する sessionid が空になっているため、Zabbix API 呼び出し(checkAuthentication)で「sessionid は文字列であるべき」エラーになっていると推測。

質問:

Zabbix 7.0 のセッション Cookie 構造と、JazManagerApp.php が期待する $session['sessionid'] の整合は取れるものでしょうか。Zabbix 7.0 でセッション/認証方式(旧 auth → セッション)が変わったことにより、モジュール側でセッションIDを取得できていない可能性はありますか。
redirectLogin() の sessionid が空になる事象の、公式の切り分け手順・既知事象があればご教示ください。

匿名ユーザー さんが1日前に更新

・JobArranger 7.0.0 → 7.2.2 を実施した時点の環境

・OS RHEL 8.10
・JobArranger 7.0.0
・Zabbix 7.0.27
・PostgreSQL17
・PHP8.3
・Nginx 1.20.1
・Apache/httpd(JA Manager 用)2.4.37

匿名ユーザー さんは書きました:

Job Arranger 7.0.0 → 7.2.2 アップグレードについて以下質問させてください。

1. 7.0.0 → 7.2.2 の移行手順書(migrate.php 方式)の有無
migrate.php を用いた一連の正式手順書(前提・順序・確認方法)はありますでしょうか。

2.パッケージ構成・名称の変更(server-postgresql → server)
7.0.0 では jobarranger-server-postgresql でしたが、7.2.2 では jobarranger-server(DB 種別の区別なし)にパッケージ名が変わり、rpm -Uvh ではファイル競合(jobarg_server.conf / jobarg-server.service が旧パッケージと競合)して更新できませんでした。旧パッケージを rpm -e で削除してから新パッケージを導入する必要がありました。

質問:7.0.0 → 7.2.2 の正式なパッケージ入れ替え手順(旧削除→新導入の順序、設定ファイルの退避・復元方法)をご教示ください。
質問:7.2.2 で必要な RPM は server / agentd / manager / utils のうちどれが必須でしょうか

3. 設定ファイル jobarg_server.conf
7.2.2 の jobarg_server.conf は 7.0.0 と大きく異なり、以下が必須(Mandatory: yes)でした。

・DBType(maria/mysql/postgres)の明示指定が必須。
・DB 接続が 「DB(Zabbix 側)」と「JazDB(Job Arranger 側)」の2系統に分かれている。
・各種 *MaxDBConCount(マネージャごとの DB 接続数)の指定。

当環境のように Zabbix と Job Arranger を同一 DB(zabbix)で運用する場合、DB 系・JazDB 系の両方に同じ接続情報を設定する理解で正しいでしょうか。
7.0.0 の設定から 7.2.2 設定への移行(マッピング)表はありますか。.rpmsave の旧値をそのまま流用してよい項目/新規に設定が必要な項目の整理をご提供いただけますか。

4.agentd の設定(AllowRoot・Server・Hostname)
質問:7.0.0 から 7.2.2 へ上げる際に、agentd 設定で見直しが必要な項目(既定値が変わった項目)の一覧はありますか。

5.ja_2_* スキーマ作成と migrate.php の手順・設定(config.php)
新スキーマ作成(PostgreSQL_JA_CREATE_TABLE.sql + JA_2_INSERT_TABLE.sql)→ migrate/config.php 設定 → migrate.php 実行、という流れを試行で組み立てました。config.php の既定は MySQL 例(port 3306、jaz2 の dbname が jobarranger)でした。

質問:同一 DB(zabbix)内に ja_* と ja_2_* を共存させる構成の場合、config.php の jaz1 と jaz2 をともに同じ zabbix DBに向ける設定で正しいですか。PostgreSQL では dbType=pgsql、port=5432 への変更が必要、という理解で正しいですか。

6.migrate.php 実行時の件数差異(ja_parameter_table 23 → 19)
migrate.php 本実行で、ほぼ全テーブルが件数一致した一方、ja_parameter_table => ja_2_parameter_table のみ「Total 23 rows | 19 rows migrated」となり、4件少なくなりました(JA_2_INSERT_TABLE.sql で投入済みの初期データと UPSERT で重複した分がスキップされたと推測)。

質問:この 23 → 19 の差異は正常(仕様どおり)でしょうか。移行後に件数が一致しないことが想定されるテーブルの一覧があれば、確認時の判断のためご提供ください。

7. 7.2.1 → 7.2.2 増分 SQL のエラー(already exists)
PostgreSQL_JA_UPGRADE_TABLE-7.2.2.sql 適用時、test_run_time 列追加は NOTICE(スキップ)でしたが、インデックス作成は ERROR: リレーション "..." はすでに存在します(IF NOT EXISTS 無し)となりました。CREATE_TABLE.sql が既に 7.2.2 相当の完全スキーマを作るため、増分 SQL が実質 no-op になっていると理解しています。

質問:CREATE_TABLE.sql で新規構築した場合、7.2.1-7.2.2 の増分 SQL の適用は不要、という理解で正しいですか。適用が必要なケース/不要なケースの切り分けをご教示ください(増分 SQL に IF NOT EXISTS が無いため、誤適用で ERROR が出ます)。

8. migrate_compare.php がログ書き込み権限で失敗する
質問:照合スクリプトの想定実行ユーザー・ログ出力先・権限要件をご教示いただけないでしょうか。

9.JA Manager API の設定ファイル配置
7.2.2 で Manager(API/UI)が React + PHP API 構成に変わり、設定ファイルの配置・読み込み順が以下のように分かりにくく、画面が Configuration Error / API が {"type":"config","detail":{"message":"Config not Found"}} を返し続けました。

・調査状況:
API の設定は app/config/jam.config.php ではなく、/etc/jobarranger/web/jam.config.php を優先的に読む(Utils/Router.php のロジック)。7.0.0 からのアップグレードで当該ファイルが .rpmsave 化され本体が消えていたため、Config not Found になっていた。
httpd の Alias は /jobarranger/api → /usr/share/jobarranger/api、/jobarranger → /usr/share/jobarranger/ui。
jam.config.php の既定は MySQL 用(DATA_SOURCE_NAME=mysql、port 3306、JA_DB_NAME=jobarranger、DB_HOST=localhost)。PostgreSQL・同一DB構成に合わせ、pgsql / 5432 / JA_DB_NAME=zabbix / DB_HOST=127.0.0.1(localhost だとソケット解決で接続不可)へ変更が必要だった。

・質問:
API が読み込む設定ファイルの正式な配置場所と読み込み優先順位(/etc/jobarranger/web/ と app/config/ のどちらが正か)を明確にした資料はありますか。
7.2.2 では JA Manager の設定はブラウザのセットアップ画面(CONFIG_CREATION_PERMISSION)で生成する想定でしょうか。それとも設定ファイルを手で配置する想定でしょうか。正式な初期セットアップ手順をご教示ください。

10.ZBX_API_ROOT の末尾スラッシュ

jam.config.php の ZBX_API_ROOT は、内部で ZBX_API_ROOT . '/api_jsonrpc.php'(ZBX_MAIN_END_POINT が先頭スラッシュ付き)と連結されるため、末尾スラッシュを付けると //api_jsonrpc.php となり不正でした。http://127.0.0.1(末尾スラッシュ無し)が正しい値でした。

・質問:ZBX_API_ROOT の正しい記法(末尾スラッシュ無し)を明記いただけますか。また当環境のようにルート配信の Zabbix では /zabbix を付けない点も含め、設定例の提示を希望します。

11.Zabbix セッション連携(sessionid)で JA Manager 画面が表示されない
設定修正後、Configuration Error は解消し画面が Redirecting...(ローディング)まで進みましたが、API ログに以下が出続け、ジョブネット一覧まで到達できていません。

[App\Controllers\Users::redirectLogin()] Invalid parameter "/sessionid": a character string is expected.

調査で判明した点:
http://127.0.0.1/api_jsonrpc.php への疎通は確認済み(apiinfo.version が 7.0.27 を返す)。
Zabbix モジュール JazManagerApp.php は、Zabbix のセッション Cookie(ZBX_SESSION_NAME)を base64_decode → json_decode し、$session['sessionid'] を取り出して JA Manager の /api/session へ POST している。
このセッションから取得する sessionid が空になっているため、Zabbix API 呼び出し(checkAuthentication)で「sessionid は文字列であるべき」エラーになっていると推測。

質問:

Zabbix 7.0 のセッション Cookie 構造と、JazManagerApp.php が期待する $session['sessionid'] の整合は取れるものでしょうか。Zabbix 7.0 でセッション/認証方式(旧 auth → セッション)が変わったことにより、モジュール側でセッションIDを取得できていない可能性はありますか。
redirectLogin() の sessionid が空になる事象の、公式の切り分け手順・既知事象があればご教示ください。

匿名ユーザー さんが1日前に更新

関連チケット
#3817
#3799

保守サポート 担当362 さんが約8時間前に更新

  • ステータス新規登録 から 担当者アサイン中 に変更
  • 担当者保守サポート 担当362 にセット

他の形式にエクスポート: Atom PDF