◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-05-22上級

Rork Max のオブザーバビリティスタック設計 — Sentry・Crashlytics・Cloudflare Logs を一本化する個人開発者の運用知見

Rork Max で運用するアプリの障害検知・原因特定・収益保護を一気通貫で設計するオブザーバビリティスタックを、Sentry・Crashlytics・Cloudflare Logs の役割分担と障害シナリオ別の追跡経路を軸に解説します。

rork-max41observabilitysentrycrashlyticscloudflarearchitecture6monitoringproduction

✦ プレミアム記事

なぜ個人開発の可観測性は「ツール乱立」で破綻するのか

ある朝、運営しているアプリの AdMob 収益が前日比 32% 落ちていることに気づきました。原因を辿る作業は、Crashlytics、Sentry、Cloudflare Logs、Stripe ダッシュボード、AdMob レポート、GA4 を順番に開いて目視で照合する、というものでした。2 時間かけて分かった原因は、前日のリリースで広告ユニット ID を 1 文字タイプミスしていたという、本来 5 分で検出できるはずの事象でした。

個人開発でアプリを長く運営していると、可観測性の設計は一度で完成するものではなく、障害のたびに組み直すものだと痛感します。Rork Max で生成コードを使う比率が上がってからは、「速く作れる」反面、「壊れた時に追えない」リスクが確実に増えました。コードベースを完全に頭に入れている状態と、AI が補完した部分が混在している状態とでは、ログを読む難易度がまるで違うからです。

個人開発者の可観測性は、SRE 専任がいる組織のそれとは設計思想を変える必要があります。「人が常駐していない前提」で、夜中に鳴ったアラートがどのタイミングでどう自分に届くか、届いた後に何分以内にどこを開けば原因にたどり着けるか、という観測経路の設計が、ツール選定よりも先に来るべきです。

オブザーバビリティの 3 本柱を「誰が見るか」で分ける

教科書通りに言えば、オブザーバビリティは Logs / Metrics / Traces の 3 本柱で成り立ちます。私の場合は、これを「誰が・いつ・どんな粒度で見るか」という運用視点で再定義しています。

  • Logs: 障害発生時に原因特定のために遡って読むもの。自分が起こされた後に開く
  • Metrics: 売上・継続率・クラッシュフリー率など、毎朝 5 分の習慣で目視する指標
  • Traces: 上記 2 つで原因が絞れた後、ピンポイントで開くもの。常時は見ない

3 つに同じだけのコストと注意を払うと、個人開発者は持ちません。Metrics は AdMob・Stripe・Crashlytics のダッシュボードを 1 画面に集約し、Logs は「鳴った時だけ開く」前提で構造化し、Traces は障害再現のためだけにスポットで使う、というメリハリが必要です。

ツール選定の判断軸

私が採用している判断軸は次の 3 つです。

  1. モバイル前面はベンダーが用意した SDK を使う: Crashlytics・Sentry のように、OS 側のシグナル(メモリ警告・ANR・watchdog kill)を捕捉できるものを優先する
  2. バックエンドは生ログを自分で保管する: Cloudflare Workers の場合は Logpush で R2 に流し、外部 SaaS に依存しすぎない
  3. アラート経路は 1 つに絞る: Sentry・Crashlytics・Stripe Webhook の通知を Slack の 1 チャンネルに集約し、優先度別に色分けする

「とりあえず全部入れる」は個人開発では必ず破綻します。3 年運用すると、契約しているがログインしなくなった監視サービスが必ず出てきます。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦Sentry と Crashlytics を二重化させない役割分担の境界線を、ログ送信側のフラグ設計まで含めて再現できる
✦AdMob 収益が落ちた時に原因にたどり着くまでの確認順序を、1分以内に判断するシナリオ別フローを構築できる
✦Cloudflare Logpush から Claude in Chrome 連携までの障害トリアージ自動化を、個人運営でも回せるコストで実装できる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 開発ツール2026-10-15
EXPO_PUBLIC_ の値が、開発では読めて本番だけ undefined になる書き方を、変換結果で見分けます
API の URL が開発中は読めるのに、ビルドした途端に undefined になる。原因は process.env の書き方でした。babel-preset-expo の変換結果を開発・本番で並べ、置き換わる書き方と残ってしまう書き方を表にしました。
⬡ 開発ツール2026-10-14
起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、読み込みより先に過ぎていたためです
Android 版の起動広告が、アプリを完全に終了してから開く回だけ一度も出ていませんでした。「前面に戻った」合図を読み込みの完了と切り離し、順番ごとにテストできる形へ組み直した記録です。
⬡ 開発ツール2026-10-13
リリース前に、書き出した Expo バンドルの中から自分の鍵を探してみる
ソースに鍵がなくても、出来上がったアプリの中に鍵が残ることがあります。Expo SDK 57 で実際に expo export を実行し、バンドルの中身を grep と 60 行ほどの Node スクリプトで調べて、見つかる鍵と見つからない鍵の違いを確かめました。