努力載入中

被 ActionController::InvalidAuthenticityToken 灌爆的 rollbar

2020-07-19

rollbar 是一套線上 BUG 回報平台,能夠主動把運行中發生 exception 當下的相關資訊,例如 IP、query params、request path 等,當然也包含了 exception class ,然後一併回報到平台上,配合 Slack 或 telegram 等訊息系統,工程師幾乎可在第一時間掌握 BUG 並即時處理。

對於剛接觸專案的工程師來說,指派去處理 rollbar 上的 BUG 會是相對門檻較低的起手式,在系統 BUG 逐漸減少的過程中,有一些 exception 對我們來說反而是不需要特別記錄到 rollbar 上的,例如 ActionController::InvalidAuthenticityToken 或 ActionController::RoutingError ,以下便是教大家如何在 rollbar 的設定上忽略掉某些特定的 exception class。

# config/initializer/rollbar.rb

config.use_exception_level_filters_default = true
config.exception_level_filters.merge!(
  'ActionController::InvalidAuthenticityToken' => 'ignore',
  'ActionController::RoutingError' => 'ignore'
)

rollbar 有提供 configuration 的官方文件: https://github.com/rollbar/rollbar-gem/blob/master/docs/configuration.md

而 rails g rollbar 產生出來的 rollbar.rb 內也有 #exception_level_filters 的用法。

此外,ignore 是 rollbar 所定義的 exception level 其中之一的數值,另外還有 error, debug 等其他數值可用,相關請參考官方文件。

我的建議是僅需 ignore ActionController::InvalidAuthenticityToken ,而 ActionController::RoutingError 可以在 config/routes.rb 裡解決,ignore 太多 exception class 不見得是好事。

相關文章

設定電子郵件 DKIM

設定電子郵件 DKIM

以 AWS SES 和 Gmail 為例,說明如何設定 DKIM,並且提供相關檢測工具。DKIM 除了需要透過 DNS TXT 設定完,需要先申請好簽署用的金鑰。
正念冥想使用心得

正念冥想使用心得

在實行正念冥想後一年半的日子裡,所獲得的體悟,以及對生活和工作上的改變,同時分享正念冥想的一些小技巧。
用 AWS Transfer + S3 架設 FTP

用 AWS Transfer + S3 架設 FTP

本篇文章將一步步教學如何利用 AWS 架設 FTP,使用的服務包含 AWS Transfer 、S3、SNS(Simple Notification Service)。實現檔案傳輸,以及被動獲得檔案上傳的通知。
Sidekiq 介面壞掉

Sidekiq 介面壞掉

很久以前修過的問題,再次出現時,又忘了為何如此,所以這次完整把 Sidekiq web 介面遇到的壞掉問題修復方式完整記錄起來。