NGINX metrics

This document provides an explains how to monitor NGINX metrics using OTel Collector and SigNoz.

Pre-requisites

  • NGINX with stub_status module enabled

Setup

Step 1: Setup OTel Collector

OpenTelemetry Collector is required to collect metrics from NGINX. Please refer to the to setup the agent.

Step 2: Preparing NGINX

For the OpenTelemetry Collector to collect NGINX metrics, you need to enable the stub_status module and configure a status endpoint. The stub_status module in NGINX provides real-time server health metrics like active connections, handled requests, and connection states. Refer to this doc for setting up the NGINX stub_status module.

Step 3: Collecting NGINX metrics

You will need to configure the nginx receiver for collecting NGINX metrics. The receiver queries the NGINX status endpoint to collect performance metrics.

Step 4: Configuring the receiver

Edit the OTel Collector config file to configure the nginx receiver as shown below:

config.yaml
receivers:
  nginx:
    endpoint: "<nginx-status-endpoint>" # Example -> http://localhost:80/nginx_status
    collection_interval: 10s
    initial_delay: 1s
    timeout: 60s

Configuration parameters:

  • endpoint: The URL to the NGINX status page (required)
  • collection_interval: How often to collect metrics (default: 1m)
  • initial_delay: Delay before starting collection (default: 1s)
  • timeout: Request timeout (default: 10s)

You can find more details about the NGINX receiver configuration in the receiver documentation.

Step 5: Configuring the pipelines

Once the receiver and processor is configured, make sure to also enable them in the pipelines section of the OTel Collector config file:

config.yaml
service:
  pipelines:
    metrics:
      receivers: [nginx]
      processors: [resourcedetection, attributes]

Visualizing NGINX Metrics

Once you have configured OTel Collector to send NGINX metrics to SigNoz, you can start visualizing the metrics in the metrics explorer.

You can use the pre-configured dashboard for NGINX metrics which provides

Out of the Box NGINX Dashboard
Out of the Box NGINX Dashboard

Troubleshooting

Common Issues

  1. No metrics appearing in SigNoz

    • Verify NGINX status endpoint is accessible
    • Check OTel Collector logs for connection errors
    • Ensure firewall allows access to the status endpoint
  2. Permission denied errors

    • Check NGINX access restrictions on the status endpoint
    • Verify the IP address of OTel Collector is allowed
  3. Metrics showing zero values

    • Confirm NGINX is receiving traffic
    • Verify the status endpoint shows non-zero values
    • Check if NGINX was recently restarted (counters reset)

Last updated: July 19, 2025

Was this page helpful?