stage | group | info |
---|---|---|
Monitor |
Health |
To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments |
Introduced in GitLab 9.4
GitLab has support for automatically detecting and monitoring NGINX. This is provided by leveraging the NGINX VTS exporter, which translates VTS statistics into a Prometheus readable form.
The Prometheus service must be enabled.
NGINX server metrics are detected, which tracks the pages and content directly served by NGINX.
environment_filter
is one of the predefined variables that metrics dashboards support.
Name | Query |
---|---|
Throughput (req/sec) | sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code) |
Latency (ms) | avg(nginx_server_requestMsec{%{environment_filter}}) |
HTTP Error Rate (HTTP Errors / sec) | sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m])) |
HTTP Error (%) | sum(rate(nginx_server_requests{code=~"5.*", host="*", %{environment_filter}}[2m])) / sum(rate(nginx_server_requests{code="total", host="*", %{environment_filter}}[2m])) * 100 |
To get started with NGINX monitoring, you should first enable the VTS statistics module for your NGINX server. This captures and displays statistics in an HTML readable form. Next, you should install and configure the NGINX VTS exporter which parses these statistics and translates them into a Prometheus monitoring endpoint.
If you are using NGINX as your Kubernetes Ingress, GitLab automatically detects the metrics once enabled in 0.9.0 and later releases.
In order to isolate and only display relevant metrics for a given environment
however, GitLab needs a method to detect which labels are associated. To do this, GitLab looks for an environment
label.