Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Конфигурация приложения

Ниже приведено полное описание всех параметров конфигурационного файла.

Пример полного файла конфигурации

server:
  push:
    url: "https://localhost:8086/api/v2/write"
    http_headers:
      Content-Type: "text/plain; charset=utf-8"
      Authorization: "Authorization: Token ${INFLUX_DB_TOKEN}"
    url_params:
      org: "nikita-group"
      bucket: "nikita-bucket"
      precision: "ns"
    send_interval: 10

agent:
  data_type: "line_protocol"
  send_model: "push"

metrics:
  global_tags:
    hostname: "name-your-server-please"
    env: "test-servers"
  cpu:
    enabled: true
  memory:
    enabled: true
  system:
    enabled: true
  disks:
    enabled: true
  processes:
    enabled: true
    process_limit: 5
    include_exporter_metrics: true
    remove_dead_processes: true
    sort_by: "cpu_usage"
  network:
    enabled: true
  components:
    enabled: true

server

Тип: object

Корневой блок для настройки сетевого взаимодействия и отправки данных на удаленный сервер.


push

Тип: object

Полный путь: server.push

Настройки модели отправки метрик (Push-модель) во внешнее хранилище.


url

Тип: string

Полный путь: server.push.url

Пример::

server:
  push:
    url: http://example.com

Полный URL-адрес эндпоинта, на который агент будет отправлять собранные метрики с помощью HTTP-запросов.


http_headers

Тип: HashMap

Полный путь: server.push.http_headers

Пример:

server:
  push:
    http_headers:
      Content-Type: "text/plain; charset=utf-8"
      Authorization : "Authorization: Token ${INFLUX_DB_TOKEN}"

Произвольные HTTP-заголовки, которые будут добавлены в каждый запрос при отправке метрик. Используется для указания типов данных, токенов авторизации и прочего.

см. также url_params


url_params

Тип: HashMap

Полный путь: server.push.url_params

Пример:

server:
  push:
    url_params:
      # Сформирует URl вида "http(s)://myurl?org=my-org&example=true"
      org: "my-org"
      example: "true"

Параметры строки запроса (Query parameters), которые автоматически добавляются к конечному URL. Вы можете жестко прописать параметры вручную в секции URL, но указание их в отедельной секции будет считаться более идиоматичным и чистым способом.

см. также http_headers


send_interval

Тип: interger

Полный путь: server.push.send_interval

По умолчанию: 10

Интервал отправки собранных метрик на сервер (в секундах).


agent

Тип: object

Общие настройки поведения и формата работы самого агента сбора метрик.


data_type

Тип: enum (string)

Полный путь: agent.data_type

Допустимые значения: "line_protocol", "json"

По умолчанию: "json"

Пример:

agent:
  data_type: "line_protocol"

Формат сериализации данных перед их отправкой.


send_model

Тип: enum (string)

Полный путь: agent.send_model

Допустимые значения: "push", "pull" (в разработке)

По умолчанию: "push"

Пример:

agent:
  send_model: "push"

Режим распространения метрик. При значении "push" агент сам инициирует отправку данных на указанный server.push.url.


metrics

Тип: object

Глобальный конфигурационный блок для управления собираемыми метриками и системными компонентами.


global_tags : object

Пользовательские теги (метки) в формате ключ: значение, которые будут автоматически добавляться ко всем отправляемым метрикам (актуально для формата line_protocol). Используются для идентификации серверов и окружения на стороне СУБД.

  • hostname : string — Уникальное имя текущего хоста/сервера.
  • env : string — Название окружения (например: test-servers, production).

cpu : object

  • enabled : boolean (по умолчанию: true) — Включает или выключает сбор метрик процессора (загрузка ядер, утилизация).

memory : object

  • enabled : boolean (по умолчанию: true) — Включает или выключает сбор метрик оперативной памяти (общая, занятая, свободная, swap).

system : object

  • enabled : boolean (по умолчанию: true) — Включает или выключает общие системные метрики (аптайм, load average).

disks : object

  • enabled : boolean (по умолчанию: true) — Включает или выключает сбор информации о дисковой подсистеме (свободное место на разделах, операции ввода-вывода IOPS).

processes : object

Конфигурация сбора детальной статистики по запущенным в системе процессам.


enabled : boolean

  • По умолчанию: true

Включает или выключает мониторинг процессов.


process_limit : integer

  • По умолчанию: 5

Максимальное количество процессов, информация о которых попадет в финальный отчет (исключая сам процесс экспортера, если включена соответствующая опция). Защищает от переполнения буфера при большом количестве процессов в ОС.


include_exporter_metrics : boolean

  • По умолчанию: true

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


remove_dead_processes : boolean

  • По умолчанию: true

Автоматически очищает и не отправляет данные о процессах, которые завершили свою работу (перешли в состояние завершенных/зомби) к моменту итерации сбора.


sort_by : string

  • Допустимые значения: "cpu_usage", "memory", "virtual_memory", "run_time", "start_time"
  • По умолчанию: "cpu_usage"

Критерий, по которому сортируется список процессов перед применением ограничения process_limit. Позволяет выявлять топ самых «прожорливых» процессов в системе.


network : object

  • enabled : boolean (по умолчанию: true) — Включает или выключает сбор метрик сетевых интерфейсов (трафик, пакеты, ошибки, скорость).

components : object

  • enabled : boolean (по умолчанию: true) — Включает или выключает сбор метрик аппаратных компонентов (например, температура датчиков материнской платы, процессора, статус кулеров).