Ship Zipkin traces
Zipkin-Logz.io Trace Storage is a storage option for Zipkin distributed traces on your Logz.io account. It functions as both a collector and a span store.
Note: This integration requires Logz.io API access. The Logz.io API is available for all Enterprise accounts. If you're on a Pro account, reach out to your account manager or the Sales team to request API access.
When you use the Zipkin 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 2 days or less
- Limit must be 1000 traces or less
To integrate Zipkin server and Logz.io
Run as a docker
If you don't have docker, install it first - instructions here
Run the docker with the the appropriate environment variables (no need to set STORAGE_TYPE env).
docker run -d -p 9411:9411 -e LOGZIO_ACCOUNT_TOKEN=<ACCOUNT-TOKEN> -e LOGZIO_API_TOKEN=<API-TOKEN> logzio/zipkin
1. Download Zipkin server and Zipkin-Logz.io Trace Storage
Download Zipkin server.
curl -sSL https://zipkin.io/quickstart.sh | bash -s
Download the latest Zipkin-Logz.io Trace Storage jar to the same directory.
curl -sSL https://jitpack.io/com/github/logzio/zipkin-logzio/zipkin-autoconfigure-storage-logzio/master-SNAPSHOT/zipkin-autoconfigure-storage-logzio-master-SNAPSHOT-module.jar > logzio.jar
2. Run Zipkin server with the Logz.io extension
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.
STORAGE_TYPE=logzio \ LOGZIO_ACCOUNT_TOKEN=<ACCOUNT-TOKEN> \ LOGZIO_LISTENER_HOST=<LISTENER-URL> \ LOGZIO_API_TOKEN=<API-TOKEN> \ LOGZIO_API_HOST=<API-URL> \ java -Dloader.path='logzio.jar,logzio.jar!lib' -Dspring.profiles.active=logzio -cp zipkin.jar org.springframework.boot.loader.PropertiesLauncher
Pro tip: You can optionally run two discrete Zipkin-Logzio Trace Storage instances if you want to separate shipping and reading of your traces. If you do, then the required fields change a bit from what's shown in the Parameters list:
- The shipping instance uses
- The reading instance uses
We wish there was a way to include this as a default. Alas, Zipkin needs it, so you'll need to include this bit.
Required when using as a collector to ship logs to Logz.io.
Required to read back traces from Logz.io.
Required to read back spans from Logz.io.
Time interval, in seconds, to send the traces accumulated on the disk.
Time interval, in seconds, to clean sent traces from the disk.
3. Check Logz.io for your traces
Give your traces some time to get from your system to ours, and then open Kibana.
If you still don't see your logs, see log shipping troubleshooting.
- Provide a docker for the integration
- Added some tests
- Updates to Zipkin 2.16 by vendoring internal code previously borrowed
- Update vulnerable dependencies
- Use better Zipkin libraries
- Much lighter jar file