Sentry là gì? Theo dõi và khắc phục lỗi trong Javascript
Sentry là gì? Đây là câu hỏi thường gặp của các lập trình viên và nhà phát triển khi bắt đầu tìm hiểu về công cụ giám sát và xử lý lỗi trong quá trình phát triển phần mềm. Trong bài viết này, chúng ta sẽ cùng Bizfly Cloud khám phá mọi khía cạnh của Sentry, hướng dẫn cơ bản để bắt đầu sử dụng nền tảng này một cách hiệu quả.
Sentry là gì?
Sentry là một nền tảng giám sát lỗi giúp lập trình viên theo dõi, phân tích và xử lý sự cố trong ứng dụng một cách nhanh chóng. Thay vì phải chờ người dùng báo lỗi hoặc kiểm tra thủ công, Sentry tự động ghi nhận lỗi theo thời gian thực, kèm theo thông tin chi tiết như stack trace, môi trường chạy hay hành vi người dùng trước khi lỗi xảy ra.
Điểm mạnh của Sentry là khả năng tích hợp với nhiều ngôn ngữ và framework phổ biến như JavaScript, Python, PHP, Java hay Go. Nhờ đó, các đội phát triển có thể dễ dàng đưa Sentry vào quy trình làm việc hiện tại mà không cần thay đổi quá nhiều hệ thống.
Nhờ khả năng phát hiện lỗi sớm mà Sentry đã mang đến hiệu quả cải thiện trải nghiệm người dùng, rút ngắn thời gian xử lý sự cố, đặc biệt trong các hệ thống ứng dụng phức tạp.
Sentry hoạt động như thế nào?
Cơ chế hoạt động của Sentry dựa trên việc thu thập dữ liệu lỗi từ ứng dụng của bạn qua các SDK được tích hợp sẵn trong mã nguồn. Khi một lỗi xảy ra, Sentry sẽ ghi nhận thông tin về lỗi đó, bao gồm cả ngữ cảnh, stack trace, dữ liệu người dùng, và các chi tiết kỹ thuật khác. Dữ liệu này sau đó được gửi đến máy chủ của Sentry để xử lý và lưu trữ một cách an toàn.
Sau khi dữ liệu lỗi được gửi về, hệ thống Sentry sẽ tổ chức và hiển thị chúng trên giao diện quản trị một cách rõ ràng, dễ hiểu. Người dùng có thể xem các báo cáo theo thời gian, loại lỗi, mức độ nghiêm trọng, và các thông tin liên quan khác. Hệ thống còn cho phép thiết lập cảnh báo tự động qua email hoặc các dịch vụ nhắn tin khác khi phát hiện lỗi mới hoặc lỗi quan trọng, giúp các nhóm phát triển phản ứng kịp thời và nhanh chóng hơn.
Chức năng của Sentry là gì?
Tự động gửi kèm thông tin liên quan
Mỗi khi gửi thông báo lỗi/event, Sentry sẽ thu thập các thông tin liên quan như hệ điều hành, trình duyệt, địa chỉ IP, đường dẫn hiện tại,... để gửi kèm theo cho người dùng.
Cho phép bổ sung thông tin trước khi gửi
Thông tin bổ sung này được gọi là Additional Data. Người dùng có thể gửi JSON object và Sentry sẽ tự động làm format để theo dõi. Đặc biệt, Sentry còn có thể tự động xác định và ẩn đi các thông tin nhạy cảm. Những chỗ [Filtered] là những chỗ đã được Sentry ẩn đi.
Gửi kèm thông tin trong console
Tính năng này được gọi là Breadcrumbs, cho phép lưu lại những event của ứng dụng và trình duyệt. Theo đó, Sentry sẽ tự động thu thập những thông tin bao gồm:
- XMLHttpRequest
- Những thay đổi khi chuyển trang (Chỉ áp dụng đối với HTML pushState)
- UI click và ấn phím
- Console logs
- Những lỗi trước (Khi chưa chuyển trang)
Ngoài ra, người dùng cũng có thể tự tạo breadcrumbs cho riêng mình. Ví dụ, đối với event khi khách hàng thêm sản phẩm vào giỏ hàng, breadcrumbs sẽ giúp bạn biết được khách hàng đã thực hiện những thao tác nào dẫn tới việc xảy ra lỗi.
Nhận phản hồi của người dùng khi gặp lỗi
Với chức năng User Feedback, các developer có thể dễ dàng thu thập thông tin từ người dùng bằng cách hiện thị popup để hỏi các thông tin như họ tên người dùng, email và mô tả tình huống xảy ra khi có lỗi. Bên cạnh đó, bạn có thể quản lý được feedback popup sẽ hiển thị khi nào.
Tạo user context
Với Sentry, người dùng có thể tạo user context thông qua email hoặc ID người dùng. Sau khi tạo context xong, bạn có thể dễ dàng lọc các event trong Sentry dựa theo người dùng đăng nhập.
Liên kết với các dịch vụ issue tracker để tạo nhanh task
Sentry cho phép liên kết với những ứng dụng như GitHub, Bitbucket, Trello,... để tạo nhanh các task mỗi khi có lỗi xảy ra.
Tại sao nên sử dụng Sentry?
Việc sử dụng Sentry mang lại nhiều lợi ích thiết thực, đặc biệt trong bối cảnh các hệ thống phần mềm ngày càng phức tạp và đòi hỏi độ ổn định cao. Với Sentry, các nhà phát triển có thể phát hiện lỗi trong thời gian thực, từ đó phản ứng nhanh chóng hơn, giảm thiểu thiệt hại về mặt người dùng và uy tín thương hiệu. Không những vậy, việc có dữ liệu chi tiết về lỗi giúp xác định nguyên nhân gốc rễ nhanh chóng hơn, tiết kiệm thời gian và công sức trong quá trình xử lý sự cố.
Hơn nữa, sử dụng Sentry còn giúp cải thiện quy trình phát triển phần mềm bằng cách tích hợp trực tiếp vào pipeline CI/CD, thúc đẩy việc kiểm thử và khắc phục lỗi sớm hơn trong chu kỳ phát triển. Tính năng theo dõi hiệu suất cũng giúp các đội nhóm tối ưu hoá hệ thống, nâng cao trải nghiệm người dùng cuối. Chính vì những lý do này, Sentry trở thành một công cụ không thể thiếu trong bộ công cụ của bất kỳ tổ chức phát triển phần mềm chuyên nghiệp nào.
Hướng dẫn sử dụng Sentry cơ bản
Sau khi tạo Prebuilt App Sentry thông tin đăng nhập trang quản trị Sentry sẽ được gửi vào email.
Để đăng nhập ta nhập địa chỉ IP server trên trình duyệt, và nhập user và passord đăng nhập được gửi về email, khi đăng nhập xong giao diện sẽ hiển thị như sau:
- Lúc này tài khoản của bạn là tài khoản admin, bạn có thể add thêm user vào hệ thống sentry của bạn.
- Tạo project để track error:
Ấn New Project -> Chọn ngôn ngữ sử dụng ( ở đây mình chọn Python) -> Đặt trên cho Project rồi ấn Create Project
- Sau khi tạo Project sẽ có thông tin hướng dẫn cài đặt để Capture error hiển thị như ảnh dưới.
- Ở đây Sentry sẽ cho mình ví dụ về lỗi Division by zero mình sẽ tạo 1 file python tên là test.py với nội dung như hướng dẫn mẫu mà Sentry cho chúng ta:
- Sau khi chạy file python test.py này ta lên giao diện quản trị sẽ thấy event error được hiển thị trên trang đó. Ở giao diện này ta có thể dễ dàng theo dõi error và xử lý các lỗi trong code một cách hiệu quả hơn.




























