アプリケーションのトレースデータを表示するには、クライアントを使用してトレースデータを Managed Service for OpenTelemetry コンソールに報告する必要があります。このトピックでは、SkyWalking .NET Core SDK を使用して .NET アプリケーションデータを報告する方法について説明します。
前提条件
背景情報
SkyWalking は、中国で開発された一般的なアプリケーションパフォーマンス監視 (APM) サービスです。SkyWalking は、マイクロサービス、クラウドネイティブアーキテクチャ、および Docker、Kubernetes、Mesos などのコンテナベースのアーキテクチャ向けに設計されています。SkyWalking は分散トレーシングシステムでもあります。
サンプルコード
サンプルコードリポジトリの詳細については、GitHub の skywalking-demo を参照してください。
SkyWalking を使用して .NET アプリケーションをインストルメント化する
.NET エージェントをインストールします。
.NET プロジェクトのルートディレクトリに移動し、次のコマンドを実行します。
# .NET エージェントをインストールします。 dotnet add package SkyAPM.Agent.AspNetCore # 環境変数を追加します。 export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore export SKYWALKING__SERVICENAME=<service-name>.NET エージェントのパラメータを設定します。
skyapm.json ファイルを生成します。
方法 1: SkyAPM.DotNet.CLI を使用して skyapm.json ファイルを生成します。
dotnet tool install -g SkyAPM.DotNet.CLI # 環境変数を設定します。/path/to は .dotnet ディレクトリの実際のパスに置き換えます。 export PATH="$PATH:/path/to/.dotnet/tools/" dotnet skyapm config <service-name> <endpoint>方法 2: .NET プロジェクトのルートディレクトリに skyapm.json ファイルを作成し、次の内容をファイルにコピーします。
{ "SkyWalking": { "ServiceName": <service-name>, "Namespace": "", "HeaderVersions": [ "sw8" ], "Sampling": { "SamplePer3Secs": -1, "Percentage": -1.0, "LogSqlParameterValue": false }, "Logging": { "Level": "Information", "FilePath": "logs/skyapm-{Date}.log" }, "Transport": { "Interval": 3000, "ProtocolVersion": "v8", "QueueSize": 30000, "BatchSize": 3000, "gRPC": { "Servers": <endpoint>, "Authentication": <token>, "Timeout": 100000, "ConnectTimeout": 100000, "ReportTimeout": 600000 } } } }パラメータの説明
必須パラメータ
<service-name>: アプリケーション名。
<endpoint>: 「前提条件」セクションで取得したエンドポイント。
<token>: 「前提条件」セクションで取得した認証トークン。
オプションパラメータ
SamplePer3Secs: 3 秒あたりのサンプル数。
Percentage: サンプリング率。たとえば、サンプリング率が 10% の場合は、このパラメータを 10 に設定します。
Logging: デバッグに使用されるログ情報。Level はログレベルを指定します。FilePath はログファイルのパスと名前を指定します。
.NET プロジェクトを再起動します。
dotnet run
.NET エージェントのローカルログエントリを表示します。.NET プロジェクトが実行されると、.NET プロジェクトの logs フォルダに skyapm-<date>.log ファイルが生成されます。トレースデータの報告に失敗した場合は、デバッグのために skyapm-<date>.log ファイルを参照できます。

付録
ソースコードに基づいて .NET エージェントをビルドするには、次のコマンドを実行できます。
# ソースコードをダウンロードします。
git clone https://github.com/SkyAPM/SkyAPM-dotnet.git
# ルートディレクトリに移動します。
cd SkyAPM-dotnet/
# 目的のタグに切り替えます。
git checkout [tagname]
git submodule init
git submodule update
dotnet restore
dotnet build src/SkyApm.Transport.Grpc.Protocol
dotnet build skyapm-dotnet.slnFAQ
dotnet-skyapm ツールを使用して skyapm.json ファイルを作成すると、作成に失敗し、次の図に示すエラーメッセージが返されます。どうすればよいですか?
解決策 1 (推奨): dotnet-skyapm ツールは、skyapm-dotnet エージェントの skyapm.json ファイルを生成するためにのみ使用されます。前のセクションを参照して、skyapm.json ファイルを手動で作成し、関連パラメータを設定できます。
解決策 2: dotnet 6.0 を使用します。
