Reporters and collectors for use in Azure
Java Shell XSLT
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci
.github
.mvn/wrapper
autoconfigure
build-support
collector
src/etc
.gitignore
.settings.xml
LICENSE
README.md
RELEASE.md
appveyor.yml
mvnw
mvnw.cmd
pom.xml

README.md

Gitter chat Build Status Download

zipkin-azure

Shared libraries that provide Zipkin integration with Azure services. Requires JRE 6 or later.

Usage

These components provide Zipkin Senders and Collectors which build off interfaces provided by the zipkin-reporter-java and zipkin projects.

Senders

Collectors

Zipkin collectors receives and decodes span messages from a source. These spans are later stored.

Collector Description
Event Hub An alternative to Kafka.

Server integration

In order to integrate with zipkin-server, you need to use properties launcher to load your collector (or sender) alongside the zipkin-server process.

To integrate a module with a Zipkin server, you need to:

  • add a module jar to the loader.path
  • enable the profile associated with that module
  • launch Zipkin with PropertiesLauncher

Each module will also have different minimum variables that need to be set.

Ex.

$ java -Dloader.path='eventhub.jar,eventhub.jar!/lib' -Dspring.profiles.active=eventhub -cp zipkin.jar org.springframework.boot.loader.PropertiesLauncher

Example integrating the Azure Event Hub Collector

If you cannot use our Docker image, you can still integrate yourself by downloading a couple jars. Here's an example of integrating the Azure Event Hub Collector.

For Windows users Powershell is recommended.

Step 1: Download zipkin-server jar

Download the latest released server as zipkin.jar:

cd /tmp
curl -sSL https://zipkin.io/quickstart.sh | bash -s

Step 2: Download the latest eventhub-module jar

Download the latest released Event Hub module as eventhub.jar:

cd /tmp
curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.azure:zipkin-autoconfigure-collector-eventhub:LATEST:module eventhub.jar

Step 3: Run the server with the "eventhub" profile active

When you enable the "eventhub" profile, you can configure eventhub with short environment variables similar to other Zipkin integrations.

cd /tmp
EVENTHUB_CONNECTION_STRING=Endpoint=sb://< EventHub Address>;SharedAccessKeyName=<name>;SharedAccessKey=<key> \
EVENTHUB_STORAGE_CONNECTION_STRING=<connection string>;DefaultEndpointsProtocol=https;AccountName=<yourAccountName>;AccountKey=<yourAccountKey> \
java -Dloader.path='eventhub.jar,eventhub.jar!/lib' -Dspring.profiles.active=eventhub -cp zipkin.jar org.springframework.boot.loader.PropertiesLauncher

** NOTE: Make sure the parameters are defined in the same line or use environment variables **

Below command for powershell users:

cd /tmp
EVENTHUB_CONNECTION_STRING=Endpoint=sb://< EventHub Address>;SharedAccessKeyName=<name>;SharedAccessKey=<key>
EVENTHUB_STORAGE_CONNECTION_STRING=<connection string>;DefaultEndpointsProtocol=https;AccountName=<yourAccountName>;AccountKey=<yourAccountKey>
java '-Dloader.path=eventhub.jar,eventhub.jar!/lib' '-Dspring.profiles.active=eventhub' -cp zipkin.jar org.springframework.boot.loader.PropertiesLauncher