Описание параметров плагина 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это будет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#
Пересмотр имён процессов во время каждой проверки (scrape).
По умолчанию имена процессов проверяются только при первом обнаружении процесса. Если эта настройка включена, имена процессов перепроверяются при каждом сборе метрик. Если процесс изменил своё имя, он будет перегруппирован в соответствии с новым именем.
Значение по умолчанию: False (выключен).
Recheck Duration#
Продолжительность пересмотра имён после запуска плагина.
Допустимая длина строки: от 1 до 255 знаков.
Период времени.
Значение по умолчанию: 0.
Scrape Interval#
Периодичность опроса экспортера.
Допустимая длина строки: от 1 до 255 знаков.
Период времени.
Значение по умолчанию: 15s (15 секунд).
Scrape Timeout#
Таймаут опроса таргетов. Значение не должно превышать значение параметра Scrape Interval.
Допустимая длина строки: от 1 до 255 знаков.
Период времени.
Значение по умолчанию: 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.
Имя объекта#
Допустимые типы объектов:
-
Виртуальная машина.
-
Сервер.
Значение по умолчанию: имя объекта.