Logfire
接続
ターミナルからLogfireを接続します。Logfireが受け付けるフラグは--helpで確認できます。
polylane integration connect --type logfireプロジェクトごとに2つのAPIキー、プロジェクトAPIキーと組織APIキーで、それぞれRead-only accessとManage project and orgを持つものです。
Pydantic Logfireを接続すると、エージェントがプロジェクトに届くトレース、ログ、メトリクスを問い合わせられるようになり、そのアラートは発火した瞬間にPolylaneに届きます。
セットアップ
Logfireは、クエリのアクセスをプロジェクトキーで、通知チャネルのアクセスを組織キーで発行するため、1つのプロジェクトの接続には両方が必要です。各プロジェクトは個別に接続します。組織キーは組織内のすべてのプロジェクトで再利用できます。
プロジェクトAPIキー(最初に入力)
- Logfireでプロジェクトを開き、Project settings、Security & access、New API keyの順に進みます
- Read-only accessとManage project and orgにチェックを入れ、Key typeをProjectのままにして、Create API keyをクリックします
- キーをPolylaneに貼り付けます。リージョン(USまたはEU)はキーのプレフィックスから検出され、Polylaneはキーが属するプロジェクトを表示します。
組織APIキー(2番目に入力)
- Project settingsからGo to org settings、Security & access、New API keyの順に進みます
- Read-only accessとManage project and orgにチェックを入れ、Key typeをOrganizationに設定して、Create API keyをクリックします
- キーをPolylaneに貼り付けます。Polylaneは、そのキーの組織が最初のキーで指定されたプロジェクトを所有していることを確認します。
各キーは貼り付けると同時にLogfireが受け付けたかどうかを表示し、両方が通るとConnectが使えるようになります。両方のキーは保存前に暗号化され、エージェントが目にすることはありません。
エージェントができること
- 期間内にプロジェクトへ報告したサービスを一覧する
- リクエスト数、エラー率、p50/p95レイテンシーでルートをランク付けする
- サービス、スパン名、ルート、レベル、例外フラグ、HTTPステータスでスパンとログを検索する
- 1つのトレースを、所要時間と例外メッセージ付きの親子スパンツリーとして開く
- 用意されたツールで質問に答えられない場合に、recordsとmetricsテーブルに対して読み取り専用のSQL文を1つ実行する
アラート
接続時に、Polylaneは自身をLogfireプロジェクトの通知チャネルとして追加し、そのチャネルをプロジェクトが持つすべてのアラートに紐付けます。すでに設定済みのチャネルには触れません。後で追加したアラートは1時間以内に取り込まれます。Logfireが発火する各アラートは、Polylaneが調査できるインシデントとして届きます。接続解除するとチャネルが取り除かれ、すべてのアラートから外されます。
すべてのクエリは最大7日間の期間にスコープされ、生のSQLの経路はSELECT文を1つだけ受け付けます。
2つのキーが必要な理由
プロジェクトキーは、エージェントが問い合わせるトレースとメトリクスを担います。Logfireはそのスコープを、1つのプロジェクトに紐付いたキーにしか発行しません。組織キーは、Polylaneがプロジェクトのアラートと既存の通知チャネルを読み、独自のチャネルを作成し(Logfireはチャネルを組織レベルで保持しており、プロジェクトキーではこれができないのはそのためです)、それを各アラートに紐付けることを可能にします。これにより、アラートは発火した瞬間にPolylaneに届き、インシデントを早期に開けます。
継続的な検証
Polylaneは保存された両方のキーを6時間ごとに検証し、Logfireがいずれかのキーを拒否した場合や、組織キーがプロジェクトを一覧しなくなった場合にインテグレーションにフラグを立てるため、取り消されたキーは調査で必要になる前に表面化します。
接続解除
PolylaneでLogfireを接続解除し、次にLogfireで、プロジェクトAPIキーをProject settings、Security & accessの順に進んで取り消し、組織APIキーをOrg settings、Security & accessの順に進んで取り消します。組織内の他のプロジェクトが接続されたままの場合は、組織キーは残してください。
接続解除
接続解除すると、すべての同期とチェックが停止し、Polylaneが保持していた認証情報が削除されます。 PolylaneがLogfireにセットアップしたものもすべて取り除かれ、何も残りません。
polylane integration disconnect <id>ツール
5エージェントがスレッドで実行できる操作です。