Sebelum dapat melihat data jejak aplikasi Anda, Anda harus menggunakan klien untuk melaporkan data jejak ke konsol Managed Service for OpenTelemetry. Topik ini menjelaskan cara menggunakan SkyWalking .NET Core SDK untuk melaporkan data aplikasi .NET.
Prasyarat
Informasi latar belakang
SkyWalking adalah layanan pemantauan kinerja aplikasi (APM) populer yang dikembangkan di Tiongkok. SkyWalking dirancang untuk arsitektur mikro, cloud-native, dan berbasis kontainer seperti Docker, Kubernetes, dan Mesos. SkyWalking juga merupakan sistem pelacakan terdistribusi.
Contoh kode
Untuk informasi lebih lanjut tentang repositori contoh kode, lihat skywalking-demo di GitHub.
Gunakan SkyWalking untuk menginstrumentasi aplikasi .NET
Instal agen .NET.
Buka direktori root proyek .NET dan jalankan perintah berikut:
# Instal agen .NET. dotnet add package SkyAPM.Agent.AspNetCore # Tambahkan variabel lingkungan. export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore export SKYWALKING__SERVICENAME=<service-name>Konfigurasikan parameter agen .NET.
Hasilkan file skyapm.json.
Metode 1: Gunakan SkyAPM.DotNet.CLI untuk menghasilkan file skyapm.json.
dotnet tool install -g SkyAPM.DotNet.CLI # Konfigurasikan variabel lingkungan. Ganti /path/to dengan jalur aktual direktori .dotnet. export PATH="$PATH:/path/to/.dotnet/tools/" dotnet skyapm config <service-name> <endpoint>Metode 2: Buat file skyapm.json di direktori root proyek .NET dan salin konten berikut ke dalam file:
{ "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 } } } }Deskripsi Parameter
Parameter Wajib
<service-name>: Nama aplikasi.
<endpoint>: Titik akhir yang diperoleh di bagian "Prasyarat".
<token>: Token otentikasi yang diperoleh di bagian "Prasyarat".
Parameter Opsional
SamplePer3Secs: Jumlah sampel per tiga detik.
Percentage: Persentase pengambilan sampel. Misalnya, atur parameter ini ke 10 jika persentase pengambilan sampel adalah 10%.
Logging: Informasi logging yang digunakan untuk debugging. Level menentukan tingkat log. FilePath menentukan jalur dan nama file log.
Mulai ulang proyek .NET.
dotnet run
Lihat entri log lokal agen .NET. Saat proyek .NET berjalan, file skyapm-<date>.log akan dihasilkan di folder logs proyek .NET. Jika data jejak gagal dilaporkan, Anda dapat merujuk pada file skyapm-<date>.log untuk debugging.

Lampiran
Anda dapat menjalankan perintah berikut untuk membangun agen .NET berdasarkan kode sumber:
# Unduh kode sumber.
git clone https://github.com/SkyAPM/SkyAPM-dotnet.git
# Pergi ke direktori root.
cd SkyAPM-dotnet/
# Beralih ke tag tujuan.
git checkout [tagname]
git submodule init
git submodule update
dotnet restore
dotnet build src/SkyApm.Transport.Grpc.Protocol
dotnet build skyapm-dotnet.slnFAQ
Ketika saya menggunakan alat dotnet-skyapm untuk membuat file skyapm.json, pembuatan gagal dan pesan kesalahan yang ditunjukkan pada gambar berikut dikembalikan. Apa yang harus saya lakukan?
Solusi 1 (direkomendasikan): Alat dotnet-skyapm hanya digunakan untuk menghasilkan file skyapm.json untuk agen skyapm-dotnet. Anda dapat secara manual membuat file skyapm.json dan mengonfigurasi parameter relevan sesuai panduan di bagian sebelumnya.
Solusi 2: Gunakan dotnet 6.0.
