---
title: 'Prometheus'
sidebar_label: 'Prometheus'
description: 'Как настроить Prometheus для получения метрик в свою инфраструктуру'
sidebar_position: 2
---

import Formbricks from '@theme/MDXComponents/Formbricks';
import MoreVerticalIcon from '@selectel/docux/icons/more-vertical';
import CopyIcon from '@selectel/docux/icons/copy'

# Prometheus

[Prometheus](https://prometheus.io/docs/introduction/overview/) — приложение, которое позволяет настроить процесс сбора, хранения и обработки метрик.

Перед началом работы [настройте Prometheus](#configure-prometheus).

## Настроить Prometheus \{#configure-prometheus}

Вы можете настроить агент для получения метрик в свою инфраструктуру.

1. [Добавьте сервисного пользователя](#add-service-user).
2. [Настройте агент для получения метрик](#set-up-agent).

### 1. Добавить сервисного пользователя \{#add-service-user}

[Добавьте сервисного пользователя](/access-control/manage/add-user.mdx#add-service-user) с разрешением в области доступа **Проекты** и ролью:

* [`metrics.admin`](/metrics/manage-access.mdx#metrics-admin);
* [`member`](/access-control/role-reference.mdx#member);
* или [`reader`](/access-control/role-reference.mdx#reader).

Добавлять пользователей может [Владелец аккаунта](/access-control/user-types.mdx#account-owner) или пользователи с ролью [`iam.admin`](/access-control/role-reference.mdx#iam-admin).

### 2. Настроить агент для получения метрик \{#set-up-agent}

1. Откройте CLI.

2. Создайте файл конфигурации `prometheus.yaml`:

   ```bash
   nano /etc/prometheus/prometheus.yaml
   ```

3. В файле конфигурации `prometheus.yaml` заполните блок `scrape_configs`:

   ```yaml
   scrape_configs:
     - job_name: test_scrape
       scrape_interval: 1m
       metrics_path: /projects/<project_id>/namespaces/<namespace>/prometheus/metrics
       static_configs:
         - targets:
             - <base_url>
       basic_auth:
         username: <user_id>
         password: <password>
   ```

   Укажите:

   * `<project_id>` — ID проекта. Можно скопировать в [панели управления](https://my.selectel.ru/vpc/): в верхнем меню нажмите **Продукты** и выберите любой продукт → откройте меню проектов → в строке нужного проекта нажмите <CopyIcon />;
   * `<namespace>` — имя выбранного пространства имен, например `compute`.
     Можно посмотреть в инструкции [Справочник метрик](/metrics/metrics-references.mdx);
   * `<base_url>` — URL для обращения к API сервиса Метрики.
     Если вы настраиваете агент для сбора метрик [выделенного сервера](/dedicated/), используйте URL пула облачных серверов, который соответствует пулу, где расположен ваш выделенный сервер.
     Список URL можно посмотреть в подразделе [Метрики](/api/urls/#metrics) инструкции [Список URL](/api/urls/);
   * `<user_id>` — ID пользователя, которого вы [добавили на этапе 1](#add-service-user);
   * `<password>` — пароль пользователя, которого вы [добавили на этапе 1](#add-service-user).

4. Опционально: вы можете настроить сбор метрик из нескольких пулов или проектов.
   Чтобы добавить новый пул или проект, повторите шаг 3.

5. Опционально: добавьте отправку метрик во внешние системы хранения или обработки, например в VictoriaMetrics.
   Для этого добавьте и заполните раздел [`remote_write`](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write) в файл конфигурации `prometheus.yaml`.

6. Выйдите из текстового редактора `nano` с сохранением изменений: нажмите **Ctrl+Х**, а затем **Y+Enter**.

7. Запустите Prometheus:

   ```bash
   docker run \
     --name prometheus \
     --rm \
     -v ${PWD}/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro \
     -p 9090:9090 \
     prom/prometheus:latest \
     --config.file=/etc/prometheus/prometheus.yaml
   ```

8. Опционально: убедитесь, что метрики собираются. Для этого запросите все собранные метрики в Prometheus:

   ```bash
   curl localhost:9090/federate -X GET -d 'match[]={__name__=~".+"}'
   ```

<Formbricks />
