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

import Formbricks from '@theme/MDXComponents/Formbricks';
import CopyIcon from '@selectel/docux/icons/copy'

# Telegraf

[Telegraf](https://www.influxdata.com/time-series-platform/telegraf) — система мониторинга, которая позволяет настроить сбор, хранение и обработку метрик.

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

## Настроить Telegraf \{#configure-telegraf}

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

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. Создайте файл конфигурации `telegraf.conf`:

   ```bash
   nano /etc/telegraf/telegraf.conf
   ```

3. Заполните файл конфигурации `telegraf.conf`:

   ```bash
   [agent]
     interval = "1m"
     flush_interval = "1m"

   [[inputs.prometheus]]
     urls = ["<base_url>/projects/<project_id>/namespaces/<namespace>/prometheus/metrics"]
     username = "<user_id>"
     password = "<password>"

   [[outputs.file]]
     files = ["stdout"]
     data_format = "prometheus"
   ```

   Укажите:

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

4. Опционально: вы можете настроить сбор метрик из нескольких пулов или проектов.
   Чтобы добавить новый пул или проект, в разделе `inputs.prometheus` в параметре `urls` перечислите все источники через запятую.

5. Опционально: добавьте отправку метрик во внешние системы хранения или обработки, например в VictoriaMetrics. Для этого дополните раздел `outputs` в файле конфигурации `telegraf.conf`
   с помощью плагина [`Prometheus Output Plugin`](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/prometheus_client).

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

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

   ```bash
   docker run \
     --name telegraf \
     --rm \
     -v ${PWD}/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
     telegraf:latest \
     --config /etc/telegraf/telegraf.conf
   ```

   Собранные метрики будут выводиться в stdout. Пример вывода:

   ```bash
   # HELP network_meta_info_value Telegraf collected metric
   2026-03-03T12:46:30.359832865Z # TYPE network_meta_info_value untyped
   2026-03-03T12:46:30.359838580Z network_meta_info_value{server_uuid="...", ...} 1
   2026-03-03T12:46:30.359844441Z # HELP network_receive_bits_rate_value Telegraf collected metric
   2026-03-03T12:46:30.359847896Z # TYPE network_receive_bits_rate_value untyped
   2026-03-03T12:46:30.359851348Z network_receive_bits_rate_value{server_uuid="...", ...} 0
   ```

<Formbricks />
