Traces & Logs
Learn how to ingest OTEL traces & logs with groundcover
Last updated
Learn how to ingest OTEL traces & logs with groundcover
Last updated
groundcover fully supports the ingestion of traces and logs in the Open Telemetry format, displaying them natively in our UI.
OTLP Traces and Logs generated from Kubernetes pods can be ingested directly by our DaemonSet Sensor
. Ingestion is supported by changing the exporter endpoint to the Sensor
Service Endpoint, which will also enrich the received spans and logs with Kubernetes metadata (see below).
groundcover collects all logs inside your k8s cluster out of the box without the need for any additional setup, so in most cases ingesting OTLP logs from inside your Kubernetes cluster is not recommended as it will cause log duplications. Not sure? Contact us on Slack!
Use the instructions here to locate the endpoint for the Sensor service, referenced below as {GROUNDCOVER_SENSOR_ENDPOINT}
.
Change your deployments environments variables to the endpoint found above. This will redirect all traces and logs generated by the service to groundcover.
groundcover will automatically enrich traces and logs ingested with Kubernetes metadata, in order to provide as much context as possible.
groundcover follows OpenTelemetry's Semantic Conventions when naming the attributes.
Pod Level attributes:
k8s.namespace.name
- the namespace of the pod
k8s.node.name
- the node the pod is scheduled on
k8s.pod.name
- the name of the pod
k8s.pod.uid
- the UID of the pod
k8s.pod.ip
- the IP address of the pod at the time of the trace
k8s.cluster.name
- the Kubernetes cluster name
Container level attributes:
If the container.id
tag is provided with the container ID provided by the Container Runtime, the following tags will also be enriched:
container.name
- the name of the container
container.image.name
- the name of the container image
container.image.tag
- the tag of the container image
groundcover will replace the service.name
attribute indicating the name of the service with the name of the Kubernetes Deployment which is the owner of the pod. Keep this in mind when looking for your traces and logs in the system!
groundcover ships with an OpenTelemetry collector out of the box. If your services are configured to use an already existing OpenTelemetry collector, you can forward the traces and logs it collects to groundcover's collector using the OTLP exporter, specifying our collector as the endpoint.
Depending on your installation type, locate the endpoint for OTLP data referenced below as {GROUNDCOVER_OPENTELEMETRY_COLLECTOR_ENDPOINT}
.
Start by adding the needed exporter:
For traces forwarding, add the following to your traces pipeline:
For logs forwarding, add the following to your logs pipeline. Keep in mind that groundcover collects your logs out of the box, so this is redundant in most setups.