Zorka agent can send trace data to Zipkin and Jaeger collectors. Currently only Zipkin JSON format is supported, so for Jaeger it is necessary to enable Zipkin v2 API.
Configuring zipkin output
In order to configure zipkin output, add following entries to
tracer = yes tracer.output.zipkin = no tracer.output.zipkin.format = json tracer.output.zipkin.url = http://zipkin.mycompany.com:9411/api/v2/spans
Note that this works independently from ZICO output, so both outputs can be configured at once.
If ZICO is not enabled (
tracer.net = no) and only zipkin output is working, it is desirable to exclude all ordinary methods from tracer, so application will start up faster, add following entry to
tracer.exclude = **
Note that TLS support for Zipkin on HTTP seems to be a bit non-standard, it is probably not fully supported configuration. However, zorka agent still supports it.
Creating web server certificate and private key and configure it in
armeria.ssl sections of zipkin configuration:
openssl genrsa -out zipkin.mycompany.com.key 2048 openssl req -new -key zipkin.mycompany.com.key -subj '/CN=zipkin.mycompany.com' -out zipkin.mycompany.com.csr openssl x509 -req -in zipkin.mycompany.com.csr -CA ca.crt -CAkey ca.key -days 365 -out zipkin.mycompany.com.crt openssl pkcs12 -export -in zipkin.mycompany.com.crt -inkey zipkin.mycompany.com.key -name zipkin.mycompany.com -password pass:changeit -out zipkin.mycompany.com.p12
zorka.properties proper trust store and https url needs to be provided:
tracer.output.zipkin.url = https://zipkin.mycompany.com:9411/api/v2/spans tracer.output.zipkin.truststore = /path/to/myall/zorka/ca.jks tracer.output.zipkin.truststore.pass = changeit