Jaeger is not offered in Add Connection today. If you already have a Jaeger connection, it keeps working. Contact support with questions.
NOFire AI supports both self-hosted Jaeger instances and managed Jaeger deployments. For self-hosted instances, NOFire AI can connect securely using an AWS VPC PrivateLink. This keeps all traffic inside your network boundary.
Prerequisites
Before you connect Jaeger to NOFire AI, make sure that you have:- A running Jaeger instance (self-hosted or managed)
- Network access to your Jaeger Query Service from NOFire AI
- The Jaeger Query Service API endpoint (typically port 16686)
- Authentication credentials (if you use a reverse proxy)
Step 1: Check the Jaeger deployment
Option A: Self-hosted Jaeger
Check the Jaeger Query Service
Check the Jaeger Query Service
-
Check Jaeger Services: Make sure that all Jaeger components are running:
- Jaeger Agent: Receives spans from instrumented applications
- Jaeger Collector: Receives spans from agents and writes them to storage
- Jaeger Query Service: Provides the UI and API to retrieve traces
- Storage Backend: Cassandra, Elasticsearch, or in-memory storage
-
Open the Jaeger UI: go to the URL of your Jaeger Query Service:
-
Test API Access: Make sure that the Jaeger Query Service API is accessible:
The command returns a JSON response with a list of services.
-
Note Your Endpoint: Your Jaeger Query Service endpoint is:
For HTTPS, the endpoint is:
Option B: Kubernetes deployment
Access Jaeger in Kubernetes
Access Jaeger in Kubernetes
-
Check the deployment: make sure that Jaeger is running in your cluster:
-
Get the Jaeger Query Service: Find the service:
-
Expose the Jaeger Query Service (if it is not already exposed):
Option 1: LoadBalancer Service
Option 2: Ingress
-
Get the External Endpoint:
- For LoadBalancer:
kubectl get svc jaeger-query -n observability - For Ingress: Use the hostname configured in your ingress (for example,
https://jaeger.mycompany.com)
- For LoadBalancer:
Option C: Jaeger operator
Configure Jaeger Operator
Configure Jaeger Operator
-
Check the instance: if you use the Jaeger Operator, make sure that your Jaeger instance is running:
-
View the Jaeger Query Service:
-
Configure Ingress: If you configure it, the Jaeger Operator can create ingress routes automatically:
Step 2: Configure authentication (optional)
Jaeger Query Service does not have built-in authentication, but you can secure it using a reverse proxy.Setup Reverse Proxy with Authentication
Setup Reverse Proxy with Authentication
Step 3: Add Jaeger connection to NOFire AI
Understanding Jaeger data in NOFire AI
How NOFire AI Uses Jaeger Traces
How NOFire AI Uses Jaeger Traces
NOFire AI uses Jaeger traces to map your distributed system:
1. Service Dependency Mapping
- Automatically constructs service dependency graphs from trace data
- Identifies upstream and downstream dependencies
- Maps service communication patterns
2. Latency Analysis
- Analyzes span durations to identify slow operations
- Compares latencies across different services
- Detects performance regressions
3. Error Propagation Tracking
- Traces errors across service boundaries
- Identifies the origin of failures
- Maps how errors cascade through the system
4. Root Cause Analysis
- Correlates traces with logs and metrics
- Identifies which service caused an incident
- Provides evidence-based recommendations
Test the connection
- Open the Connections dashboard and make sure that the Jaeger connection status is READY. A connection that stays in an error state did not authenticate.
- Ask NOFire a question that needs traces, for example “show me the slowest traces for the checkout service in the last hour”. An answer that cites trace IDs confirms the connection works end to end.
Troubleshooting
Common Issues
Common Issues
Connection Timeout
If you have connection timeouts:- Make sure that your Jaeger Query Service is accessible from the NOFire AI network
- Make sure that port 16686 is open and accessible
- Make sure that firewall rules allow traffic from NOFire AI
- Test the connection:
curl http://your-jaeger-host:16686/api/services
Authentication Failed
If authentication fails:- Make sure that the username and password are correct (if you use basic auth)
- Make sure that the Authorization header is formatted correctly for bearer tokens
- Make sure that the reverse proxy is configured correctly
No Traces Found
If no traces appear:- Make sure that your applications are instrumented and send traces to Jaeger
- Make sure that traces appear in the Jaeger UI
- Make sure that the Jaeger Collector and Agent are running
- Make sure that the storage backend is working (Elasticsearch, Cassandra, and more)
- Make sure that the sampling configuration is not too aggressive
Incomplete Traces
If traces are incomplete or spans are missing:- Make sure that all services are instrumented correctly
- Make sure that context propagation headers pass between services
- Make sure that the Jaeger Agent has enough resources
- Review the trace sampling rates
SSL Certificate Errors
For HTTPS endpoints with SSL errors:- Make sure that your SSL certificate is valid and not self-signed (or add it to your trusted certificates)
- Make sure that the hostname in the URL matches the certificate
- Make sure that the certificate chain is complete
Best practices
- Security: Always use HTTPS and authentication for production deployments
- Sampling: Configure sampling rates that balance data volume and coverage
- Storage: Provide enough storage for your trace retention needs
- Performance: Monitor Jaeger component resources (Agent, Collector, Query)
- Instrumentation: Instrument all critical services for complete trace visibility
- Context Propagation: Make sure that services propagate trace context correctly across boundaries
- Network Security: Use VPC PrivateLink or VPN for secure connectivity to self-hosted instances
Configuration examples
Self-hosted Jaeger (no authentication)
Self-hosted Jaeger with basic auth
Kubernetes internal service
Jaeger with bearer token
Additional resources
- Jaeger Official Documentation
- Jaeger Operator Documentation
- OpenTelemetry Integration
- Jaeger Performance Tuning
Related documentation
- Tempo Integration - Alternative distributed tracing backend

