操作問い合わせ #3844
未完了jobarg_monitor_mysql の JAMONITOR200001 判定条件および旧Job Monitorとの仕様差異について
説明
お世話になっております。
先日、Job Arranger 7.2.2へバージョンアップを実施しました。
バージョンアップ自体は成功しており、Job Monitor廃止に伴い、Zabbix AgentのUserParameter経由で jobarg_monitor_mysql を利用した監視を使用することにしました。
※テンプレート/アイテムもHP掲載のものを使用し、ホストマクロ以外は設定はデフォルトのまま使用
テンプレート:JobArranger Server
アイテム:Job Arranger Server Jobnet Monitor
JAMONITOR200001(Jobnet has not been pre-deployment)が発生する事象について確認させてください。
■発生事象
実行ジョブ管理画面上では対象ジョブネットが既に「予定」と表示されているにもかかわらず、
[JAMONITOR200001] Jobnet has not been pre-deployment
が発生し、約1分後に自動復旧します。
⇒カレンダーおよび公開スケジュールに登録されているジョブネットすべてで同じ事象が発生している状況
※対象ジョブネットは予定時刻に正常実行されていることを確認済み。
<環境>
Red Hat Enterprise Linux release 8.8
Zabbix Server 7.0.27
MySQL Server 8.0.30
Apache 2.4.37
PHP 8.0.27-1
Jobarranger Server 7.2.2
Jobarranger Manager 7.2.2
Jobarranger Agent 7.2.2
<一般設定>
予定ジョブネット事前展開開始時間:60 ※デフォルト
<ホストマクロ>
JA_LOAD_SHIFT_TIME:0 ※デフォルト
JA_RUN_SHIFT_TIME:0 ※デフォルト
===
当方の検証環境でも事象の再現がされています。
■検証内容
以下の条件で複数回確認しましたが、いずれも同様の事象が発生しました。
予定ジョブネット事前展開開始時間:1分、5分、60分
{$JA_LOAD_SHIFT_TIME}:0、1、2、5
例:
ジョブ実行予定時刻:09:45
予定ジョブネット事前展開開始時間:60分
{$JA_LOAD_SHIFT_TIME}:5
結果:
08:45 実行ジョブ管理画面上で対象ジョブネットが「予定」と表示されていることを確認 08:51 JAMONITOR200001発生 08:52 自動復旧 09:45 ジョブ正常実行
■確認した内容
jobarg_monitor_mysql を確認したところ、以下のSQL文字列が含まれていることを確認しています。
SELECT start_time, scheduled_time, jobnet_id, schedule_id
FROM ja_2_run_jobnet_summary_table
WHERE run_type = %d
AND start_pending_flag = %d
また、過去チケット #1563 および #3686 を確認したところ、
ジョブネット未展開 ⇒ 実行ジョブ管理画面のジョブネット一覧に「予定」と表示されない状態 ジョブネット未起動 ⇒「予定」と表示された後に起動されない状態
との説明を確認しております。
一方、今回の環境では実行ジョブ管理画面上で既に「予定」と表示されているにもかかわらず、JAMONITOR200001が発生しております。
以下について、質問をさせてください。
===
■質問事項
① JAMONITOR200001 の具体的な判定条件について
jobarg_monitor_mysql はどの情報を参照して、 *"Jobnet has not been pre-deployment"*と判定しているのでしょうか。
② 「予定」表示済みジョブネットへの未展開判定について
実行ジョブ管理画面上で既に「予定」と表示されているジョブネットに対して、JAMONITOR200001が発生することは仕様上あり得るのでしょうか。
③ 旧Job Monitorとの判定ロジック差異について
Job Arranger 7.2 の
Zabbix Agent → UserParameter → jobarg_monitor_mysql
における監視ロジックは、過去バージョンの
jobarg_monitor → jasender_monitor.sh
と同等でしょうか。
それとも未展開・未起動の判定条件に変更がありますでしょうか。
④ 旧Job Monitor環境での動作について
今回確認している事象
画面上は「予定」 ↓ JAMONITOR200001発生 ↓ 約1分後に自動復旧 ↓ ジョブ正常実行
については、過去の jobarg_monitor/jasender_monitor.sh 構成でも発生し得る挙動でしょうか。
あるいは、現行の jobarg_monitor_mysql 固有の挙動でしょうか。
バージョン6.1.0の際は、jasender_monitor.shを以下の設定で使用していましたが、これまで一度もアラートを検知することはありませんでした。(設定が誤っていた可能性もありますが)
<スクリプト設定値>
ZABBIX_SERVER ⇒127.0.0.1 ZABBIX_PORT ⇒10051 ZABBIX_SENDER ⇒zabbix_sender KEY ⇒jamonitor HOST ⇒$(hostname)
※以下を参考にして、jasender_monitor.shのZabbix通知用には基本Zabbixサーバのホストにアイテムも作成して、Job Server用サーバ(Zabbix サーバ)にアイテムを付与
参考:https://www.jobarranger.info/jpn/jaz/6.manual/index.html?tgt=/6.1/1.Install/1.JobArrangerServer/07.notification.html
⑤ 回避方法・推奨設定について
本来検知したいのは、「jobarg_server停止等による実際のジョブネット未展開」となります。
今回のような、
一時的にJAMONITOR200001発生 ↓ 1分後自動復旧 ↓ ジョブ正常実行
という挙動を回避し、
本当に未展開の場合のみ検知するための推奨設定(JA_LOAD_SHIFT_TIME、監視間隔等)がありましたらご教示ください。
===
以上となります。
これまで、#3830で詳細にやり取りをさせていただき大変お世話になりました。
本事象はバージョンアップ後の事象となるため、チケットを分離させていただいております。
お忙しいところ大変恐縮ではございますが、何卒よろしくお願いいたします。
以上、よろしくお願いいたします。
匿名ユーザー さんが3日前に更新
お問い合わせ後に一部の質問事項の記載漏れがありましたので、追加させていただきます。
■追加質問事項
⑥予定ジョブネット事前展開が失敗したときの影響等について
ジョブネットの事前展開失敗の影響等について確認させてください。
・ジョブネットの事前展開失敗の影響
ジョブネット事前展開の失敗はその後のジョブ実行ができないことに繋がると思っていますが認識よろしいでしょうか。
何らかの理由で展開されたなかった場合、その後も展開に失敗し続けるのか、リトライ機能で実行時間前に展開できれば良いのでしょうか。
その他の影響等あればご教示いただきたいです。
・予定ジョブネットの実行フロー
Jobarrangerで予定ジョブネットが実行される処理の流れは以下の通りと理解していますがよろしいでしょうか。
①予定ジョブネット事前展開開始時間になったら、事前展開 ⇒運行情報に実行予定ジョブがセットされる ②実行時間になったら、ジョブネットが実行
・Job Monitorの監視の役割
Job Monitorの監視は、ジョブ実行前と実行後の2段階でチェックする監視と認識しておりますが、認識よろしいでしょうか。
1段階目:ジョブ実行前に、事前展開されているかどうか(≒ Job Serverのサービス停止等により事前展開開始時間になっても展開されていないかどうか) 2段階目:実行時間のタイミングでジョブが実行されたかどうか(≒ Job Serverのサービス停止等により実行時間になっても実行されなかったかどうか)
===
お問い合わせ後の追加質問となり大変恐縮ですが、こちらについても併せてご確認いただけますようお願い申し上げます。
以上、よろしくお願いいたします。