Skip to content
This repository has been archived by the owner on Jan 8, 2024. It is now read-only.

Jaeger service not reachable from frontend #111

Closed
oguzcankirmemis opened this issue Dec 19, 2018 · 3 comments
Closed

Jaeger service not reachable from frontend #111

oguzcankirmemis opened this issue Dec 19, 2018 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@oguzcankirmemis
Copy link
Member

With this PR, I am sending trace logs successfully to jaeger-client, but the client does not seem to get it.
Tested with docker.

@oguzcankirmemis oguzcankirmemis added the bug Something isn't working label Dec 19, 2018
@arkocal
Copy link
Member

arkocal commented Jan 2, 2019

Have you seen this one: (python) jaegertracing/jaeger-client-python#47
I was able to run it with:
docker-compose.yml

version: '3.7'

services:
  jaeger:
    image: jaegertracing/all-in-one:1.8
    ports:
      - 5775:5775/udp
      - 6831:6831/udp
      - 6832:6832/udp
      - 5778:5778
      - 16686:16686
      - 14268:14268
      - 9411:9411
  ubuntu:
    image: oisp/debugger

main.py (almost the same as on the link)

import opentracing
import logging
import time
from jaeger_client import Config

if __name__ == "__main__":
    log_level = logging.DEBUG
    logging.getLogger('').handlers = []
    logging.basicConfig(format='%(asctime)s %(message)s', level=log_level)

    config = Config(
        config={ # usually read from some yaml config
            'sampler': {
                'type': 'const',
                'param': 1,
            },
            'local_agent': {
                'reporting_host': "jaeger",
                'reporting_port': 5775,
            },
            'logging': True,
        },
        service_name='my-app',
    )
    tracer = config.initialize_tracer()

    with opentracing.tracer.start_span('TestSpan') as span:
        span.log_event('test message', payload={'life': 42})

        with opentracing.tracer.start_span('ChildSpan', child_of=span) as child_span:
            span.log_event('down below')

    time.sleep(2)   # yield to IOLoop to flush the spans - https://github.com/uber/jaeger-client-python/i$
    tracer.close()  # flush any buffered spans

Can you check whether the javascript client supports the option? This is not recommended due to efficency reasons, but it should be OK for testing during integration, on k8s the sidecar setup works anyway.

@oguzcankirmemis
Copy link
Member Author

After some intensive looking, I found out that somehow the way Node.js sends the UDP packages are invalid for the port 5775 (this is really weird because in python it actually works like the way you described).
After some try and guess, I found the correct port for Node.js which is 6832. It is also interesting to note that if you use the port 6831, then the services gets logged, but spans do not reach to agent. Anyways, sorry it took a bit long to figure it out because of the poor documentation at the nodejs side of jaeger.
See this PR for the version that works with docker.

@oguzcankirmemis
Copy link
Member Author

Closing

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants