Sentry là gì? Theo dõi và khắc phục lỗi trong Javascript

830
22-03-2019
Sentry là gì? Theo dõi và khắc phục lỗi trong Javascript

Sentry là một phần mềm theo dõi và tự động báo lỗi hiệu quả, giúp theo dõi các lỗi xảy ra bên trong ứng dụng và thông báo cho developer thông qua email hoặc SMS. Dưới đây Bizfly Cloud sẽ hướng dẫn bạn đọc tìm hiểu chi tiết về Sentry và cách sử dụng nhé!

Sentry là gì?

Sentry là phần mềm mã nguồn mở giúp các developer theo dõi và khắc phục các lỗi (exception) trong code theo thời gian thực, được lặp đi lặp lại giúp tăng hiệu quả và cải thiện trải nghiệm người dùng.

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?

- Nếu bạn đã từng gặp khó khăn với việc debug cũng như theo dõi log các exception trong các file production.log, staging.log,... Việc tìm kiếm các dòng log cũng rất khó khăn và mất nhiều thời gian. Thường thì ta sẽ cần phải ssh vào server rồi mở file log và tìm từng dòng log, việc làm đó sẽ tốn rất nhiều thời gian và chưa chắc chúng ta đã tìm được dòng lỗi cần tìm. Và hãy tưởng tượng rằng bạn phải maintain hàng trăm server hay đơn giản hàng chục server thì bạn sẽ phải kiểm tra log ra sao mỗi khi xảy ra lỗi.

- Vì thế nên Sentry được sinh ra để giải quyết bài toán này. Sentry đem lại cho bạn:

Khả năng thông báo lỗi ngay lập tức và chi tiết thông qua notification như mail, SMS hoặc chat.

Tổng hợp và quản lý các lỗi trên nhiều server.

Có thể tích hợp với nhiều ngôn ngữ lập trình và nền tảng khác nhau.

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.

Sentry là gì? - Ảnh 1.

- 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

Sentry là gì? - Ảnh 2.

Sentry là gì? - Ảnh 3.

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

Sentry là gì? - Ảnh 4.

- Ở đâ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:

Sentry là gì? - Ảnh 5.

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

Sentry là gì? - Ảnh 6.

Sentry là gì? - Ảnh 7.

SHARE