Distributed Tracing of Solr requests

Try out Solr with Jaeger

  • Follow quickstart 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.