nginx-vts-exporter

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

Github星跟蹤圖

nginx-vts-exporter

Build Status
Docker Pulls
Github All Releases
GitHub release
Go Report Card

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

To support time related histogram metrics, please refer to hnlq715/nginx-prometheus-metrics or #43.

Table of Contents

Dependency

Download

Binary can be downloaded from Releases page.

Compile

build binary

make

build RPM package

make rpm

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_STATUS="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

For grafana dashboard please see nginx-vts-exporter dashboard

Server main

Metrics details

Nginx data, Name, Exposed informations
------------------, -------------------------------, ------------------------
Info, {NAMESPACE}_server_info, hostName, nginxVersion, uptimeSec, Connections, {NAMESPACE}_server_connections, status [active, reading, writing, waiting, accepted, handled]

Metrics output example

# Server Info
nginx_server_info{hostName="localhost", nginxVersion="1.11.1"} 9527
# 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

Filter zones

Metrics details

Nginx data, Name, Exposed informations
------------------, ---------------------------------, ------------------------
Requests, {NAMESPACE}_filter_requests, code [2xx, 3xx, 4xx, 5xx and total], filter, filter name
Bytes, {NAMESPACE}_filter_bytes, direction [in, out], filter, filter name
Response time, {NAMESPACE}_filter_responseMsec, filter, filter name

Metrics output example

# Filter Requests
nginx_upstream_requests{code="1xx", filter="country", filterName="BY"} 0

# Filter Bytes
nginx_upstream_bytes{direction="in", filter="country", filterName="BY"} 0

# Filter Response time
nginx_upstream_responseMsec{filter="country", filterName="BY"} 99

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_responseMsec, backend (or server), in_bytes, out_bytes, 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_responseMsec{backend="10.2.15.10:3000",upstream="XXX-XXXXX-3000"} 99

主要指標

概覽
名稱與所有者sysulq/nginx-vts-exporter
主編程語言Go
編程語言Go (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2016-12-09 02:41:58
推送於2024-12-30 19:56:21
最后一次提交2024-10-08 10:03:17
發布數24
最新版本名稱v0.10.8 (發布於 )
第一版名稱v0.1 (發布於 )
用户参与
星數657
關注者數26
派生數144
提交數285
已啟用問題?
問題數66
打開的問題數19
拉請求數64
打開的拉請求數5
關閉的拉請求數37
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?