Thực hành n8n đa kênh · Bài 12

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.

Cập nhật 21/10/2026⏱ 10 phút đọcCài đặt & bắt đầuTrung cấp → Nâng cao

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.

Error workflow n8n làm lưới an toàn: các workflow Lead, Báo cáo, Nhắc lịch đang chạy; khi workflow Báo cáo lỗi, Error Trigger trong một error workflow dùng chung nhận dữ liệu lỗi và gửi Telegram cảnh báo gồm tên workflow, node HTTP Request, thông báo token hết hiệu lực và link mở execution; error workflow không tính lượt chạy trên Cloud từ 2.38, tự cài Business, Enterprise từ 2.28
Hình: Một error workflow báo lỗi cho mọi workflow (minh hoạ)
LớpTrả lời câu hỏiCông cụ trong n8n
Giám sát lỗiWorkflow nào hỏng, ở node nào, vì sao?Error Trigger, Retry On Fail, Stop And Error
Lịch sử chạyLần chạy đó nhận dữ liệu gì?Executions, cấu hình lưu và dọn (pruning)
Sao lưuMất máy chủ thì dựng lại từ đâu?Tải JSON, CLI, workflow sao lưu định kỳ
Phiên bảnAi 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

  1. Tạo workflow mới tên "Báo lỗi", node đầu là Error Trigger.
  2. 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.
  3. Lưu workflow. Theo tài liệu n8n, workflow chứa Error Trigger không cần Publish.
Nội dung tin báo lỗiCopy rồi dán vào ô Text của node Telegram
[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ử:

  1. 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".
  2. Trong Workflow Settings của nó chọn Error Workflow = "Báo lỗi", rồi Publish.
  3. 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 nodeKhi 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 WorkflowMặ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 = ContinueHạ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:

Nội dung tệp .envCopy rồi dán vào tệp trên máy chủ; thay phần trong <…>
# 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ếnMặc địnhÝ nghĩa
EXECUTIONS_DATA_SAVE_ON_ERRORallLưu lượt chạy lỗi
EXECUTIONS_DATA_SAVE_ON_SUCCESSallLưu lượt chạy thành công; đặt none để nhẹ máy
EXECUTIONS_DATA_MAX_AGE336 giờLượt chạy cũ hơn sẽ bị dọn
EXECUTIONS_DATA_PRUNE_MAX_COUNT10000Số 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 ý)

  1. 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ử.
  2. Schedule Trigger mỗi đêm → node n8n, Resource Workflow, thao tác Get Many.
  3. Ghi từng workflow thành tệp <tên>.json và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.
  4. Gắn error workflow ở Bước 1 để biết khi sao lưu thất bại.
Đây là cách ghép các node có sẵn, không phải tính năng sao lưu chính thức của n8n. API key có quyền rộng trên instance: chỉ lưu trong Credentials, đặt hạn, thu hồi khi không dùng. Repo, thư mục sao lưu để riêng tư.

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

Sao lưu và quản lý phiên bản workflow n8n theo gói: Community tự cài có lịch sử phiên bản 24 giờ, tải JSON, xuất bằng CLI, workflow sao lưu định kỳ, nhật ký sửa ghi tay; Business tự cài có Git trong Settings Environments, đặt tên phiên bản, push pull theo nhánh; Enterprise có lịch sử phiên bản đầy đủ, Git và đặt tên phiên bản trên Cloud hoặc tự cài; nhật ký sửa mọi gói nên có: tải JSON bản đang chạy, ghi trước sau, ai sửa, lý do, cách kiểm tra và cách quay lại
Hình: Sao lưu và quản lý phiên bản theo gói n8n (minh hoạ)
Tính năngCó ở đâu (theo tài liệu n8n)
Xem phiên bản trong 24 giờ gần nhấtMọ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 GitBusiness 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ạ):

  1. Tải JSON bản đang chạy, đặt tên theo ngày.
  2. 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.
  3. Ghi nhật ký theo mẫu dưới, kèm tên tệp JSON trước và sau.
  4. Publish, theo dõi Executions và tin báo lỗi trong 24 giờ đầu.
  5. 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.
Mẫu nhật ký sửaCopy rồi dán vào ghi chú hoặc tệp nhật ký của đội; thay phần trong <…>
## <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

Lỗi thường gặp

Hiện tượngNguyên nhân thường gặpCách xử lý
Bấm chạy thử error workflow mà không có gìError workflow không chạy khi thử tayThử bằng workflow có Stop And Error, đã Publish
Workflow lỗi nhưng không có tin báoChưa chọn Error Workflow trong Settings, hoặc node để On Error = ContinueGắn error workflow; đổi On Error
Tin báo thiếu tên node, linkLỗi xảy ra ở triggerXem 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ôngChỉ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ạyWorkflow nhập vào chưa Publish, credential chưa gánGán lại credential, Publish
Workflow sao lưu báo lỗi xác thựcAPI key hết hạn hoặc bị thu hồiTạ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í

Nguồn: n8n – changelog

Bắt đầu từ đâu?

  1. 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.
  2. 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.
  3. 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

Xem tất cả tài liệu hướng dẫn →

Bước tiếp theo

Đă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.

Về AducaChuỗi bài do đội ngũ Aduca biên soạn từ kinh nghiệm đào tạo và triển khai AI Agent cho Marketing – Sales. Aduca Academy do Nguyễn Đức – Chủ tịch Aduca Group sáng lập; ông kinh doanh thương mại điện tử từ 2012, chạy quảng cáo Facebook từ 2014 và đào tạo từ 2016. Phần thực hành từng bước nằm trong các thư mục OpenClaw, Hermes Agent, Claude, ChatGPT và n8n, Second Brain.

Nguồn tham khảo

Lịch sử cập nhật

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.