ローカルでOTelのトレースとログを確認するにはAspire Dashboardが便利
dockerコマンド一発で起動できて、ミニマムに必要なものが揃っていて良い。
https://gyazo.com/55688ea6facb9849dcf8a5881eb9964c
https://gyazo.com/d74bf0767ae80c84924d3c54dd9edbcf
右上にMCPのアイコンあるので、MCPサーバになる機能あるのかなって思ったけど動かなそうな雰囲気?
Standaloneだと使えない機能なのかも
使い方
dockerで起動
code: sh
docker run -d --name aspire-dashboard \
-p 18888:18888 \
-p 18889:18889 \
-p 18890:18890 \
mcr.microsoft.com/dotnet/aspire-dashboard:latest
デフォルトだとOTelのエンドポイントはUnsecuredで起動する
ログにログイン用のトークンを含んだURLがでるので、それからUIを開く
docker logs aspire-dashboard
環境変数でDASHBOARD__FRONTEND__AUTHMODE=Unsecuredとか指定すると認証無しにもできるっぽい?
アプリケーションの環境変数でexport先を指定
code:.env
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
Aspire-dashboardはhttp/jsonに対応していないので注意
と書いてあるんだが、自分のアプリケーションではgRPCだと動かなかった
アプリケーション側が原因の可能性が大だが、http/protobufだと動いたのでそれでよしとしている
他に見たツール
コレクタも内蔵されていて、コマンド一発で起動できて便利だが、TUIなのでちょっと使いづらいところがある
トレースが送れているか程度の確認だったらこれで十分だとは思う
Jaeger (all in one)
dockerで起動するタイプ
手元で確認するのにはちょっと重厚過ぎるかも
本番環境向けにセルフホストするならこれくらい必要なんだとは思うけど
雰囲気で使うにはちょっと難しい
あとJaegerはOTelのトレースだけを扱うツールで、ログに関しては見る機能が乏しい?
前試したときはall in oneに入っているGrafana経由で見た気がする
SigNoz (docker standalone)
動かしてみてはいないので詳細は分からない
dockerで起動するタイプ
Jaegerと同じくらい重厚そうに見えるが、ちょっとモダンか?