ノイズは「敵」だ。Rollbarを「真の戦力」に変えるためのフィルタリング極意
開発の現場において、Rollbarが送ってくる通知の9割が「無視していいボットの足跡」や「ブラウザ拡張機能の暴走」だとしたら、それはもう監視ではなく「ただのノイズ生成器」だ。
貴重なイベント上限を食いつぶし、本当に追うべき重要なエラーが埋もれる……。そんな事態は、エンジニアの認知負荷を無駄に高める最悪のアンチパターンだ。今日は、Rollbarを「高精度なエラー検知エンジン」へと進化させるための、現場で使える実践テクニックを伝授する。
—
1. 「ノイズ」を根本から断つ:クライアントサイドでの事前防衛
サーバーにゴミを送らせるな。クライアントサイドでフィルタリングを行うのが、最も効率的なノイズ削減術だ。Rollbarの `checkIgnore` コレクションを活用し、コードレベルで「ノイズを捨てる」設定を実装する。
// Rollbar初期化設定(推奨ベストプラクティス)
Rollbar.configure({
accessToken: ‘YOUR_ACCESS_TOKEN’,
captureUncaught: true,
checkIgnore: (isUncaught, args, payload) => {
const error = args[0];
const message = (error && error.message) || ”;
// 1. ブラウザ拡張機能特有のノイズを排除
const ignorePatterns = [
/chrome-extension:\/\//i,
/moz-extension:\/\//i,
/Script error\./i, // クロスドメイン制限による詳細不明エラー
];
if (ignorePatterns.some(regex => regex.test(message))) {
return true; // 除外する
}
// 2. 特定のサードパーティライブラリ起因のノイズを無視
if (message.includes(‘adsbygoogle’)) return true;
return false; // 監視対象として許可
}
});
2. サーバーサイドでの「除外ルール」最強設定
クライアントで拾いきれなかったものは、Rollbar管理画面の「Settings > Project Access Tokens」や「Rules」で叩き落とす。ここで重要なのは、「正規表現を使いすぎないこと」だ。正規表現の過剰なマッチングは、将来的にルール管理を破綻させる。
運用ルール:
- 「環境」で分ける: `development` では全て拾い、 `production` では厳格にフィルタリングする。
- Fingerprintingの活用: 似たようなエラーを1つに集約する。Rollbarの `fingerprint` をカスタマイズし、特定のメッセージを「1つの事象」としてグルーピングすることで、通知の爆撃を防ぐ。
3. 開発スピードを加速させる「神設定」とハック
① チーム開発のための設定共有(JSON構成)
設定を属人化させるな。`rollbar-config.json` をリポジトリの直下に置き、CI/CDで同期させるのがプロの作法だ。
{
“project_name”: “production-app”,
“ignored_errors”: [
“ResizeObserver loop limit exceeded”,
“Non-Error promise rejection”
],
“auto_grouping”: {
“enabled”: true,
“strategy”: “message_and_stacktrace”
}
}
② 隠れたキーボードショートカット
Rollbarの画面を開き、以下のキーを叩いてみろ。
- `j` / `k`: エラーリストの上下移動(マウスは不要だ)
- `o`: 選択したエラーを開く
- `a`: 選択したエラーを「Resolved(解決済み)」にする
- `i`: 選択したエラーを「Ignored(無視)」に即座に移動させる
このショートカットを使いこなすだけで、朝の「エラー整理タイム」が5分から30秒に短縮される。
4. チームへの提言:通知の「質」を上げる
全ての開発者にRollbarの通知を飛ばすのは愚策だ。「Slackの特定チャンネル」に「深刻度(Level)」でフィルタリングして流せ。
- `critical` / `error`: 即時通知(PagerDuty等と連携し、電話を鳴らす)
- `warning`: Slackの `#ops-logs` に流すのみ(毎朝のスタンドアップで確認)
- `info`: 基本的に無視。
最後に:オブザーバビリティの神髄
オブザーバビリティとは、単にエラーを数えることではない。「何が正常で、何が異常か」を定義する作業そのものだ。
ノイズを丁寧に排除し、本当に修正が必要なコードにだけ向き合う時間を確保する。その積み重ねこそが、機能開発のスピードを劇的に高め、サービスを堅牢にする唯一の道だ。今日、Rollbarの設定を見直し、無意味な通知を黙らせることから始めよう。
それが、君のコードを一段上のステージへ導く。