📡 Zabbix 監視アイテム設定一覧

監視アイテム(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 常時監視

⚙ Zabbix UserParameter 設定(パソカサーバ側 zabbix_agentd.conf)

受信ファイル件数チェック
  • Key:pasoca.recv_file_count
  • UserParameter=pasoca.recv_file_count,
    psql -U zabbix -d pasoca_db -t -c
    "SELECT COUNT(*) FROM pasoca_received_files
    WHERE receive_date=CURRENT_DATE"
pgAgent バッチ実行ステータス
  • Key:pgagent.job_status[etc_batch]
  • UserParameter=pgagent.job_status[*],
    psql -U zabbix -d pasoca_db -t -c
    "SELECT jlgstatus FROM pgagent.pga_joblog
    WHERE jlgjobid=(SELECT jscjobid FROM
    pgagent.pga_job WHERE jobname='$1')
    ORDER BY jlgstart DESC LIMIT 1"
PostgreSQL 死活(Agent 2)
  • テンプレート:PostgreSQL by Zabbix Agent 2
  • Key:pgsql.ping[pasoca_db]
  • 接続成功=1 / 失敗=0 で監視
  • ポート5432への接続疎通も確認
サーバ死活監視
  • パソカサーバ:ICMP ping + agent.ping
  • 基幹サーバ:ICMP ping + agent.ping
  • アラート先:メール通知(企画調整室・保守担当)
  • 復旧時は自動 OK 通知
作業者
pgAdmin(基幹サーバ)
pgAdmin 自動処理
企画調整室
pgAgent(パソカサーバ)
Zabbix 監視
Zabbix アラート
Zabbix OK(正常)
作業者遠隔保守担当 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 統合 運用注意事項

UserParameter の権限:Zabbix エージェントが psql を実行するため、zabbix ユーザに pasoca_db への SELECT 権限(最小権限)を付与すること。
アラート通知先の設定:Zabbix Action に作業者・企画調整室の通知先メールを設定。深刻度ごとに通知先を分けることを推奨(HIGH→全員、WARN→担当者のみ)。
バッチ未起動検知:設定時刻+5分経過後も jlgstatus が更新されない場合を Zabbix の依存トリガーまたはノーデータトリガーで検知できるよう設定推奨。
Zabbix サーバ接続:監視サーバから両サーバへの TCP 10050(agent)または 5432(PostgreSQL plugin)の通信許可が必要。ファイアウォール設定を確認すること。
アラート抑制(保守中):遠隔保守中は Zabbix の「メンテナンス設定」を適用し、意図的な操作によるアラートを抑制することを検討。
Zabbix Agent 2 推奨:PostgreSQL 監視には Zabbix Agent 2 の PostgreSQL プラグインを使用することで、UserParameter なしで詳細な DB メトリクスを収集可能。