Blog #4
Sentry
là một third-party
phát hiện lỗi từ những vấn đề nhỏ đến những vấn đề cực kì quan trọng.
Khả năng hiển thị trên tất cả các nền tảng, vì vậy không có lỗi nào thoát khỏi bạn.
Nó sẽ gửi email mỗi khi phát hiện ra lỗi hệ thống để bạn có thể sửa lỗi và cải thiện hệ thống nhanh nhất có thể mà không cần phải đợi user report lỗi lên hệ thống :>
Ngoài ra Sentry
còn giúp bạn về những vấn đề về hiệu suất khác. Đọc thêm ở đây nha :))
À còn một điều vô cùng quan trọng, là nó miễn phí
nha :D
Cài đặt Sentry
vào ứng dụng Rails
cũng cực kì dễ dàng
Thêm vào Gemfile
gem "sentry-ruby"
gem "sentry-rails"
Chạy lệnh
$ bundle install
Thêm file sentry.rb
tại đường dẫn config/initializers/sentry.rb
# config/initializers/sentry.rb
Sentry.init do |config|
config.dsn = 'https://examplePublicKey@o0.ingest.sentry.io/0'
config.breadcrumbs_logger = [:active_support_logger, :http_logger]
# To activate performance monitoring, set one of these options.
# We recommend adjusting the value in production:
config.traces_sample_rate = 1.0
# or
config.traces_sampler = lambda do |context|
true
end
end
Chú ý:
Thông số config.dsn
bạn lấy khi signup
nha, nên bỏ thông số này vào .env
file
Chọn branch
muốn nhận thông báo (Ở đây mình nhận thông báo ở staging
env và production
env)
config.enabled_environments = ['staging', 'production']
Sửa lại file sentry.rb
như sau
# config/initializers/sentry.rb
Sentry.init do |config|
config.dsn = ENV['SENTRY_DSN']
config.breadcrumbs_logger = [:active_support_logger, :http_logger]
config.enabled_environments = ['staging', 'production']
# To activate performance monitoring, set one of these options.
# We recommend adjusting the value in production:
config.traces_sample_rate = 1.0
# or
config.traces_sampler = lambda do |_context|
true
end
end
Bạn cần vào đúng môi trường cấu hình Sentry
ở phía trên để thử
Ở đây mình chọn production
environment
Các bạn ssh
đến server
và chạy rails console
$ RAILS_ENV=production rails c
Nhập lệnh test như sau
Sentry.capture_message("test message")
Như vậy là đã thành công! Check Sentry
báo gì nhé!
Vậy là bạn đã tạo được 1 fake error và nhận thông báo thành công rồi! Từ giờ system
của bạn có lỗi gì nó đều đá lên đây ngay lập tức :)) Khỏe rồi ha