我正在使用帶有 OpenTelemetry 的 .Net 創建一個應用程式,用于收集指標、跟蹤。.Net 應用程式使用 Otlp 匯出器。此外,我還配置了一個收集器,它以 Otlp 作為接收器,Prometheus 作為指標的匯出器。
我在我的 .Net 應用程式中設定了 ServiceName(例如“OpenTelemetrySample”)并設定了一些屬性(例如 attributeA、attributeB)
services.AddOpenTelemetryMetrics(builder =>{
builder.SetResourceBuilder(ResourceBuilder.CreateDefault()
.AddService("OpenTelemetrySample")
.AddAttributes(new KeyValuePair<string, object>[]
{new("attributeA", "AAA"), new("attributeB", "BBB")}));
builder.AddMeter("opentelemetry-meter");
builder.AddOtlpExporter(otlpOptions =>
{otlpOptions.Endpoint = new Uri("http://localhost:4317");
});
});
然后我在代碼中使用了一些計數器:
static Meter myMeter = new("opentelemetry-meter", "1.0.0");
static Counter<int> myCounter = myMeter.CreateCounter<int>(name: $"test-counter",
unit: "Counter",
description: "The number of something");
...
myCounter.Add(2, new("custom.tagA", "tagValueA"), new("custom.tagB", "tagValueB"));
我在 PrometheusUI中看到的結果是: 這里 我希望在某處看到 service.name 和資源的屬性,但在 Prometheus UI 中找不到它們。
例如,相同的程序,當我通過收集器的控制臺匯出指標時,會在資源標簽部分顯示提到的屬性
控制臺輸出:
collector | 2022-02-15T13:01:40.968Z INFO loggingexporter/logging_exporter.go:56 MetricsExporter {"#metrics": 1}
collector | 2022-02-15T13:01:40.968Z DEBUG loggingexporter/logging_exporter.go:66 ResourceMetrics #0
collector | Resource labels:
collector | -> attributeA: STRING(AAA)
collector | -> attributeB: STRING(BBB)
collector | -> service.name: STRING(OpenTelemetrySample)
collector | -> service.instance.id: STRING(0f08e609-66e0-49a5-ad6d-44c8e3520bad)
collector | InstrumentationLibraryMetrics #0
collector | InstrumentationLibrary opentelemetry-meter 1.0.0
collector | Metric #0
collector | Descriptor:
collector | -> Name: test-counter
collector | -> Description: The number of something
collector | -> Unit: Counter
collector | -> DataType: Sum
collector | -> IsMonotonic: true
collector | -> AggregationTemporality: AGGREGATION_TEMPORALITY_CUMULATIVE
collector | NumberDataPoints #0
collector | Data point attributes:
collector | -> custom.tagA: STRING(tagValueA)
collector | -> custom.tagB: STRING(tagValueB)
collector | StartTimestamp: 2022-02-15 12:26:55.3992028 0000 UTC
collector | Timestamp: 2022-02-15 13:01:40.5841487 0000 UTC
collector | Value: 2
otel-collector-config.yaml
receivers:
otlp:
protocols:
grpc:
exporters:
logging:
loglevel: debug
jaeger:
endpoint: jaeger:14250
insecure: true
prometheus:
endpoint: "0.0.0.0:8889"
extensions:
health_check:
pprof:
zpages:
processors:
batch:
service:
extensions: [health_check,pprof,zpages]
pipelines:
traces:
receivers: [otlp]
exporters: [logging, jaeger]
processors: [batch]
metrics:
receivers: [otlp]
exporters: [logging, prometheus]
processors: [batch]
logs:
receivers: [otlp]
exporters: [logging]
processors: [batch]
普羅米修斯.yaml
scrape_configs:
- job_name: 'otel-collector'
scrape_interval: 5s
static_configs:
- targets: ['collector:8889']
尋找任何想法如何正確查找或匯出指標的正確資源標簽,謝謝
uj5u.com熱心網友回復:
默認情況下禁用資源屬性到指標標簽轉換。請更新 otel 配置以查看資源屬性是舞會 UI。
receivers:
otlp:
protocols:
grpc:
exporters:
logging:
loglevel: debug
jaeger:
endpoint: jaeger:14250
insecure: true
prometheus:
endpoint: "0.0.0.0:8889"
resource_to_telemetry_conversion:
enabled: true
extensions:
health_check:
pprof:
zpages:
processors:
batch:
service:
extensions: [health_check,pprof,zpages]
pipelines:
traces:
receivers: [otlp]
exporters: [logging, jaeger]
processors: [batch]
metrics:
receivers: [otlp]
exporters: [logging, prometheus]
processors: [batch]
logs:
receivers: [otlp]
exporters: [logging]
processors: [batch]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/424197.html
上一篇:確定任何屬性值是否不為null并與另一個串列中的值匹配
下一篇:保留關系的模型構建器種子資料
