Learn about the Wavefront NGINX Plus Integration.

NGINX Plus Integration

NGINX Plus is a web server, load balancer and content cache built on top of open source NGINX.

This integration installs and configures Telegraf to send NGINX Plus server metrics into Wavefront. Telegraf is a light-weight server process capable of collecting, processing, aggregating, and sending metrics to a Wavefront proxy.

In addition to setting up the metrics flow, this integration also installs a dashboard. Here’s a preview of some charts in the NGINX Plus dashboard.

images/nginxp_dashboard.png

To see a list of the metrics for this integration, select the integration from https://github.com/influxdata/telegraf/tree/master/plugins/inputs.

NGINX Plus Setup

Note: This integration provides updated setup instructions and dashboard for NGINX Plus. For the previous setup instructions, see the NGINX Plus (Archived) integration in the Archived section.

Step 1. Ensure the HTTP API Module is Enabled

On each of your NGINX Plus hosts, make sure the ngx_http_api_module is enabled. In /etc/nginx/nginx.conf specify:

...
http {
...
  server {
    location /api {
      api write=on;
    }
  }
...
}
...

For details, see Module ngx_http_api_module docs.

Step 2. Install the Telegraf Agent

This integration uses the NGINX Plus input plugin for Telegraf to extract metrics from NGINX Plus.

Log in to your Wavefront instance and follow the instructions in the Setup tab to install Telegraf and a Wavefront proxy in your environment. If a proxy is already running in your environment, you can select that proxy and the Telegraf install command connects with that proxy. Sign up for a free trial to check it out!

Step 3. Enable the NGINX Plus input plugin

Create a file called nginxplus.conf in /etc/telegraf/telegraf.d and enter the following snippet:

   # Read Nginx Plus full API information (ngx_http_api_module)
   [[inputs.nginx_plus_api]]
     # Prefix to attach to the measurement name
     name_prefix = "nxp."
     # An array of Nginx API URLs to gather stats.
     urls = ["http://localhost/api"]
     # HTTP response timeout (default: 5s)
     response_timeout = "5s"

You may need to update http://localhost/api if you’ve configured the ngx_http_api_module on a different path.

A single Telegraf agent can poll multiple NGINX Plus instances for API information. Specify the addresses of the NGINX instances in the urls parameter:

urls = ["http://server1/api","http://server2/api","http://server3/api"]

Step 4. Restart Telegraf

Run sudo service telegraf restart to restart your Telegraf agent.