Was macht sentry-ruby-sdk?
Vollständige Sentry SDK-Einrichtung für Ruby. Verwenden Sie dies, wenn Sie aufgefordert werden, Sentry zu Ruby hinzuzufügen, sentry-ruby zu installieren, Sentry in Rails/Sinatra/Rack einzurichten oder Fehlerüberwachung, Tracing, Protokollierung, Metriken, Profiling oder Cron-Jobs für Ruby-Anwendungen zu konfigurieren. Unterstützt auch die Migration von AppSignal, Honeybadger, Bugsnag, Rollbar oder Airbrake. Unterstützt Rails, Sinatra, Rack, Sidekiq und Resque.
Installation
Fügen Sie das Gem zu Ihrer Gemfile hinzu:
gem 'sentry-ruby'
Führen Sie dann bundle install aus.
Grundlegende Konfiguration
Erstellen Sie eine Initialisierungsdatei (z. B. config/initializers/sentry.rb für Rails):
Sentry.init do |config|
config.dsn = 'IHR_DSN'
config.breadcrumbs_logger = [:active_support_logger, :http_logger]
end
Für Rails-Anwendungen wird empfohlen, auch die folgenden Rails-spezifischen Gems zu installieren:
gem 'sentry-rails'
Funktionen
Fehlerüberwachung
Standardmäßig werden alle unbehandelten Ausnahmen automatisch erfasst.
Sentry.capture_exception(StandardError.new('Beispielfehler'))
Leistungsüberwachung (Tracing)
Sentry.init do |config|
config.traces_sample_rate = 0.25 # 25% der Transaktionen erfassen
end
Metriken
Sentry.metrics.increment('seitenaufrufe')
Sentry.metrics.distribution('verarbeitungsdauer_ms', 150.0)
Protokollierung
Sentry::Logger.new(STDOUT)
Profiling
Sentry.init do |config|
config.profiles_sample_rate = 0.25
end
Cron-Überwachung
Sentry.crons.monitor('mein-cron-job') do
# Ihr Cron-Job-Code
end
Migration von anderen Diensten
Von AppSignal
# Entfernen Sie appsignal aus Ihrer Gemfile, fügen Sie sentry-ruby und sentry-rails hinzu
# Ersetzen Sie die AppSignal-Konfiguration durch den obigen Sentry-Block
Von Honeybadger
# Ersetzen Sie Honeybadger.notify durch Sentry.capture_exception
# Entfernen Sie das honeybadger-Gem
Von Bugsnag
# Ersetzen Sie Bugsnag.notify durch Sentry.capture_exception
Von Rollbar
# Ersetzen Sie Rollbar.error durch Sentry.capture_exception
Von Airbrake
# Ersetzen Sie Airbrake.notify durch Sentry.capture_exception
Framework-spezifische Konfiguration
Rails
Fügen Sie sentry-rails zu Ihrer Gemfile hinzu und führen Sie den Generator aus:
rails generate sentry
Sinatra
require 'sentry-ruby'
Sentry.init do |config|
config.dsn = 'IHR_DSN'
end
# Im Sinatra App-Code
class MyApp < Sinatra::Base
use Sentry::Rack::CaptureExceptions
end
Rack
require 'sentry-ruby'
Sentry.init do |config|
config.dsn = 'IHR_DSN'
end
use Sentry::Rack::CaptureExceptions
Sidekiq
Fügen Sie sentry-ruby zu Ihrer Gemfile hinzu (Sidekiq-Integration ist enthalten).
Resque
Fügen Sie sentry-resque zu Ihrer Gemfile hinzu:
gem 'sentry-resque'