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.conf
file (or whatever.conf
file 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