distributed-tracing について
distributed-tracingは、JaegerまたはZipkinでマイクロサービスのリクエスト追跡を構築するスキルです。リクエストの流れ、サービス依存関係、パフォーマンスのボトルネックを調べるのに役立ちます。
主な機能
- 01Jaegerのセットアップガイド
- 02Zipkin連携ガイド
- 03Expressトレーシングミドルウェア
- 04PythonとJaegerの連携
- 05分散コンテキストの伝播
活用シーン
- 01マイクロサービス間の連携をデバッグする
- 02パフォーマンスのボトルネックを特定する
- 03サービスをまたぐリクエストを追跡する
- 04障害の根本原因を調査する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill distributed-tracingインストール後、Claude Code で/distributed-tracingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/distributed-context-propagation.mdexpress-tracing-middleware.mdjaeger-setup.mdpython-jaeger-integration.mdzipkin-integration.mdscripts/validate-api.shtemplates/api-scaffold.yaml詳細
分散トレーシング
目次
概要
Jaeger または Zipkin を使用して分散トレーシングのインフラストラクチャを構築し、マイクロサービス間のリクエストを追跡してパフォーマンスのボトルネックを特定します。
使用する場面
- マイクロサービス間の連携のデバッグ
- パフォーマンスのボトルネックの特定
- リクエストフローの追跡
- サービス依存関係の分析
- 根本原因の分析
クイックスタート
最小限の動作例:
# docker-compose.yml
version: "3.8"
services:
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "5775:5775/udp"
- "6831:6831/udp"
- "16686:16686"
- "14268:14268"
networks:
- tracing
networks:
tracing:
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください。
| ガイド | 内容 |
|---|---|
| Jaeger のセットアップ | Jaeger のセットアップ、Node.js の Jaeger インストルメンテーション |
| Express トレーシングミドルウェア | Express トレーシングミドルウェア |
| Python Jaeger 統合 | Python Jaeger 統合 |
| 分散コンテキストの伝播 | 分散コンテキストの伝播 |
| Zipkin 統合 | Zipkin 統合、トレース分析 |
ベストプラクティス
✅ 推奨事項
- トラフィック量に応じて適切にサンプリングします
- サービス間でトレースコンテキストを伝播させます
- 意味のあるスパンタグを追加します
- スパンとともにエラーを記録します
- 一貫したサービス名を使用します
- トレースのレイテンシーを監視します
- トレース形式を文書化します
- インストルメンテーションを軽量に保ちます
❌ 禁止事項
- 本番環境で 100% サンプリングしないでください
- トレースコンテキストの伝播を省略しないでください
- スパンに機密データを記録しないでください
- 過剰な数のスパンを作成しないでください
- サンプリング設定を無視しないでください
- カーディナリティに上限のないタグを使用しないでください
- コレクションをテストせずにデプロイしないでください
コメント
Markdown 対応