操作問い合わせ #3841
未完了ジョブが正常に動作しない
説明
この度はDockerでの構築のご支援を頂き、ありがとうございます。ログアウトの問題は解決できました。
https://www.jobarranger.info/community/issues/3810?issue_count=36&issue_position=29&next_issue_id=3809&prev_issue_id=3812
ジョブが成功しているのですが、/tmpフォルダにファイルが作られなくて困っております。
大変恐縮ですが、画面証跡とログフィルをご確認して頂きご回答頂けますと幸いでございます。
ファイル
匿名ユーザー さんが1日前に更新
あらためて情報を共有致しますのでご確認いただけますでしょうか。
■ 環境
・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/bashrw-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 /tmprw-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=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/agentmanagerrw-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へ送信している
保守サポート 担当373 さんが約1時間前に更新
- ファイル std-out-and-std-err-and-job-exit-cd.png std-out-and-std-err-and-job-exit-cd.png を追加
- ステータス を 担当者処理中 から 回答中 に変更
ご担当者様
お世話になっております。
お問い合わせいただいた件につきまして、以下の通り回答申し上げます。
ジョブが成功しているのですが、/tmpフォルダにファイルが作られなくて困っております。
ジョブ実行ユーザーが root でない場合に、この事象が発生する可能性があります。そのため、以下の 2 つのコマンドを実行いただき、結果をご提示いただけますでしょうか。
docker exec -it <JOBARRANGER_AGENT_CONTAINER_NAME> grep -E '^(Hostname|AllowRoot)=' /etc/jobarranger/jobarg_agentd.conf
docker logs <JOBARRANGER_AGENT_CONTAINER_NAME>
実行例:
docker exec -it jobarg grep -E '^(Hostname|AllowRoot)=' /etc/jobarranger/jobarg_agentd.conf
docker logs jobarg
ジョブアイコン上では正常終了と表示されましたが、期待していたファイルが作成されていませんでした。さらなる調査のため、clipboard-202608192056-qirfw.png に示されている JOBNET_3 を実行いただき、ジョブアイコンの「変更後変数」欄に表示される STD_OUT, STD_ERR, JOB_EXIT_CD の値をご提示いただけますでしょうか。

ご不明な点がございましたら、お気軽にお問い合わせください。
何卒よろしくお願いいたします。