graphite_exporter

Плагин устанавливает экппортер и создаёт задачу сбора метрик с него компонентом vmagent_agent.

Особенности

Настройка в веб-интерфейсе Визиона осуществляется через соответствующее поле Конфигурация дополнительного маппинга, где задаются правила сопоставления и преобразования. Формат — YAML.

Пример правила сопоставления:

  • Простое правило:

    - match: 'servers.*.cpu.*'
      name: 'cpu_usage_$2'
      labels:
        server: '$1'
        type: '$2'
  • Regex:

    - match: 'servers\.([^\.]+)\.disk\.([^\.]+)\.([^\.]+)'
      match_type: regex
      name: 'disk_$3'
      labels:
        server: '$1'
        device: '$2'

Присутствуют следующие строки:

  • match:

    Регулярное выражение для сопоставления метрик(и) Graphite.

    Используется для захвата частей метрики, которые можно использовать в name и labels. Также предназначен для оптимизации преобразования, позволяя использовать шаблоны для однотипных метрик.

    Выражение servers.*.cpu.* будет сопоставлять такие метрики, как servers.web01.cpu.user или servers.db01.cpu.system.

  • name:

    Название метрики в Prometheus.

    Можно использовать группы захвата из match (например, $1, $2).

    Если name равно cpu_usage_$2, а вторая группа захвата это user, то название метрики будет cpu_usage_user.

  • labels:

    Метки, которые будут добавлены к метрике в Prometheus.

    Ключи — это названия меток, которые задаются пользователем, значения — группы захвата из match. Значение также может быть фиксированным (заданным пользователем).

    server: '$1' — если первая группа захвата это web01, то метка будет server="web01".

  • match_type

    Опциональный параметр, указывающий тип сопоставления:

    • glob — простой шаблон с использованием *, ?, […​] и др. Используется по умолчанию.

    • regex — полноценное регулярное выражение.

  • Группы захвата:

    Группы захвата ($1, $2, и т. д.) соответствуют частям метрики, захваченным в match.

    Если выражение имеет вид servers.*.cpu.*, то к первой звезде относится группа захвата $1, ко второй — $2.

Настройка маппинга

Чтобы задать маппинг, перечислите все необходимые преобразования в UI Визиона согласно описанному формату. Дополнительно ничего вводить не следует.

Если маппинг будет конфликтовать с уже заданным, снимите флаги с выбранных стандартных маппингов.

Применяемые шаблоны в Визионе для Kafka и Hadoop

В применяемых в Визионе шаблонах используются два подхода:

  1. Динамическое формирование имён метрик. Этот подход используется преимущественно для Kafka.

  2. Явно прописанное имя. Этот подход используется преимущественно для Hadoop. Явно прописанное имя необходимо для более удобного использования в оповещениях.

Используются следующие метки:

  • cluster — имя кластера из группы захвата $1;

  • collector — коллектор метрики;

  • host — имя хоста из группы захвата $2;

  • rate — частота, связанная с измерениями внутри метрики (OneMinuteRate, FiveMinuteRate) и др.;

  • service — тип сервиса, прописан явно (например, ReplicaManager, Broker, HDFS, Hive).