Giám sát lỗi, sao lưu và quản lý phiên bản workflow n8n
Workflow chạy ngầm nên khi hỏng thường không ai biết, và khi lỡ sửa sai thì khó tìm lại bản cũ. Bài này dựng ba lớp an toàn: error workflow báo lỗi qua Telegram, sao lưu workflow ra ngoài n8n, và quản lý phiên bản phù hợp với gói bạn đang dùng, kể cả bản cộng đồng miễn phí. Đối chiếu tài liệu n8n 2.44.4, tháng 10/2026.
Workflow hỏng ba ngày mà không ai biết
Workflow đưa khách từ form về bảng tính bỗng dừng vì credential Google mất hiệu lực. Không có thông báo nào; ba ngày sau đội sale mới thấy bảng không có khách mới. Đúng lúc đó một người khác sửa node báo Telegram, làm sai định dạng tin, và không ai nhớ cấu hình cũ ra sao. (Tình huống minh hoạ.)
Bài này dựng ba lớp để tránh cả hai chuyện: biết ngay khi lỗi, có bản sao lưu ngoài n8n, và quay lại được bản cũ. Phần bảo mật và vận hành tổng quát (credentials, phân quyền, cập nhật) xem Bảo mật và vận hành n8n.
Giám sát lỗi, sao lưu và quản lý phiên bản là gì?
Giám sát lỗi, sao lưu và quản lý phiên bản workflow n8n là ba việc vận hành đi cùng nhau: một error workflow báo ngay khi workflow tự động bị lỗi, bản sao lưu JSON lưu ngoài n8n theo lịch, và một cách giữ lịch sử thay đổi để biết ai sửa gì, vì sao, và quay lại được.
| Lớp | Trả lời câu hỏi | Công cụ trong n8n |
|---|---|---|
| Giám sát lỗi | Workflow nào hỏng, ở node nào, vì sao? | Error Trigger, Retry On Fail, Stop And Error |
| Lịch sử chạy | Lần chạy đó nhận dữ liệu gì? | Executions, cấu hình lưu và dọn (pruning) |
| Sao lưu | Mất máy chủ thì dựng lại từ đâu? | Tải JSON, CLI, workflow sao lưu định kỳ |
| Phiên bản | Ai sửa gì, quay lại bản cũ thế nào? | Workflow history, Git (theo gói), nhật ký sửa |
Bước 1. Dựng error workflow báo qua Telegram
- Tạo workflow mới tên "Báo lỗi", node đầu là Error Trigger.
- Thêm node Telegram → Send Message tới nhóm vận hành (tạo bot và lấy Chat ID: Bot Telegram báo cáo). Ô Text dùng mẫu dưới.
- Lưu workflow. Theo tài liệu n8n, workflow chứa Error Trigger không cần Publish.
[n8n lỗi] {{ $json.workflow.name }}
Node: {{ $json.execution.lastNodeExecuted }}
Lỗi: {{ $json.execution.error.message }}
Chế độ chạy: {{ $json.execution.mode }}
Xem chi tiết: {{ $json.execution.url }}Dữ liệu Error Trigger nhận gồm ID và đường dẫn execution, thông báo lỗi, node chạy cuối, chế độ chạy, tên và ID workflow. Nếu lỗi xảy ra ngay ở trigger, dữ liệu nằm trong mục trigger thay vì execution, nên tin có thể thiếu vài dòng; vẫn đủ để biết workflow nào hỏng. ID và link execution chỉ có khi lượt chạy lỗi được lưu vào cơ sở dữ liệu, vì vậy đừng tắt lưu lượt chạy lỗi ở Bước 4.
Nguồn: n8n – Error Trigger · n8n – error workflow · n8n – Telegram node
Bước 2. Gắn error workflow và chạy thử
Ở từng workflow cần theo dõi, mở Workflow Settings → Error Workflow, chọn "Báo lỗi". Một error workflow dùng chung được cho mọi workflow.
Error workflow không chạy khi bạn bấm chạy thử bằng tay, chỉ chạy khi một lượt chạy tự động bị lỗi. Cách thử:
- Tạo workflow "Thử lỗi": Schedule Trigger mỗi phút → node Stop And Error với thông báo "Thử báo lỗi".
- Trong Workflow Settings của nó chọn Error Workflow = "Báo lỗi", rồi Publish.
- Chờ một hai phút, kiểm tra tin trên Telegram, sau đó Unpublish hoặc xoá workflow thử.
Stop And Error cũng dùng được trong workflow thật để chủ động báo lỗi, ví dụ khi API trả về rỗng mà lẽ ra phải có dữ liệu.
Nguồn: n8n – error workflow, không chạy khi thử tay · n8n – Stop And Error
Bước 3. Cài đặt xử lý lỗi ở từng node
| Cài đặt node | Khi nào dùng |
|---|---|
| Retry On Fail (kèm Wait Between Tries) | Gọi API bên ngoài đôi khi chập chờn: chạy lại vài lần trước khi coi là lỗi |
| On Error = Stop Workflow | Mặc định an toàn: dừng và kích hoạt error workflow |
| On Error = Continue (using error output) | Muốn tự xử lý nhánh lỗi, ví dụ ghi dòng lỗi vào bảng rồi đi tiếp |
| On Error = Continue | Hạn chế dùng: lượt chạy không bị coi là lỗi nên error workflow không báo |
Nguồn: n8n – Node settings
Bước 4. Lưu và dọn lịch sử chạy
Danh sách Executions là nơi tra lại một lượt chạy đã nhận dữ liệu gì. Trong Workflow Settings, chọn có lưu lượt chạy thành công, thất bại của từng workflow hay không. Với bản tự cài, cấu hình chung đặt trong tệp .env:
# Lưu lịch sử chạy (xem giá trị mặc định ở bảng dưới)
EXECUTIONS_DATA_SAVE_ON_ERROR=all
EXECUTIONS_DATA_SAVE_ON_SUCCESS=all
EXECUTIONS_DATA_PRUNE=true
# 336 giờ = 14 ngày; chọn số giờ theo nhu cầu tra soát và chính sách dữ liệu của bạn
EXECUTIONS_DATA_MAX_AGE=<số giờ>
EXECUTIONS_DATA_PRUNE_MAX_COUNT=10000| Biến | Mặc định | Ý nghĩa |
|---|---|---|
EXECUTIONS_DATA_SAVE_ON_ERROR | all | Lưu lượt chạy lỗi |
EXECUTIONS_DATA_SAVE_ON_SUCCESS | all | Lưu lượt chạy thành công; đặt none để nhẹ máy |
EXECUTIONS_DATA_MAX_AGE | 336 giờ | Lượt chạy cũ hơn sẽ bị dọn |
EXECUTIONS_DATA_PRUNE_MAX_COUNT | 10000 | Số lượt chạy tối đa giữ lại (0 = không giới hạn) |
Dọn dữ liệu xoá cả dữ liệu tệp đính kèm. Lượt chạy đang chạy, đang chờ, và lượt chạy đã gắn chú thích (tag, chấm điểm) không bị dọn, nên muốn giữ một lượt chạy làm bằng chứng thì gắn chú thích cho nó. Lịch sử chạy chứa dữ liệu khách, nên giữ vừa đủ là cách giảm rủi ro theo Luật Bảo vệ dữ liệu cá nhân 91/2025/QH15.
Nguồn: n8n – Workflow settings · n8n – biến môi trường executions · n8n – pruning
Bước 5. Sao lưu workflow ra ngoài n8n
Tải JSON bằng tay
Workflow được lưu dưới dạng JSON. Trong trình soạn thảo, menu workflow có Download để tải tệp và Import from File để nhập lại (mục Import from URL sẽ bị bỏ ở n8n 3.0). Tệp JSON chứa tên và ID credential, không chứa bí mật; nhưng node HTTP Request tạo từ lệnh cURL có thể còn header xác thực, cần xoá trước khi chia sẻ.
Sao lưu toàn bộ máy chủ
Bản tự cài cần sao lưu đầy đủ thư mục dữ liệu, cơ sở dữ liệu và khoá mã hoá; lệnh xuất bằng CLI và cách sao lưu theo tài liệu n8n có ở Cài n8n trên VPS (Bước 7). n8n đang khuyên dùng công cụ mới n8n CLI (gói .n8np, còn Preview) để chuyển workflow giữa các instance, và dự định ngừng lệnh export, import cũ (chưa có lịch).
Workflow sao lưu định kỳ (cách làm gợi ý)
- Vào Settings → n8n API, tạo API key có ngày hết hạn; lưu vào credential của node n8n. n8n API có trên Cloud Starter, Pro, Enterprise và mọi bản tự cài, không có ở bản dùng thử.
- Schedule Trigger mỗi đêm → node n8n, Resource Workflow, thao tác Get Many.
- Ghi từng workflow thành tệp
<tên>.jsonvào một repo GitHub riêng tư bằng node GitHub (File → Create hoặc Edit), hoặc tải lên Google Drive bằng node Google Drive. - Gắn error workflow ở Bước 1 để biết khi sao lưu thất bại.
Nguồn: n8n – Export and import · n8n – Backup and restore · n8n – public API · n8n – API key · n8n – n8n node · n8n – GitHub node · n8n – Google Drive node
Bước 6. Quản lý phiên bản theo gói
| Tính năng | Có ở đâu (theo tài liệu n8n) |
|---|---|
| Xem phiên bản trong 24 giờ gần nhất | Mọi người dùng |
| Lịch sử phiên bản đầy đủ | Cloud Enterprise, tự cài Enterprise; Cloud Pro giữ 5 ngày |
| Đặt tên phiên bản (không bị tự xoá) | Cloud Pro, Enterprise; tự cài Business, Enterprise |
| Source control bằng Git | Business và Enterprise |
Phiên bản mới được tạo khi lưu, khi khôi phục (n8n lưu bản hiện tại trước) và khi pull từ Git; đổi Workflow Settings không tạo phiên bản. Mỗi lần Publish khoá lại một phiên bản đang chạy. Trong lịch sử có các thao tác Restore, Clone to new workflow, Open version in new tab và Download (JSON). Bản tự cài giữ lịch sử theo biến N8N_WORKFLOW_HISTORY_PRUNE_TIME, mặc định -1 là giữ vô thời hạn.
Với Git (gói Business, Enterprise): chỉ chủ sở hữu hoặc quản trị viên bật, cấu hình ở Settings → Environments, nối repo qua SSH (deploy key) hoặc HTTPS (Personal Access Token có quyền đọc, ghi); mỗi môi trường gắn với một nhánh. Chủ sở hữu, quản trị viên được push và pull; quản trị dự án chỉ push.
Bản cộng đồng không có Git và lịch sử dài, nên dựa vào ba thứ: tải JSON trước khi sửa, workflow sao lưu định kỳ ở Bước 5 và nhật ký sửa ở mục dưới.
Nguồn: n8n – Workflow history · n8n – biến workflow history · n8n – Save and publish · n8n – Source control · n8n – Set up source control
Nhật ký sửa: ghi trước, sau, ai sửa, lý do
Lịch sử phiên bản cho biết cái gì đã đổi, nhưng không cho biết vì sao. Nhật ký sửa bù chỗ đó và dùng được ở mọi gói. Quy trình sửa một workflow đang chạy (ví dụ minh hoạ):
- Tải JSON bản đang chạy, đặt tên theo ngày.
- Sửa và chạy thử bằng tay với dữ liệu thử; chạy tay không tính vào hạn mức.
- Ghi nhật ký theo mẫu dưới, kèm tên tệp JSON trước và sau.
- Publish, theo dõi Executions và tin báo lỗi trong 24 giờ đầu.
- Nếu sai: Restore trong lịch sử (nếu còn) hoặc nhập lại tệp JSON "trước" rồi Publish.
## <ngày giờ> – <tên workflow>
- Người sửa: <tên> · Người duyệt (nếu có): <tên>
- Lý do: <vì sao sửa: lỗi gì, yêu cầu của ai>
- Trước: <node, cấu hình cũ> · Tệp JSON trước khi sửa: <tên tệp>
- Sau: <node, cấu hình mới> · Tệp JSON sau khi sửa: <tên tệp>
- Đã kiểm tra: <chạy thử gì, kết quả>
- Cách quay lại: <Restore trong lịch sử, hoặc nhập tệp JSON "trước" rồi Publish>
(Không ghi token, mật khẩu, khoá vào nhật ký)Workflow đụng tiền, gửi tin cho khách hay đăng nội dung công khai nên có thêm người duyệt trước khi Publish bản sửa.
Cách Aduca áp dụng (mức nguyên tắc)
Aduca đang vận hành chatbot tư vấn, chăm sóc khách theo mốc và báo Sale khách nóng trên n8n. Khi sửa hệ thống, Aduca áp dụng nhật ký sửa ở mức nguyên tắc: ghi trạng thái trước và sau, ai sửa, lý do. Kịch bản bot nằm trong Second Brain, được chụp lịch sử bằng git định kỳ nên khôi phục được; sau mỗi lần sửa kịch bản có bộ câu hỏi thử để chạy lại; đề xuất bổ sung kịch bản do bot tổng hợp hằng tuần chỉ được nạp vào kịch bản chính khi người phụ trách duyệt. Cách đọc kịch bản từ Second Brain: Chatbot n8n đọc kho.
Đây là nguyên tắc, không phải cấu hình bắt buộc; doanh nghiệp nhỏ có thể bắt đầu chỉ với error workflow và một tệp nhật ký.
Kiểm tra đã chạy đúng
- Workflow "Thử lỗi" đã gửi được tin về nhóm Telegram, sau đó đã Unpublish.
- Mọi workflow đang Publish đều chọn Error Workflow = "Báo lỗi".
- Node gọi API bên ngoài có Retry On Fail; không node quan trọng nào để On Error = Continue.
- Thời gian giữ lịch sử chạy đã được chọn có chủ đích, không để mặc định vì quên.
- Có bản sao lưu JSON mới nhất ở nơi riêng tư ngoài n8n; đã thử nhập lại một tệp trên bản thử.
- Nhật ký sửa có ít nhất một mục mẫu và cả đội biết nằm ở đâu.
Lỗi thường gặp
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Bấm chạy thử error workflow mà không có gì | Error workflow không chạy khi thử tay | Thử bằng workflow có Stop And Error, đã Publish |
| Workflow lỗi nhưng không có tin báo | Chưa chọn Error Workflow trong Settings, hoặc node để On Error = Continue | Gắn error workflow; đổi On Error |
| Tin báo thiếu tên node, link | Lỗi xảy ra ở trigger | Xem mục trigger trong dữ liệu Error Trigger |
| Không tìm thấy lượt chạy cũ | Đã bị dọn theo thời hạn hoặc không lưu lượt thành công | Chỉnh cấu hình lưu; gắn chú thích lượt cần giữ |
| Nhập JSON xong workflow không chạy | Workflow nhập vào chưa Publish, credential chưa gán | Gán lại credential, Publish |
| Workflow sao lưu báo lỗi xác thực | API key hết hạn hoặc bị thu hồi | Tạo key mới, cập nhật credential |
Nguồn: n8n – error workflow · n8n – pruning · n8n – import mặc định ở trạng thái tắt
An toàn và chi phí
- Bí mật: token, API key, khoá mã hoá chỉ nằm trong Credentials hoặc
.envtrên máy chủ; không ghi vào tin báo lỗi, nhật ký sửa, tệp JSON chia sẻ. - Tin báo lỗi: thông báo lỗi có thể chứa dữ liệu khách; gửi vào nhóm nội bộ ít người, không vào nhóm đông.
- Sao lưu: repo, thư mục sao lưu riêng tư; ai đọc được bản sao lưu là đọc được toàn bộ cấu trúc workflow.
- Lượt chạy: error workflow không tính hạn mức trên Cloud từ 2.38, tự cài Business, Enterprise từ 2.28.0; workflow sao lưu chạy mỗi đêm khoảng 30–31 execution mỗi tháng.
Nguồn: n8n – changelog
Bắt đầu từ đâu?
- Hôm nay: dựng error workflow "Báo lỗi", thử bằng workflow Stop And Error, gắn cho mọi workflow đang chạy.
- Tuần này: tải JSON các workflow quan trọng, chọn thời hạn giữ lịch sử chạy, mở tệp nhật ký sửa.
- Sau đó: dựng workflow sao lưu mỗi đêm; nếu đội lớn và cần Git, cân nhắc gói có Source control.
Muốn được tư vấn hoặc cùng rà lại hệ thống n8n đang chạy, bạn có thể đăng ký Tư vấn 1-1 hoặc Coaching 1-1 cho doanh nghiệp; chi phí báo sau buổi tư vấn.
Đọc tiếp: Bảo mật & vận hành →
Câu hỏi thường gặp
Error workflow có tốn lượt chạy không?
Theo changelog của n8n, lượt chạy của error workflow không tính vào hạn mức execution trên Cloud từ bản 2.38 và trên bản tự cài Business, Enterprise từ 2.28.0. Chạy thử bằng tay trong trình soạn thảo cũng không tính.
Tôi dùng bản cộng đồng miễn phí, có Git để quản lý phiên bản không?
Không. Theo tài liệu n8n, Source control (Git) chỉ có ở gói Business và Enterprise. Bản cộng đồng vẫn xem được các phiên bản trong 24 giờ gần nhất; ngoài ra hãy tải JSON trước khi sửa, dựng workflow sao lưu định kỳ và ghi nhật ký sửa.
File JSON workflow có chứa mật khẩu không?
Tệp JSON chứa tên và ID của credential, không chứa bí mật đã lưu trong Credentials. Nhưng tên credential có thể lộ thông tin, và node HTTP Request tạo từ lệnh cURL có thể còn header xác thực. Kiểm tra và xoá trước khi chia sẻ, cất bản sao lưu ở nơi riêng tư.
Sửa hỏng workflow thì quay lại thế nào?
Nếu còn trong 24 giờ, mở lịch sử phiên bản của workflow và chọn Restore; n8n tự lưu bản hiện tại trước khi khôi phục. Xa hơn thế mà gói của bạn không giữ lịch sử, nhập lại tệp JSON đã tải trước khi sửa rồi Publish lại.
Tài liệu liên quan
- n8n · AI Agentn8n là gì? Tự động hoá quy trình kết hợp AI cho doanh nghiệpn8n là gì: công cụ tự động hoá quy trình nối Facebook, Google Sheets, Telegram, CRM thành workflow, chèn được bước AI. Cloud hay tự cài, giấy phép, giới hạn.
- n8n · AI AgentLàm chatbot Facebook Messenger bằng n8n: webhook, chữ ký, Send API, cửa sổ 24 giờLàm chatbot Facebook Messenger bằng n8n: xác minh webhook, kiểm chữ ký X-Hub-Signature-256, trả 200 trong 5 giây, gửi qua Send API, cửa sổ 24 giờ, App Review.
- n8n · AI Agentn8n Cloud hay tự cài: chi phí, gói và giấy phép cần biếtn8n Cloud hay tự cài: bảng gói Cloud bằng EUR theo lượt chạy, bản Community miễn phí và chi phí thật khi tự cài, giấy phép fair-code, chọn theo 5 tình huống.
- n8n · AI AgentKết nối Zalo OA với n8n: webhook 2 giây, token 25 giờ, tin Tư vấn miễn phí 48 giờKết nối Zalo OA với n8n từng bước: webhook trả 200 trong 2 giây, làm mới access token 25 giờ, gửi tin Tư vấn qua API, khung 48 giờ miễn phí và giới hạn 7 ngày.
Xem tất cả tài liệu hướng dẫn →
Đăng ký tư vấn 1:1
Chuyên gia Aduca cùng bạn xem quy trình hiện tại, chọn việc nên giao cho AI Agent trước và cách kiểm soát rủi ro.
Nguồn tham khảo
- n8n Docs – Error Trigger
- n8n Docs – Handle errors gracefully (error workflow)
- n8n Docs – Node settings: Retry On Fail, On Error
- n8n Docs – Manage execution data (pruning)
- n8n Docs – Export and import workflows
- n8n Docs – n8n public API
- n8n Docs – Source control and environments
- n8n Docs – Workflow history
- n8n Docs – Back up and restore
- n8n Docs – Changelog
Lịch sử cập nhật
- 21/10/2026 — Bản đầu.
Miễn trừ trách nhiệm
Bài viết thuộc chuỗi kiến thức của Công ty Cổ phần Giáo dục Aduca, chia sẻ miễn phí cho mục đích học tập. Thông tin kỹ thuật đối chiếu với tài liệu chính thức của các dự án và nền tảng tại ngày cập nhật (có ghi nguồn); phần nhận định là quan điểm của Aduca. OpenClaw, Hermes Agent, Claude (thương hiệu của Anthropic), ChatGPT (thương hiệu của OpenAI), n8n (thương hiệu của n8n GmbH), các phần mềm chạy model và các model AI mở (Ollama, LM Studio, Qwen, Gemma, gpt-oss…), Obsidian, Notion, phương pháp Building a Second Brain (Tiago Forte) cùng các phần mềm, dịch vụ nêu trong bài thuộc về chủ sở hữu tương ứng, không thuộc Aduca; Aduca không phải đối tác chính thức của các công ty này. Tính năng, gói và giá có thể thay đổi bất cứ lúc nào – hãy kiểm tra trang chính thức trước khi mua. Kết quả áp dụng phụ thuộc quy trình, dữ liệu và con người của từng doanh nghiệp; bài viết không cam kết doanh thu hay hiệu quả cụ thể. © 2026 Aduca — được trích dẫn khi ghi rõ nguồn aduca.vn.