1.Collector: einen otlphttp-Exporter ergänzen
otel-collector.yaml
receivers:
otlp:
protocols:
http:
grpc:
filelog: # optional: pick up files as well
include: [/var/log/myapp/*.log]
exporters:
otlphttp/uptimeeye:
logs_endpoint: https://logs.uptimeeye.com/v1/ingest/otlp/v1/logs
compression: gzip
headers:
Authorization: "Bearer ${env:UPTIMEEYE_KEY}"
# optional: which attributes become stream fields (fast filters)
VL-Stream-Fields: "service.name,deployment.environment"
processors:
batch:
timeout: 2s
service:
pipelines:
logs:
receivers: [otlp, filelog]
processors: [batch]
exporters: [otlphttp/uptimeeye]2.SDKs: direkt per Umgebungsvariablen exportieren
Jedes OpenTelemetry-SDK (und der Java Agent) beachtet diese Variablen; der Service-Name wird zum Feld service.name.
environment
OTEL_SERVICE_NAME=checkout
OTEL_RESOURCE_ATTRIBUTES=deployment.environment=prod,team=payments
OTEL_LOGS_EXPORTER=otlp
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.uptimeeye.com/v1/ingest/otlp/v1/logs
OTEL_EXPORTER_OTLP_LOGS_HEADERS=Authorization=Bearer%20ue_ingest_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNote: Der Header-Wert in
OTEL_EXPORTER_OTLP_LOGS_HEADERS ist URL-kodiert, daher %20 für das Leerzeichen. Setz nur den _LOGS_-Endpoint, wenn Traces und Metriken woandershin gehen.3.Suchen
Filtere auf service.name:=checkout oder severity_text:=ERROR. Der Body des Log-Records ist die Nachricht, Attribute sind Felder.
Felder, die du bekommst
Diese Felder erscheinen im Panel „Felder“ und funktionieren in jedem Filter:
service.namedeployment.environmentund andere Resource-Attributeseverity_text/severity_numbertrace_id,span_id, wenn vorhanden- jedes Log-Attribut
Tipps
- Nimm
http/protobuf. gRPC bietet der Ingest-Endpoint nicht an. - Stream-Felder aus dem Header
VL-Stream-Fieldsmüssen in den Records vorkommen; üblich sindservice.nameunddeployment.environment. - Willst du neben
service.nameein schlichtes Feldservice, ergänz einentransform-Processor mitset(attributes["service"], resource.attributes["service.name"]).
FAQ
Kann ich denselben Endpoint für Traces und Metriken nutzen?
Nein – UptimeEye Logs nimmt nur Logs an. Richte
OTEL_EXPORTER_OTLP_LOGS_* auf UptimeEye und lass Traces/Metriken bei ihrem bisherigen Backend.Wo bekomme ich den Ingest-Key?
In der App unter API-Keys → Neuer API-Key → Typ „Log-Ingest“. Der Key beginnt mit
ue_ingest_ und wird nur einmal angezeigt. Management-Keys (ue_live_) lehnt der Ingest-Endpoint ab.Wie sehe ich, ob Logs ankommen?
Öffne Logs in der App, wähl den Zeitraum „15 Min.“ und such nach
service:=<your service>. Neue Zeilen sind nach etwa einer Sekunde durchsuchbar; Live-Tail zeigt sie mit etwa 6 s Verzögerung.Verwandte Seiten
KubernetesSende stdout/stderr aller Pods per Vector-DaemonSet mit Namespace, Container und Node an UptimeEye Logs.Spring Boot / JavaVier Wege für Spring-Boot- und Logback-Logs zu UptimeEye Logs: OpenTelemetry Java Agent, Structured Logging, Logback-JSON mit Agent oder Klartext-Upload..Node.jsSchick Node.js-Logs an UptimeEye Logs: JSON nach stdout mit pino für Container, ein HTTP-Batcher ohne Abhängigkeiten oder das OpenTelemetry Logs SDK..Logs durchsuchenJetzt, wo Zeilen ankommen: Filter, Felder, Zeiträume und Live-Tail.