Nginx Monitoring
Monitor Nginx performance, active connections, request throughput, and upstream health in real time with zero configuration.
Why monitor Nginx?
Nginx is the world's most popular reverse proxy and web server, handling billions of requests daily across the internet. Monitoring Nginx is critical to ensuring fast response times, detecting upstream failures, and maintaining high availability. Xitoring's Nginx integration provides deep visibility into your server's connection states, request rates, and performance metrics via the stub_status module.
What we monitor
Active Connections
Number of currently active client connections including waiting connections.
Accepts
Total number of accepted client connections since the server started.
Handled
Total number of handled connections. Usually equals accepts unless resource limits hit.
Requests
Total number of client requests processed by the server.
Reading
Number of connections where Nginx is reading the request header.
Writing
Number of connections where Nginx is writing the response back to the client.
Waiting
Number of keep-alive connections waiting for the next request.
Requests per Second
Rate of incoming requests calculated from total request count.
Connections per Second
Rate of new connections being accepted by the server.
Response Time
Average time taken to process and respond to client requests.
Configurable alert triggers
Set up custom triggers in your dashboard to get notified the moment Nginx metrics cross your defined thresholds.

Active Connections
warningFires when the number of active connections exceeds your threshold, indicating the server is under heavy load.
Waiting Connections
warningTriggers when waiting (keep-alive) connections exceed the threshold, which may indicate slow clients or upstream delays.
Requests per Second
criticalAlerts when request rate exceeds normal baselines, useful for detecting traffic surges or DDoS patterns.
Writing Connections
warningFires when too many connections are in the writing state, signaling potential response bottlenecks.
Dropped Connections
criticalTriggers when the difference between accepts and handled increases, indicating resource exhaustion.
Response Time
criticalAlerts when average response time crosses your defined limit, signaling degraded performance.
Importance of Nginx Monitoring
Nginx powers over 35% of all web servers globally and is the backbone of modern microservices architectures. Without proper monitoring, connection saturation, upstream failures, and performance degradation can go undetected.
- Detect connection saturation before users experience timeouts
- Identify upstream server failures and slow backends
- Prevent cascading failures in reverse proxy configurations
- Maintain SLA compliance with real-time performance visibility
- Optimize load balancing with connection state analytics


Why Choose Xitoring
Xitoring delivers enterprise-grade Nginx monitoring with zero-config setup. Our lightweight agent auto-discovers your Nginx instances, starts collecting metrics in under 60 seconds, and integrates with your existing notification channels.
- One-command install — no complex YAML or config files
- 15+ global monitoring nodes for low-latency checks
- Unified dashboard for servers, services, and uptime
- Flexible alerting via Slack, PagerDuty, Telegram & more
- Historical data retention for capacity planning & audits


Prerequisites for Nginx
Make sure you've got these in place — most installs are a 60-second job once they are.
- Nginx with the http_stub_status_module compiled in (verify with `nginx -V 2>&1 | grep stub_status`)
- An /nginx-status location block enabled and accessible from localhost
- Read access to the Nginx config and logs
Get started in minutes
Install Xitogent on your server
If you haven't already, install the lightweight Xitogent monitoring agent on your server.
curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEYEnable stub_status in Nginx
Add a `/nginx-status` location block to your Nginx configuration with `stub_status;` enabled and access restricted to localhost. Reload Nginx, then verify with `curl http://127.0.0.1/nginx-status`.
# In your Nginx server block:
location /nginx-status {
stub_status;
access_log off;
server_tokens on;
allow 127.0.0.1;
deny all;
}Enable the Nginx integration
Use the Xitoring dashboard or CLI to enable the Nginx integration. Xitogent will auto-detect your Nginx instance.
sudo xitogent integrateConfigure alert thresholds (optional)
Set custom thresholds for metrics like active connections, request rate, or response time to get notified when something needs attention.
Verify it's working
Run this command on the server to confirm Xitogent picked up the integration. Fresh metrics will start streaming to your dashboard within ~30 seconds.
sudo xitogent statusConsidering alternatives?
See how Xitoring stacks up against the alternatives for Nginx monitoring — flat pricing, deeper integrations, and one agent that covers your whole stack.
Frequently asked questions
Start monitoring Nginx today
Set up in under 60 seconds. No credit card required. Full metrics from day one.
Start Free Trial



