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).

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

  • labels:

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

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

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

  • match_type (опционально):

    Тип сопоставления: glob (по умолчанию) или regex.

    • glob — простой шаблон с использованием *, ?, [...] и др.

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

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

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

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

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

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

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

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

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

  1. Динамическое формирование имён метрик.

  2. Явно прописанное имя.

Первый подход используется преимущественно для Kafka, второй для Hadoop. Явно прописанное имя необходимо для более удобного использования в оповещениях.

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

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

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

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

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

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