A Boundary plugin that collects metrics from an Nginx Free instance. This plugin is not intended for the Nginx Plus edition as other metrics are relevant and available there.
| OS | Linux | Windows | SmartOS | OS X |
|---|---|---|---|---|
| Supported | v | v | v | v |
- To install new meter go to Settings->Installation or see instructons.
- To upgrade the meter to the latest version - see instructons.
| Runtime | node.js | Python | Java |
|---|---|---|---|
| Required | + |
To collect statistics from nginx, it needs to built with the nginx HttpStubStatusModule. If you used a package manager to install Nginx, it should be compiled by default, if you built Nginx yourself, you may need to recompile it.
- To check if your nginx has been build with the nginx HttpStubStatusModule run the following command, which will display the modules that are compiled in your version of
nginx:
$ nginx -V
```
2. If the string --with-http_stub_status_module is in the output then the installed `nginx` includes the `HttpStubStatusModule`. If the string is not there, you will need to install a package that includes the module or compile a version that includes it. Information on installing and/or compiling `nginx` can found here: http://nginx.org/en/docs/install.html
nginx requires configuration to provide URL path which will present the nginx statistics.
-
Edit your default
/etc/nginx/conf.d/virtual.conffile (or whatever.conffile you are using) and add the following configuration in yourserver {}block:
location /nginx_status { # activate stub_status module stub_status on;
# do not log graphdat polling the endpoint
access_log off;
# restrict access to local only
allow 127.0.0.1;
deny all;
# optional, should be JSON by default
status_format json;
}
```
2. Ensure that a listen address is configured in /etc/nginx/conf.d/virtual.conf under the server {} block as well. An complete example that configures the HttpStubStatusModule is shown here:
```
server {
listen 8000;
location /nginx_status {
# activate stub_status module
stub_status on;
# do not log graphdat polling the endpoint
access_log off;
# restrict access to local only
allow 127.0.0.1;
deny all;
}
}
```
- Once you make the update, reload your nginx configuration:
$ sudo service nginx reload
- Run the following command, which shows the expected output:
$ curl http://localhost:8000/nginx_status Active connections: 1 server accepts handled requests 5 5 5 Reading: 0 Writing: 1 Waiting: 0
| Field Name | Description |
|---|---|
| Source | The Source to display in the legend for the nginx data. It will default to the hostname of the server |
| Statistics URL | The URL endpoint of where the nginx statistics are hosted. |
| Strict SSL | Use Strict SSL checking when HTTPS is enabled, enabled by default |
| Username | If the endpoint is password protected, what username should graphdat use when calling it. |
| Password | If the endpoint is password protected, what password should graphdat use when calling it. |
| Metric Name | Description |
|---|---|
| Nginx Active Connections | Active connections to nginx |
| Nginx Reads | Connections with Nginx reading request headers |
| Nginx Writes | Connections with Nginx reading request body, processing request or writing response to client. |
| Nginx Waiting | Keep-alive connections with Nginx in a wait state |
| Nginx Connections Handled | Connections handled by nginx |
| Nginx Connections Not Handled | Connections accepted, but not handled |
| Nginx Requests | Requests to nginx |
| Nginx Requests per Connection | Requests per handled connections for nginx |
- NGINX Free
http://nginx.org/en/docs/http/ngx_http_stub_status_module.html