Public | Automated Build

Last pushed: a month ago
Short Description
Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption
Full Description

nginx-vts-exporter




Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption

Table of Contents

Dependency

Download

Binary can be downloaded from Releases page.

Compile

build binary

make

build docker image

make docker

Docker Hub Image

docker pull sophos/nginx-vts-exporter:latest

It can be used directly instead of having to build the image yourself.
(Docker Hub sophos/nginx-vts-exporter)

Run

run binary

nohup /bin/nginx-vts-exporter -nginx.scrape_uri=http://localhost/status/format/json

run docker

docker run  -ti --rm --env NGINX_HOST="http://localhost/status/format/json" sophos/nginx-vts-exporter

Environment variables

This image is configurable using different env variables

Variable name Default Description
NGINX_STATUS http://localhost/status/format/json Nginx JSON format status page
METRICS_ENDPOINT /metrics Metrics endpoint exportation URI
METRICS_ADDR :9913 Metrics exportation address:port
METRICS_NS nginx Prometheus metrics Namespaces

Metrics

Documents about exposed Prometheus metrics. For details on the underlying metrics please see nginx-module-vts

Server main

Metrics details

Nginx data Name Exposed informations
Connections {NAMESPACE}_server_connections status [active, reading, writing, waiting, accepted, handled]

Metrics output example

# Server Connections
nginx_server_connections{status="accepted"} 70606

Server zones

Metrics details

Nginx data Name Exposed informations
Requests {NAMESPACE}_server_requests code [2xx, 3xx, 4xx, 5xx, total], host (or domain name)
Bytes {NAMESPACE}_server_bytes direction [in, out], host (or domain name)
Cache {NAMESPACE}_server_cache status [bypass, expired, hit, miss, revalidated, scarce, stale, updating], host (or domain name)

Metrics output example

# Server Requests
nginx_server_requests{code="1xx",host="test.domain.com"} 0

# Server Bytes
nginx_server_bytes{direction="in",host="test.domain.com"} 21

# Server Cache
nginx_server_cache{host="test.domain.com",status="bypass"} 2

Upstreams

Metrics details

Nginx data Name Exposed informations
Requests {NAMESPACE}_upstream_requests code [2xx, 3xx, 4xx, 5xx and total], upstream (or upstream name)
Bytes {NAMESPACE}_upstream_bytes direction [in, out], upstream (or upstream name)
Response time {NAMESPACE}_upstream_response backend (or server), in_bytes, outbytes, upstream (or upstream name)_

Metrics output example

# Upstream Requests
nginx_upstream_requests{code="1xx",upstream="XXX-XXXXX-3000"} 0

# Upstream Bytes
nginx_upstream_bytes{direction="in",upstream="XXX-XXXXX-3000"} 0

# Upstream Response time
nginx_upstream_response{backend="10.2.15.10:3000",upstream="XXX-XXXXX-3000"} 99
Docker Pull Command
Owner
sophos
Source Repository

Comments (0)