Project

General

Profile

操作問い合わせ #3479

JOB-NETでチュートリアル

Added by Anonymous 8 months ago. Updated 6 months ago.

Status:
回答中
Priority:
通常
Assignee:
-
Start date:
07/10/2020
Due date:
% Done:

0%

Estimated time:

Description

お世話になります。ダイキチ(本名の苗字)といいます。業務でZabbixを使っていますが、この度JOB-ARRANGER for ZABBIX (JAZ)
の導入の検討のため Zabbix 4.x(5.x)との連携の評価を実施しています。実行するための事例として、手順書ページの次のサイト
を参考にして進めています。疑問は4つありますが、ご回答いただけますと幸いです。

https://www.jobarranger.info/document/doku.php?id=4.0:operation:jobnet:05jobnet-variable

自宅では、Zabbix 5.x (Jaz 5.0) on CentOS8.1ですが、フロー内のアイコンの色の変化や[ジョブ実行管理]、[実行結果表示]
などで、JOBが実行した形跡まで終えましたが、実際にスクリプトtest.shが実行されたかについて確信がありません。適当に
echo 1 >test.txt のような行もスクリプトに入れてみましたが、リモートのLINUXでは実行結果が確認できていませんでした。
もちろんJAZ-Agentはインストールしています。

【Q1】実行がうまくいかない理由はいろいろ考えられると思いますが原因はどのようなことが考えられるでしょうか?
(なお、評価は、START-JOB-ENDだけの構成です。事前に、実行ユーザはAgentのroot、パスワードは、
    rootパスワードなどを入れて実行しています。

会社では、Zabbix 4.x (JAZ 4.1) on CentOS7.7ですが、環境がOpenstackベースのクラウド上で、SSHでの接続が鍵によるという
違いがあります。JOBアイコン中では、[実行ユーザ]や[パスワード]の指定がありますが、自宅の5.0では入れていますが、会社
ではユーザだけ入れたり、zabbixのDBユーザ、パスワード入れたりしながら、①JOBアイコンの直接起動での確認、、、
➁JOB-NET保存後に有効化して改めて実行確認を進めています。がこちらはまるで駄目のようです。

【Q2】そもそもSSHの鍵指定の環境下でも、JOB ARRANGERを使用することはできるでしょうか?

【Q3】会社の評価では、Zabbix 4.2とJAZ 4.1での連携ですが、JAZでログインする際は、MySQLのrootとDBパスワードでは
   入れませんでしたので、ZabbixのGUIデフォルトの、Admin, zabbixで入れました。手順書によるとこれは Jaz Ver. 5
からの仕様との認識ですが、Ver. 4.0代でも対応可能になっていたりするのでしょうか?

【Q4】実際に評価するにあたって確実に動く事例がもう少しあればいいと考えていますが、
   チュートリアル・サイトは存在しないでしょうか?作成するのは大変かと思います
   があると助かります。


Files

jobarg_agentd.log (15.1 KB) jobarg_agentd.log Anonymous, 07/15/2020 04:41 AM
jobarg_agentd_win.log (6.58 KB) jobarg_agentd_win.log Anonymous, 07/15/2020 04:41 AM
jobarg_server.log (34.7 KB) jobarg_server.log Anonymous, 07/15/2020 04:41 AM
JAZ_LIN2.png (41.5 KB) JAZ_LIN2.png Anonymous, 07/15/2020 04:42 AM
JAZ_WIN.png (78.4 KB) JAZ_WIN.png Anonymous, 07/15/2020 04:42 AM
JAZ_LIN.png (71.2 KB) JAZ_LIN.png Anonymous, 07/15/2020 04:42 AM
JAZ_MAN.png (37.8 KB) JAZ_MAN.png Anonymous, 07/15/2020 04:43 AM

Updated by Anonymous 8 months ago

お世話になっています。その後いろいろ理解が進みまして、保留実行などで
エラーの原因が判別できるようになりました。【Q1】の原因としては
https://www.jobarranger.info/redmine/issues/2430
と似ていますが、AllowRoot=1として、都度再起動。
Agent.conf内にパスワード記載やGUI側に記載など組み合わせを変えても
同じエラーが解消されません。他に原因があるでしょうか?

Updated by 保守サポート 担当 8 months ago

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

ダイキチ様

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

【Q1】の原因としては
https://www.jobarranger.info/redmine/issues/2430
と似ていますが、AllowRoot=1として、都度再起動。
Agent.conf内にパスワード記載やGUI側に記載など組み合わせを変えても
同じエラーが解消されません。他に原因があるでしょうか?

当該ジョブ実行時のJobArrangerのAgentとServerのログを見せて頂けますか。
問題なければ、logファイルを添付で頂けますか。他に気づけることが有るかもしれませんので。

また、ジョブアイコンの設定画面のコピーもお願いします。
設定にも動作に関わる情報がありますので。

【Q3】ですが、JobManagerのログインは従前よりZabbixのユーザとなります。
以下の記載で「※Version4.1迄はZabbixユーザのデータベース内ユーザ情報を使用」はデータベースに登録してあるZabbixユーザを指しております。5.0以降は認証がZabbixのUI経由になっております。
https://www.jobarranger.info/document/doku.php?id=4.0:operation:manager_operation:02display-login

【Q4】
チュートリアルという程ではありませんが、以下に動画もございます。
https://www.jobarranger.info/jaz/jaz_intro.html

速やかな返信のためにサポート契約をご検討頂ければ幸甚です。
宜しくお願い致します。

Updated by Anonymous 7 months ago

1) Windows 10[実機]/Philadelphia.crescent.local(192.168.0.248)/Manager /ODBC 8.x (64bit)
2) CentOS 8.1[VM]/livjaz1.crescent.local(192.168.0.185)/Zabbix 5.0LTS Server, JAZ 5.0 Server & Their agents
3) Windows Server 2012R2[VM]/Memphis.crescent.local(192.168.0.252)/Zabbix 5.0LTS & JAZ 5.0 agents for Win
4) CentOS 8.1[VM]/livamp1.crescent.local(192.168.0.10)/Zabbix 5.0LTS & JAZ 5.0 agents
192.168.0.0/24 (Bridge接続)
ManでのZab連携は暫定的。LIN2はパラメータは利用しないものも挙動確認のために参考まで入力。LINはrootになれないという内容。WINはhostnameが存在しないという内容(実際は存在、FQDNでも駄目)。パスワードはキャプチャ時に変えてます。Userはzabbixや自分のローカルユーザなどに変更しても駄目でした。

Updated by Anonymous 7 months ago

【Q2】そもそもSSHの鍵指定の環境下でも、JOB ARRANGERを使用することはできるでしょうか?
についてレスポンスが消えていますが、これだけで先に御回答を一言いただけると幸いです。

 ログインはJOBのボックスのGUI内(パスワードでしか)設定できません。ログイン時はサーバ、エージェント間での動作だと思います。つまりクラウド内で互いのログインに鍵が必要な環境では(言い換えると[SSH and RDP]接続環境がパスワード対応でないと)利用できないとの理解で宜しいですよね。

Updated by Anonymous 7 months ago

先の文章は「これだけで(も)先に御回答を一言いただけると幸いです。」でした。その後
調べるていると、エージェントレス・アイコンの中に公開鍵を設定する項目を見つけました。

【Q2+】エージェント設定されたLINUXで対応する場合は必ずパスワード認証でないと駄目との認識で宜しいでしょうか? を合わせて御回答頂きますと幸いです。

Updated by 保守サポート 担当 7 months ago

資料・追加情報のご提供有難うございました。

【Q2】についてはログ等の情報を得て状況をより正確に把握してからの回答と考えておりました。

ご推察の通り、ジョブアイコンでの実行は、Agentサーバにユーザ/パスワードでの接続が前提となります。
既にご確認頂きましたとおり、エージェントレス・アイコンを利用した場合には、SSH認証方式の選択で「パスワード/公開鍵」を選択可です。

また、jobarg_agentd_win.log に出ておりますエラーにつきましては以下を参照ください。
#840 hostname 'xxxxx' does not match Hostname出力時の対応について

キーワード(本例でしたら"does not match Hostname")を、右上の【検索:   】に入れて過去のQAを検索できますので、ぜひご活用ください。

宜しくお願い致します。

Updated by Anonymous 7 months ago

いろいろありがとうございます。
今だ、Job Arranger 5.0 の エージェントレス・アイコンによるユーザ/パスワードでしか確認に成功できていませんが、
取り急ぎその環境での鍵の設定をしてやってみましたが、うまく行きませんでした。

【Q2++】鍵は名称を入れるとあるので、(A)ホームディレクトリ(rootの場合は、/root/.ssh内、 userの場合は、/home/user/.ssh
配下にファイル名(id_rsa など)を入れましたがうまく行きませんでした。ただ認識は合ってますよね!?

 苦し紛れに(B)配置ディレクトリのフルパスを入れたり、(C)字数が入るから鍵の内容をそのまま入れたりしてみましたが、
結局、要領を得ませんでした。

Updated by Anonymous 7 months ago

失礼しました。「鍵は名称を入れる」とはどこにも書かれて居ませんでした。
(1) 「ホームディレクトリ」ではなく、ファイルは「ジョブサーバがアクセス可能なディレクトリ」に配置。
(2) 文字数も豊富で「半角2048文字まで入力可能」
だから感覚的にはフルパスで指定できるが近そうな文章ですね。
その気になれば鍵の中身も入れられそうですね。

Updated by Anonymous 7 months ago

連続ですみません。JAZ5での確認です。
(1) JazAgentで鍵作成 (公開鍵はAuthorized_Keysへ名称変更。エージェントLINUXで/home/user/.ssh/Authorized_Keys)
(2) JazAgentのSSHを鍵のみで入れるようにしてなかったのでそのように変更(忘れていました)
(3) JazServer側に秘密鍵転送。(名称は作成したままの id_rsa つまり、 /home/use/.ssh/id_rsaで配置)
(4) JazServer(SSH Client)から JazAgent(SSH Server)に ssh {-i id_rsa} use@JazAgentでのみ接続確認成功。
(5) JobArrangerの秘密鍵に /home/use/.ssh/id_rsa(又は、id_rsa)、公開鍵に /home/user/.ssh/authorized_keys
(又は Authorized_Keys)で接続できずです。
(6) JOBNETアイコン上のマウスオーバーで見られるエラーは次の通りです。
JOBARG_MESSAGE : [JASESSION200012] In ssh_connect() cannot access public key file. file:/home/user/.ssh/authorized_keys inner_jobnet_main_id: 15000000000000024 session_id: @SESSION-23 inner_job ud:74

Updated by 保守サポート 担当 7 months ago

JOB-NETでチュートリアル の本題と異なるお問い合わせ内容です。

別途チケットを起票いただけると幸甚です。

因みに下記のメッセージは読んでのとおりで、ジョブサーバ処理がkey fileにアクセスできない為です。

JOBARG_MESSAGE : [JASESSION200012] In ssh_connect() cannot access public key file. >
file:/home/user/.ssh/authorized_keys inner_jobnet_main_id: 15000000000000024 session_id: @SESSION-23 inner_job ud:74

マニュアルの以下記載の通り、ディレクトリの権限などをご確認下さい。

※ファイルはジョブサーバがアクセス可能なディレクトリに配置する必要があります。

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

Updated by Anonymous 7 months ago

ご回答ありがとうございます。
鍵の件については別途起票させていただきます。

【Q1】に戻らせていただきますが、現状は[Agentless]でパスワード実行するスクリプトのみの
実行に成功しています。なぜか通常の[JOB]ではどうしてもうまく実行できません。

Agent does not run as rootのメッセージが残る場合が多いですが、
そもそもrootで実行できない場合は、一般ユーザ(例えば, user1)でやっても
そのメッセージは出てしまいます。

設定に成功した人の話ではzabbixのagent設定で、EnableRemoteCommandsを0から1にしてみたり、
JAZ AGENT 4の設定はZABBIX AGENTの設定をincludeしてみるといった話もありましたので
そういった箇所の変更をしたうえで作業をやってみましたがやはり駄目でした。
単純な追加質問ですが、
【Q1+】EnableRemoteCommands=1にすることは実行のための要件の一つでしょうか?
Zabbix5では、DenyKey=system.run[*] AllowKey=system.run[*]の設定もありますが、
DenyKey=system.run[*] をコメントアウトするなど

Updated by Anonymous 6 months ago

お世話になっています。会話がキャッチボールにできてなくてすみません。
その後、環境を2つ作り直しました。

(1) JAZ 4.1 Server/Zabbix 4LTS Server/CentOS 7.8 (2) JAZ Agent/Zabbix 4LTS Agent/CentOS 7.8 (3) Jaz Manager/Windows Server 2016
(2) JAZ 5 Server/Zabbix 5LTS Server/CentOS 8.1 (2) JAZ Agent/Zabbix 5LTS Agent/CentOS 8.1 (3) Jaz Manager/Windows Server 2019

JAZ5は現行の環境でも、Agentlessの動作だけは確認できているという状況は同じです。
JAZ4は現在の環境が信頼できないと考えて上の(1)のようにしまして、何とか、通常の[JOB]アイコンによう設定も、
エージェントレスアイコンによる設定と同様に画面上では正常に動作(黄色から緑になって正常終了)するように
できました。しかし、実際の動作の形跡が確認できません。
確認は次のスクリプトファイル名:test.sh

#!/bin/bash
ls l > "`date '+%y%m%d%H%M%S'`.txt"
を作成後、/home/user/ に配置し

JAZのMANAGERのJOBアイコンの中で、

cd /home/user
source test.sh

のような形にしていますが、期待している 200816-225503.txt のようなファイルが作成されません。
エージェントレスは、JAZ5と同様にインタラクティヴを非対話方式にして動作するようになりましたが、
エージェントで対応する方はForceRunを有効にしたり、Userをzabbixやrootに変更したりといろいろ
やってみましたがエラーも出ない状態です。ログの以下のような状態で問題はなさそうに見えます。

tail -f /var/log/jobarranger/jobarg_agentd.log
  4284:20200816:225921.188 [INFO] In ja_agent_begin() jobid: 219, method: 0
  4284:20200816:225921.188 [WARN] In ja_jobdb_get_status() can not find jobid: 219
  4284:20200816:225921.189 [INFO] In ja_jobdb_insert() jobid: 219 is created
  4284:20200816:225921.190 [INFO] jobid: 219, method: 0 is begin
  4283:20200816:225922.042 [INFO] In ja_job_object_list_executive () jobid: 219, type: command, status: BEGIN
  4283:20200816:225922.042 [INFO] jobid: 219, status: 0
  4283:20200816:225922.052 [INFO] In ja_job_object_list_executive() jobid: 219, status: END
  4283:20200816:225922.052 [INFO] In ja_agent_close() jobid: 219, status: 2
  4283:20200816:225922.058 [INFO] In ja_job_object_list_executive() jobid: 219, status: CLOSE

設定ファイルはこんな具合です。

■FILENAME:\{/etc/zabbix/zabbix_server.conf};
11:ListenPort=10051
33:LogFile=/var/log/zabbix/zabbix_server.log
42:LogFileSize=0
62:PidFile=/var/run/zabbix/zabbix_server.pid
70:SocketDir=/var/run/zabbix
85:DBName=zabbix
98:DBUser=zabbix
105:DBPassword=MYPASSWORD
308:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
411:Timeout=4
448:AlertScriptsPath=/usr/lib/zabbix/alertscripts
457:ExternalScripts=/usr/lib/zabbix/externalscripts
488:LogSlowQueries=3000
583:StatsAllowedIP=127.0.0.1

■FILENAME:\{/etc/jobarranger/jobarg_server.conf};
10:Include=/etc/zabbix/zabbix_server.conf
18:TmpDir=/var/lib/jobarranger/tmp
33:DBName=zabbix
40:DBUser=zabbix
48:DBPassword=MYPASSWORD
102:DebugLevel=3
111:LogFileSize=1
120:JaLogFile=/var/log/jobarranger/jobarg_server.log
127:JaPidFile=/var/run/jobarranger/jobarg_server.pid
196:JaAgentListenPort=10055
203:JaExtjobPath=/etc/jobarranger/extendedjob
210:JaErrorCmdPath=/etc/jobarranger/alert
217:JaLogMessageFile=/etc/jobarranger/locale/logmessage_64BIT.txt
237:JaZabbixMessageFile=/etc/jobarranger/locale

■FILENAME:\{/etc/jobarranger/jobarg_monitor.conf};
10:Include=/etc/jobarranger/jobarg_server.conf
63:DebugLevel=3
72:LogFileSize=1
81:JaLogFile=/var/log/jobarranger/jobarg_monitor.log
88:JaPidFile=/var/run/jobarranger/jobarg_monitor.pid
116:JaSenderScript=/etc/jobarranger/monitor/jasender_monitor.sh

=======================================================================
■FILENAME:\{/etc/zabbix/zabbix_agentd.conf};
10:PidFile=/var/run/zabbix/zabbix_agentd.pid
26:LogFile=/var/log/zabbix/zabbix_agentd.log
35:LogFileSize=0
48:DebugLevel=3
63:EnableRemoteCommands=1
84:Server=192.168.0.184
119:ServerActive=192.168.0.184
128:Hostname=livjaz2agt.crescent.local
217:AllowRoot=1
232:Include=/etc/zabbix/zabbix_agentd.d/*.conf

■FILENAME:\{/etc/jobarranger/jobarg_agentd.conf};
17:TmpDir=/var/lib/jobarranger/tmp
25:Server=192.168.0.184
34:Hostname=livjaz2agt.crescent.local
44:AllowRoot=1
71:DebugLevel=3
80:LogFileSize=1
89:JaLogFile=/var/log/jobarranger/jobarg_agentd.log
96:JaPidFile=/var/run/jobarranger/jobarg_agentd.pid
104:JaServerPort=10061
112:JaListenPort=10055
120:JaSendRetry=30
127:JaDatabaseFile=/var/lib/jobarranger/jobarg_agentd.db
162:JaExtjobPath=/etc/jobarranger/extendedjob
184:JaExecutionUser=zabbix
191:JaCommandUser=fess
199:JaCommandPassword=MYPASSWORD

以上の情報から何か問題の原因となることが分かるようでしたら返信いただけると幸いです。

鍵関連の起票は先送りします。

Updated by Anonymous 6 months ago

さらに評価を進めまして、Managerの入ったWindowsのある設定を一つ変更することで
Agentでも動作するようになりました。

ただ、リモートPC上での自作コマンド(test.sh)を実行する際に、
 cd /home/user
 /home/user/test.sh または ./test/sh
と実行したら動くのに対して、
 cd /home/user
 source test.sh
のように実行しても動作しないようですね。またtest.shの内容をJOBアイコン中に記載しておいても
実行できます。

ともあれ、詰まっていた最大の問題【Q1】に相当する内容は解決しました。ありがとうございます。

 ただこれを【Q2】のSSH鍵認証環境下で実行をしようとすると、JOBアイコンと先に述べたような
エージェントレス・アイコンの連携でするのでしょうか?結局は鍵認証の環境下ではエージェント
レスだけを使うことになるのかなと思います。JOBアイコン(エージェント)を使うメリットが享受
できるのでしょうか?

これに対する返答を待って、鍵の起票をおこないたいと考えていますので宜しくお願い致します。

Updated by 保守サポート 担当 6 months ago

ダイキチ様

前回の回答より日が経ってしまい恐縮です。
最大の問題【Q1】が自力にて解決、ということで何よりです。
状況のお知らせ、及び経過詳細等有益な情報も記載頂き有難うございます。

 cd /home/user
 source test.sh

こちらの実行ですが、2行目を以下でお試し下さい。
source ./test.sh

【Q2】につきましては、本チケット#6 に記しました通り
ジョブアイコンの実行は、Agentサーバにユーザ/パスワードでの接続が前提となります。
エージェントレス・アイコンではSSH認証方式の選択で「パスワード/公開鍵」を選択可ですが、
JobArrangerのジョブ実行においては通常は、エージェントをインストールしてジョブアイコンを使用、
実行環境内のサーバによってどうしてもエージェントインストールができないとか、
ユーザ/パスワード接続が許されない、といった状況でのみ、それらの利用を想定しております。
ご理解のほどよろしくお願いいたします。

JobArrangerのお問い合わせにつきまして、弊社ではご契約ユーザ様からの問合せを優先で対応しております。
回答についてお時間を頂くこともございます点、何卒ご理解いただければ幸甚です。

何卒宜しくお願い致します。

Also available in: Atom PDF