Distributed Tracing of Solr requests

Try out Solr with Jaeger

  • Follow these instructions to deploy a Kubernetes cluster on Google Kubernetes Engine.

    git clone https://github.com/searchstackio/searchstack
    cd searchstack
    ./ingress.sh && ./jaeger.sh && kubectl apply -f jaeger.yaml
    gcloud compute disks create solr-pd --zone us-central1-a --size=200GB
    kubectl apply -f rook-nfs-gcloud.yml -f zk.yml -f solr.yml
  • Wait until all pods are running

    watch kubectl get pods --all-namespaces
    kubectl get ingress
  • Open the IP address shown for the jaeger-query ingress in your browser. If no IP is allocated, you might need to wait a while until Google Cloud Platform provisions a public IP address.

  • For initial tests, you might want to setup a 100% sampling rate of tracing requests. For this, forward your port using:

    kubectl port-forward pod/solr-0 8983:8983
  • Then (from another terminal):

    curl "http://localhost:8983/solr/admin/collections?action=CLUSTERPROP&name=samplePercentage&val=100"
  • Refresh your Jaeger UI and you’ll see Solr traces.

  • Try creating a multi-shard collection, sending some documents and queries and observe the corresponding traces.