Skip to main content
Version: v0.55.0

Exporting Logs (OpenTelemetry)

Inspektor Gadget supports exporting logs to OpenTelemetry using the otlp-grpc exporter. You can log the events of any datasource by configuring exporters in the operator.otel-logs section of the config file like so:

operator:
otel-logs:
exporters:
my-log-exporter:
exporter: otlp-grpc
compression: gzip
endpoint: "127.0.0.1:4317"
insecure: true

This will configure an exporter named my-log-exporter with the given endpoint, gzip compression enabled and TLS disabled.

You can then run a gadget and activate the exporter for it by setting the --otel-logs-exporter=my-log-exporter flag.

Exporter settings​

exporter​

Currently we only support otlp-grpc.

compression​

Compression can be set to either "none" (no compression) or "gzip" (gzip compression).

endpoint​

IP address and port of the gRPC receiver.

insecure​

If set to true, the gRPC connection will not use TLS encryption. False by default.

Annotations​

Annotations can be used to define how logs should be generated from a datasource. Let's look at an example:

datasources:
open:
annotations:
logs.name: my-gadget
logs.severity: 13 # equals WARN severity and will be set for every event
logs.body: "file " + fname + " was opened by " + comm + " (PID " + string(pid) + ")"
fields:
timestamp:
logs.name: timestamp # this expects the field to contain the time in unix microseconds
## Alternatively, you could set the severity from a field of any int type like so:
# severity:
# logs.name: severity
## You can also set any string typed field as body for the log entry
# comm:
# logs.name: body