すべてのユースケース

本番エラーの毎日の自動トリアージ

Zeroが毎朝SentryとAxiomから未解決エラーを取得し、重複を排除してスタックトレース付きのGitHub Issueを作成、適切なエンジニアに自動アサインします。

Zeroの接続先:SentryAxiomGitHub

Zeroが出力する結果

課題

毎朝、誰かがSentryを開き、未解決のエラーをスクロールし、どれが新しく、どれが重複で、どれが本当に深刻かを判断し、各エラーの担当者を決めなければなりません。それは実際の作業が始まる前の20〜30分の集中したエンジニアリング時間です。Zeroは午前8時45分に実行し、SentryとAxiomをチェックし、両方のソースで重複排除し、重要なエラーを選び、完全なスタックトレースが添付されたGitHub issueを開き、誰もがラップトップを開く前に各issueをアサインします。

Zeroによる解決方法

ステップ1:ツールを接続する

Sentry
Sentry
必須
ZeroがSentryの未解決エラーをクエリし、スタックトレースとイベントカウントを読みます。
接続
GitHub
GitHub
必須
Zeroが完全なエラー詳細を含む構造化されたGitHub issueを作成し、コードオーナーにアサインします。
接続
Axiom
Axiom
オプション
ZeroがAxiomのエラーログをクエリし、Sentryの発見とクロスリファレンスおよび重複排除します。任意ですが推奨。
接続

ステップ2:Zeroに聞く

@Zero 平日の毎朝8:45に、SentryとAxiomから過去24時間の未解決エラーを取得してください。ソース間で重複排除してください。5回以上発生したものについて、vm0-ai/vm0にスタックトレース付きのGitHub issueを作成し、関連するコードオーナーにアサインしてください。
ZeroがSentryとAxiomからエラーを取得
Zeroが指定された時間ウィンドウ内の未解決エラーについて両方のソースをクエリします。発生閾値を適用してノイズをフィルタリングし、実際に大規模に発生しているエラーに焦点を当てます。
ソース間でエラーを重複排除
同じエラーがSentryとAxiomの両方に異なるフォーマットで表示されることが多いです。Zeroが重複を特定し、両方のソースのデータを含む単一のレコードにマージします。
GitHub issueを作成してアサイン
条件を満たす各ユニークなエラーに対し、Zeroが完全なスタックトレース、発生回数、最初と最後の発生タイムスタンプを含む構造化されたGitHub issueを開き、そのコード領域を最も担当する可能性が高いエンジニアにアサインします。

ステップ3:さらに活用する

閾値を調整
ノイズを減らしたり、より多くの問題を検出するために発生フィルターを変更
@Zero 毎日の分類スケジュールを更新し、10回以上発生したエラーのみissueを作成してください。それ以下のものは#devにサマリーを投稿するだけにしてください。
モーニングブリーフィングに追加
プロダクトヘルスブリーフィングのユースケースと統合
@Zero 今日のエラー分類出力を#standupに投稿する9時のプロダクトヘルスブリーフィングに含めてください。
デプロイ後の安全チェック
プロダクションデプロイの直後に分類を実行
@Zero vm0-ai/vm0のmainにPRがマージされるたびに、15分待ってからSentryのエラーチェックを実行して新しいエラーを確認してください。

より良い結果のためのヒント

issue数を管理可能に保つために発生閾値を設定しましょう。5回以上が良い出発点です。ボリュームに応じて調整してください。
Sentryのプロジェクトタグまたは環境を使用して、Zeroのクエリをプロダクションのみに絞りましょう。ステージングは含めません。
プロダクトヘルスブリーフィングと連携させましょう:8:45に分類を実行し、9:00のブリーフィングに出力を含めれば、チームがすべてを一箇所で確認できます。