JF91.OpenTelemetry.Net7
1.0.0
ใช้แพ็คเกจนี้เพื่อรวม OpenTelemetry เข้ากับ ASP.NET Web API ของคุณโดยใช้ appsettings.json
ทำตามขั้นตอนเหล่านี้เพื่อดำเนินการ:
dotnet add package JF91.OpenTelemetry
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddOpenTelemetryServices(builder.Configuration);
builder.Services.AddOpenTelemetryServices
(
builder.Configuration,
jaegerOptions =>
{
jaegerOptions.Enabled = true;
jaegerOptions.Endpoint = "http://www.test.com";
jaegerOptions.Protocol = JaegerProtocols.Http;
},
zipkinOptions =>
{
zipkinOptions.Enabled = true;
zipkinOptions.Endpoint = "http://www.test.com";
},
influxdbOptions =>
{
influxdbOptions.Enabled = true;
influxdbOptions.Url = "http://www.test.com";
influxdbOptions.Protocol = JaegerProtocols.Http;
},
new List>
{
otlp_one =>
{
otlp_one.Enabled = true;
otlp_one.Url = "http://www.test.com";
otlp_one.Protocol = OtlpProtocols.Http;
},
otlp_two =>
{
otlp_two.Enabled = true;
otlp_two.Url = "http://www.test2.com";
otlp_two.Protocol = OtlpProtocols.Grpc;
}
},
prometheusOptions =>
{
prometheusOptions.Enabled = true;
prometheusOptions.ScrapeEndpointPath = "/test";
prometheusOptions.ScrapeResponseCacheDurationMilliseconds = 1000;
}
);
ตัวอย่างที่ 1: ผู้ส่งออก OTLP 3 รายใน appsettings.json และตัวเลือกแบบกำหนดเอง 2 รายการจะแทนที่การส่งออก OTLP 2 รายการแรกใน appsettings.json จากตัวเลือกแบบกำหนดเอง 2 รายการแรก
ตัวอย่างที่ 2: ผู้ส่งออก OTLP 2 รายใน appsettings.json และตัวเลือกที่กำหนดเอง 3 รายการจะแทนที่ผู้ส่งออก OTLP 2 รายใน appsettings.json จากตัวเลือกที่กำหนดเอง 2 รายการแรก
app.Run();
app.AddOpenTelemetryExtensions();
appsettings.json
ของคุณและแก้ไขตามความต้องการของคุณ: "OpenTelemetrySettings": {
"EnableTraces": true,
"EnableMetrics": true,
"Exporters": {
"Console": {
"Enabled": true
},
"Jaeger": {
"Enabled": true,
"Endpoint": "http://localhost:14268/api/traces",
"Protocol": "udp"
},
"Zipkin": {
"Enabled": false,
"Endpoint": " https://localhost:9411/api/v2/spans"
},
"Prometheus": {
"Enabled": true,
"ScrapeEndpointPath": "/metrics-text",
"ScrapeResponseCacheDurationMilliseconds": 300
},
"InfluxDB": {
"Enabled": false,
"Url": "http://localhost:8086",
"Protocol": "http"
},
"Otlp": [
{
"Enabled": true,
"Url": "http://localhost:4317",
"Protocol": "grpc"
},
{
"Enabled": false,
"Url": "http://localhost:4317",
"Protocol": "http"
}
]
},
"Instrumentation": {
"Http": true,
"EfCore": false,
"Hangfire": false,
"SqlClient": false,
"Redis": false
}
}
Jaeger.โปรโตคอล: udp / http | ค่าเริ่มต้น => udp
[OtlpProtocols] > InfluxDB.Protocol: grpc / http | ค่าเริ่มต้น => grpc