Contents
            Open Telemetry¶
Logbee supports OpenTelemetry (OTEL) integration for both Traces and Logs.
Traces are stored as individual requests, identified by span_id. Logs sharing the same span_id are linked to the corresponding requests.
Uncorrelated logs are saved separately and grouped in 5-minute intervals.
Working examples can be found on the OpenTelemetry integrations page.
Endpoints¶
- https://api.logbee.net/open-telemetry/v1/traces
- https://api.logbee.net/open-telemetry/v1/logs
.Open Telemetry Collector¶
otel-collector-config.yaml¶
receivers:
  otlp:
    protocols:
      grpc:
      http:
processors:
  batch:
    timeout: 5s
    send_batch_size: 100
exporters:
  otlphttp/trace_exporter:
    endpoint: "https://api.logbee.net/open-telemetry"
    compression: none
  otlphttp/log_exporter:
    endpoint: "https://api.logbee.net/open-telemetry"
    compression: none
  debug:
    verbosity: detailed
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/trace_exporter, debug]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/log_exporter, debug]
.NET¶
.NET applications can use the OpenTelemetry.Exporter.OpenTelemetryProtocol exporter to send the logs and traces to Logbee.
Program.cs¶
using var loggerFactory = LoggerFactory.Create(builder =>
{
    builder.AddOpenTelemetry((opt) =>
    {
        opt.IncludeFormattedMessage = true;
        opt.IncludeScopes = true;
        opt.SetResourceBuilder(ResourceBuilder.CreateDefault()
            .AddAttributes(
            [
                new("LogBee.OrganizationId", "_OrganizationId_"),
                new("LogBee.ApplicationId", "_ApplicationId_")
            ]));
        opt
            .AddOtlpExporter(opt =>
            {
                opt.Endpoint = new Uri("https://api.logbee.net/open-telemetry/v1/logs");
                opt.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.HttpProtobuf;
                opt.ExportProcessorType = ExportProcessorType.Batch;
            });
    });
});
using var tracerProvider = Sdk.CreateTracerProviderBuilder()
    .ConfigureResource(res =>
        res.AddAttributes(
        [
            new("LogBee.OrganizationId", "_OrganizationId_"),
            new("LogBee.ApplicationId", "_ApplicationId_")
        ])
    )
    .AddSource("App")
    .AddOtlpExporter(opt =>
    {
        opt.Endpoint = new Uri("https://api.logbee.net/open-telemetry/v1/traces");
        opt.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.HttpProtobuf;
        opt.ExportProcessorType = ExportProcessorType.Batch;
    })
    .Build();
For technical support, questions or any feedback, please feel free to send us a message and we will get back to you.