Issues using pino-opentelemetry-transport while exporting to Grafana Loki
ziyak97 opened this issue · 3 comments
ziyak97 commented
I am running otel/opentelemetry-collector-contrib:latest using the following config
receivers:
otlp:
protocols:
grpc:
exporters:
logging:
verbosity: detailed
loki:
endpoint: "https://<my-endpoint>/loki/api/v1/push"
processors:
batch:
timeout: 5s
send_batch_size: 1024
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [logging, loki]
This sends my data to Grafana Loki. The logs i get on my otel/opentelemetry-collector-contrib:latest process is like this
logging-otel-collector-1 | 2023-08-12T20:19:14.962Z info ResourceLog #0
logging-otel-collector-1 | Resource SchemaURL:
logging-otel-collector-1 | Resource attributes:
logging-otel-collector-1 | -> service.name: Str(my-service)
logging-otel-collector-1 | -> telemetry.sdk.language: Str(nodejs)
logging-otel-collector-1 | -> telemetry.sdk.name: Str(opentelemetry)
logging-otel-collector-1 | -> telemetry.sdk.version: Str(1.15.2)
logging-otel-collector-1 | -> service.version: Str(1.2.3)
logging-otel-collector-1 | -> host.name: Str(PP-C5GQTT2HQK)
logging-otel-collector-1 | -> host.arch: Str(arm64)
logging-otel-collector-1 | -> os.type: Str(darwin)
logging-otel-collector-1 | -> os.version: Str(22.6.0)
logging-otel-collector-1 | ScopeLogs #0
logging-otel-collector-1 | ScopeLogs SchemaURL:
logging-otel-collector-1 | InstrumentationScope unknown
logging-otel-collector-1 | LogRecord #0
logging-otel-collector-1 | ObservedTimestamp: 2023-08-12 20:19:12.824999936 +0000 UTC
logging-otel-collector-1 | Timestamp: 2023-08-12 20:19:12.820999936 +0000 UTC
logging-otel-collector-1 | SeverityText: INFO
logging-otel-collector-1 | SeverityNumber: Info(9)
logging-otel-collector-1 | Body: Str(Hello World!)
logging-otel-collector-1 | Trace ID:
logging-otel-collector-1 | Span ID:
logging-otel-collector-1 | Flags: 0
logging-otel-collector-1 | {"kind": "exporter", "data_type": "logs", "name": "logging"}
However on My Grafana Loki dashboard there is no TraceId/Timestamp
{"body":"Hello World!","severity":"INFO","resources":{"host.arch":"arm64","host.name":"PP-C5GQTT2HQK","os.type":"darwin","os.version":"22.6.0","service.name":"my-service","service.version":"1.2.3","telemetry.sdk.language":"nodejs","telemetry.sdk.name":"opentelemetry","telemetry.sdk.version":"1.15.2"},"instrumentation_scope":{"name":"unknown"}}
i have no idea why this is happening any help would be appreciated!
My Javascript code -
const pino = require("pino");
const transport = pino.transport({
target: "pino-opentelemetry-transport",
});
const logger = pino(transport);
transport.on("ready", function () {
logger.info("Hello World!");
});
How i run my index.js
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=http://localhost:4317 OTEL_RESOURCE_ATTRIBUTES="service.name=my-service,service.version=1.2.3" node index.js
ziyak97 commented
When i check my table view I do get
Time, tsNs and id
However traceID is empty. I have no idea if this is populated by Grafana Loki or by pino. Either way traceID is empty not sure if that's normal or an issue
mcollina commented
You should report this to the pino-opentelemetry-transport module. It's maintained by a 3rd party and not by us.