| 監視アイテム(Key) | 対象ホスト | 監視方式 | トリガー条件 | 深刻度 | フロー連携ポイント |
|---|---|---|---|---|---|
| icmpping | パソカサーバ 基幹サーバ |
Zabbix Agent ICMP Ping |
応答なし 3回連続 | HIGH | STEP 1 前提確認 |
| proc.num[postgres] | パソカサーバ 基幹サーバ |
Zabbix Agent | PostgreSQLプロセス数 = 0 | HIGH | STEP 1 前提確認 |
| pgsql.connections [pasoca_db,,active] |
パソカサーバ | Zabbix Agent 2 (PostgreSQL plugin) |
接続数が上限の80%超過 | WARN | STEP 3・7 |
| UserParameter: pasoca.recv_file_count |
パソカサーバ | Zabbix Agent UserParameter |
受信ファイル件数 = 0 (対象日) |
WARN | STEP 3・4 |
| UserParameter: pgagent.job_status[etc_batch] |
パソカサーバ | Zabbix Agent UserParameter |
最終実行ステータス ≠ 's' (s=success) |
HIGH | STEP 12・13 |
| pgsql.uptime[pasoca_db] | パソカサーバ | Zabbix Agent 2 | 再起動検知(uptime減少) | INFO | 常時監視 |
pasoca.recv_file_countpgagent.job_status[etc_batch]pgsql.ping[pasoca_db]| 作業者遠隔保守担当 | pgAdmin基幹サーバ側 | 企画調整室 | pgAgentパソカサーバ側 | Zabbix監視サーバ(常時稼働) |
|---|---|---|---|---|
| ▶ 前提:Zabbix 常時監視(24時間365日) |
CONTINUOUS MONITORING
📡 死活監視:パソカサーバ・基幹サーバ
📡 PostgreSQL:プロセス・接続数・稼働時間
📡 受信ファイル:件数(UserParameter)
📡 pgAgent:ジョブ実行ステータス
|
|||
| ▶ フェーズ 1:保守開始前の死活確認 → 保守開始・ログ記録 | ||||
|
▶ 遠隔保守 開始
↓
STEP 0(前提確認)
Zabbix ダッシュボード確認
保守開始前に両サーバの死活・PostgreSQL 稼働状況を Zabbix で確認。アラートなし → STEP 1 へ。
|
死活監視 ZABBIX
パソカサーバ・基幹サーバ 稼働確認
icmpping + proc.num[postgres]
問題なし → OK |
|||
|
STEP 1
pgAdmin:保守開始登録
maintenance_log に INSERT。 |
pgAdmin SQL INSERT
maintenance_log 保守開始記録
INSERT INTO maintenance_log
(start_at,operator,usb_key_no,status)
VALUES(NOW(),'担当者名','USB-XXX','IN_PROGRESS');
|
監視継続
保守作業中も監視継続
サーバ異常検知時は即座にアラート発報。
|
||
|
STEP 2
作業ログ記録開始
|
pgAdmin SQL INSERT
INSERT INTO work_log
(log_id,logged_at,action,result)
VALUES(:log_id,NOW(),'SESSION_START','OK');
|
|||
| ▶ フェーズ 2:受信ファイル確認(Zabbix アイテム連携) | ||||
|
STEP 3
受信ファイル確認
pgAdmin で SELECT。
また Zabbix の pasoca.recv_file_count アイテム値も確認。 |
pgAdmin SELECT
SELECT COUNT(*) FROM pasoca_received_files
WHERE receive_date = CURRENT_DATE;
|
受信ファイル監視 ITEM
pasoca.recv_file_count
件数 = 0 の場合:
WARN アラート発報 → 作業者・企画調整室にメール通知 |
||
|
STEP 4
受信ファイル存在確認
pgAdmin 結果 AND Zabbix 値で総合判断。
|
YES ファイルあり
Zabbix:PROBLEM なし OK
─ or ─
NO ファイルなし
Zabbix:WARN アラート継続
→ STEP 5 状況連絡へ
|
|||
|
YES 受信ファイルあり → 正常終了ルート
STEP 19(作業ログ停止)へジャンプ
|
pgAdmin INSERT
INSERT INTO work_log VALUES
(:log_id,NOW(),'FILE_CHECK','FILE_EXISTS',NULL);
|
Zabbix OK
受信ファイルアイテム:正常値
|
||
|
NO STEP 5
状況連絡
Zabbix アラートを確認した上で
notice_log に INSERT。 |
pgAdmin INSERT
INSERT INTO notice_log
(log_id,notice_at,notice_type,message)
VALUES(:log_id,NOW(),'NO_FILE','受信ファイルなし');
|
STEP 6
状況連絡受理
Zabbix メール通知 OR pgAdmin
notice_log で確認・受理。 |
Zabbix ALERT
受信ファイルなし WARN 継続
企画調整室へのメール通知も Zabbix Action で自動送信可。受理後に手動クローズ。
|
|
| ▶ フェーズ 3:日締め確認・pgAgent スケジュール変更 | ||||
|
STEP 7
日締め確認
pgAdmin で日締めステータスを SELECT。Zabbix の PostgreSQL 稼働状況も合わせて確認。
|
pgAdmin SELECT
SELECT close_status, closed_at
FROM daily_close_status
WHERE business_date = CURRENT_DATE;
|
PostgreSQL 監視
pgsql.connections・pgsql.uptime 確認
DB 接続数異常や再起動検知があれば WARN 発報。
|
||
|
STEP 8〜11
起動時間 確認→変更→確認→確定
pgAdmin で
pga_schedule を UPDATE。バリデーション:0900〜1800・現在時刻+2分。 |
pgAdmin UPDATE
UPDATE pgagent.pga_schedule
SET jschours[9] = true,
jschours[7] = false
WHERE jscjobid = :etc_batch_job_id;
INSERT INTO work_log
(log_id,logged_at,action,result,detail)
VALUES(:log_id,NOW(),'TIME_CHANGE','OK','0700→0900');
|
pgAgent SCHED
スケジュール変更を反映
pga_schedule 更新を認識し次回起動時間を再設定。
|
pgAgent ジョブ監視
pgagent.job_status[etc_batch]
スケジュール変更後もジョブの存在・有効状態を継続監視。
|
|
| ▶ フェーズ 4:バッチ実行・Zabbix でリアルタイム監視 | ||||
|
STEP 12
バッチ起動待機
Zabbix ダッシュボードで pgAgent ジョブ起動を確認。
|
pgAgent AUTO
日確定明細バッチ 自動起動
設定時刻に pga_jobstep を実行。
実行結果を pga_joblog に書き込み。 |
バッチ起動監視 WATCH
pgagent.job_status[etc_batch] 取得開始
設定時刻を過ぎてもステータス更新がない場合 → WARN アラート発報。
|
||
|
STEP 13
システムログ確認
pgAdmin で pga_joblog を SELECT。
Zabbix で jlgstatus='s' を確認。 ↓
STEP 14
利用状況チェック
pgAdmin でパソカ利用状況を SELECT。
|
pgAdmin SELECT
SELECT jlgstatus, jlgstart, jlgend
FROM pgagent.pga_joblog
WHERE jlgjobid = :etc_batch_job_id
ORDER BY jlgstart DESC LIMIT 3;
|
pgAgent
実行ログ自動書き込み
jlgstatus:
s=成功 f=失敗 r=実行中 |
Zabbix SUCCESS
jlgstatus = 's' → OK 判定
正常終了を確認。アラートなし。
─ or ─
Zabbix ALERT
jlgstatus ≠ 's' → HIGH アラート
バッチ異常終了。担当者・企画調整室へ即時メール通知。
|
|
| ▶ フェーズ 5:起動時間デフォルト復元 | ||||
|
STEP 15〜17
起動時間をデフォルト(0700)に復元
pgAdmin で pga_schedule を UPDATE → 確認 → work_log 記録。
|
pgAdmin UPDATE
UPDATE pgagent.pga_schedule
SET jschours[7] = true,
jschours[9] = false
WHERE jscjobid = :etc_batch_job_id;
INSERT INTO work_log
(log_id,logged_at,action,result,detail)
VALUES(:log_id,NOW(),'TIME_RESTORE','OK','変更後→0700');
|
pgAgent
デフォルトスケジュール再設定
翌日以降 0700 で自動起動。
|
スケジュール監視
復元後もジョブ有効状態を確認
jscenabled = true を継続監視。
|
|
| ▶ フェーズ 6:作業ログ停止・終了報告・保守終了記録 | ||||
|
STEP 18
起動時間確認(デフォルト)
jschours[7]=true を pgAdmin で確認。
↓
STEP 19
作業ログ停止・CSV 保存
pgAdmin クエリツールで work_log を SELECT → CSV ダウンロード。
|
pgAdmin SELECT→CSV
SELECT * FROM work_log
WHERE log_id = :log_id
ORDER BY logged_at;
-- → クエリツール「CSV保存」で出力
|
監視継続
保守終了まで全アイテム監視継続
|
||
|
STEP 20
終了報告
notice_log に INSERT(企画調整室へ通知)。
↓
STEP 22
pgAdmin:保守終了登録
maintenance_log に終了時刻を UPDATE。
|
pgAdmin UPDATE
UPDATE maintenance_log
SET end_at=NOW(), status='COMPLETED'
WHERE log_id=:log_id;
|
STEP 21
終了報告受理
notice_log を pgAdmin または Zabbix メール通知で確認・受理。
|
保守完了確認 OK
全監視アイテム 正常状態を確認
保守中に発生したアラートがあれば全クローズを確認してから終了。
|
|
|
■ 遠隔保守 終了
|
POST-MAINTENANCE
📡 常時監視に復帰(通常運用モード)
|
|||
zabbix ユーザに pasoca_db への SELECT 権限(最小権限)を付与すること。