40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
![]() |
# Opentracing
|
||
|
|
||
|
Using the third party module [rnburn/nginx-opentracing](https://github.com/rnburn/nginx-opentracing) the NGINX ingress controller can configure NGINX to enable [OpenTracing](http://opentracing.io) instrumentation.
|
||
|
By default this feature is disabled.
|
||
|
|
||
|
To enable the instrumentation we just need to enable the instrumentation in the configuration configmap and set the host where we should send the traces.
|
||
|
|
||
|
In the [aledbf/zipkin-js-example](https://github.com/aledbf/zipkin-js-example) github repository is possible to see a dockerized version of zipkin-js-example with the required Kubernetes descriptors.
|
||
|
To install the example and the zipkin collector we just need to run:
|
||
|
|
||
|
```
|
||
|
kubectl create -f https://raw.githubusercontent.com/aledbf/zipkin-js-example/kubernetes/kubernetes/zipkin.yaml
|
||
|
kubectl create -f https://raw.githubusercontent.com/aledbf/zipkin-js-example/kubernetes/kubernetes/deployment.yaml
|
||
|
```
|
||
|
|
||
|
Also we need to configure the NGINX controller configmap with the required values:
|
||
|
|
||
|
```yaml
|
||
|
apiVersion: v1
|
||
|
data:
|
||
|
enable-opentracing: "true"
|
||
|
zipkin-collector-host: zipkin.default.svc.cluster.local
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
labels:
|
||
|
k8s-app: nginx-ingress-controller
|
||
|
name: nginx-custom-configuration
|
||
|
```
|
||
|
|
||
|
Using curl we can generate some traces:
|
||
|
|
||
|
```console
|
||
|
$ curl -v http://$(minikube ip)/api -H 'Host: zipkin-js-example'
|
||
|
$ curl -v http://$(minikube ip)/api -H 'Host: zipkin-js-example'
|
||
|
```
|
||
|
|
||
|
In the zipkin inteface we can see the details:
|
||
|
|
||
|

|