Day12- GPT 陪我讀 Grafana OpenTelemetry
Day13- GPT 陪我讀 將 OpenTelemetry Collector 連接到 Grafana Cloud 資料庫
Day14- GPT 陪我讀 OpenTelemetry Collector Use Case 1 Fan out
經常地,應用程序在不同階段為指標、日誌和追踪進行了檢測。這意味著它們不總是被一致地標籤或標記。在工作負載附近有一個 OpenTelemetry Collector 實例允許 SRE 實施規則,確保應用程序生成的遙測資料遵循特定的模式,或包括所有所需的基本資訊,例如 pod 名稱、pod 命名空間、集群區域等。
示例配置:
extensions:
basicauth/traces:
client_auth:
username: "${TRACES_USER_ID}"
password: "${TOKEN}"
basicauth/metrics:
client_auth:
username: "${METRICS_USER_ID}"
password: "${TOKEN}"
receivers:
prometheus:
config:
scrape_configs:
- job_name: "my-service"
static_configs:
- targets: ["0.0.0.0:9090"]
otlp:
protocols:
grpc:
processors:
attributes:
actions:
- key: cluster
value: eu-west-1
action: upsert
metricstransform:
transforms:
- include: otelcol_process_uptime
action: update
operations:
- action: add_label
new_label: cluster
new_value: eu-west-1
exporters:
otlp/tempo:
endpoint: tempo-us-central1.grafana.net:443
auth:
authenticator: basicauth/traces
prometheusremotewrite:
endpoint: https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push
auth:
authenticator: basicauth/metrics
service:
extensions: [basicauth/traces, basicauth/metrics]
pipelines:
metrics:
receivers: [otlp, prometheus]
processors: [metricstransform]
exporters: [prometheusremotewrite]
traces:
receivers: [otlp]
processors: [attributes]
exporters: [otlp/tempo]
在遙測資料正規化的模式中,由於應用程序在不同階段進行了檢測,所以它們的標籤或標記可能不一致。利用 OpenTelemetry Collector,特別是當它接近工作負載時,SRE 可以制定和實施規則,確保從應用程序生成的遙測數據遵循特定的模式,並包含所有必要的基本信息,如 pod 名稱、pod 命名空間和集群區域等。這確保了數據的一致性和完整性,並提供了一個統一的遙測資料視圖。