Nginx integration metrics

The official Datadog integration for monitoring Nginx. It collects 245 metrics.

Official summary

Monitor connection and request metrics. Get more metrics with NGINX Plus.

Metric types

  • gauge (value at a point in time): 132
  • count (occurrences in the interval): 108
  • rate (per second): 5

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
nginx.cache.bypass.bytesThe total number of bytes read from the proxied servergaugebyte
nginx.cache.bypass.bytes_countThe total number of bytes read from the proxied server (shown as count)countbyte
nginx.cache.bypass.bytes_writtenThe total number of bytes written to the cachegaugebyte
nginx.cache.bypass.bytes_written_countThe total number of bytes written to the cache (shown as count)countbyte
nginx.cache.bypass.responsesThe total number of responses not taken from the cachegaugeresponse
nginx.cache.bypass.responses_countThe total number of responses not taken from the cache (shown as count)countresponse
nginx.cache.bypass.responses_writtenThe total number of responses written to the cachegaugeresponse
nginx.cache.bypass.responses_written_countThe total number of responses written to the cache (shown as count)countresponse
nginx.cache.coldA boolean value indicating whether the cache loader process is still loading data from disk into the cachegaugeresponse
nginx.cache.expired.bytesThe total number of bytes read from the proxied servergaugebyte
nginx.cache.expired.bytes_countThe total number of bytes read from the proxied server (shown as count)countbyte
nginx.cache.expired.bytes_writtenThe total number of bytes written to the cachegaugebyte
nginx.cache.expired.bytes_written_countThe total number of bytes written to the cache (shown as count)countbyte
nginx.cache.expired.responsesThe total number of responses not taken from the cachegaugeresponse
nginx.cache.expired.responses_countThe total number of responses not taken from the cache (shown as count)countresponse
nginx.cache.expired.responses_writtenThe total number of responses written to the cachegaugeresponse
nginx.cache.expired.responses_written_countThe total number of responses written to the cache (shown as count)countresponse
nginx.cache.hit.bytesThe total number of bytes read from the cachegaugebyte
nginx.cache.hit.bytes_countThe total number of bytes read from the cache (shown as count)countbyte
nginx.cache.hit.responsesThe total number of responses read from the cachegaugeresponse
nginx.cache.hit.responses_countThe total number of responses read from the cache (shown as count)countresponse
nginx.cache.max_sizeThe limit on the maximum size of the cache specified in the configurationgaugebyte
nginx.cache.miss.bytesThe total number of bytes read from the proxied servergaugebyte
nginx.cache.miss.bytes_countThe total number of bytes read from the proxied server (shown as count)countbyte
nginx.cache.miss.bytes_writtenThe total number of bytes written to the cachegaugebyte
nginx.cache.miss.bytes_written_countThe total number of bytes written to the cache (shown as count)countbyte
nginx.cache.miss.responsesThe total number of responses not taken from the cachegaugeresponse
nginx.cache.miss.responses_countThe total number of responses not taken from the cache (shown as count)countresponse
nginx.cache.miss.responses_writtenThe total number of responses written to the cachegaugeresponse
nginx.cache.miss.responses_written_countThe total number of responses written to the cachecountresponse
nginx.cache.revalidated.bytesThe total number of bytes read from the cachegaugebyte
nginx.cache.revalidated.bytes_countThe total number of bytes read from the cache (shown as count)countbyte
nginx.cache.revalidated.responsesThe total number of responses read from the cachegaugeresponse
nginx.cache.revalidated.responses_countThe total number of responses read from the cache (shown as count)countresponse
nginx.cache.sizeThe current size of the cachegaugeresponse
nginx.cache.stale.bytesThe total number of bytes read from the cachegaugebyte
nginx.cache.stale.bytes_countThe total number of bytes read from the cache (shown as count)countbyte
nginx.cache.stale.responsesThe total number of responses read from the cachegaugeresponse
nginx.cache.stale.responses_countThe total number of responses read from the cache (shown as count)countresponse
nginx.cache.updating.bytesThe total number of bytes read from the cachegaugebyte
nginx.cache.updating.bytes_countThe total number of bytes read from the cache (shown as count)countbyte
nginx.cache.updating.responsesThe total number of responses read from the cachegaugeresponse
nginx.cache.updating.responses_countThe total number of responses read from the cache (shown as count)countresponse
nginx.connections.acceptedThe total number of accepted client connections.gaugeconnection
nginx.connections.accepted_countThe total number of accepted client connections (shown as count).countconnection
nginx.connections.activeThe current number of active client connections.gaugeconnection
nginx.connections.droppedThe total number of dropped client connections.gaugeconnection
nginx.connections.dropped_countThe total number of dropped client connections (shown as count).countconnection
nginx.connections.idleThe current number of idle client connections.gaugeconnection
nginx.generationThe total number of configuration reloadsgaugerefresh
nginx.generation_countThe total number of configuration reloads (shown as count)countrefresh
nginx.limit_conn.passedThe total number of connections that were neither limited nor accounted as limited.countconnection
nginx.limit_conn.rejectedThe total number of connections that were rejected.countconnection
nginx.limit_conn.rejected_dry_runThe total number of connections accounted as rejected in the dry run mode.countconnection
nginx.limit_req.delayedThe total number of requests that were delayed.countrequest
nginx.limit_req.delayed_dry_runThe total number of requests accounted as delayed in the dry run mode.countrequest
nginx.limit_req.passedThe total number of requests that were neither limited nor accounted as limited.countrequest
nginx.limit_req.rejectedThe total number of requests that were rejected.countrequest
nginx.limit_req.rejected_dry_runThe total number of requests accounted as rejected in the dry run mode.countrequest
nginx.load_timestampTime of the last reload of configuration (time since Epoch).gaugemillisecond
nginx.location_zone.discardedThe total number of requests completed without sending a response.countrequest
nginx.location_zone.receivedThe total number of bytes received from clients.countbyte
nginx.location_zone.requestsThe total number of client requests received from clients.countrequest
nginx.location_zone.responses.1xxThe total number of responses with 1xx status codes.countresponse
nginx.location_zone.responses.2xxThe total number of responses with 2xx status codes.countresponse
nginx.location_zone.responses.3xxThe total number of responses with 3xx status codes.countresponse
nginx.location_zone.responses.4xxThe total number of responses with 4xx status codes.countresponse
nginx.location_zone.responses.5xxThe total number of responses with 5xx status codes.countresponse
nginx.location_zone.responses.codeThe total number of responses per each status code.countresponse
nginx.location_zone.responses.totalThe total number of responses sent to clients.countresponse
nginx.location_zone.sentThe total number of bytes sent to clients.countbyte
nginx.net.conn_dropped_per_sRate of connections dropped (Included with open source NGINX).rateconnection/second
nginx.net.conn_opened_per_sRate of connections opened (Included with open source NGINX).rateconnection/second
nginx.net.connectionsThe total number of active connections (Included with open source NGINX).gaugeconnection
nginx.net.readingThe number of connections reading client requests (Included with open source NGINX).gaugeconnection
nginx.net.request_per_sRate of requests processed. Measures both successful and failed requests (Included with open source NGINX).raterequest/second
nginx.net.waitingThe number of keep-alive connections waiting for work (Included with open source NGINX).gaugeconnection
nginx.net.writingThe number of connections waiting on upstream responses and/or writing responses back to the client (Included with open source NGINX).gaugeconnection
nginx.pidThe ID of the worker process that handled status request.gauge-
nginx.ppidThe ID of the master process that started the worker processgauge-
nginx.processes.respawnedThe total number of abnormally terminated and respawned child processes.gaugeprocess
nginx.processes.respawned_countThe total number of abnormally terminated and respawned child processes (shown as count).countprocess
nginx.requests.currentThe current number of client requests.gaugerequest
nginx.requests.totalThe total number of client requests.gaugerequest
nginx.requests.total_countThe total number of client requests (shown as count).countrequest
nginx.resolver.requests.addrThe total number of requests to resolve addresses to names.countrequest
nginx.resolver.requests.nameThe total number of requests to resolve names to addresses.countrequest
nginx.resolver.requests.srvThe total number of requests to resolve SRV records.countrequest
nginx.resolver.responses.formerrThe total number of FORMERR (Format error) responses.countresponse
nginx.resolver.responses.noerrorThe total number of successful responses.countresponse
nginx.resolver.responses.notimpThe total number of NOTIMP (Unimplemented) responses.countresponse
nginx.resolver.responses.nxdomainThe total number of NXDOMAIN (Host not found) responses.countresponse
nginx.resolver.responses.refusedThe total number of REFUSED (Operation refused) responses.countresponse
nginx.resolver.responses.servfailThe total number of SERVFAIL (Server failure) responses.countresponse
nginx.resolver.responses.timedoutThe total number of timed out requests.countrequest
nginx.resolver.responses.unknownThe total number of requests completed with an unknown error.countrequest
nginx.server_zone.discardedThe total number of requests completed without sending a response.gaugerequest
nginx.server_zone.discarded_countThe total number of requests completed without sending a response (shown as count).countrequest
nginx.server_zone.processingThe number of client requests that are currently being processed.gaugerequest
nginx.server_zone.receivedThe total amount of data received from clients.gaugebyte
nginx.server_zone.received_countThe total amount of data received from clients (shown as count).countbyte
nginx.server_zone.requestsThe total number of client requests received from clients.gaugerequest
nginx.server_zone.requests_countThe total number of client requests received from clients (shown as count).countrequest
nginx.server_zone.responses.1xxThe number of responses with 1xx status code.gaugeresponse
nginx.server_zone.responses.1xx_countThe number of responses with 1xx status code (shown as count).countresponse
nginx.server_zone.responses.2xxThe number of responses with 2xx status code.gaugeresponse
nginx.server_zone.responses.2xx_countThe number of responses with 2xx status code (shown as count).countresponse
nginx.server_zone.responses.3xxThe number of responses with 3xx status code.gaugeresponse
nginx.server_zone.responses.3xx_countThe number of responses with 3xx status code (shown as count).countresponse
nginx.server_zone.responses.4xxThe number of responses with 4xx status code.gaugeresponse
nginx.server_zone.responses.4xx_countThe number of responses with 4xx status code (shown as count).countresponse
nginx.server_zone.responses.5xxThe number of responses with 5xx status code.gaugeresponse
nginx.server_zone.responses.5xx_countThe number of responses with 5xx status code (shown as count).countresponse
nginx.server_zone.responses.codeThe total number of responses per each status code, tagged with status code number.countresponse
nginx.server_zone.responses.totalThe total number of responses sent to clients.gaugeresponse
nginx.server_zone.responses.total_countThe total number of responses sent to clients (shown as count).countresponse
nginx.server_zone.sentThe total amount of data sent to clients.gaugebyte
nginx.server_zone.sent_countThe total amount of data sent to clients (shown as count).countbyte
nginx.slab.pages.freeThe current number of free memory pagesgaugepage
nginx.slab.pages.usedThe current number of used memory pagesgaugepage
nginx.slab.slot.failsThe number of unsuccessful attempts to allocate memory of specified sizegaugerequest
nginx.slab.slot.fails_countThe number of unsuccessful attempts to allocate memory of specified size (shown as count)countrequest
nginx.slab.slot.freeThe current number of free memory slotsgauge-
nginx.slab.slot.reqsThe total number of attempts to allocate memory of specified sizegaugerequest
nginx.slab.slot.reqs_countThe total number of attempts to allocate memory of specified size (shown as count)countrequest
nginx.slab.slot.usedThe current number of used memory slotsgauge-
nginx.ssl.handshakesThe total number of successful SSL handshakes.gauge-
nginx.ssl.handshakes_countThe total number of successful SSL handshakes (shown as count).count-
nginx.ssl.handshakes_failedThe total number of failed SSL handshakes.gauge-
nginx.ssl.handshakes_failed_countThe total number of failed SSL handshakes (shown as count).count-
nginx.ssl.session_reusesThe total number of session reuses during SSL handshake.gauge-
nginx.ssl.session_reuses_countThe total number of session reuses during SSL handshake (shown as count).count-
nginx.stream.limit_conn.passedThe total number of connections that were neither limited nor accounted as limited.countconnection
nginx.stream.limit_conn.rejectedThe total number of connections that were rejected.countconnection
nginx.stream.limit_conn.rejected_dry_runThe total number of connections accounted as rejected in the dry run mode.countconnection
nginx.stream.server_zone.connectionsThe total number of connections accepted from clientsgaugeconnection
nginx.stream.server_zone.connections_countThe total number of connections accepted from clients (shown as count)countconnection
nginx.stream.server_zone.discardedThe total number of requests completed without sending a response.gaugerequest
nginx.stream.server_zone.discarded_countThe total number of requests completed without sending a response (shown as count).countrequest
nginx.stream.server_zone.processingThe number of client requests that are currently being processed.gaugerequest
nginx.stream.server_zone.receivedThe total amount of data received from clients.gaugebyte
nginx.stream.server_zone.received_countThe total amount of data received from clients (shown as count).countbyte
nginx.stream.server_zone.sentThe total amount of data sent to clients.gaugebyte
nginx.stream.server_zone.sent_countThe total amount of data sent to clients (shown as count).countbyte
nginx.stream.server_zone.sessions.2xxThe number of responses with 2xx status code.gaugesession
nginx.stream.server_zone.sessions.2xx_countThe number of responses with 2xx status code (shown as count).countsession
nginx.stream.server_zone.sessions.4xxThe number of responses with 4xx status code.gaugesession
nginx.stream.server_zone.sessions.4xx_countThe number of responses with 4xx status code (shown as count).countsession
nginx.stream.server_zone.sessions.5xxThe number of responses with 5xx status code.gaugesession
nginx.stream.server_zone.sessions.5xx_countThe number of responses with 5xx status code (shown as count).countsession
nginx.stream.server_zone.sessions.totalThe total number of responses sent to clients.gaugesession
nginx.stream.server_zone.sessions.total_countThe total number of responses sent to clients (shown as count).countsession
nginx.stream.upstream.peers.activeThe current number of connectionsgaugeconnection
nginx.stream.upstream.peers.backupA boolean value indicating whether the server is a backup server.gauge-
nginx.stream.upstream.peers.connect_timeThe average time to connect to this server.gaugemillisecond
nginx.stream.upstream.peers.connectionsThe total number of client connections forwarded to this server.gaugeconnection
nginx.stream.upstream.peers.connections_countThe total number of client connections forwarded to this server (shown as count).countconnection
nginx.stream.upstream.peers.downstartThe time (time since Epoch) when the server became "unavail" or "checking" or "unhealthy"gaugemillisecond
nginx.stream.upstream.peers.downtimeTotal time the server was in the "unavail" or "checking" or "unhealthy" states.gaugemillisecond
nginx.stream.upstream.peers.downtime_countTotal time the server was in the "unavail" or "checking" or "unhealthy" states.countmillisecond
nginx.stream.upstream.peers.failsThe total number of unsuccessful attempts to communicate with the server.gaugeerror
nginx.stream.upstream.peers.fails_countThe total number of unsuccessful attempts to communicate with the server (shown as count).counterror
nginx.stream.upstream.peers.first_byte_timeThe average time to receive the first byte of data from this server.gaugemillisecond
nginx.stream.upstream.peers.health_checks.checksThe total number of health check requests made.gaugerequest
nginx.stream.upstream.peers.health_checks.checks_countThe total number of health check requests made (shown as count).countrequest
nginx.stream.upstream.peers.health_checks.failsThe number of failed health checks.gaugeerror
nginx.stream.upstream.peers.health_checks.fails_countThe number of failed health checks (shown as count).counterror
nginx.stream.upstream.peers.health_checks.last_passedBoolean indicating if the last health check request was successful and passed tests.gauge-
nginx.stream.upstream.peers.health_checks.unhealthyHow many times the server became unhealthy (state "unhealthy").gauge-
nginx.stream.upstream.peers.health_checks.unhealthy_countHow many times the server became unhealthy (state "unhealthy") (shown as count).count-
nginx.stream.upstream.peers.idThe ID of the server.gauge-
nginx.stream.upstream.peers.max_connsThe max_conns limit for the server.gaugeconnection
nginx.stream.upstream.peers.receivedThe total number of bytes received from this server.gaugebyte
nginx.stream.upstream.peers.received_countThe total number of bytes received from this server (shown as count).countbyte
nginx.stream.upstream.peers.response_timeThe average time to receive the last byte of data from this server.gaugemillisecond
nginx.stream.upstream.peers.response_time_histogramThe average time to receive the last byte of data from this server as a histogram.gaugemillisecond
nginx.stream.upstream.peers.response_time_histogram.avggaugemillisecond
nginx.stream.upstream.peers.response_time_histogram.countratemillisecond
nginx.stream.upstream.peers.response_time_histogram.maxgaugemillisecond
nginx.stream.upstream.peers.response_time_histogram.mediangaugemillisecond
nginx.stream.upstream.peers.selectedThe time (time since Epoch) when the server was last selected to process a connection.gaugemillisecond
nginx.stream.upstream.peers.sentThe total number of bytes sent to this server.gaugebyte
nginx.stream.upstream.peers.sent_countThe total number of bytes sent to this server (shown as count).countbyte
nginx.stream.upstream.peers.unavailHow many times the server became unavailable for client connections (state "unavail").gauge-
nginx.stream.upstream.peers.unavail_countHow many times the server became unavailable for client connections (state "unavail") (shown as count).count-
nginx.stream.upstream.peers.weightWeight of the server.gauge-
nginx.stream.upstream.zombiesThe current number of servers removed from the group but still processing active client connections.gaugehost
nginx.stream.zone_sync.status.bytes_inThe number of bytes received by this node.gaugebyte
nginx.stream.zone_sync.status.bytes_outThe number of bytes sent by this node.gaugebyte
nginx.stream.zone_sync.status.msgs_inThe number of messages received by this node.gaugemessage
nginx.stream.zone_sync.status.msgs_outThe number of messages sent by this node.gaugemessage
nginx.stream.zone_sync.status.nodes_onlineThe number of peers this node is connected to.gauge-
nginx.stream.zone_sync.zone.records_pendingThe number of records that need to be sent to the cluster.gaugerecord
nginx.stream.zone_sync.zone.records_totalThe number of records stored in the shared memory zone.gaugerecord
nginx.stream.zone_sync.zone.records_total_countThe total number of records stored in the shared memory zone.countrecord
nginx.timestampCurrent time since Epoch.gaugemillisecond
nginx.upstream.keepaliveThe current number of idle keepalive connections.gaugeconnection
nginx.upstream.peers.activeThe current number of active connections.gaugeconnection
nginx.upstream.peers.backupA boolean value indicating whether the server is a backup server.gauge-
nginx.upstream.peers.downstartThe time (since Epoch) when the server became "unavail" or "unhealthy".gaugemillisecond
nginx.upstream.peers.downtimeTotal time the server was in the "unavail" and "unhealthy" states.gaugemillisecond
nginx.upstream.peers.downtime_countTotal time the server was in the "unavail" and "unhealthy" states.countmillisecond
nginx.upstream.peers.failsThe total number of unsuccessful attempts to communicate with the server.gauge-
nginx.upstream.peers.fails_countThe total number of unsuccessful attempts to communicate with the server (shown as count).count-
nginx.upstream.peers.header_timeThe total amount of time spent on receiving the response header from the upstream server.gaugemillisecond
nginx.upstream.peers.health_checks.checksThe total number of health check requests made.gauge-
nginx.upstream.peers.health_checks.checks_countThe total number of health check requests made (shown as count).count-
nginx.upstream.peers.health_checks.failsThe number of failed health checks.gauge-
nginx.upstream.peers.health_checks.fails_countThe number of failed health checks (shown as count).count-
nginx.upstream.peers.health_checks.last_passedBoolean indicating if the last health check request was successful and passed tests.gauge-
nginx.upstream.peers.health_checks.unhealthyHow many times the server became unhealthy (state "unhealthy").gauge-
nginx.upstream.peers.health_checks.unhealthy_countHow many times the server became unhealthy (state "unhealthy") (shown as count).count-
nginx.upstream.peers.idThe ID of the server.gauge-
nginx.upstream.peers.max_connsThe max_conns limit for this server.gaugeconnection
nginx.upstream.peers.receivedThe total amount of data received from this server.gaugebyte
nginx.upstream.peers.received_countThe total amount of data received from this server (shown as count).countbyte
nginx.upstream.peers.requestsThe total number of client requests forwarded to this server.gaugerequest
nginx.upstream.peers.requests_countThe total number of client requests forwarded to this server (shown as count).countrequest
nginx.upstream.peers.response_timeThe average time to receive the last byte of data from this server.gaugemillisecond
nginx.upstream.peers.response_time_histogramThe average time to receive the last byte of data from this server as a histogram.gaugemillisecond
nginx.upstream.peers.response_time_histogram.avggaugemillisecond
nginx.upstream.peers.response_time_histogram.countratemillisecond
nginx.upstream.peers.response_time_histogram.maxgaugemillisecond
nginx.upstream.peers.response_time_histogram.mediangaugemillisecond
nginx.upstream.peers.responses.1xxThe number of responses with 1xx status code from this server.gaugeresponse
nginx.upstream.peers.responses.1xx_countThe number of responses with 1xx status code (shown as count) from this server.countresponse
nginx.upstream.peers.responses.2xxThe number of responses with 2xx status code from this server.gaugeresponse
nginx.upstream.peers.responses.2xx_countThe number of responses with 2xx status code (shown as count) from this server.countresponse
nginx.upstream.peers.responses.3xxThe number of responses with 3xx status code from this server.gaugeresponse
nginx.upstream.peers.responses.3xx_countThe number of responses with 3xx status code (shown as count) from this server.countresponse
nginx.upstream.peers.responses.4xxThe number of responses with 4xx status code from this server.gaugeresponse
nginx.upstream.peers.responses.4xx_countThe number of responses with 4xx status code (shown as count) from this server.countresponse
nginx.upstream.peers.responses.5xxThe number of responses with 5xx status code from this server.gaugeresponse
nginx.upstream.peers.responses.5xx_countThe number of responses with 5xx status code (shown as count).countresponse
nginx.upstream.peers.responses.codeThe total number of responses from this server per each status code.countresponse
nginx.upstream.peers.responses.totalThe total number of responses obtained from this server.gaugeresponse
nginx.upstream.peers.responses.total_countThe total number of responses obtained from this server (shown as count).countresponse
nginx.upstream.peers.selectedThe time (since Epoch) when the server was last selected to process a request (1.7.5).gaugemillisecond
nginx.upstream.peers.sentThe total amount of data sent to this server.gaugebyte
nginx.upstream.peers.sent_countThe total amount of data sent to this server (shown as count).countbyte
nginx.upstream.peers.unavailHow many times the server became unavailable for client requests (state "unavail") due to the number of unsuccessful attempts reaching the max_fails threshold.gauge-
nginx.upstream.peers.unavail_countHow many times the server became unavailable for client requests (state "unavail") due to the number of unsuccessful attempts reaching the max_fails threshold (shown as count).count-
nginx.upstream.peers.weightWeight of the server.gauge-
nginx.upstream.zombiesThe current number of servers removed from the group but still processing active client connections.gaugehost
nginx.versionVersion of nginx.gauge-

Official documentation

Official documentation for the Nginx integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.