diff --git a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc index 8a5298075..88f94e306 100644 --- a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc +++ b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc @@ -294,10 +294,8 @@ will listen for the Span data on whatever transport you provide via a Spring Cloud Stream `Binder` (e.g. include `spring-cloud-starter-stream-rabbit` for RabbitMQ, and similar starters exist for Redis and Kafka). The app will also be a -https://github.com/openzipkin/zipkin-java[Zipkin query server], so you -can point a standard Zipkin UI at it (e.g. run the consumer app on -port 9411 if you want the query server on the same host and the -default configuration). +https://github.com/openzipkin/zipkin-java[Zipkin server], which hosts +the UI and api on port 9411. The default `SpanStore` is in-memory (good for demos and getting started quickly). For a more robust solution you can add MySQL and @@ -485,4 +483,4 @@ subscribe events. To disable Spring Integration instrumentation, set `spring.sle === Zuul We're registering Zuul filters to propagate the tracing information (the request header is enriched with tracing data). -To disable Zuul support set the `spring.sleuth.zuul.enabled` property to `false`. \ No newline at end of file +To disable Zuul support set the `spring.sleuth.zuul.enabled` property to `false`. diff --git a/spring-cloud-sleuth-samples/README.adoc b/spring-cloud-sleuth-samples/README.adoc index 2c3aa37b2..602959205 100644 --- a/spring-cloud-sleuth-samples/README.adoc +++ b/spring-cloud-sleuth-samples/README.adoc @@ -10,7 +10,7 @@ There are a few samples with slightly different features. You can run all of the * `spring-cloud-sleuth-sample-stream`: same as vanilla sample, but exports span data to RabbitMQ using Spring Cloud Stream -* `spring-cloud-sleuth-sample-stream-zipkin`: a consumer for the span data on RabbitMQ that pushes it into a Zipkin span store, so it can be queried and visualized using the standard Zipkin UI. +* `spring-cloud-sleuth-sample-stream-zipkin`: a consumer for the span data on RabbitMQ that pushes it into a Zipkin span store, so it can be queried and visualized using the embedded Zipkin UI. * `spring-cloud-sleuth-sample-messaging`: a Spring Integration application with two HTTP endpoints ("/" and "/xform") @@ -20,10 +20,10 @@ The Ribbon sample makes an interesting demo or playground for learning about zip === Running samples with Zipkin -1. Optionally run the https://github.com/openzipkin/zipkin[Zipkin] UI, e.g. via docker compose (there's a `docker-compose.yml` in https://github.com/spring-cloud/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin[Spring Cloud Sleuth], or in https://github.com/openzipkin/docker-zipkin[Docker Zipkin] +1. Optionally run the https://github.com/openzipkin/zipkin[Zipkin] Server, e.g. via docker compose (there's a `docker-compose.yml` in https://github.com/spring-cloud/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin[Spring Cloud Sleuth], or in https://github.com/openzipkin/docker-zipkin[Docker Zipkin] 7. Run the zipkin sample application (set `sample.zipkin.enabled=false` if you have no Zipkin running). If you are using a VM to run docker you might need to tunnel port 9411 to localhost, or change the `spring.zipkin.baseUrl`. 8. Hit `http://localhost:3380`, `http://localhost:3380/call`, `http://localhost:3380/async` for some interesting sample traces (the app callas back to itself). -9. Goto `http://localhost:8080` for zipkin web (if you are using boot2docker the host will be different) +9. Go to `http://localhost:9411` for Zipkin's UI (if you are using boot2docker the host will be different) NOTE: You can see the zipkin spans without the UI (in logs) if you run the sample with `sample.zipkin.enabled=false`. @@ -37,8 +37,8 @@ Instead of POSTing trace data directly to a Zipkin server, you can export them o 1. Build the Zipkin Stream sample with Maven and run it via its `docker-compose.yml` (which also starts the required middleware and the Zipkin UI). 7. Run the `spring-cloud-sleuth-sample-stream` app and interact with it in a browser, just like the vanilla sample. If you are using a VM to run docker you might need to tunnel port 5672 to localhost, or change the `spring.rabbbitmq.host`. -9. Goto `http://localhost:8080` for zipkin web (if you are using a VM to run docker the host will be different). +9. Go to `http://localhost:9411` for Zipkin's UI (if you are using boot2docker the host will be different) The UI should look more or less like this: -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-sleuth/master/docs/src/main/asciidoc/images/zipkin-traces.png[Zipkin Web Screenshot] \ No newline at end of file +image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-sleuth/master/docs/src/main/asciidoc/images/zipkin-traces.png[Zipkin Web Screenshot] diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/README.md b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/README.md index d6cbc8074..c708acf8c 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/README.md +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/README.md @@ -1,6 +1,6 @@ -# Running a Zipkin Query Server +# Running a Zipkin Server -There are 4 parts to Zipkin: the instrumented client apps, the web UI, the backend database and the query server. The database for this implementation is MySQL. +There are 3 parts to Zipkin: the instrumented client apps, the backend database and the Zipkin server. The database for this implementation is MySQL. ## Zipkin Services @@ -35,5 +35,3 @@ You can run this app in an IDE and still use docker-compose to create the middle ``` $ docker-compose up rabbitmq mysql ``` - -The web UI cannot access the docker host though, so you have to run that separately, or just test against the query server directly on port 9411. diff --git a/spring-cloud-sleuth-zipkin-stream/README.md b/spring-cloud-sleuth-zipkin-stream/README.md index 4f55d7c20..ad34dbbe9 100644 --- a/spring-cloud-sleuth-zipkin-stream/README.md +++ b/spring-cloud-sleuth-zipkin-stream/README.md @@ -1,6 +1,6 @@ -# Running Zipkin a Query Server +# Running Zipkin Server -There are 4 parts to Zipkin: the instrumented client apps, the web UI, the backend database and the query server. The database for this implementation is MySQL. +There are 3 parts to Zipkin: the instrumented client apps, the backend database and the Zipkin server. The database for this implementation is MySQL. > There is a running instance on PWS: http://zipkin-web.cfapps.io. It is backed by a `zipkin-server` with a MySQL backend and RabbitMQ (Spring Cloud Stream) for span transport. @@ -8,7 +8,7 @@ There are 4 parts to Zipkin: the instrumented client apps, the web UI, the backe Depend on [Spring Cloud Sleuth Stream](https://github.com/spring-cloud-spring-cloud-sleuth). Bind to a rabbit service (or redis if you prefer - normal Spring Cloud Stream process). -## Query Server +## Zipkin Server Depend on `spring-cloud-sleuth-zipkin-stream` and enable the server: @@ -24,24 +24,11 @@ public class ZipkinStreamServerApplication { } ``` +Zipkin has a web UI, which is enabled by default when you depend on `io.zipkin:zipkin-ui`. + Bind to MySQL and the same Stream service that you did in the apps (rabbit, redis, kafka). Set `spring.datasource.initialize=true` the first time you start to initialize the database. Uses the `zipkin-server` library from the [OSS](https://github.com/openzipkin/zipkin-java) as well as `spring-cloud-sleuth-stream`. > NOTE: running in the "test" profile you don't need MySQL (the span store is in memory). You could even run in PWS without MySQL. -## Web UI in Cloud Foundry - -Get the jar from the [OSS](https://github.com/openzipkin/zipkin) and push it: - -``` -$ cf push zipkin-web -p zipkin-web/build/libs/zipkin-web*all.jar -``` - -It needs an environment variable to set the command line args: - -``` -$ cf set-env zipkin-web JBP_CONFIG_JAVA_MAIN '{arguments: "-zipkin.web.port=:\$PORT -zipkin.web.rootUrl=/ -zipkin.web.query.dest=zipkin-server.cfapps.io:80 -zipkin.web.resourcesRoot=."}' -``` - -NOTE: `JBP_CONFIG_JAVA_MAIN` only works with Java buildpack v3.2 and above (so not in PEZ Heritage right now).