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.

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

  1. Download Zipkin server and Zipkin-Logz.io Trace Storage

    Download Zipkin server.

    wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
    

    Download the Zipkin-Logz.io Trace Storage jar to the same directory.

  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=<<SHIPPING-TOKEN>> \
    LOGZIO_LISTENER_HOST=<<LISTENER-HOST>> \
    LOGZIO_API_TOKEN=<<API-TOKEN>> \
    LOGZIO_API_HOST=<<API-URL>> \
    java -Dloader.path='zipkin-logzio.jar,zipkin-logzio.jar!lib' -Dspring.profiles.active=logzio -cp zipkin.jar org.springframework.boot.loader.PropertiesLauncher
    

    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

    STORAGE_TYPE=logzio
    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 when using as a collector to ship logs to Logz.io.
    Replace <<SHIPPING-TOKEN>> with the token of the account you want to ship to.
    LOGZIO_API_TOKEN
    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 listener.logz.io
    Replace <<LISTENER-HOST>> with your region’s listener host (for example, listener.logz.io). For more information on finding your account’s region, see Account region.
    LOGZIO_API_HOST 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 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 5
    Time interval, in seconds, to send the traces accumulated on the disk.
    CLEAN_SENT_TRACES_INTERVAL 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.