Thay thế Sentry cho ứng dụng do AI xây dựng: kiểm gì trước khi chuyển
Mình đặt SDK trình duyệt của Sentry và Belvador lên cùng một trang rồi ghi lại mọi thứ mỗi bên gửi. Với app do AI agent viết, mặc định, nơi lưu và bằng chứng lỗi đã tới quan trọng hơn giá.
Andrew Babo7 phút đọc
Trong bài này

Nếu phần lớn ứng dụng của bạn do AI agent viết, hãy chọn công cụ theo dõi lỗi dựa trên ba điều: nó tự gửi gì khi không ai dặn, nó lưu ở đâu, và bạn có chứng minh được lỗi đã tới hay không. Giá tính sau. Mình đã thử điều đầu tiên với hai SDK trên cùng một trang ngày 26/10/2026.
Vì sao ứng dụng do AI viết khiến câu hỏi khác đi#
Coding agent cài theo dõi lỗi giống như cách nó làm mọi việc khác. Nó chép đoạn quickstart, ứng dụng build được, rồi chuyển sang việc tiếp theo. Quickstart để mặc định thứ gì thì production chạy đúng thứ đó.
Điều này quan trọng ở hai chỗ. SDK nhìn thấy phiên làm việc của người dùng, nên mặc định của nó quyết định dữ liệu cá nhân nào rời khỏi trình duyệt. Và lỗi từ những ứng dụng này thường được dán lại vào LLM để nhờ sửa, nên thứ gì công cụ lưu cũng có thể nằm trong prompt. Bài gửi lỗi production cho LLM an toàn nói về bước thứ hai đó.
Thí nghiệm: một trang, hai SDK#
Mình dựng một trang nhỏ hai lần: một lần với @sentry/browser 10.76.2, một lần với @belvador/browser 0.4.0, gói này bọc cùng engine của Sentry. Mỗi trang chỉ gọi init() với DSN và tên release, không thêm gì khác.
Trên trang, ứng dụng ghi một dòng log có địa chỉ email. Người dùng bấm Pay, ứng dụng gọi setUser() với id, email, tên đăng nhập và ip_address: "{{auto}}", rồi fetch /api/cart?token=tok_FAKE123. Sau đó nó ném ra một lỗi không ai bắt từ một timer. Mọi giá trị đều là giả.
Một collector cục bộ đứng thay cho cả hai dịch vụ và ghi lại từng request. Mỗi trang chạy ba lần trên Chromium headless, lần nào cũng gửi đúng những thứ như nhau.

Mỗi bên đã gửi gì#
SDK của Sentry gửi bốn envelope cho một lượt xem trang: ba bản cập nhật session và một lỗi. Lỗi mang theo email, tên đăng nhập và dấu {{auto}}, dấu này nhờ máy chủ nhận điền giúp địa chỉ IP của người xem. Nó còn có ba breadcrumb: dòng log có email, cú bấm nút, và URL fetch có token bên trong.
Đây không phải bug. Sentry ghi breadcrumb theo mặc định và gửi đúng user mà bạn đặt, còn phần tuỳ chọn cho phép đổi cả hai qua beforeBreadcrumb, beforeSend và sendDefaultPii. Vấn đề là agent làm theo quickstart hiếm khi thêm chúng.
SDK của Belvador gửi một envelope. User chỉ còn id, và không có breadcrumb nào vì chúng tắt cho tới khi bạn bật. Nó không nhẹ hơn: sau gzip là 37,9 KB, so với 29,7 KB của Sentry, nặng hơn khoảng 8 KB. Nó chạy cùng engine cộng thêm luật lọc và luật gửi riêng; mình không đo phần nào tốn bao nhiêu.
Bốn điều cần kiểm ở bất kỳ công cụ thay Sentry nào#
Phần lớn các lựa chọn đều nhận SDK của Sentry, nên phần sửa code khá nhỏ. Khác biệt nằm ở bốn chỗ.
1. Thứ gì rời trình duyệt khi để mặc định#
Mở trang production, lọc tab Network theo envelope, đi qua một luồng và gây ra một lỗi. Đọc nội dung gửi đi. Nếu thấy email, token trong URL hay dòng log bạn không định gửi, hãy sửa trong tuỳ chọn SDK trước khi chuyển bất cứ thứ gì.
2. Event được lưu ở đâu#
Dịch vụ của Sentry cho chọn lưu ở Mỹ hoặc EU. GlitchTip và Bugsink có bản được host sẵn hoặc chạy trên máy chủ của bạn. Belvador lưu event trên một máy chủ trong chính dự án Hetzner của bạn, Belvador tạo, cập nhật và sao lưu nó. Nơi lưu không giống nơi một model AI xử lý lỗi bạn dán vào; đó là một cài đặt khác ở phía nhà cung cấp AI.
3. Bằng chứng lỗi đã tới#
Danh sách issue trống không chứng minh điều gì. Nó trông y hệt khi ứng dụng khoẻ và khi DSN bị sai. Sau mỗi lần đổi cấu hình, hãy gửi một lỗi thử có gắn tag từ production và kiểm tra nó hiện ra. Kiểm tra kết nối của Belvador làm việc này cho từng runtime và đánh dấu project là Đã xác minh.
4. Công cụ không làm được gì#
Belvador không có session replay, profiling, AI debug hay MCP server. Sentry có cả bốn; agent Seer của họ tốn 40 USD cho mỗi người đóng góp đang hoạt động mỗi tháng, tính thêm ngoài gói. Nếu team bạn dựa vào những thứ đó, một công cụ rẻ hơn không phải là nâng cấp.
Giá, khi mọi thứ khác đã ổn#
Đây là giá niêm yết mình đọc ngày 25/10/2026. Giá thay đổi, nên hãy xem trang của từng bên trước khi quyết định.

- Sentry: gói Team là 26 USD mỗi tháng nếu trả theo năm, hoặc 29 USD theo tháng, gồm 50.000 lỗi mỗi tháng.
- GlitchTip: bản host sẵn miễn phí tới 1.000 event, sau đó 15 USD mỗi tháng cho 100.000. Mã nguồn mở và tự host được.
- Bugsink: bản host sẵn miễn phí tới 15.000 event, sau đó 16 USD mỗi tháng cho 75.000. Tự host thì miễn phí, sản lượng tuỳ phần cứng của bạn.
- Belvador: miễn phí trong giai đoạn beta. Hetzner tính tiền máy chủ, một CX23 niêm yết 5,99 € mỗi tháng chưa VAT.
Chuyển mà không mất lỗi#
Mỗi lúc chỉ chạy một SDK, nếu không mỗi lỗi sẽ tới hai lần. Sau đó gửi một lỗi thử có tag từ mỗi runtime, và giữ công cụ cũ ở chế độ chỉ đọc cho tới khi công cụ mới bắt được một lỗi thật. Bài checklist chuyển SDK Sentry thử từng giả định trong danh sách đó với SDK Node.js chính thức. Còn bài lọc PII trong error monitoring cho thấy một bộ lọc thật bắt được gì và để lọt gì.
Belvador nằm ở đâu#
Belvador nhận những gì SDK của Sentry gửi, lưu trên một node trong dự án Hetzner của bạn, và gồm theo dõi lỗi, cron, uptime, SLO cùng trace và log OpenTelemetry. Trang thay thế Sentry liệt kê thứ gì chuyển được và thứ gì không. Hướng dẫn chuyển đổi ghép từng gói và tuỳ chọn của Sentry với bản tương ứng của Belvador. Nếu bạn cũng đang xem các công cụ mã nguồn mở, trang so với GlitchTip trích dẫn chính trang của GlitchTip.
Đọc tiếp#
Trong chủ đề này
- Chuyển SDK Sentry: checklist thử từng giả định
Andrew Babo6 phút đọc
- Sentry tự host hay BYOC trên Hetzner: thực ra bạn phải chạy những gì
Andrew Babo5 phút đọc
Bài liên quan
Mọi bài viết
Sản phẩm
Chuyển SDK Sentry: checklist thử từng giả định
Đổi DSN là phần dễ. Mình chạy SDK Node.js chính thức của Sentry với hai cấu hình, liệt kê từng item nó gửi, và xem một backend tương thích Sentry làm gì với mỗi item.
Andrew Babo6 phút đọc

Sản phẩm
Sentry tự host hay BYOC trên Hetzner: thực ra bạn phải chạy những gì
Mình đếm những gì Sentry tự host 26.10.0 kéo về và khởi động, rồi đặt cạnh một node được quản lý trong Hetzner project của bạn. Cả hai giữ dữ liệu trên server của bạn; công việc thì khác.
Andrew Babo5 phút đọc
Đọc tiếp trong tài liệu
Xem lỗi production của chính bạn như thế này
Belvador chạy trên máy chủ Hetzner của chính bạn: lỗi, cron, uptime và trace — dữ liệu vẫn là của bạn.