Jaeger-Logz.io is a storage option for Jaeger. It allows Jaeger to store distributed traces on your Logz.io account.

This integration requires Logz.io API access. The Logz.io API is available for Pro and Enterprise accounts.

Limitations

When you use the Jaeger UI to find traces stored in Logz.io, there are a couple limitations. For most users, these won’t be an issue, but they’re still good to know:

  • Lookback must be 48 hours or less
  • Limit Results must be 1000 traces or less

These instructions cover deployment of all the necessary pieces (Jaeger agent, collector, and query service) in a single, all-in-one Docker container.

Deploy everything in a single container

Create a Docker network
docker network create net-logzio
Run the container

You can configure the Logz.io extension with shell variables or environment variables.

For a complete list of options, see the parameters below the code block. 👇

docker run -d \
  -e ACCOUNT_TOKEN=<<SHIPPING-TOKEN>> \
  -e API_TOKEN=<<API-TOKEN>> \
  --name=jaeger-logzio \
  --network=net-logzio \
  -p 5775:5775/udp \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 5778:5778 \
  -p 16686:16686 \
  -p 14268:14268 \
  -p 9411:9411 \
logzio/jaeger-logzio:latest
Environment variables
Parameter Description
ACCOUNT_TOKEN Required when using as a collector to ship traces to Logz.io.
Replace <<SHIPPING-TOKEN>> with the token of the account you want to ship to.
API_TOKEN Required to read back traces from Logz.io.
Replace <<API-TOKEN>> with an API token from the account you want to use.
REGION Two-letter region code, or blank for US East (Northern Virginia). This determnies your listener URL (where you’re shipping the logs to) and API URL.
You can find your region code in the Regions and URLs table.
GRPC_STORAGE_PLUGIN_LOG_LEVEL warn The lowest log level to send. From lowest to highest, log levels are trace, debug, info, warn, error.
Controls logging for Jaeger Logz.io Collector only (not Jaeger components).
Check Jaeger for your traces

Give your traces some time to get from your system to ours, and then open your Jaeger UI.

These instructions cover deployment of all the necessary pieces (Jaeger agent, collector, and query service) in separate containers.

This type of deployment is useful if you’ve already deployed Jaeger and just need to integrate Logz.io.

Deploy Jaeger components in separate containers

Create a Docker network
docker network create net-logzio
Run Jaeger Logz.io Collector

You can configure the Logz.io extension with shell variables or environment variables.

For a complete list of options, see the parameters below the code block. 👇

docker run -e ACCOUNT_TOKEN=<<SHIPPING-TOKEN>> \
  --network=net-logzio \
  --name=jaeger-logzio-collector \
  -p 14268:14268 \
  -p 9411:9411 \
  -p 14267:14267 \
  -p 14269:14269 \
  -p 14250:14250 \
logzio/jaeger-logzio-collector:latest
Environment variables
Parameter Description
ACCOUNT_TOKEN Required when using as a collector to ship traces to Logz.io.
Replace <<SHIPPING-TOKEN>> with the token of the account you want to ship to.
REGION Two-letter region code, or blank for US East (Northern Virginia). This determnies your listener URL (where you’re shipping the logs to).
You can find your region code in the Regions and URLs table.
GRPC_STORAGE_PLUGIN_LOG_LEVEL warn The lowest log level to send. From lowest to highest, log levels are trace, debug, info, warn, error.
Controls logging for Jaeger Logz.io Collector only (not Jaeger components).
Run Jaeger query
docker run --rm -e API_TOKEN=<<API-TOKEN>> \
  --network=net-logzio \
  -p 16686:16686 \
  -p 16687:16687 \
  --name=jaeger-logzio-query \
logzio/jaeger-logzio-query:latest
Environment variables
Parameter Description
API_TOKEN Required to read back traces from Logz.io.
Replace <<API-TOKEN>> with an API token from the account you want to use.
REGION Two-letter region code, or blank for US East (Northern Virginia). This determnies your API URL.
You can find your region code in the Regions and URLs table.
GRPC_STORAGE_PLUGIN_LOG_LEVEL warn The lowest log level to send. From lowest to highest, log levels are trace, debug, info, warn, error.
Controls logging for Jaeger Logz.io Collector only (not Jaeger components).
(If needed) Run Jaeger agent

You can run your own instance of Jaeger agent. If you’re not already running Jaeger agent, start it up with this command:

docker run --rm --name=jaeger-agent --network=net-logzio \
  -p5775:5775/udp \
  -p6831:6831/udp \
  -p6832:6832/udp \
  -p5778:5778/tcp \
  jaegertracing/jaeger-agent:latest \
  --reporter.tchannel.host-port=jaeger-logzio-collector:14267
Check Jaeger for your traces

Give your traces some time to get from your system to ours, and then open your Jaeger UI.