debian-mirror-gitlab/doc/user/project/integrations/prometheus_library/haproxy.md

32 lines
1.5 KiB
Markdown
Raw Normal View History

2020-05-24 23:13:21 +05:30
---
stage: Monitor
2021-01-03 14:25:43 +05:30
group: Health
2021-02-22 17:27:13 +05:30
info: 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
2020-05-24 23:13:21 +05:30
---
2017-09-10 17:25:29 +05:30
# Monitoring HAProxy
2019-10-12 21:52:04 +05:30
2020-03-13 15:44:24 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) in GitLab 9.4
2017-09-10 17:25:29 +05:30
GitLab has support for automatically detecting and monitoring HAProxy. This is provided by leveraging the [HAProxy Exporter](https://github.com/prometheus/haproxy_exporter), which translates HAProxy statistics into a Prometheus readable form.
2018-03-17 18:26:18 +05:30
## Requirements
2018-10-15 14:42:47 +05:30
The [Prometheus service](../prometheus.md) must be enabled.
2018-03-17 18:26:18 +05:30
2017-09-10 17:25:29 +05:30
## Metrics supported
| Name | Query |
| ---- | ----- |
2019-09-30 21:07:59 +05:30
| Throughput (req/sec) | `sum(rate(haproxy_frontend_http_requests_total{%{environment_filter}}[2m])) by (code)` |
| HTTP Error Rate (%) | `sum(rate(haproxy_frontend_http_requests_total{code="5xx",%{environment_filter}}[2m])) / sum(rate(haproxy_frontend_http_requests_total{%{environment_filter}}[2m]))` |
2017-09-10 17:25:29 +05:30
## Configuring Prometheus to monitor for HAProxy metrics
To get started with NGINX monitoring, you should install and configure the [HAProxy exporter](https://github.com/prometheus/haproxy_exporter) which parses these statistics and translates them into a Prometheus monitoring endpoint.
## Specifying the Environment label
In order to isolate and only display relevant metrics for a given environment
2021-02-22 17:27:13 +05:30
however, GitLab needs a method to detect which labels are associated. To do this, GitLab [looks for an `environment` label](index.md#identifying-environments).