プロジェクト

全般

プロフィール

操作問い合わせ #3841

未完了

ジョブが正常に動作しない

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

ステータス:
担当者処理中
優先度:
通常
開始日:
2026/08/19

説明

この度はDockerでの構築のご支援を頂き、ありがとうございます。ログアウトの問題は解決できました。
https://www.jobarranger.info/community/issues/3810?issue_count=36&issue_position=29&next_issue_id=3809&prev_issue_id=3812

ジョブが成功しているのですが、/tmpフォルダにファイルが作られなくて困っております。
大変恐縮ですが、画面証跡とログフィルをご確認して頂きご回答頂けますと幸いでございます。


ファイル

clipboard-202608192056-qirfw.png (191 KB) clipboard-202608192056-qirfw.png Job Arrangerでジョブ実行の画面 匿名ユーザー, 2026/08/19 20:59
clipboard-202608192057-ufekc.png (6.13 KB) clipboard-202608192057-ufekc.png tmpフォルダの中身 匿名ユーザー, 2026/08/19 21:00
ログファイル.txt (15.6 KB) ログファイル.txt jobarrangerのログファイル 匿名ユーザー, 2026/08/19 21:01

保守サポート 担当373 さんが4日前に更新

  • ステータス新規登録 から 担当者処理中 に変更
  • 担当者保守サポート 担当373 にセット

匿名ユーザー さんが約24時間前に更新

あらためて情報を共有致しますのでご確認いただけますでしょうか。

■ 環境
・Job Arranger Server:Job Arranger 7.2.1
・Job Arranger Agent:Job Arranger 7.2.1
・Zabbix:7.0系
・Agent/Server:Dockerコンテナ
・コンテナ名:jobarg
・Agent hostname:jobarg
・Agent実行ユーザー:zabbix
・OS:AlmaLinux 9系コンテナ

■ 発生している事象
Job Arrangerからcommand形式のジョブを実行しています。
テストとして、ジョブのシェルに以下のような単純な処理を設定しています。

#!/bin/sh
touch /tmp/test

しかし、Job Arranger上ではジョブ自体は実行され、Agentからジョブ結果も正常に送信されているように見えるものの、コンテナ内に /tmp/test が作成されません。
一方、同じコンテナ内でzabbixユーザーとして直接同じ処理を実行すると、/tmp/testは正常に作成できます。
そのため、単純なシェルや/tmpの権限の問題ではなく、Job Arranger Agentがジョブスクリプトを実行する処理について確認が必要と考えています。

■ コンテナ内での実行環境確認結果
Job Arranger Agentはzabbixユーザーで動作しています。

[root@om01 ~]# docker exec jobarg sh -c '
ps -eo user,pid,ppid,args | grep -E "jobarg_agentd|jobarg" | grep -v grep
'

zabbix 62 1 /usr/local/sbin/jobarg_agentd -c /etc/jobarranger/jobarg_agentd.conf
zabbix 67 62 jobarg_manager_monitor -c /etc/jobarranger/jobarg_agentd.conf -t 1
zabbix 75 62 agent_manager -config-path /etc/jobarranger/jobarg_agentd.conf -c-monitor-pid 67 -go-plugin-id 12 -target-server agent -use-tcp

zabbixユーザーから直接/tmpへの書き込みを確認した結果:
[root@om01 ~]# docker exec jobarg sh -c '
su -s /bin/bash zabbix -c "
id
echo PATH=\$PATH
echo SHELL=\$SHELL
touch /tmp/zabbix_test
ls -l /tmp/zabbix_test
"
'

uid=997(zabbix) gid=997(zabbix) groups=997(zabbix)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/bash
rw-r--r- 1 zabbix zabbix 0 Aug 23 11:17 /tmp/zabbix_test

このため、zabbixユーザーから/bin/bashおよびtouchを使用して/tmpへ書き込めることは確認できています。

■ /tmpの権限
[root@om01 ~]# docker exec jobarg sh -c '
ls -ld /tmp
touch /tmp/container_test
ls -l /tmp/container_test
'

drwxrwxrwt 1 root root 4096 Aug 14 16:32 /tmp
rw-r--r- 1 root root 0 Aug 23 11:15 /tmp/container_test

rootからの書き込みも正常です。

■ Job Arranger Agent設定
/etc/jobarranger/jobarg_agentd.conf の主な設定は以下です。

TmpDir=/var/lib/jobarranger/agent
UnixSockParentDir=/usr/local/bin/jobarranger/agent_socks
Server=127.0.0.1,0.0.0.0
Hostname=jobarg
AllowRoot=0
DebugLevel=3
LogType=file
JaLogFile=/var/log/jobarranger/jobarg_agentd.log
JaPidFile=/var/run/jobarranger/jobarg_agentd.pid
JaServerPort=10061
JaListenPort=10055
JaExtjobPath=/etc/jobarranger/extendedjob

JaExecutionUserは設定ファイル上ではコメントアウトされています。
  1. JaExecutionUser=zabbix
    設定ファイルのコメント上のDefaultはzabbixとなっています。

JaCommandUserも未設定です。

■ Job Arranger関連ディレクトリの権限
[root@om01 ~]# docker exec jobarg sh -c '
ls -ld /var/lib/jobarranger
ls -ld /var/lib/jobarranger/agent
ls -ld /var/lib/jobarranger/agent/*
ls -ld /etc/jobarranger/extendedjob
ls -la /etc/jobarranger/extendedjob
'

結果:
drwxr-xr-x 1 zabbix zabbix 4096 Aug 14 12:58 /var/lib/jobarranger
drwxr-xr-x 1 zabbix zabbix 4096 Aug 14 17:57 /var/lib/jobarranger/agent
drwxr-xr-x 14 zabbix zabbix 4096 Aug 23 11:xx /var/lib/jobarranger/agent/agentmanager
rw-r--r- 1 zabbix zabbix 0 Aug 14 17:57 /var/lib/jobarranger/agent/lock_file.lock

extendedjob:

drwxr-xr-x 2 zabbix zabbix 4096 Aug 14 12:58 /etc/jobarranger/extendedjob

以下の標準スクリプトも存在し、実行権限があります。

-rwxr-xr-x 1 zabbix zabbix 768 Jan 23 2026 jafcheck.sh
-rwxr-xr-x 1 zabbix zabbix 972 Jan 23 2026 jafwait.sh
-rwxr-xr-x 1 zabbix zabbix 320 Jan 23 2026 jareboot.sh

■ Agentログで確認できた内容
2026/08/23に実行したジョブID 86について、Agentログには以下が記録されています。

[JAAGENTMNG000005 agentmanager]
In handleAgentJobRun(), processing job run request:
jobid [86], method [1], type [command], kind [jobrun], hostname [jobarg], version [1], serverid [1]

その後、

[JAAGENTMNG000012 job_run_client]
In WriteFileAsLocale(), job run script encoded with : [UTF-8].
script file: [/var/lib/jobarranger/agent/agentmanager/data/86-20260823111954981944956-433389.sh]

が記録されています。

さらに、

[JAAGENTMNG000007 agentmanager]
In sendJobResult(), job result is sent successfully for jobid [86]

が記録されています。
つまり、
1. Agentがジョブ実行要求を受信
2. ジョブスクリプトを生成
3. ジョブ結果をServerへ送信
まではログ上で確認できています。
しかし、ジョブスクリプトの実行結果として/tmp/testが作成されたことを確認できません。

■ 過去のジョブについても同様
jobid 70:
09:37:00.558 ジョブ実行要求
09:37:00.791 スクリプト生成
09:37:03.028 結果送信

jobid 74:
09:37:50.541 ジョブ実行要求
09:37:50.546 スクリプト生成
09:37:51.940 結果送信

jobid 78:
09:59:36.450 ジョブ実行要求
09:59:36.455 スクリプト生成
09:59:37.174 結果送信

jobid 82:
10:03:09.503 ジョブ実行要求
10:03:09.513 スクリプト生成
10:03:10.241 結果送信

jobid 86:
11:19:54.749 ジョブ実行要求
11:19:55.088 スクリプト生成
11:19:56.287 結果送信

いずれもAgent側ではジョブ要求を受信し、スクリプトファイルを生成し、結果を送信するところまでは確認できます。

■ Housekeeperについて
生成されたジョブについては、後日Housekeeperによる削除も確認できています。

例えば、
[JAAGENTHOUSEKEEPER000008]
In startCleanup(), job file '/var/lib/jobarranger/agent/agentmanager/close/42-....job' is deleted
などが記録されています。
そのため、ジョブ関連ファイルの生成・管理処理自体は動作しているように見えます。

■ 現在確認できていること
以下については問題ないことを確認しています。
・Agentプロセスは起動している
・Agentはzabbixユーザーで動作している
・zabbixユーザーで/bin/bashを実行できる
・/bin/shは/bin/bashへのシンボリックリンク
・PATHは正常
・zabbixユーザーから/tmpへ書き込み可能
・Job ArrangerのTmpDirはzabbix:zabbix所有
・extendedjobディレクトリもzabbix:zabbix所有
・extendedjob内のスクリプトには実行権限がある
・AgentはJob Arranger Serverからジョブ実行要求を受信している
・Agentはジョブスクリプトを生成している
・Agentはジョブ結果をServerへ送信している

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