Compétences distributed-tracing
📦

distributed-tracing

Sûr ⚡ Contient des scripts🌐 Accès réseau⚙️ Commandes externes

JaegerとTempoを使用した分散トレーシングの実装

マイクロサービスのデバッグは、サービス間のリクエストフローを可視化できないと困難です。このスキルは、JaegerとTempoを使用した分散トレーシングの実装を支援し、リクエストの追跡、ボトルネックの特定、サービス依存関係の把握を可能にします。

Prend en charge: Claude Codex Code(CC)
📊 70 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "distributed-tracing". Kubernetes上にJaegerをデプロイする手伝いをしてください

Résultat attendu:

Jaeger Operatorを使用してKubernetes上にJaegerをデプロイするお手伝いをします。まず、observability名前空間を作成し、オペレーターをデプロイします。次に、Elasticsearchストレージを使用した本番環境用のJaegerインスタンスを設定し、UI用のIngressを有効にします。

Utilisation de "distributed-tracing". Flaskアプリケーションにトレーシングを追加してください

Résultat attendu:

OpenTelemetryを使用してFlaskアプリケーションを計装します。必要なパッケージをインストールし、Jaegerエクスポーターでトレーサープロバイダーを初期化し、自動Flask計装を追加します。また、データベースクエリ用のカスタムスパンを作成する方法も示します。

Utilisation de "distributed-tracing". エラーのみをトレースするようにサンプリングを設定してください

Résultat attendu:

すべてのエラーを含むリクエストをトレースし、成功したリクエストは1パーセントのみサンプリングするカスタムサンプラーを設定します。このアプローチは、通常の操作からのオーバーヘッドを最小限に抑えながら、デバッグ用にすべての失敗をキャプチャします。

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
21
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

マイクロサービスのレイテンシ問題のデバッグ

Jaegerトレーシングをデプロイし、Python Flaskサービスを計装して、どのダウンストリーム呼び出しがAPI応答の遅延を引き起こしているかを特定します。

サービス依存関係のマッピング

Node.jsマイクロサービス全体に分散トレーシングを設定し、サービス依存関係グラフを可視化してリクエストフローパターンを理解します。

本番環境の可観測性の実装

GrafanaでTempoを設定し、サンプリング戦略を実装して、パフォーマンスのオーバーヘッドなしに本番環境でトレースを追跡します。

Essayez ces prompts

Kubernetes上でJaegerをセットアップ
Elasticsearchストレージを使用してKubernetesクラスター上にJaegerをデプロイする手伝いをしてください
Flaskアプリケーションの計装
Jaegerにトレースを送信するためにFlask APIにOpenTelemetry計装を追加してください
コンテキスト伝播の設定
Node.jsサービスがダウンストリームAPIを呼び出すときにトレースコンテキストを伝播する方法を教えてください
トレーシングオーバーヘッドの最適化
本番環境のGoサービスのアダプティブサンプリングを設定して、エラーをキャプチャしながらトレーシングオーバーヘッドを削減する手伝いをしてください

Bonnes pratiques

  • 本番環境では1〜10パーセントのサンプリングレートを使用して、パフォーマンスのオーバーヘッドを最小限に抑える
  • フィルタリングと分析を容易にするために、ユーザーIDやリクエストIDなどの意味のあるタグをスパンに追加する
  • メッセージキューや非同期ジョブを含むすべてのサービス境界を越えてトレースコンテキストを伝播する

Éviter

  • サンプリングなしで本番環境のトラフィックを100パーセントトレースすると、高いストレージコストとパフォーマンスへの影響が発生する
  • 細かい操作のために多くのスパンを作成しすぎると、有用な洞察なしにオーバーヘッドが追加される
  • パスワードやAPIキーなどの機密データをスパンタグに保存することは、セキュリティのベストプラクティスに違反する

Foire aux questions

JaegerとTempoの違いは何ですか?
Jaegerは独自のUIとクエリ機能を備えた完全な分散トレーシングシステムです。Tempoは、可視化のためにGrafanaと統合するように設計されたトレーシングバックエンドです。Tempoは、大規模なコスト効率の高いトレースストレージのためにS3などのオブジェクトストレージを使用します。
分散トレーシングはどれくらいのオーバーヘッドを追加しますか?
適切なサンプリングを使用すれば、分散トレーシングは通常1パーセント未満のCPUオーバーヘッドを追加します。主なコストは、スパンを送信するためのネットワーク帯域幅とトレースデータのストレージです。本番環境では1〜10パーセントのサンプリングレートを使用してください。
異なるプログラミング言語間でリクエストをトレースできますか?
はい。OpenTelemetryは、すべての主要な言語向けの計装ライブラリを提供し、標準的な伝播形式を使用します。すべてのサービスがトレースコンテキストヘッダーを伝播する限り、トレースはPython、Node.js、Go、Javaなどの言語間で機能します。
トレースとログをどのように関連付けますか?
現在のスパンコンテキストからトレースIDを抽出し、構造化フィールドとしてログエントリに追加します。これにより、トレースから関連ログにジャンプしたり、その逆を行ったりして、完全なリクエストの可視性が得られます。
どのようなサンプリング戦略を使用すべきですか?
高トラフィックのサービスには1パーセントの確率的サンプリングから始めてください。低トラフィックのサービスにはより高いレートを使用します。常にエラーをトレースし、成功したリクエストをより低いレートでサンプリングするアダプティブサンプリングを検討してください。
トレースデータをどれくらいの期間保持すべきですか?
ほとんどのチームはトレースを7〜30日間保持します。トレースは最近のデバッグには有用ですが、時間が経つにつれて価値が低下します。ストレージ予算とコンプライアンス要件に基づいて保持期間を設定してください。

Détails du développeur

Structure de fichiers

📄 SKILL.md