---
title: "Bugsnagとは？エラー監視の仕組み・JavaScript導入手順・安定性スコアと料金、Sentryとの選び分け【2026年10月】"
url: "https://www.issoh.co.jp/tech/details/18357/"
published: 2026-10-15
updated: 2026-10-15
categories: ["監視・オブザーバビリティ"]
publisher: "株式会社一創"
---

# Bugsnagとは？エラー監視の仕組み・JavaScript導入手順・安定性スコアと料金、Sentryとの選び分け【2026年10月】

Bugsnag（公式表記はBugSnag）は、アプリで起きた例外やクラッシュを自動で集め、原因ごとにまとめて通知する米SmartBear社のエラー監視サービスです。この記事では、SDKが送ったイベントがエラー単位にまとまる規則、JavaScriptとExpressへの組み込みコード、ソースマップとリリース情報の送り方を順に示します。後半では、リリースごとの品質を数値で見る安定性スコアの計算方法と、2026年10月時点の料金、Sentryとどちらを選ぶかの判断基準を扱います。

## まとめ：Bugsnagを選ぶべきリリース品質重視のチームと見送る条件

Bugsnagの強みは、エラーを「どのリリースで入り込んだか」で追える点と、エラーの無かったセッションの割合を安定性スコアとして出せる点です。モバイルアプリや頻繁にリリースするWebサービスで、「今回の版を全員に広げてよいか」を数字で決めたいチームに向いています。

見送るのは、ログやトレースまで1つの製品に集めたい場合と、無料枠で長く運用したい個人開発です。安定性スコアは上位のPreferredプラン以上でしか使えず、Freeプランのデータ保持は7日に限られます。ログ管理やAIによる原因調査まで欲しいなら、Sentryを先に比べてください。

## Bugsnagの仕組み：SDKが例外を送りエラー単位にまとめるまでの流れ

Bugsnagは、アプリに組み込んだSDK（公式の呼び名はnotifier）が例外を検知してBugsnagのサーバーへ送り、ダッシュボードでエラーとして束ねる構成です。モバイル・Web・デスクトップ・サーバーの50以上のプラットフォームに対応しています。

### SmartBear傘下のBugSnag：Insight Hub改称後の2026年の名称

Bugsnagは2021年にSmartBear社に買収され、2025年には「SmartBear Insight Hub」への改称が発表されました。ところが2026年10月15日時点では、[公式の料金ページ](https://www.bugsnag.com/pricing/)もドキュメントも製品名をBugSnagと表記しています。smartbear.comのInsight HubページはBugSnagのサイトへ転送されるため、検索ではBugSnagの名前で情報を探すのが確実です。

利用者側で気をつけるのはドメインです。[BugSnag for Enterpriseの案内](https://docs.bugsnag.com/enterprise/)によると、新規のEnterprise組織は`app.bugsnag.smartbear.com`、既存顧客と非Enterpriseプランは従来の`app.bugsnag.com`を使います。SDKの多くはAPIキーから送信先を自動で判定するので、旧版のツールを使う場合だけ送信先を手で設定します。

### イベントとエラーの違い：最上位スタックフレームでまとめる既定の規則

Bugsnagでは、1回1回の例外の発生を「イベント」、同じ原因とみなしたイベントの束を「エラー」と呼びます。料金はイベント数で決まり、受信箱にはエラーが並ぶという関係です。

[Error groupingのドキュメント](https://docs.bugsnag.com/product/error-grouping/)によると、既定の規則は「最も内側の例外のうち、自分のプロジェクト内で最上位にあるスタックフレームの、エラークラス・ファイル・行番号が同じもの」をまとめる方式です。ライブラリ内部で落ちた例外でも、自社コードのどの行から呼んだかで分かれるため、修正担当を決めやすくなります。

DB停止のように、あちこちの呼び出し元で同じ例外が出る障害は、この規則だと別々のエラーに散らばります。その場合はProject settingsの「Group by error class」でクラス単位にまとめます。グルーピング方式を新しい版に上げる操作は元に戻せず、上げた後に受信したイベントにだけ効く点も覚えておくべきです。

## BugsnagをJavaScriptとExpressに組み込む導入手順とコード例

ここからは、BugSnagのアカウントとプロジェクトを作成済みという前提で、Node.jsのWebアプリに組み込む手順を示します。APIキーはプロジェクト設定の画面で確認できます。

### @bugsnag/js 9.1系のインストールとExpressミドルウェアの登録

[JavaScript integration guide](https://docs.bugsnag.com/platforms/javascript/)によると、`@bugsnag/js`はNode.jsとブラウザのどちらで動いているかを自動で判別する共通パッケージです。npmレジストリ上の最新版は2026年10月9日公開の9.1.0で、ドキュメントの記載（v9.0.0）より一歩進んでいます。TypeScriptの型定義は同梱で、4.5以上が前提です。

```
npm install --save @bugsnag/js @bugsnag/plugin-express
```

[Express integration guide](https://docs.bugsnag.com/platforms/javascript/express/)の構成に、リリース追跡用の`appVersion`と`releaseStage`を足した初期化例です。

```
import express from 'express'
import Bugsnag from '@bugsnag/js'
import BugsnagPluginExpress from '@bugsnag/plugin-express'

Bugsnag.start({
  apiKey: process.env.BUGSNAG_API_KEY,
  plugins: [BugsnagPluginExpress],
  appVersion: process.env.APP_VERSION,          // 例: 4.10.0
  releaseStage: process.env.NODE_ENV,           // 未設定ならproduction
  enabledReleaseStages: ['production', 'staging'],
  redactedKeys: ['password', 'authorization', 'cardNumber']
})

const app = express()
const middleware = Bugsnag.getPlugin('express')

app.use(middleware.requestHandler)   // 必ず最初のミドルウェアにする
/* ここに他のミドルウェアとルートを書く */
app.use(middleware.errorHandler)     // 他のエラーハンドラより前に置く

app.listen(3000)
```

`requestHandler`は、自分より後ろに登録したミドルウェアの例外しか拾えません。順番を間違えると、エラーが1件も届かない状態になります。`redactedKeys`は既定で「password」を含むキーを伏せますが、自分で指定すると既定値を置き換えるため、上の例のようにpasswordも並べ直します。

### try-catchで握りつぶした例外をBugsnag.notifyで送るコード

未処理の例外とPromiseの未処理リジェクトは、初期化だけで自動送信されます。手で送る必要があるのは、catchで処理を続ける代わりに記録だけは残したい例外です。

```
try {
  await chargeCustomer(order)
} catch (e) {
  Bugsnag.notify(e, (event) => {
    event.severity = 'warning'
    event.addMetadata('order', { id: order.id, plan: order.plan })
    event.setUser(String(order.customerId))
  })
  return res.status(502).json({ message: '決済処理に失敗しました' })
}
```

`addMetadata`で付けた値はダッシュボードのタブとして表示され、エラーを絞り込む条件にも使えます。ユーザーIDを付けておくと、「このエラーに当たった利用者は何人か」が分かります。修正の優先順位を決めるときの根拠です。ブラウザ版では利用者のIPアドレスも既定で記録されるため、保存したくない場合は`collectUserIp: false`を指定します。

### BugSnag CLIでソースマップを送り本番のスタックトレースを読める形に戻す手順

本番のJavaScriptは圧縮されているため、そのままではスタックトレースが「main.min.js の1行目」のような表示になります。[Source mapsのドキュメント](https://docs.bugsnag.com/platforms/javascript/source-maps/)で推奨されているのは、ソースマップをBugsnagへアップロードする方法です。Node.jsはアップロードしか選べず、ブラウザ向けだけは公開サーバーに置いたソースマップを取りに行く方式も使えます。

[upload jsのコマンドリファレンス](https://docs.bugsnag.com/build-integrations/bugsnag-cli/upload-js/)に沿った、ビルド後に実行する例です。CLIはnpmの`@bugsnag/cli`（2026年10月8日時点で3.10.7）として入れられます。

```
npx @bugsnag/cli upload js \
  --api-key=$BUGSNAG_API_KEY \
  --version-name=4.10.0 \
  --base-url="https://example.com/assets" \
  ./dist
```

`--base-url`には圧縮済みファイルを配信しているURLを指定します。スタックトレース上のパスとソースマップを対応付ける値なので、CDNのパスと1文字でも違うと元のコードに戻りません。`--version-name`を省くとpackage.jsonの版が使われるため、SDK側の`appVersion`と同じ値になっているかを最初に確かめます。ディレクトリを指定せずにプロジェクト直下で実行すると、node\_modules内のソースマップまで送られる点にも注意が要ります。

## リリース単位の追跡：create-buildと安定性スコアで品質を判断する運用

Bugsnagを入れる価値の半分は、エラーをリリースと結び付けて見られることにあります。[Releases & versions](https://docs.bugsnag.com/product/releases/)によると、SDKに版とリリースステージを設定するだけで、ダッシュボードを版で絞り込めるようになり、タイムラインに版の切り替わりが表示されます。

### create-buildでコミットと版を結び付けるCIへの組み込み

リリースにコミットや差分へのリンクを付けるには、デプロイ時にビルド情報を送ります。[create-buildのリファレンス](https://docs.bugsnag.com/build-integrations/bugsnag-cli/create-build/)では、Gitリポジトリの最上位で実行すれば、最初のリモートURLとコミットハッシュが自動で使われると説明しています。

```
# デプロイ直後にCIから実行する
npx @bugsnag/cli create-build \
  --api-key=$BUGSNAG_API_KEY \
  --version-name=4.10.0 \
  --release-stage=production \
  --builder-name="ci" \
  --metadata="pipeline=$CI_PIPELINE_ID"
```

サーバーアプリのように同時に1つの版しか動かない構成なら、`--auto-assign-release`を付けると、SDKに版を設定しなくても以降のイベントがこのビルドに紐付きます。ただしデプロイの前後に届いたイベントは、通知のタイミング次第で違う版に入ることがあります。正確に追いたいなら、SDKの`appVersion`を設定する方法を優先してください。

### セッション単位の安定性スコアと目標値・危険値の2段階しきい値

[Stabilityのドキュメント](https://docs.bugsnag.com/product/stability/)によると、安定性スコアはエラーの無かったセッションの割合です。セッションの区切りはプラットフォームで異なり、ブラウザはページの読み込み、サーバーはリクエスト1件の処理、モバイルはアプリの起動か30秒以上バックグラウンドにいた後の復帰を1セッションと数えます。

しきい値は、目標とする「Target stability」と、下回ったらバグ修正を優先する「Critical stability」の2段階で設定します。モバイルでは利用者単位のスコアも選べますが、サーバー側のプロジェクトでは使えません。

落とし穴は2つです。スヌーズや無視に設定したエラーも、未処理であればスコアを下げます。逆に、レート制限で受信されなかったイベントは数えられないのに、セッションは数え続けるため、障害の最中ほどスコアが実際より高く出ます。リリース可否の判断にスコアを使うなら、レート制限の通知もあわせて有効にしておくべきです。

## Bugsnagの料金：Free・Select・Preferredのイベント数課金と保持期間

Bugsnagの料金は、ユーザー数ではなく、月間のイベント数と性能監視のスパン数で決まります。以下は2026年10月15日に公式の料金ページで確認した値で、スパンは最少の月100万件を選んだときの月額です。ページ自体に時点の表記はありません。

### 月50,000イベントで23ドル：プラン別の上限と月額の比較表

| プラン            | 月額（月払い） | 月額（年払い） | 主な条件                 |
| -------------- | ------- | ------- | -------------------- |
| Free           | 0ドル     | 0ドル     | 1ユーザー・7,500イベント・保持7日 |
| Select 50k     | 23ドル    | 20ドル    | ユーザー無制限・保持60日        |
| Select 300k    | 75ドル    | 65ドル    | イベント数だけ増やした場合        |
| Preferred 100k | 39ドル    | 33ドル    | 安定性スコア・SAML SSO      |
| Preferred 1M   | 480ドル   | 399ドル   | 自動の優先度付け             |
| Enterprise     | 要問い合わせ  | 要問い合わせ  | オンプレミス版・個別保持期間       |

Selectは月300万イベント、Preferredも月300万イベントまでの段階が用意されています。表で分かるとおり、安定性スコアを使うにはPreferredが前提で、同じ月10万件前後でもSelectより割高になります。リリース判断にスコアを使う予定があるなら、最初からPreferredで見積もってください。14日間の無料トライアルがあり、AWS Marketplace経由でAWSの請求にまとめる契約も選べます。

### イベント上限を超えないための送信量の設定：maxEventsほか3項目

イベント課金で費用が読めなくなる原因の多くは、開発環境の例外と、同じ画面で繰り返し出る例外です。[Configuration options](https://docs.bugsnag.com/platforms/javascript/configuration-options/)には、送信量を抑える設定が用意されています。

- `enabledReleaseStages`：既定では全ステージを送る。productionとstagingだけに絞ると、手元の開発環境のエラーで枠を消費しない
- `maxEvents`：ブラウザ限定。1ページで送るイベントの上限で、既定は10件、最大100件
- `maxBreadcrumbs`：イベントに添える操作履歴の件数。既定25件、最大100件で、課金ではなく1件あたりの情報量に効く

ブラウザの`maxEvents`はURLが`pushState`で変わるたびに数え直されます。SPAで画面遷移が多い場合、1人の利用者が数十件を送ることもあるため、無料枠の7,500件は小さなサービスでも数日で尽きる可能性があります。

## BugsnagとSentryの選び分け：リリース品質管理とログ・AI調査で判断する基準

Bugsnagの比較相手として最も挙がるのがSentryです。Sentry側の機能と導入方法は[Sentryの機能・料金・使い方](https://www.issoh.co.jp/tech/details/4148/)にまとめています。

### 無料枠・有料の入口価格・保持期間の比較表：5,000件と7,500件の差

| 観点      | Bugsnag              | Sentry             |
| ------- | -------------------- | ------------------ |
| 無料枠     | 7,500イベント・1ユーザー      | 5,000エラー・1ユーザー     |
| 無料枠の保持  | 7日                   | 30日                |
| 有料の入口   | Select 年払い月20ドル（5万件） | Team 年払い月26ドル（5万件） |
| 有料の保持   | 60日                  | 最大90日              |
| ログ・AI調査 | なし                   | ログ5GB込み・Seerは別料金   |

Sentryの値は[Sentryの料金ページ](https://sentry.io/pricing/)の年払い価格で、5万件を超えた分は1件あたり0.0003625ドルからの従量課金です。入口の単価はBugsnagがやや安く、保持期間とログの同梱ではSentryが勝ります。OpenTelemetryの計装と組み合わせる構成なら、[SentryとOpenTelemetryを併用する3経路](https://www.issoh.co.jp/tech/details/16571/)のほうが選択肢は広がります。

### Bugsnagを採用すべき条件：リリースごとの安定性で出荷を判断する体制

採用するのは、iOS・Android・Webを並行してリリースし、「新しい版のクラッシュ率が前の版より悪化していないか」を毎回確かめているチームです。安定性スコアの目標値と危険値を決めておけば、段階リリースを広げるか止めるかを、担当者の感覚でなく数字で決められます。

エラー監視の導入だけでなく、リリース判定のルールや障害時の連絡体制まで含めて整えたい場合は、[保守運用・内製化支援](https://www.issoh.co.jp/service/system/maintenance/)として、ツール選定から運用ルールづくりまで相談を受けています。

### Bugsnagを見送る場面：ログ統合が必要な構成とAPMを既に入れている環境

見送るのは、エラーとログとトレースを1つの画面で突き合わせたい構成です。Bugsnagの性能監視は分散トレーシングまで扱いますが、ログ管理は持たないため、障害調査では別のログ基盤と行き来することになります。

すでにDatadogやNew RelicでAPMを計装している環境も、エラー追跡のためだけにBugsnagを足す理由は薄くなります。Datadogを使っているなら、[Datadog Error Trackingの実装手順](https://www.issoh.co.jp/tech/details/16602/)のように既存の計装の上でエラーを束ねるのが近道です。APMとエラー監視の役割の違いは[APMの仕組みと導入判断](https://www.issoh.co.jp/tech/details/15414/)、製品の横並びの比較は[オブザーバビリティツールの選定軸](https://www.issoh.co.jp/column/details/16502/)で整理しています。

## Bugsnagの導入前によくある質問：無料プラン・名称・対応言語

Bugsnagの検討でよく出る質問に、2026年10月時点の公式ドキュメントと料金ページをもとに答えます。

### Bugsnagは無料で使えますか？

Freeプランがあり、1ユーザーで月7,500イベントと月100万スパンまで無料です。ただしデータの保持は7日間で、チームで使うにはユーザー数の制限がネックになります。個人の検証やリリース前の試用には十分ですが、本番運用ではユーザー無制限で保持60日のSelect以上を前提に考えてください。有料プランは14日間の無料トライアルで試せます。

### BugsnagとInsight Hubは別の製品ですか？

同じ製品です。SmartBear社は2025年にBugsnagをInsight Hubへ改称すると発表しましたが、2026年10月15日時点の公式サイトとドキュメントでは製品名がBugSnagに戻っており、Insight Hubのページも転送されます。オープンソースのSDKは一貫して`@bugsnag`の名前で配布されているため、コードを書き換える必要はありません。

### Bugsnagはどの言語やフレームワークに対応していますか？

公式には50以上のプラットフォームに対応しています。JavaScriptではReact・Angular・Vue・Svelte・Express・Koa・Honoなどの専用ガイドがあり、AWS LambdaやCloudflare Workers向けの手順も用意された構成です。モバイルはAndroid・iOS・React Native・Flutter・Unityに対応し、CLIでdSYMやProGuardのマッピングファイルもアップロードできます。

### Bugsnagの安定性スコアはどのプランで使えますか？

PreferredプランとEnterpriseプランで使えます。Selectプランではリリースごとのエラー一覧は見られますが、エラーの無かったセッションの割合としてのスコアと、目標値・危険値の設定は含まれません。月10万イベントのPreferredは月払いで39ドル、年払いで月33ドルです。

### Bugsnagに個人情報を送らないようにするにはどうすればよいですか？

SDKの`redactedKeys`に伏せたいキー名を並べると、送信前に値が\[REDACTED\]に置き換わります。ブラウザ版は利用者のIPアドレスを既定で記録するので、不要なら`collectUserIp: false`を指定します。受信後に個人情報を検出して保存前に消す機能まで欲しい場合は、Enterpriseプランが対象です。

## 関連記事

- [Sentryとは？エラー監視・APMの機能・料金・使い方を解説](https://www.issoh.co.jp/tech/details/4148/)：Bugsnagと最も比べられるエラー監視サービスの機能と料金。
- [Datadog Error Tracking実装手順：イシュー集約とソースマップ登録、APM/RUM/Logs連携](https://www.issoh.co.jp/tech/details/16602/)：APMを入れた環境でエラーを束ねる別の選択肢。
- [オブザーバビリティツール比較｜選定軸と課金モデル・体制別の選び方【2026年8月時点】](https://www.issoh.co.jp/column/details/16502/)：監視製品を課金モデルと体制で選ぶ判断軸。
- [APM（アプリケーション性能監視）とは｜仕組み・3種の監視データ・OpenTelemetry計装と導入判断を実装目線で解説](https://www.issoh.co.jp/tech/details/15414/)：エラー監視とAPMの守備範囲の違い。
- [オブザーバビリティ（可観測性）とは？監視・モニタリング・APMとの違いと使い分けを解説](https://www.issoh.co.jp/column/details/3077/)：エラー監視を含む監視領域全体の位置づけ。

---

出典: [Bugsnagとは？エラー監視の仕組み・JavaScript導入手順・安定性スコアと料金、Sentryとの選び分け【2026年10月】](<https://www.issoh.co.jp/tech/details/18357/>)（株式会社一創）
