コンテンツへスキップ
supastack
ドキュメントを閲覧
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ja/docs/modules/observability.md (or send Accept: text/markdown).

監査・分析・エラー

ワークスペースコンテキストとサニタイズ済みイベントデータでアクティビティを理解する。

このガイドについて質問
開くアプリ

アクションが失敗したときに役立つ情報を見つける

可観測性とは、アプリが何をしたかを確認することを意味します。 Web サーバーを実行している端末から始めます。失敗したアクションを 1 つ繰り返し、最初のエラーと相関 ID (同じリクエストからのメッセージをリンクするラベル) を読み取ります。助けを求めるときは、コマンド、時刻、サニタイズされたエラーを共有してください。 .env ファイルやトークンを共有しないでください。

ホストされたエラー レポートの場合は、「健全性と操作」に従って、apps/web/.env.local またはホストの環境ダッシュボードでサポートされている監視設定を構成します。保存してサーバーを再起動します。テスト環境で制御されたテストの失敗をトリガーし、それが正しいワークスペース コンテキストで表示されることを確認します。設定されている監視は、イベントを受信したことを証明するものではありません。

ALERT_WEBHOOK_URL は、ジョブおよび端末 Webhook 配信失敗アラートのオプションの HTTPS 宛先です。必要な場合は、互換性のある受信エンドポイントを作成し、その URL をサーバー側に保存します。それ以外の場合は空のままにしてください。エージェントに、1 つの障害をシミュレートし、テキストに秘密を含めずに 1 つのアラートだけを確認するよう依頼します。このテストでは、顧客アカウントで有償作業や失敗をトリガーしないでください。

ワークスペース単位の監査証跡を保つ

監査レコードは、ワークスペース内のプロバイダー設定更新のような変更を捕捉します。それらのレコードを読み書きする前に認証済みワークスペースを解決し、製品固有のイベントを追加するときその境界を維持します。

アクションとそれを理解するのに必要な識別子を記録します。プロバイダー認証情報やその他の機密値は監査ペイロードやログの外に保つべきです。

製品イベントを捕捉する

オブザーバビリティパッケージは AnalyticsClient アダプターとワークスペーススコープの AnalyticsEvent 値を公開します。各イベントは名前、distinct ID、workspaceId、オプションのプロパティを運びます。

createObservability を使って設定済みの分析クライアント経由でイベントをルーティングします。構造化プロパティは配信前にサニタイズされます。機密な自由記述テキストもイベント名やプロパティ値から外してください。

安全なコンテキストでエラーを報告する

ErrorClient は workspaceId タグと構造化された追加コンテキスト付きで例外を捕捉します。共有オブザーバビリティ層は、設定済みクライアントへ転送する前に例外と機密コンテキストをサニタイズします。

ローカルアダプターを使って、監視プロバイダーを呼ばずに捕捉されたイベントと例外を検証します。外部送信先を有効にする前に、ワークスペースタグが残り認証情報が除去されることをテストします。

タスク、ジョブ、Webhook 全体でリクエストを追跡します

エントリ境界は、元のリクエストをそれがトリガーする作業にリンクする corr_<uuid> 相関 ID を作成します。 AI タスクの送信では、タスク ペイロードと ai_task_submitted イベントに ID がスタンプされ、各請求 Webhook 受信者はリクエストごとに 1 つを作成し、スケジューラーはディスパッチされたジョブごとに 1 つを作成します。

同じ ID が、job.completed および ai_task_completed イベント プロパティ、captureException エクストラ、webhook_event レジャー ペイロード、および各 webhook_delivery ペイロード メタに影響を与えるため、サブスクライバーが受け取る署名付き本文内に配置されます。 ID の欠落または不正な形式は許容されます。コンシューマーは古い行を拒否する代わりに、新しい ID を作成します。

実際の障害に関するアラート

ALERT_WEBHOOK_URL を、JSON POST 形式の {text, name, severity, context}; を受け入れる任意の HTTPS エンドポイントに設定します。 Slack スタイルの受信 Webhook はそのまま機能します。アラートは 5 秒のタイムアウトを持つファイア アンド フォーゲットで、配信が失敗すると 1 つのコンソール警告がログに記録され、変数が設定されていない間はアラートが停止します。

出荷されるアラートは、job.failed (警告 - ジョブ ハンドラーがスローしたか、ジョブ タイプが不明) と webhook.delivery_failed (クリティカル - 送信配信が最後の試行後にターミナル障害に達した場合のみ。通常の再試行は行われず、各配信行で最大 1 回アラートが生成されます) です。

期間を測定し、構造化されたログをストリーミングする

serverObservability.measure は、元のエラーをマスクすることなく、非同期操作の時間を計測し、成功時と失敗時に、durationMs を伴う <name>.duration 分析イベントを発行します。 ai.task.execute ジョブの実行はすでにラップされているため、タスクの実行期間は構成された分析クライアント内に収まります。

serverObservability.logger は、レコードごとに JSON 行を環境フィールドとサービス ベース フィールドとともに stdout に書き込みます。共有編集レイヤーは、行が出力される前にシークレットを削除します。

よくある質問

14 件の質問

supastack とは何ですか?

supastack は AI SaaS 製品を構築するためのモジュラー基盤です。共通インフラをまとめて提供するので、製品固有の機能に集中できます。

Web とモバイルに対応していますか?

はい。supastack には Web とモバイル体験の出発点として Next.js アプリと Expo アプリが含まれています。

どの認証が含まれていますか?

Better Auth がメール/パスワード、OTP、ソーシャルログインをカバーします。個人ワークスペースはアカウントと一緒にプロビジョニングされ、初日からレコードが境界内に収まります。

AI はどうサポートされていますか?

supastack には設定可能なマルチプロバイダー AI、使用量追跡、予算、暗号化された自前キー(BYOK)サポートが含まれています。

サブスクリプションはどう管理されますか?

このキット上に構築された製品では、Stripe 課金・サブスクリプション・権限が有料アクセスの基盤になります。プロバイダーの秘密はサーバー側に留まります。

製品固有のコードはどこに置きますか?

製品固有の機能は別のコードベースに置き、製品側が supastack の基本モジュールを設定・統合します。

supastack の価格は?

キットは生涯アップデート付きの一回払いです:単一フレームワーク 249 ドル(期間限定のローンチ価格 — 通常価格 349 ドルから 100 ドル割引)、または全フレームワーク(Next.js・iOS・Android)499 ドル(期間限定のローンチ価格 — 通常価格 599 ドルから 100 ドル割引)、追加開発者シート 1 席 75 ドル。キットのサブスクリプションはありません。このサイトのチェックアウトはライセンスキーをメールで配信し、GitHub 招待でリポジトリアクセスを提供します。

ワークスペースはどうデータを囲いますか?

ユーザーレコードは workspaceId でスコープされます。認証、権限、AI 使用量、課金イベント、監査エントリは個人ワークスペースの境界内に留まります。

バックグラウンドジョブはどう機能しますか?

Trigger.dev が明示的なジョブランタイムです。JobRunner コントラクトは enqueue・status・cancel のみを約束し、ワークフロー意味論は Trigger.dev 固有で明示的です。

メールとアウトリーチの違いは?

トランザクションメールはタスク完了通知などの製品ワークフローをカバーします。コールドアウトリーチやキャンペーンは製品自身に属し、このキットのメールモジュールの外です。

モバイルの購入はどのように機能しますか?

モバイルでは RevenueCat によるネイティブ購入と復元に対応し、アクセス権をサーバーで検証します。公開前にストアアカウントを設定し、実機テストを完了してください。Web 課金は別に管理します。

AI プロバイダーのキーはどこにありますか?

BYOK 認証情報は暗号化され、サーバー側に留まります。キーはログでサニタイズされ、使用量と予算はワークスペースレベルで可視です。

チェックアウトで使える支払い方法は?

Stripe ホストのチェックアウトはカードを受け付け、Stripe アカウントでウォレットを有効にすれば Alipay と WeChat Pay も提供できます——中国の購入者に便利です。ウォレット認可は非同期で確定するため、決済完了と同時にライセンスページが更新されます。

返金を受けることはできますか?

リポジトリへのアクセス権を取得した後は、supastack は永久にあなたのものとなるため、返金はできません。ですがご安心ください。生涯アップデートを含む完全なソースコードを入手し、ご自身やクライアントのために無制限にプロダクトを構築・公開できます。コードの転売や、リポジトリをスターターキットやテンプレートとして再配布することのみ禁止されています。

JA
テーマ