Project

General

Profile

操作問い合わせ #3115

AWS環境でのジョブ実行について

Added by Anonymous about 1 month ago. Updated about 11 hours ago.

Status:
終了
Priority:
通常
Assignee:
-
Start date:
03/14/2019
Due date:
% Done:

0%

Estimated time:

Description

お世話になります。

jobarranger serverをAWSのELBで制御し、
ジョブを実行したいと考えています。

具体的にはELB配下のjobarranger serverをオートスケーリング機能で、
常時一台起動しておき、停止した場合、
別AZのjobarranger serverが起動する構成になります。

オートスケーリング機能で別AZで起動した場合、
jobarranger serverのIPアドレスが変わってしまうので、
サーバ側のホスト名などを固定したいのですが、
その場合、jobarg_agentd.confの"Server="パラメータなどで
ELBのDNS名などを設定しても、
ジョブは実行されますでしょうか?

また、具体的な設定方法などがあればご教示ください。

お手数ですが、よろしくお願いいたします。

History

#1 Updated by 保守サポート 担当 about 1 month ago

  • Status changed from 新規登録 to 回答中

ジョブアレンジャーのご利用ありがとうございます。

jobarg_agentd.confの"Server="の指定はDNS名でも可能です。
(ELBのDNS名では未確認ではありますが)

しかしながらIPでのご利用を推奨いたします。、
AWSのELBをServerの前段に置く運用であれば、
ELBにNetwork Load Balancerを用いてIPを固定させることも可能なようですので、
そちらもご検討頂ければ幸甚です。

また実際のAWS環境での実践で問題がありました場合、エラー内容や
環境の詳細を伺えれば、状況に応じた解決策はあると思います。

迅速・確実な回答の為にサポート契約をご検討頂ければ幸甚です。

#2 Updated by Anonymous about 1 month ago

お世話になっております。

上記につきまして、ジョブを実行したところ、
下記のメッセージが出力されジョブが実行できませんでした。

jobarg_agentd.confのServerパラメータとHostnameパラメータはAWSのLB DNS名を指定していますが、
これ以外に設定するパラメータなどはありますでしょうか?。

実行環境としてはJob Arranger ServerとAgentともにLB(AWS)配下の同一サーバ内で実行しています。

■jobarg_server.log
8190:20190318:091435.819 [ERROR] [JARUNICONJOB200012] Cannot send data:inner_jobid [706], message [received data is null]
8190:20190318:091435.835 [INFO] [JAJOBNETRUN000001] In ja_set_runerr() job execution error. inner_job_id: 706 status is RUNERR jobnet_id: JOBNET_8, job_id: JOBNET_8/JOB-1, user_name: Admin, job_exit_cd: , icon_status: 2
info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000041"
sent: 1; skipped: 0; total: 1
7930:20190318:091436.339 [ERROR] In message_send() failed to execute the command. command: (2) [zabbix_sender -z '127.0.0.1' -p '10051' -s 'Zabbix server' -k 'jasender' -o '[2019/03/18 09:14:35] [ERROR] [JARUNICONJOB200012] Cannot send data:inner_jobid [706], message [received data is null] (USER NAME=Admin HOST=《LBホスト名》 JOBNET=JOBNET_8 JOB=JOBNET_8/JOB-1 INNER_JOBNET_MAIN_ID=1500000000000000176)']
info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000032"
sent: 1; skipped: 0; total: 1
7930:20190318:091436.344 [ERROR] In message_send() failed to execute the command. command: (2) [zabbix_sender -z '127.0.0.1' -p '10051' -s 'Zabbix server' -k 'jasender' -o '[2019/03/18 09:14:35] [INFO] [JAJOBNETRUN000001] In ja_set_runerr() job execution error. inner_job_id: 706 status is RUNERR jobnet_id: JOBNET_8, job_id: JOBNET_8/JOB-1, user_name: Admin, job_exit_cd: , icon_status: 2 (USER NAME=Admin HOST=《LBホスト名》 JOBNET=JOBNET_8 JOB=JOBNET_8/JOB-1 INNER_JOBNET_MAIN_ID=1500000000000000176)']
7920:20190318:091521.246 [INFO] [JAJOBNET000001] In jajobnet_kill() jobnet was forced to stop. inner_jobnet_id: 1500000000000000176, jobnet_id: JOBNET_8, user_name: Admin

■jobarg_agentd.log
7956:20190318:091435.806 [WARN] Listener error: Connection from [127.0.0.1] rejected. Allowed server is [《LBホスト名》].

以上、よろしくお願いいたします。

#3 Updated by 保守サポート 担当 about 1 month ago

より正確な回答の為、下記情報をご開示頂ければ助かります。

・環境情報(DBバージョン、OSバージョン、Zabbixバージョン、JAZバージョン)、
・Confの設定情報(confを丸ごと頂けると他の問題可能性もみれます)、
・ログ全体(他部分に情報があるケースも有)

先ず確認ですが、
jobarg_agentd.confのHostnameには、「Zabbixに登録されているエージェントのホスト名」を設定します。
https://www.jobarranger.info/document/doku.php?id=4.0:install:agent:redhat-centos:02agent-conf_linux
こちらを正しくしてご確認いただけますか。

今のログ情報より以下の状況と思われます。

①ServerはAgentに実行の情報を投与。

②Agentは《LBホスト名》をserverとして期待していたが、
 serverからのConnectionは[127.0.0.1]で異なる為にConnectionをreject。
 [WARN] Connection from [127.0.0.1] rejected. Allowed server is [《LBホスト名》].

③Serverは、Agentが受け付けなかった為、実行の情報(date)を送付できなかったとしてジョブはエラー。
 [JARUNICONJOB200012] Cannot send data:inner_jobid [706], message [received data is null]

ELBのDNS名が正しく解析されていない可能性があるのではないでしょうか。
※前回の回答に記しましたが、ELBのDNS名については未確認です。

この確認の為には、confの設定をIP指定で確認、さらに通常のDNSでも確認し、
どちらもOKでELBのDNS名でのみ問題が出るなら、上記の想定が当てはまるかと思います。

以上よろしくお願いいたします。

#4 Updated by Anonymous about 1 month ago

お世話になっております。

下記、環境情報になります。

DB:AWS RDS PostgreSQL 9.5.15
OS:Amazon Linux2
Zabbix:4.0.4
JAZ:4.0.0

Hostnameにつきましてはjobarg_agentd.confとエージェントのホスト名は一致しておりました。

また、切り分け作業として、
jobarg_agentd.confの"Server="パラメータにjob serverのIPアドレスやホスト名、localhostを指定し、
jobが実行されることは確認しました。
job server、agentが同一サーバ内であればlocalhost指定で問題ないのですが、
agentを別サーバでジョブを実行したところ、同じようなエラーが吐かれジョブ実行されませんでした。

jobarg_agentd.conf(job agent)の"Server="をjob serverのIPアドレス(10.1.0.64)に指定した場合は
ジョブが実行されるのですが、job serverのELB DNS名(internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com)
を指定すると下記のようなエラーが吐かれ、ジョブが実行されませんでした。

この場合、上記の同様にELBのDNS名が正しく解析されていない可能性が高いでしょうか?

■jobarg_agentd.log
[WARN] Listener error: Connection from [10.1.0.64] rejected. Allowed server is [internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com].

■jobarg_server.log
12513:20190319:062143.355 [ERROR] [JARUNICONJOB200012] Cannot send data:inner_jobid [1006], message [received data is null]
12513:20190319:062143.372 [INFO] [JAJOBNETRUN000001] In ja_set_runerr() job execution error. inner_job_id: 1006 status is RUNERR jobnet_id: JOBNET_13, job_id: JOBNET_13/JOB-1, user_name: Admin, job_exit_cd: , icon_status: 2
info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000038"
sent: 1; skipped: 0; total: 1
12455:20190319:062143.752 [ERROR] In message_send() failed to execute the command. command: (2) [zabbix_sender -z '127.0.0.1' -p '10051' -s 'Zabbix server' -k 'jasender' -o '[2019/03/19 06:21:43] [ERROR] [JARUNICONJOB200012] Cannot send data:inner_jobid [1006], message [received data is null] (USER NAME=Admin HOST=internal-xxx-jobarg-agent-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com JOBNET=JOBNET_13 JOB=JOBNET_13/JOB-1 INNER_JOBNET_MAIN_ID=1500000000000000251)']
info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000035"
sent: 1; skipped: 0; total: 1
12455:20190319:062143.757 [ERROR] In message_send() failed to execute the command. command: (2) [zabbix_sender -z '127.0.0.1' -p '10051' -s 'Zabbix server' -k 'jasender' -o '[2019/03/19 06:21:43] [INFO] [JAJOBNETRUN000001] In ja_set_runerr() job execution error. inner_job_id: 1006 status is RUNERR jobnet_id: JOBNET_13, job_id: JOBNET_13/JOB-1, user_name: Admin, job_exit_cd: , icon_status: 2 (USER NAME=Admin HOST=internal-xxx-jobarg-agent-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com JOBNET=JOBNET_13 JOB=JOBNET_13/JOB-1 INNER_JOBNET_MAIN_ID=1500000000000000251)']

以上、よろしくお願いいたします。

#5 Updated by 保守サポート 担当 about 1 month ago

jobarg_agentd.logにあります以下は前回の回答の②と同じですね。

Connection from [10.1.0.64] rejected. Allowed server is [internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com].

AgentはDNS(internal-xxx...)名称を解析してIPを取得し、
それが接続してきたサーバIP[10.1.0.64]と異なっているのではないかと見えます。

このDNS(internal-xxx...)のIPをAgentサーバ上で確認してみて頂けますか?
pingやdigコマンドが使えると思います。

よろしくお願いいたします。

#6 Updated by Anonymous about 1 month ago

お世話になっております。

上記につきまして、Agent側かdigを実行しました。

; <<>> DiG 9.9.4-RedHat-9.9.4-61.amzn2.1.1 <<>> internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com
;; global options: +cmd
;; Got answer:
;; >>HEADER<< opcode: QUERY, status: NOERROR, id: 29309
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com. IN A

;; ANSWER SECTION:
internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com. 60 IN A 10.1.10.147
internal-xxx-jobarg-server-Classic-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com. 60 IN A 10.1.0.177

;; Query time: 33 msec
;; SERVER: 10.1.0.2#53(10.1.0.2)
;; WHEN: Tue Mar 19 07:55:49 UTC 2019
;; MSG SIZE rcvd: 139

以上、よろしくお願いいたします。

#7 Updated by 保守サポート 担当 about 1 month ago

AWSのELB ノードの IP アドレスはdig コマンドを利用し、
ELB に割り当てられた DNS 名を名前解決することで確認出来ます。
  dig 名前 +short  
でIPのみを確認できますが、それはANSWER SECTIONのIPと同じはずと思います。

そうしますと以下のIPになり、
10.1.10.147
10.1.0.177

それがAgentに接続してきたサーバIP[10.1.0.64]とは異なっていますので、
想定しました②のエラーとなった様です。

弊社でも以前AWSで利用しているドメインのIPが変わることがあって、問合せた時がございます。
その理由は、ELBの動作仕様によるものでELBのIPアドレスは可変ということでした。

その時のケースと本ケースが全く同様かは弊社では判断できかねますので、
御社環境でのELBのIPアドレスにつきましては、AWSに詳細をお問合せ頂ければと思います。

本お問合せの最初の回答で、以下を記しました。
  「しかしながらIPでのご利用を推奨いたします」
この一番の理由は、DNSの設定ではDNSからIPを引く処理が入り、その仕様や環境等に影響を受けることを避ける意味があります。

繰り返しになり、大変恐縮ですが
ELBにNetwork Load Balancerを用いIPを固定させることも可能なようですので、
そちらにつきましてもご検討頂ければと思います。

以上よろしくお願いいたします。

#8 Updated by Anonymous about 1 month ago

お世話になっております。

上記につきまして承知しました。

本件につきましては一旦クローズさせていただきます。

以上、よろしくお願いいたします。

#9 Updated by 保守サポート 担当 about 11 hours ago

  • Status changed from 回答中 to 終了

Also available in: Atom PDF