OpenTracing

Instrument NGINX with OpenTracing-compliant requests for a range of distributed tracing services, such as Zipkin, Jaeger and Datadog. Note that the opentracing module provides the framework for recording traces; you will also need to install a service-specific tracing module. This module (“tracer”) pushes traces to the collector and analyser provided by that service.

Note:
Since NGINX Plus Release 29, the OpenTelemetry module is available that incorporates the features of the OpenTracing module.

Installation

  1. Check the Technical Specifications page to verify that the module is supported by your operating system.

  2. Install the OpenTracing module package nginx-plus-module-opentracing.

    For Amazon Linux 2, CentOS, Oracle Linux, and RHEL:

    yum install nginx-plus-module-opentracing
    
    Note:
    the OpenTracing module cannot be installed on CentOS 6, Oracle Linux 6, and RHEL 6.

    For Amazon Linux 2023, AlmaLinux, Rocky Linux:

    dnf install nginx-plus-module-opentracing
    

    For Debian and Ubuntu:

    apt-get install nginx-plus-module-opentracing
    

    For SLES:

    zypper install nginx-plus-module-opentracing
    
    Note:
    the OpenTracing module cannot be installed on SLES 12.

    For Alpine:

    apk add nginx-plus-module-opentracing
    

    For FreeBSD:

    pkg install nginx-plus-module-opentracing
    

Configuration

After installation you will need to enable and configure the module in NGINX Plus configuration file nginx.conf.

  1. Enable dynamic loading of the module with the load_module directive specified in the top-level (“main”) context:

    load_module modules/ngx_http_opentracing_module.so;
    
  2. Perform additional configuration as required by the module. You will also need to install a tracer (“portable binary plugin”) for your selected service.

  3. Test the configuration and reload NGINX Plus to enable the module:

    nginx -t && nginx -s reload
    

More Info