Skip to main content

NGINX Plus

Plugin: go.d.plugin Module: nginxplus

Overview​

This collector monitors NGINX Plus servers.

This collector is supported on all platforms.

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Default Behavior​

Auto-Detection​

This integration doesn't support auto-detection.

Limits​

The default configuration for this integration does not impose any limits on data collection.

Performance Impact​

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Metrics​

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per NGINX Plus instance​

These metrics refer to the entire monitored application.

This scope has no labels.

Metrics:

MetricDimensionsUnit
nginxplus.client_connections_rateaccepted, droppedconnections/s
nginxplus.client_connections_countactive, idleconnections
nginxplus.ssl_handshakes_ratesuccessful, failedhandshakes/s
nginxplus.ssl_handshakes_failures_rateno_common_protocol, no_common_cipher, timeout, peer_rejected_certfailures/s
nginxplus.ssl_verification_errors_rateno_cert, expired_cert, revoked_cert, hostname_mismatch, othererrors/s
nginxplus.ssl_session_reuses_ratessl_sessionreuses/s
nginxplus.http_requests_raterequestsrequests/s
nginxplus.http_requests_countrequestsrequests
nginxplus.uptimeuptimeseconds

Per http server zone​

These metrics refer to the HTTP server zone.

Labels:

LabelDescription
http_server_zoneHTTP server zone name

Metrics:

MetricDimensionsUnit
nginxplus.http_server_zone_requests_raterequestsrequests/s
nginxplus.http_server_zone_responses_per_code_class_rate1xx, 2xx, 3xx, 4xx, 5xxresponses/s
nginxplus.http_server_zone_traffic_ratereceived, sentbytes/s
nginxplus.http_server_zone_requests_processing_countprocessingrequests
nginxplus.http_server_zone_requests_discarded_ratediscardedrequests/s

Per http location zone​

These metrics refer to the HTTP location zone.

Labels:

LabelDescription
http_location_zoneHTTP location zone name

Metrics:

MetricDimensionsUnit
nginxplus.http_location_zone_requests_raterequestsrequests/s
nginxplus.http_location_zone_responses_per_code_class_rate1xx, 2xx, 3xx, 4xx, 5xxresponses/s
nginxplus.http_location_zone_traffic_ratereceived, sentbytes/s
nginxplus.http_location_zone_requests_discarded_ratediscardedrequests/s

Per http upstream​

These metrics refer to the HTTP upstream.

Labels:

LabelDescription
http_upstream_nameHTTP upstream name
http_upstream_zoneHTTP upstream zone name

Metrics:

MetricDimensionsUnit
nginxplus.http_upstream_peers_countpeerspeers
nginxplus.http_upstream_zombies_countzombieservers
nginxplus.http_upstream_keepalive_countkeepaliveconnections

Per http upstream server​

These metrics refer to the HTTP upstream server.

Labels:

LabelDescription
http_upstream_nameHTTP upstream name
http_upstream_zoneHTTP upstream zone name
http_upstream_server_addressHTTP upstream server address (e.g. 127.0.0.1:81)
http_upstream_server_nameHTTP upstream server name

Metrics:

MetricDimensionsUnit
nginxplus.http_upstream_server_requests_raterequestsrequests/s
nginxplus.http_upstream_server_responses_per_code_class_rate1xx, 2xx, 3xx, 4xx, 5xxresponses/s
nginxplus.http_upstream_server_response_timeresponsemilliseconds
nginxplus.http_upstream_server_response_header_timeheadermilliseconds
nginxplus.http_upstream_server_traffic_ratereceived, sentbytes/s
nginxplus.http_upstream_server_stateup, down, draining, unavail, checking, unhealthystate
nginxplus.http_upstream_server_connections_countactiveconnections
nginxplus.http_upstream_server_downtimedowntimeseconds

Per http cache​

These metrics refer to the HTTP cache.

Labels:

LabelDescription
http_cacheHTTP cache name

Metrics:

MetricDimensionsUnit
nginxplus.http_cache_statewarm, coldstate
nginxplus.http_cache_iopsserved, written, bypassresponses/s
nginxplus.http_cache_ioserved, written, bypassbytes/s
nginxplus.http_cache_sizesizebytes

Per stream server zone​

These metrics refer to the Stream server zone.

Labels:

LabelDescription
stream_server_zoneStream server zone name

Metrics:

MetricDimensionsUnit
nginxplus.stream_server_zone_connections_rateacceptedconnections/s
nginxplus.stream_server_zone_sessions_per_code_class_rate2xx, 4xx, 5xxsessions/s
nginxplus.stream_server_zone_traffic_ratereceived, sentbytes/s
nginxplus.stream_server_zone_connections_processing_countprocessingconnections
nginxplus.stream_server_zone_connections_discarded_ratediscardedconnections/s

Per stream upstream​

These metrics refer to the Stream upstream.

Labels:

LabelDescription
stream_upstream_nameStream upstream name
stream_upstream_zoneStream upstream zone name

Metrics:

MetricDimensionsUnit
nginxplus.stream_upstream_peers_countpeerspeers
nginxplus.stream_upstream_zombies_countzombieservers

Per stream upstream server​

These metrics refer to the Stream upstream server.

Labels:

LabelDescription
stream_upstream_nameStream upstream name
stream_upstream_zoneStream upstream zone name
stream_upstream_server_addressStream upstream server address (e.g. 127.0.0.1:12346)
stream_upstream_server_nameStream upstream server name

Metrics:

MetricDimensionsUnit
nginxplus.stream_upstream_server_connections_rateforwardedconnections/s
nginxplus.stream_upstream_server_traffic_ratereceived, sentbytes/s
nginxplus.stream_upstream_server_stateup, down, unavail, checking, unhealthystate
nginxplus.stream_upstream_server_downtimedowntimeseconds
nginxplus.stream_upstream_server_connections_countactiveconnections

Per resolver zone​

These metrics refer to the resolver zone.

Labels:

LabelDescription
resolver_zoneresolver zone name

Metrics:

MetricDimensionsUnit
nginxplus.resolver_zone_requests_ratename, srv, addrrequests/s
nginxplus.resolver_zone_responses_ratenoerror, formerr, servfail, nxdomain, notimp, refused, timedout, unknownresponses/s

Alerts​

There are no alerts configured by default for this integration.

Setup​

Prerequisites​

Config API​

To configure API, see the official documentation.

Configuration​

File​

The configuration file name for this integration is go.d/nginxplus.conf.

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/nginxplus.conf

Options​

The following options can be defined globally: update_every, autodetection_retry.

Config options
NameDescriptionDefaultRequired
update_everyData collection frequency.1no
autodetection_retryRecheck interval in seconds. Zero means no recheck will be scheduled.0no
urlServer URL.http://127.0.0.1yes
timeoutHTTP request timeout.1no
usernameUsername for basic HTTP authentication.no
passwordPassword for basic HTTP authentication.no
proxy_urlProxy URL.no
proxy_usernameUsername for proxy basic HTTP authentication.no
proxy_passwordPassword for proxy basic HTTP authentication.no
methodHTTP request method.GETno
bodyHTTP request body.no
headersHTTP request headers.no
not_follow_redirectsRedirect handling policy. Controls whether the client follows redirects.nono
tls_skip_verifyServer certificate chain and hostname validation policy. Controls whether the client performs this check.nono
tls_caCertification authority that the client uses when verifying the server's certificates.no
tls_certClient TLS certificate.no
tls_keyClient TLS key.no

Examples​

Basic​

A basic example configuration.

Config
jobs:
- name: local
url: http://127.0.0.1

HTTP authentication​

Basic HTTP authentication.

Config
jobs:
- name: local
url: http://127.0.0.1
username: username
password: password

HTTPS with self-signed certificate​

NGINX Plus with enabled HTTPS and self-signed certificate.

Config
jobs:
- name: local
url: https://127.0.0.1
tls_skip_verify: yes

Multi-instance​

Note: When you define multiple jobs, their names must be unique.

Collecting metrics from local and remote instances.

Config
jobs:
- name: local
url: http://127.0.0.1

- name: remote
url: http://192.0.2.1

Troubleshooting​

Debug Mode​

To troubleshoot issues with the nginxplus collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m nginxplus

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.