Introduce Prometheus as a Service that can be configured at the Project level

Description

We will need to offer a way to control whether Prometheus features should be enabled for a given project. There are a number of reasons for this, but most critically we need to know if we should present any Prometheus related UI in the project.

Proposal

We should add Prometheus as a new "Integration" at the project level. On the integration screen, we should have:

  • Checkbox for active/inactive
  • Have a field for the URL of the Prometheus server
  • Have a note at the top, with an overview of how it works

This should be off by default.

Suggested content:

Title: Prometheus

Description: Display performance data captured by Prometheus

Checkbox Name: "Active"

URL Field Name: "API URL"

URL Field Default Value: "Root URL of Prometheus, like http://prometheus.example.com:9090"

Note Content:

This service displays performance data for applications monitored by a Prometheus server. The metrics retrieved are container_cpu_usage_seconds_total and container_memory_usage_bytes. An environment label is required on each metric to determine the Environment. If you are utilizing the bundled Prometheus service with Auto-Deploy, this is created automatically.

cc @bjk-gitlab @ayufan

Assignee Loading
Time tracking Loading