Описание параметров

Описание параметров плагина process_exporter.

Параметры запуска экспортера и сбора метрик с него

Basic Auth Password

Пароль пользователя BasicAuth для доступа к экспортеру.

Только запись.

Значение по умолчанию: skala-r.

Basic Auth Username

Имя пользователя BasicAuth для доступа к экспортеру.

Значение по умолчанию: vision.

Children

Группировка дочерних процессов в метриках родительского процесса. Дочерние процессы, которые не принадлежат своей собственной группе (не выделены в отдельную сущность в настройке Plugin Configuration), будут добавлены к группе родительского процесса.

Значение по умолчанию: True (группировка включена).

Plugin Configuration

Параметры сбора метрик в формате YAML.

Типовая структура:

process_names:
  - name: "{{.Comm}}"
    cmdline:
    - '.+'

Каждый элемент в process_names должен содержать один или несколько селекторов:

  • comm.

    Сравнивается с базовым именем исполняемого файла (второе поле в /proc/<pid>/stat). Это имя обрезается до 15 символов и не может быть изменено программой.

  • exe.

    Сравнивается с argv[0] (первый аргумент командной строки). Если в exe нет слэшей (/), то сравнивается только базовое имя. Если слэши есть, то argv[0] должен совпасть полностью.

    Пример
    process_names:
      - exe:
        - postgres
        - /usr/local/bin/prometheus
  • cmdline.

    Применяет регулярные выражения ко всей командной строке (/proc/<pid>/cmdline). Все регулярные выражения должны совпасть. Если в регулярном выражении есть группы захвата (capturing groups), они должны быть именованными (с использованием ?P<name>), чтобы их можно было использовать в переменной {{.Matches}}.

Для comm и exe список строк работает как логическое «ИЛИ». Если процесс совпадает с любой из строк, он добавляется в группу.

Для cmdline список регулярных выражений работает как логическое «И». Все регулярные выражения должны совпасть.

Для извлечения процессов и их группировки (используются в name, попадут в groupname) имеются следующие шаблоны:

  • {{.Comm}} — базовое имя исполняемого файла (второе поле в /proc/<pid>/stat).

    Если полный путь к исполняемому файлу /usr/bin/python3, то {{.Comm}} будет python3.

  • {{.ExeBase}} — базовое имя исполняемого файла (аналогично {{.Comm}}, но может отличаться в зависимости от реализации).

    Для /usr/bin/python3 значение {{.ExeBase}} будет равно python3.

  • {{.ExeFull}} — полный путь к исполняемому файлу, например, /usr/bin/python3.

  • {{.Username}} — имя пользователя, с привилегиями которого запущен процесс, например, root, vision.

  • {{.Matches}} — карта (map), которая содержит все совпадения, полученные в результате применения регулярных выражений к командной строке процесса (/proc/<pid>/cmdline).

    Если вы используете регулярное выражение для извлечения аргументов командной строки, то {{.Matches}} будет содержать эти аргументы.

  • {{.PID}} — идентификатор процесса.

    Использование {{.PID}} в шаблонах может привести к созданию групп, содержащих только один процесс, что может привести к высокой кардинальности метрик (большому количеству уникальных метрик), что не рекомендуется для Prometheus.
  • {{.StartTime}} — время начала процесса.

    Использование {{.StartTime}} в шаблонах может привести к высокой кардинальности, так как время начала процесса уникально для каждого процесса.
  • {{.Cgroups}} — информация о cgroups процесса (если поддерживается системой). Например, если процесс запущен в Docker-контейнере, {{.Cgroups}} может содержать информацию о контейнере.

Пример сложной конфигурации с использованием регулярных выражений
process_names:
  - name: "{{.ExeBase}}"
    exe:
      - nginx
    cmdline:
      - '^n'

По умолчанию используется конфигурация, при которой плагин собирает метрики всех процессов:

process_names:
  - name: "{{.Comm}}"
    cmdline:
    - '.+'

Recheck

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

Значение по умолчанию: False (выключен).

Recheck Duration

Продолжительность пересмотра имён после запуска плагина.

Период времени.

Значение по умолчанию: 0.

Scrape Interval

Периодичность опроса экспортера.

Период времени.

Значение по умолчанию: 15s (15 секунд).

Scrape Timeout

Таймаут опроса таргетов.

Значение не должно превышать значение параметра Scrape Interval.

Период времени.

Значение по умолчанию: 10s (10 секунд).

Threads

Группировка метрик по потокам. Метрики будут собираться не только для групп процессов, но и для отдельных потоков этих процессов. Если настройка включена, активируются метрики namedprocess_namegroup_thread_*. В противном случае они будут отсутствовать.

Значение по умолчанию: True (включена).

Tls Cert File

Путь к файлу сертификата на узле, где установлен плагин, для запуска экспортера.

Значение по умолчанию: /opt/skala-r/vision/cert/components_default.crt.

Tls Insecure Skip Verify

Пропуск проверки сертификата при подключении агента к источнику метрик.

Значение по умолчанию: False (проверка сертификата включена).

Tls Key File

Путь к файлу ключа сертификата на узле, где установлен плагин, для запуска экспортера.

Значение по умолчанию: /opt/skala-r/vision/cert/components_default.key.

Web Listen Address

Порт запуска экспортера.

Допустимые значения: от 1 до 65535 включительно.

Значение по умолчанию: 9120.

Параметры таргета

Ограничение в один таргет.

Адрес

Адрес и порт экспортера, которому принадлежит таргет.

Значение по умолчанию: 127.0.0.1:9120.

Имя объекта

Допустимые типы объектов:

  • Виртуальная машина.

  • Сервер.

Значение по умолчанию: имя объекта.