本文へ移動

n8n 監視:何を見るべきか、n8n が教えてくれないことは何か

本番の n8n を監視するための実務的なガイドです。見る価値のある信号、標準機能でカバーできる範囲とできない範囲、今日から進められるチェックリスト、そして OutcomeGuard の考え方をまとめました。

n8n で監視すべきもの

execution の status はいちばん簡単に見られて、いちばん情報量が少ない信号です。痛い順に並べると、見るべきものはこうなります。

  1. そもそも実行されたか

    schedule のある workflow は、最新の execution を trigger が宣言した間隔と、その trigger の timezone で比べます。実行されなかったことは、エラーもログ行も残しません。

  2. エラーで落ちたか

    failed、crashed、canceled の execution。n8n がきちんと見せてくれる唯一の信号で、たいていすでに対策済みの部分です。

  3. 何かしたのか

    実行ごとの件数。0 件の成功は、静かな障害として最も多い形です。

  4. どこで終わったか

    成功した実行の、最後に実行された node。これが手前に移動したときは、何もしない経路に item が抜けています。

  5. どれくらいかかったか

    その workflow 自身の普段と比べた所要時間。急に短くなれば入力が空、急に長くなれば依存先が苦しんでいる合図です。

  6. 設定は同じか

    定義が変わったか、まだ有効か。「動かなくなった」の多くは、誰かの編集から始まります。

  7. 成果は実際に起きたか

    データベースの行、ストレージのファイル、CRM のフィールド。関係者が本当に知りたい問いに答えられる唯一の信号です。

標準機能でできること、その限界

n8n には実際に使える道具があります。頼る前に、それぞれの範囲をはっきりさせておく価値があります。

標準機能できることどこで止まるか
execution の一覧直近の execution を status、開始時刻、所要時間つきで並べ、開けば node ごとのデータも見られます。毎日読む人はいません。起きなかった実行は表示できず、0 件と満杯の結果は開くまで同じに見えます。
Error Workflowworkflow が失敗したときに任意の workflow を動かせます。例外の通知はこれで素直に組めます。発火するのは例外が投げられたときだけです。trigger が動かない、何も返さない、1 つ手前で終わる実行は、ここを呼びません。
Stop and Error nodeitem が通ってはいけない経路で意図的に失敗を出せます。静かな経路を本物のエラーに変える道具です。静かな経路を自分で予測し、すべての workflow に自分で置き、workflow が変わるたびに置き続ける必要があります。
Retry on fail と Continue On Failnode 内の一時的な問題を吸収します。不安定な API で実行全体を落とさずに済みます。Continue On Fail は、本物の失敗をエラーを抱えたままの成功に変えます。構造的にサイレント障害を作る設定です。
self-hosted のログとメトリクスコンテナのログ、queue と worker のメトリクスから、n8n instance 自体の状態が分かります。分かるのはプラットフォームの状態で、業務上の成果ではありません。完全に健康な instance が、1 週間何も達成していない workflow を動かしていることもあります。
死活監視(dead man's switch)実行の最後に外部サービスへ ping を送り、ping が遅れたら通知を受けます。証明できるのは ping の node まで到達したことだけです。データが正しいか、足りているか、どこかに書かれたかは何も言いません。

今日から進められるチェックリスト

新しい道具は要りません。必要なのは半日です。

  1. 有効な workflow を全部並べ、1 本ごとに「動いている」とは何かを 1 文で書く。
  2. schedule のある workflow について、想定する間隔と、trigger が評価される timezone を書き出す。
  3. 重要な workflow すべてに Error Workflow を設定し、実際に人へ届くかを確認する。
  4. 出力が未接続の IF / Filter node を探し、Stop and Error node か通知につなぐ。
  5. データを取得する node の直後に件数の判定を足し、0 件を目に見えるところへ流す。
  6. 重要な workflow の普段の件数と所要時間を書き留め、ずれに気づける状態にする。
  7. Continue On Fail の設定を見直し、本物の失敗を隠しているものを外す。
  8. 日次の処理ごとに「いつまでに終わっていなければ困るのか」を決め、その時刻を過ぎたときに誰か気づくのかを確かめる。
  9. 止まると最も高くつく 2〜3 本には、連携先が実際に変わったかを確認する処理を足す。

OutcomeGuard は同じ範囲をどう扱うか

上のチェックリストは workflow 5 本なら維持できます。50 本では維持できません。OutcomeGuard はそこを引き受けるためにあります。

  • workflow ごとに、その workflow 自身の execution から基準を学習します。実行間隔、所要時間、件数、成功時にいつも最後になる node。
  • cron と interval を timezone 込みで解析するため、実行されるべきだった時刻に実行漏れを検出します。
  • 失敗、サイレント障害、実行漏れ、出力ゼロ、件数と所要時間の異常、認証と連携先のエラー、設定の変更を検出します。
  • Outcome Contract で期待する結果を宣言できます。実行された、成功した、N 件以上あった、時間内に終わった、連携先で確認できた。すべて満たしたときだけ正常です。
  • 検出結果は重複を排除して incident にまとめ、クールダウンを挟むため、1 回の障害はメール 1 通になります。
  • すべての検出結果に根拠、時刻、確信度、理由が付きます。履歴が足りない workflow は、異常ではなくデータ不足として報告します。

よくある質問

n8n に監視機能は付いていますか。
execution の一覧があり、workflow が失敗したときに Error Workflow を動かせます。self-hosted ならログと queue のメトリクスも見られます。つまり、はっきり落ちた障害とプラットフォームの状態はカバーされています。一方で、予定された実行が行われなかったこと、成功した実行が 0 件だったこと、連携先が更新されなかったことは分かりません。
n8n の workflow が失敗したときに通知を受けるには。
workflow の設定で Error Workflow を指定し、そこからメールやチャットへ送ります。あわせて、item が通ってはいけない経路に Stop and Error node を置いてください。これがないと、静かな失敗は Error Workflow まで届きません。
n8n が成功と表示するのに何も起きないのはなぜですか。
多いのは、未接続の IF / Filter の出力、0 件を返す取得元、空のレスポンスで返る期限切れの credential、そして Continue On Fail がエラーをデータに変えているケースです。n8n の定義ではこの execution は本当に成功しています。どの node も例外を投げていないからです。
schedule の workflow が止まったことを、どう知ればよいですか。
最新の execution を、trigger が宣言した間隔と、その trigger の timezone で比べます。間隔に少しの余裕を足した時間より開いていれば、実行されていません。原因は非アクティブ化、timezone のずれ、見た目どおりではない cron 式、instance の再起動が多いです。
n8n の監視に書き込み権限は必要ですか。
不要です。ここで挙げたことは、すべて n8n の public REST API を読み取り専用の key で読めば確認できます。OutcomeGuard は workflow、credential、設定に書き込みません。
execution の監視と成果の検証は何が違いますか。
execution の監視が答えるのは「動いたか、エラーが出たか」です。成果の検証が答えるのは「仕事が終わったか」です。期限までに実行され、成功し、件数が足りていて、時間内に終わり、連携先が実際に変わったか。前者を満たしながら後者で落ちたまま数週間経つ、という状態は珍しくありません。
n8n Cloud でも self-hosted でも使えますか。
どちらでも使えます。OutcomeGuard は n8n の public REST API を使い、これは n8n Cloud も self-hosted も公開しています。self-hosted をホスト型のスキャンにかける場合は、インターネットから到達できる必要があります。