Skip to content
This repository has been archived by the owner on Sep 7, 2023. It is now read-only.

Latest commit

 

History

History
101 lines (71 loc) · 5.26 KB

README.md

File metadata and controls

101 lines (71 loc) · 5.26 KB

Deprecation note:

This project is archived and no longer maintained. Please refer to Logz.io's official documentation to learn more about the supported shipping methods.

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.

Limitations

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

You can either run as a docker or run as a java app.

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 STORAGE_TYPE=logzio, LOGZIO_ACCOUNT_TOKEN, and LOGZIO_LISTENER_HOST.
  • The reading instance uses STORAGE_TYPE=logzio, LOGZIO_API_TOKEN, and LOGZIO_API_HOST.

Parameters

Parameter Description
STORAGE_TYPE=logzio Required.
We wish there was a way to include this as a default. Alas, Zipkin needs it, so you'll need to include this bit.
LOGZIO_ACCOUNT_TOKEN Required.
Required when using as a collector to ship logs to Logz.io.
Replace <ACCOUNT-TOKEN> with the token of the account you want to ship to.
LOGZIO_API_TOKEN Required.
Required to read back traces from Logz.io.
Replace <API-TOKEN> with an API token from the account you want to use.
LOGZIO_LISTENER_HOST Default: listener.logz.io
Replace <LISTENER-URL> with your region's listener URL. For more information on finding your account's region, see Account region.
LOGZIO_API_HOST Default: api.logz.io
Required to read back spans from Logz.io.
Replace <API-URL> with your region's base API URL. For more information on finding your account's region, see Account region.
STRICT_TRACE_ID Default: true
Use false if your version of Zipkin server generates 64-bit trace IDs (version 1.14 or lower). If false, spans are grouped by the rightmost 16 characters of the trace ID. For version 1.15 or later, we recommend leaving the default.
SENDER_DRAIN_INTERVAL Default: 5
Time interval, in seconds, to send the traces accumulated on the disk.
CLEAN_SENT_TRACES_INTERVAL Default: 30
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.

Changelog

  • v0.0.4
    • Provide a docker for the integration
    • Added some tests
    • Updates to Zipkin 2.16 by vendoring internal code previously borrowed
  • v0.0.3
    • Update vulnerable dependencies
  • v0.0.2
    • Use better Zipkin libraries
    • Much lighter jar file