cloudwatch.md 2.34 KB
Newer Older
1 2
---
stage: Monitor
ngaskill's avatar
ngaskill committed
3
group: Respond
4
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
5 6
---

7 8 9 10 11 12 13
# Monitoring AWS resources (DEPRECATED) **(FREE)**

> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541) in GitLab 14.7.

WARNING:
This feature is in its end-of-life process. It is [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346541)
for use in GitLab 14.7, and is planned for removal in GitLab 15.0.
14

Craig Norris's avatar
Craig Norris committed
15 16 17 18
GitLab supports automatically detecting and monitoring AWS resources, starting
with the [Elastic Load Balancer](https://aws.amazon.com/elasticloadbalancing/) (ELB).
This is provided by leveraging the official [Cloudwatch exporter](https://github.com/prometheus/cloudwatch_exporter), which translates [Cloudwatch metrics](https://aws.amazon.com/cloudwatch/) into
a Prometheus readable form.
Joshua Lambert's avatar
Joshua Lambert committed
19

20 21
## Requirements

Craig Norris's avatar
Craig Norris committed
22
You must enable the [Prometheus service](../prometheus.md).
23

Craig Norris's avatar
Craig Norris committed
24
## Supported metrics
Joshua Lambert's avatar
Joshua Lambert committed
25

Craig Norris's avatar
Craig Norris committed
26 27
| Name                 | Query |
|----------------------|-------|
28
| Throughput (req/sec) | `sum(aws_elb_request_count_sum{%{environment_filter}}) / 60` |
Craig Norris's avatar
Craig Norris committed
29 30
| Latency (ms)         | `avg(aws_elb_latency_average{%{environment_filter}}) * 1000` |
| HTTP Error Rate (%)  | `sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})` |
Joshua Lambert's avatar
Joshua Lambert committed
31 32 33

## Configuring Prometheus to monitor for Cloudwatch metrics

Craig Norris's avatar
Craig Norris committed
34 35 36 37
To get started with Cloudwatch monitoring, install and configure the
[Cloudwatch exporter](https://github.com/prometheus/cloudwatch_exporter). The
Cloudwatch exporter retrieves and parses the specified Cloudwatch metrics, and
translates them into a Prometheus monitoring endpoint.
Joshua Lambert's avatar
Joshua Lambert committed
38

Craig Norris's avatar
Craig Norris committed
39
The only supported AWS resource is the Elastic Load Balancer, whose Cloudwatch
40
metrics are listed in [this AWS documentation](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html).
Joshua Lambert's avatar
Joshua Lambert committed
41

Craig Norris's avatar
Craig Norris committed
42 43
You can [download a sample Cloudwatch Exporter configuration file](../samples/cloudwatch.yml)
that's configured for basic AWS ELB monitoring.
Joshua Lambert's avatar
Joshua Lambert committed
44 45 46

## Specifying the Environment label

Craig Norris's avatar
Craig Norris committed
47 48 49
To isolate and display only the relevant metrics for a given environment,
GitLab needs a method to detect which labels are associated. To do this, GitLab
[looks for an `environment` label](index.md#identifying-environments).