Created a deployment on Google Kubernetes using jaegertracing/all-in-one public image from Docker Hub
Then, exposed the deployment with Service type as LoadBalancer.
Now, launched the Jagger UI and it is working, but it do not show any service except jagger-query.
I have deployed my .net web api application for testing on kubernetes.
My application has only one single web API which is successfully running on Google Kubernetes engine and exposed via load balancer service type. The API has all the data hard-coded and do not call any other service or database.
Used following nuget packages in the project:
Jaeger -Version 0.2.2
OpenTracing.Contrib.NetCore -Version 0.5.0
I have added following code in Startup.cs file of my API:
services.AddSingleton<ITracer>(serviceProvider =>
{
//string serviceName = Assembly.GetEntryAssembly().GetName().Name;
string serviceName = serviceProvider.GetRequiredService<IHostingEnvironment>().ApplicationName;
ILoggerFactory loggerFactory = serviceProvider.GetRequiredService<ILoggerFactory>();
ISampler sampler = new ConstSampler(sample: true);
string jaegerHost = Environment.GetEnvironmentVariable("jaeger_host");
var reporter = new RemoteReporter.Builder()
.WithLoggerFactory(loggerFactory)
.WithSender(new UdpSender(jaegerHost, 6831, 0)) // todo:
.Build();
ITracer tracer = new Tracer.Builder(serviceName)
.WithLoggerFactory(loggerFactory)
.WithSampler(sampler)
.WithReporter(reporter)
.Build();
GlobalTracer.Register(tracer);
return tracer;
});
services.AddOpenTracing();
jaegerHost environment variable is assigned the IP of the jaeger service created.
The question is how and where to make changes so that my application service gets available in the Jaeger UI, so that I can see it's traces.
I am stuck here, can anyone please help how to proceed ahead?