I am unable to capture any traces. The UI never shows any activity.
I have signoz installed with kubernetes (by helm chart). I've also setup an ingress (with tls cert) to direct to ports 3301 for the UI and 4317 for the collector. The UI works fine opening on https. I also have test opentelemetry clients for .NET Core and python. My problem is that I so far can not see any traces in the UI.
As a test, if I wget the collector URL (
https://sigznos.api.myserver.local), I can see an error in the collector log, so can confirm the message is getting to the backend (I obviously don't expect it to generate a span).
Both client apps are instrumented and I can see the output in the console. For the .NET Core app, the only exporter when I see any activity in the log is ZipkinExporter.
Including/excluding this line makes no difference: AppContext.SetSwitch("
System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
Here's my .NET code:
static void Main(string[] args)
{
//AppContext.SetSwitch("
System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
using var tracer2Provider = Sdk.CreateTracerProviderBuilder()
.SetResourceBuilder(ResourceBuilder.CreateDefault())
.AddSource("MyTest.Console")
.AddAspNetCoreInstrumentation()
.SetResourceBuilder(ResourceBuilder.CreateDefault()
.AddTelemetrySdk())
.AddZipkinExporter(otlpOptions =>
{
otlpOptions.Endpoint = new Uri("
https://signoz.api.myserver.local");
otlpOptions.ExportProcessorType = ExportProcessorType.Simple;
})
.AddConsoleExporter()
.Build();
using (Activity activity = source.StartActivity("RunProgram"))
{
activity?.AddTag("CMA-app-Name", "MyTest.App.Name");
var program = new Program();
program.SigNozTest(); // Makes an http call to an API
}
Here's the output on the console:
Activity.TraceId: 14d3c904ec9ee6583014177882f9f590
Activity.SpanId: 9603d4cf46d8c592
Activity.TraceFlags: Recorded
Activity.ActivitySourceName: MyTest.Console
Activity.DisplayName: RunProgram
Activity.Kind: Internal
Activity.StartTime: 2022-06-01T00
4043.5888893Z
Activity.Duration: 00
0001.4237944
Activity.Tags:
CMA-app-Name: MyTest.App.Name
Resource associated with Activity:
telemetry.sdk.name: opentelemetry
telemetry.sdk.language: dotnet
telemetry.sdk.version: 1.3.0.498
service.name: MYTEST
application: MYTEST
The .NET app (code and trace above) generates this error in the collector log:
2022-05-31T23
0351.352Z warn zapgrpc/zapgrpc.go:191 [core] grpc: Server.Serve failed to create ServerTransport: connection error: desc = "transport: http2Server.HandleStreams received bogus greeting from client: \"POST / HTTP/1.1\\r\\nHost: s\"" {"grpc_log": true}
The python client app shows no sign of connecting to the backend. It's the sample flask app from
https://signoz.io/blog/opentelemetry-flask/ with the following env vars set:
OTEL_EXPORTER_OTLP_ENDPOINT="
https://signoz.api.myserver.local"
OTEL_EXPORTER_OTLP_INSECURE=true
OTEL_RESOURCE_ATTRIBUTES=service.name=my-flask-app
I've also tried setting OTEL_EXPORTER_OTLP_CERTIFICATE to the value of the cert.
The message I get on the flask console is:
Transient error StatusCode.UNAVAILABLE encountered while exporting span batch, retrying in 2s.
What am I missing?