Настройка цели — клик по кнопке в Яндекс.Метрике
Привет! В Яндекс.Метрике за последнее время добавилось много новых типов целей, которые могут быть нам интересны. Например, нажатие на кнопку, клик по мессенджеру, email, номеру телефона и др. При этом удобно и просто их настраивать прямо из Метрики, без необходимости вручную прописывать доп. параметры в коде страницы.
Предлагаю рассмотреть, как настраивать цели для разных кнопок на одной странице. Покажу на примере страницы подписки и благодарности.
Ниже вы можете посмотреть мой видеоурок по этой теме:
Чтобы настраивать цели, как и прежде, нужно добавить код счетчика Метрики на страницы. Устанавливаем его между тегами <head></head>. Если страницы сделаны в html-формате и загружены на хостинг, то добавить Метрику можно, открыв код для редактирования прямо на хостинге.
Зайти в корневую папку вашего домена (сайта) через файловый менеджер.
Там открыть папку со страницами и двойным щелчком левой кнопки мыши по файлу index.html открыть код страницы.
Добавить код Метрики в нужное место и сохранить.
Нажмите на скриншот, чтобы увеличить
Я добавляю один и тот же код Метрики на страницу подписки и благодарности из одной воронки.
Поэтому также захожу в папку со страницей благодарности после подписки – она у меня лежит там же, где и страница подписки, но в отдельной подпапке с названием «spasibo».
Аналогично открываю ее файл index.html двойным щелчком левой кнопкой мыши и ставлю код Метрики.
Если ваш хостинг не поддерживает редактор кода, то нужно скачать html-файл на компьютер, открыть в блокноте Notepad++ и добавить код счетчика через редактирование кода в блокноте. А затем обратно загрузить на хостинг.
Блокнот Notepad++ — бесплатный, вы можете скачать его в интернете, установить, затем открыть в нем html-файл, кликнув по нему правой кнопкой мыши и вызвав контекстное меню.
У вас откроется код – вставьте Метрику после открывающего тега <head> или перед закрывающим </head> и сохраните.
Если лендинг сделан в плагине Elementor на Вордпресс, то ставить код Метрики нужно именно на эту конкретную страницу, где вы хотите настроить цель. Для этого откройте страницу в редакторе Elementor.
И воспользуйтесь виджетом html–код. Ухватите его левой кнопкой мыши и перенесите над заголовком.
Вставьте туда код Метрики. Сохраните.
После этого можно перейти в Яндекс.Метрику, внутрь счетчика, и настроить цели.
Важно: если на странице пока нет посещений, нужно подождать, чтобы появились первые данные, тогда получится добавить цель – клик по кнопке.
Например, на странице подписки я добавлю 2 цели – клик по кнопке в шапке сайта – она якорная (перекидывает на форму подписки). Заодно замеряю, насколько активно люди нажимают на кнопку сразу на первом экране, не пролистывая лендлинг вниз.
И вторую цель настрою для кнопки подписки через ВК.
Для этого перейду в счетчик, в раздел «Цели», нажму «Добавить цель».
Выбираю тип цели «Клик по кнопке».
Указываю ссылку на страницу, где буду отслеживать эту цель и жму «Перейти и выбрать кнопку».
На открывшейся странице появляется меню Метрики, где нам предлагается выбрать элемент, клик по которому мы хотим отслеживать.
Выделяем его мышкой и жмем «Отслеживать клики».
После этого возвращаемся к окошку с добавлением цели – указываем название для данной цели и жмем «Добавить».
Аналогично добавляем вторую цель для другой кнопки.
Теперь на примере вот этой страницы благодарности после подписки я добавлю 4 цели:
— клик по кнопке скачивания бесплатности за подписку,
— и для трех кнопок с доп. партнерскими предложениями настрою свои цели. Чтобы понимать, насколько это оправдано, использовать такую вот страничку, где сразу несколько партнерских бесплатностей – на какую из них больше кликают.
Точно так же, в разделе с целями жму «Добавить цель» — указываю ссылку на страницу.
И перехожу к выбору кнопки.
Затем вписываю название цели и добавляю.
Делаю то же самое для трех остальных кнопок, по которым хочу отслеживать конверсии.
То есть, принцип с добавлением целей на кликабельные элементы сейчас очень простой – нужно отметить на странице те кнопки или ссылки, по которым вы хотите отслеживать конверсии (целевые действия).
Что такое автоцели в Яндекс.Метрике?
Это новая функция в счетчике, которая позволяет настроить некоторые типы целей на странице автоматически. Счетчик благодаря параметрам в коде страницы может определять кликабельные элементы, формы, номера телефонов, мессенджеры и автоматически настраивать на них цели.
Вот какие типы целей доступны:
Важно: вы можете включить эту функцию сами, отметив галочкой в момент создания счетчика.
Также она может включаться по умолчанию для недавно созданного счетчика, для счетчика, где не созданы цели или они используются редко.
Чтобы вручную включить автоцели на уже созданном счетчике, зайдите в его настройки:
Если, наоборот, требуется отключить автоцели, поменяйте ползунок на «Выкл.».
Подробнее про автоцели в Метрике можно почитать здесь.
Где смотреть отчеты по целям?
1) В разделе «Отчеты» → «Стандартные» → «Конверсии».
2) В привязке к рекламным utm-меткам в разделе «Отчеты» → «Стандартные» → «Источники» → «Метки utm».
Нажмите на скриншот, чтобы увеличить
Как по мне, классно, что в Метрике реализовали эти возможности настройки целей без копания в кодах. Можно отслеживать больше действий. Если раньше я ставила только цель — посещение страницы благодарности после подписки, чтобы в Метрику передавать данные по подписчикам из рекламы (utm -метки). То теперь на этой же странице благодарности, если у вас там идет доп. предложение и есть кнопка или даже несколько кликабельных элементов – то по каждому из них можно отслеживать конверсии.
А вы уже применяете новые типы целей? Поделитесь в комментариях.
Благодарю за внимание!
Виктория
Создание целей для Яндекс. Метрики и Google Analytics
Заказать сайт
Искать везде
- Искать везде
- CMS
- Интернет-магазин 2.0
- Интернет-магазин 1.0
- Onicon
- Maliver
- Rekmala
Pablex- Кабинет и почта
- CRM
- Интеграции CMS.
S3
Главная / Редактирование сайта / Что такое данные сайта? / Конструктор форм / Создание целей для Яндекс. Метрики и Google Analytics
Вы можете включить отправку информации о заполнении формы на сайте в Яндекс.Метрику и Google Analytics.
Для этого в Яндекс.Метрике (или Google Analytics) у вас должна быть создана цель вида «Событие Javascript» (или тип — «Событие» в Google Analytics), с прописанным идентификатором (или параметром цели « Ярлык» для Google Analytics).
Далее вам необходимо настроить эту цель в системе управления. Рассмотрим, как это можно сделать.
Шаг 1
Раскройте меню «Данные сайта» и перейдите к разделу «Конструктор форм«.
Шаг 2
Затем нажмите на название той формы, цели для которой вы хотели бы настроить.
Шаг 3
На открывшейся странице нажмите на кнопку «Цели«.
Шаг 4
Далее нажмите на кнопку добавления новой цели (+).
Шаг 5
В открывшемся окне вам будет необходимо указать следующие параметры для цели:
- Название — укажите название, аналогичное тому, что вы указали для цели в Яндекс.Метрике или Google Analytics.
- Метка — вставьте идентификатор, указанный для данной цели в Яндекс.Метрике (или параметр «Ярлык», который вы прописали для цели в Google Analytics).
- Система — выберите, для какого счетчика вы создаете цель.
- Включена — отметьте галочку, если хотите, чтобы система отправляла информацию в Яндекс.Метрику или Google Analytics при отправке формы (если вы оставите галочку неотмеченной — информация не будет отправляться).
После внесения всех необходимых изменений, нажмите «Сохранить и закрыть».
Обратите внимание!
- Идентификатор для метки в Яндекс.Метрике вы можете скопировать в окне добавления цели.
- Его же вы можете скопировать в списке целей, в строке с нужной целью, в столбце «Описание» (параметр «идентификатор» — не путайте с «ID цели», вам нужен именно «идентификатор», а не «ID цели»).

Как создать цель Яндекс.Метрике или Google Analytics
- Подробную информацию о целях Яндекс.Метрики вы можете получить в инструкции по ссылке.
- О целях Google Analytics читайте по ссылке, а о работе с целями читайте здесь.
Была ли статья вам полезна?
Да
Нет
Укажите, пожалуйста, почему?
- Рекомендации не помогли
- Нет ответа на мой вопрос
- Содержание статьи не соответствует заголовку
- Другая причина
Комментарий
Стандартизация мониторинга целей с помощью шаблонов — Кортни Ламас
Enterprise Manager — это важнейший инструмент для мониторинга целей баз данных и промежуточного программного обеспечения, а также инженерных систем и хостов.
Каждая цель имеет свой набор показателей. Если вы читали мои предыдущие посты о просмотре метрик и установке порогов, вы хорошо понимаете, как устанавливать пороги для одной цели. Что делать, если у вас есть 100 целей? Или 1000? Ваши цели для производства могут даже иметь другие пороговые значения, чем непроизводственные. Вы действительно хотите вручную настроить эти показатели для всех целей? Скорее всего, не. Если у вас более 3 баз данных или целевых объектов, вам, вероятно, следует рассмотреть возможность стандартизации мониторинга с помощью шаблонов мониторинга. Шаблоны позволяют повторно использовать определенные вами показатели для аналогичных целей.
В меню Предприятие выберите Мониторинг / Шаблоны мониторинга.
Вы можете увидеть в поле поиска, вы можете отобразить сертифицированные Oracle шаблоны.
Если вы отметите это, вы найдете длинный список шаблонов для различных промежуточных программ и приложений.
Создать шаблон из цели
Первый метод создания шаблона основан на существующей цели.
Это позволяет вам настроить мониторинг на одном образце цели и скопировать его в шаблон.
Нажмите «Создать». Обратите внимание, что выбраны настройки мониторинга копирования из Target.
Щелкните значок поиска, чтобы найти пример цели, из которой вы хотите скопировать метрики, и щелкните Выбрать.
Сначала нам нужно дать нашему шаблону имя. Если вы собираетесь использовать несколько шаблонов, лучше дать им подробное имя, чтобы их можно было легко идентифицировать. Обратите внимание на флажок «Шаблон по умолчанию» — если вы установите этот флажок, этот шаблон будет автоматически применяться ко всем новым (не существующим) целям базы данных кластера по мере их обнаружения в Enterprise Manager. Можно определить только один шаблон по умолчанию для каждого типа цели.
Нажмите «Пороги метрик», и вы увидите знакомый экран с целевыми метриками, пороговыми значениями для предупреждений и критических значений.
Если есть дополнительные показатели, которые вы хотите добавить или удалить из этого шаблона, нажмите кнопку «Удалить» или «Добавить показатели».
При добавлении метрик вы сможете искать другую цель, шаблон или расширение метрики, которые хотите добавить в этот шаблон.
После внесения изменений нажмите кнопку OK, чтобы сохранить шаблон. Вы получите подтверждение, когда ваш шаблон будет создан.
Создать из целевого типа
В шаблонах мониторинга щелкните Создать, на этот раз выберите параметр для целевого типа. Эта опция извлечет зарегистрированные метрики по умолчанию для этого конкретного типа цели.
Далее вы выберете категорию и тип цели. Для базы данных мы выберем экземпляр базы данных. Отсюда процесс такой же. Этот шаблон будет иметь все рекомендуемые показатели по умолчанию, и вы можете внести свои коррективы отсюда.
Применить шаблоны
Теперь, когда у вас есть новый шаблон, вы можете выбрать этот шаблон и нажать «Применить», чтобы применить его к любым существующим целям.
Важно учитывать параметры применения. По умолчанию шаблоны переопределяют только метрики, общие для шаблона и цели.
Это означает, что если в цели есть метрика, не включенная в шаблон, она не удаляется и не заменяется. Если метрика имеет другие пороговые значения или не имеет пороговых значений, она обновляется в соответствии с шаблоном. Верхний вариант, чтобы полностью заменить настройки цели, сделает цель идентичной цели. Это означает, что если в шаблоне есть показатели, отсутствующие в шаблоне, приложение удалит пороговые значения для этих показателей и больше не будет предупреждать.
В разделе «Значения ключей» указывается, как применять шаблон, как вы хотите обрабатывать такие показатели, как табличное пространство, которое может иметь несколько значений ключа, например разные пороговые значения для табличных пространств SYSTEM и SYSAUX.
Нажмите «Добавить», чтобы выбрать цели или группу, к которым вы хотите применить шаблон, и нажмите «Выбрать». Затем нажмите OK, чтобы отправить задание Apply.
Вы можете просмотреть статус применения с помощью кнопки «Прошлые операции применения» и получить информацию об успешных и неудачных операциях.
Итак, теперь вы можете потратить некоторое время на то, чтобы стандартизировать свои показатели и применить их с помощью шаблонов.
Понимание и использование шаблона многоцелевого экспортера
- Шаблон многоцелевого экспортера?
- Запуск многоцелевых экспортеров
- Базовый запрос многоцелевых экспортеров
- Настройка модулей
- Запрос многоцелевых экспортеров с помощью Prometheus
Это руководство познакомит вас с шаблоном многоцелевого экспортера. Для этого мы:
- опишите шаблон многоцелевого экспортера и почему он используется,
- запустить экспортер черного ящика в качестве примера шаблона,
- настроить пользовательский модуль запроса для экспортера черного ящика,
- разрешить экспортеру черного ящика выполнять базовые метрические запросы к веб-сайту Prometheus,
- изучить популярный шаблон настройки Prometheus для очистки экспортеров с использованием перемаркировки.

Шаблон многоцелевого экспортера?
Под шаблоном многоцелевого экспортера мы подразумеваем определенный дизайн, в котором:
- экспортер получит метрики цели по сетевому протоколу.
- экспортер не должен запускаться на машине, с которой берутся метрики.
- экспортер получает цели и строку конфигурации запроса в качестве параметров запроса GET от Prometheus.
- экспортер впоследствии запускает очистку после получения GET-запросов Prometheus и после завершения очистки.
- экспортер может запрашивать несколько целей.
Этот шаблон используется только для определенных экспортеров, таких как черный ящик и экспортер SNMP.
Причина в том, что мы либо не можем запустить экспортер на цели, т.е. сетевое оборудование, говорящее по SNMP, или что нас явно интересует расстояние, например. задержка и доступность веб-сайта из определенной точки за пределами нашей сети, что является распространенным вариантом использования экспортера черного ящика.
Запуск многоцелевых экспортеров
Многоцелевые экспортеры гибки в отношении своей среды и могут запускаться разными способами. Как обычные программы, в контейнерах, как фоновые сервисы, на baremetal, на виртуальных машинах. Поскольку они опрашиваются и делают запросы по сети, им нужны соответствующие открытые порты. В противном случае они экономны.
Теперь давайте попробуем сами!
Используйте Docker для запуска контейнера экспортера черного ящика, запустив его в терминале. В зависимости от конфигурации вашей системы вам может потребоваться добавить команду sudo :
docker run -p 9115:9115 prom/blackbox-exporter
msg="Прослушивание адреса" , как показано здесь:level=info ts=2018-10-17T15:41:35.4997596Z caller=main.go:324 msg="Прослушивание адреса" address=:9115
Основные запросы многоцелевых экспортеров
Существует два способа запроса:
- Запрос к самому экспортеру.
У него есть свои метрики, обычно доступные по адресу /metrics. - Запрос экспортера на очистку другой цели. Обычно доступно в «описательной» конечной точке, например.
/зонд. Вероятно, это то, что вас в первую очередь интересует при использовании многоцелевых экспортеров.
Вы можете вручную попробовать первый тип запроса с curl в другом терминале или использовать эту ссылку:
curl 'localhost:9115/metrics'
Ответ должен быть примерно таким:
# ПОМОЩЬ blackbox_exporter_build_info Метрика с постоянным значением '1', отмеченным версией, ревизией, ветвью и версией, на основе которой был собран blackbox_exporter.
# ТИП шкалы blackbox_exporter_build_info
blackbox_exporter_build_info{branch="HEAD",goversion="go1.10",revision="4a22506cf0cf139"d9b2f9cde099f0012d9fcabde", версия = "0.12.0"} 1
# ПОМОЩЬ go_gc_duration_seconds Сводная информация о длительности вызовов сборщика мусора.
# TYPE сводка go_gc_duration_seconds
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0,25"} 0
go_gc_duration_seconds{quantile="0,5"} 0
go_gc_duration_seconds{quantile="0,75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# ПОМОЩЬ go_goroutines Количество существующих на данный момент горутин.
# TYPE датчик go_goroutines
go_goroutines 9[…]
# ПОМОЩЬ process_cpu_seconds_total Общее время, затрачиваемое пользователем и системным процессором в секундах.
# TYPE счетчик process_cpu_seconds_total
process_cpu_seconds_total 0,05
# HELP process_max_fds Максимальное количество дескрипторов открытых файлов.
# Датчик TYPE process_max_fds
process_max_fds 1.048576e+06
# HELP process_open_fds Количество дескрипторов открытых файлов.
# Датчик TYPE process_open_fds
process_open_fds 7
# ПОМОЩЬ process_resident_memory_bytes Размер резидентной памяти в байтах.
# Индикатор TYPE process_resident_memory_bytes
процесс_резидент_память_байт 7.8848e+06
# ПОМОЩЬ process_start_time_seconds Время начала процесса с эпохи unix в секундах.
# Индикатор TYPE process_start_time_seconds
process_start_time_seconds 1,54115492874e+09
# ПОМОЩЬ process_virtual_memory_bytes Размер виртуальной памяти в байтах.
# Индикатор TYPE process_virtual_memory_bytes
process_virtual_memory_bytes 1.5609856e+07
Это метрики в формате Prometheus.
Для второго типа запроса нам необходимо указать цель и модуль в качестве параметров в HTTP-запросе GET. Целью является URI или IP, а модуль должен быть определен в конфигурации экспортера. Контейнер экспортера черного ящика поставляется со значимой конфигурацией по умолчанию.
Мы будем использовать цель prometheus.io и предопределенный модуль http_2xx . Он говорит экспортеру сделать запрос GET, как это сделал бы браузер, если бы вы перешли на prometheus.io и ожидать ответа 200 OK.
Теперь вы можете указать экспортеру черного ящика запросить в терминале с помощью curl:
curl 'localhost:9115/probe?target=prometheus.io&module=http_2xx'
Это вернет множество показателей:
# ПОМОЩЬ probe_dns_lookup_time_seconds Возвращает время, затраченное на поиск DNS зонда в секундах
# ТИП датчика probe_dns_lookup_time_seconds
probe_dns_lookup_time_seconds 0,061087943
# HELP probe_duration_seconds Возвращает время, которое потребовалось для завершения проверки в секундах.
# ТИП датчика probe_duration_seconds
probe_duration_seconds 0,065580871
# HELP probe_failed_due_to_regex Указывает, произошел ли сбой проверки из-за регулярного выражения
# ТИП датчика probe_failed_due_to_regex
probe_failed_due_to_regex 0
# HELP probe_http_content_length Длина ответа http-контента
# TYPE probe_http_content_length Gauge
probe_http_content_length 0
# HELP probe_http_duration_seconds Продолжительность http-запроса по фазам, суммированная по всем редиректам
# ТИП датчика probe_http_duration_seconds
probe_http_duration_seconds{фаза="подключение"} 0
probe_http_duration_seconds{phase="processing"} 0
probe_http_duration_seconds {фаза = "разрешить"} 0,061087943
probe_http_duration_seconds{phase="tls"} 0
probe_http_duration_seconds{phase="transfer"} 0
# ПОМОЩЬ probe_http_redirects Количество редиректов
# ТИП датчика probe_http_redirects
probe_http_redirects 0
# HELP probe_http_ssl Указывает, использовался ли SSL для окончательного перенаправления
# ТИП датчика probe_http_ssl
probe_http_ssl 0
# ПОМОЩЬ probe_http_status_code Код состояния ответа HTTP
# ТИП датчика probe_http_status_code
probe_http_status_code 0
# HELP probe_http_version Возвращает версию HTTP ответа зонда.
# ТИП датчика probe_http_version
probe_http_version 0
# HELP probe_ip_protocol Указывает, является ли IP-протокол зонда IP4 или IP6.
# ТИП датчика probe_ip_protocol
probe_ip_protocol 6
# HELP probe_success Отображает успешность проверки.
# Датчик TYPE probe_success
probe_success 0
Обратите внимание, что почти все показатели имеют значение 0 . Последний читает probe_success 0 . Это означает, что зонд не смог успешно связаться с prometheus.io . Причина скрыта в метрике probe_ip_protocol со значением 6 . По умолчанию зонд использует IPv6, пока не указано иное. Но демон Docker блокирует IPv6, пока не будет указано обратное. Следовательно, наш экспортер черного ящика, работающий в контейнере Docker, не может подключиться через IPv6.
Теперь мы можем либо указать Docker разрешить IPv6, либо экспортеру черного ящика использовать IPv4. В реальном мире и то, и другое может иметь смысл, и, как часто бывает, ответ на вопрос «что делать?» это «это зависит».
Поскольку это руководство по экспортеру, мы изменим экспортер и воспользуемся возможностью настроить собственный модуль.
Настройка модулей
Модули предварительно определены в файле внутри контейнера докеров с именем config.yml , который является копией blackbox.yml в репозитории github.
Мы скопируем этот файл, адаптируем его под свои нужды и скажем экспортеру использовать наш файл конфигурации вместо того, который включен в контейнер.
Сначала загрузите файл с помощью curl или браузера:
curl -o blackbox.yml https://raw.githubusercontent.com/prometheus/blackbox_exporter/master/blackbox.yml
Откройте его в редакторе. Первые несколько строк выглядят так:
модулей:
http_2xx:
зонд: http
http_post_2xx:
зонд: http
http:
метод: ПОСТ
YAML использует отступы пробелов для выражения иерархии, поэтому вы можете распознать, что два модуля с именами http_2xx и http_post_2xx определены, и что они оба имеют зонд http , и для одного значение метода специально установлено на ПОЧТ .
Теперь вы измените модуль http_2xx , установив предпочитаемый_ip_протокол зонда http явно на строку ip4 .
модули:
http_2xx:
зонд: http
http:
предпочтительный_ip_протокол: "ip4"
http_post_2xx:
зонд: http
http:
метод: ПОСТ
Если вы хотите узнать больше о доступных зондах и опциях, ознакомьтесь с документацией.
Теперь нам нужно указать экспортеру черного ящика использовать наш только что измененный файл. Вы можете сделать это с помощью флага --config.file="blackbox.yml" . Но поскольку мы используем Docker, мы сначала должны сделать этот файл доступным внутри контейнера с помощью --mount команда.
ПРИМЕЧАНИЕ. Если вы используете macOS, вам сначала нужно разрешить демону Docker доступ к каталогу, в котором находится ваш blackbox.yml . Вы можете сделать это, нажав на маленького кита Docker в строке меню, а затем на Настройки -> Общий доступ к файлам -> + .
После этого нажмите Применить и перезапустить .
Сначала вы останавливаете старый контейнер, переходя в его терминал и нажимая ctrl+c .
Убедитесь, что вы находитесь в каталоге, содержащем ваш blackbox.yml .
Затем вы запускаете эту команду. Длинно, но объясним:
docker\ запустить -p 9115:9115 \ --mount type=bind,source="$(pwd)"/blackbox.yml,target=/blackbox.yml,только для чтения \ пром/черный ящик-экспортер \ --config.file="/blackbox.yml"
С помощью этой команды вы сказали докеру :
-
запуститьконтейнер с портом9115за пределами контейнера, сопоставленным с портом9115внутри контейнера. -
смонтируйтеиз вашего текущего каталога ($(pwd)означает рабочий каталог печати) файлblackbox.ymlв/blackbox.ymlв режиметолько для чтения. - используйте образ
prom/blackbox-exporterиз Docker Hub.
- запустить blackbox-exporter с флагом
--config.file, указав использовать/blackbox.ymlв качестве файла конфигурации.
Если все правильно, вы должны увидеть что-то вроде этого:
level=info ts=2018-10-19T12:40:51.650462756Z caller=main.go:213 msg="Starting blackbox_exporter" version="(version=0.12 .0, ветка = ГОЛОВА, ревизия = 4a22506cf0cf139d9b2f9cde099f0012d9fcabde)" level=info ts=2018-10-19T12:40:51.653357722Z caller=main.go:220 msg="Загружен файл конфигурации" level=info ts=2018-10-19T12:40:51.65349635Z caller=main.go:324 msg="Прослушивание адреса" address=:9115
Теперь вы можете попробовать наш новый модуль 9, использующий IPv4.0133 http_2xx в терминале:
curl 'localhost:9115/probe?target=prometheus.io&module=http_2xx'
Что должно возвращать метрики Prometheus следующим образом:
# HELP probe_dns_lookup_time_seconds Возвращает время, затраченное на поиск DNS зонда в секундах # ТИП датчика probe_dns_lookup_time_seconds probe_dns_lookup_time_seconds 0,02679421 # HELP probe_duration_seconds Возвращает время, которое потребовалось для завершения проверки в секундах.# ТИП датчика probe_duration_seconds probe_duration_seconds 0,461619124 # HELP probe_failed_due_to_regex Указывает, произошел ли сбой проверки из-за регулярного выражения # ТИП датчика probe_failed_due_to_regex probe_failed_due_to_regex 0 # HELP probe_http_content_length Длина ответа http-контента # TYPE probe_http_content_length Gauge probe_http_content_length -1 # HELP probe_http_duration_seconds Продолжительность http-запроса по фазам, суммированная по всем редиректам # ТИП датчика probe_http_duration_seconds probe_http_duration_seconds{phase="connect"} 0,062076202999999996 probe_http_duration_seconds{phase="processing"} 0,23481845699999998 probe_http_duration_seconds{фаза="разрешить"} 0,029594103 probe_http_duration_seconds{фаза="tls"} 0,163420078 probe_http_duration_seconds{phase="transfer"} 0,002243199 # ПОМОЩЬ probe_http_redirects Количество редиректов # ТИП датчика probe_http_redirects probe_http_redirects 1 # HELP probe_http_ssl Указывает, использовался ли SSL для окончательного перенаправления # ТИП датчика probe_http_ssl probe_http_ssl 1 # ПОМОЩЬ probe_http_status_code Код состояния ответа HTTP # ТИП датчика probe_http_status_code probe_http_status_code 200 # HELP probe_http_uncompressed_body_length Длина несжатого тела ответа # Датчик TYPE probe_http_uncompressed_body_length probe_http_uncompressed_body_length 14516 # HELP probe_http_version Возвращает версию HTTP ответа зонда.
# ТИП датчика probe_http_version probe_http_version 1.1 # HELP probe_ip_protocol Указывает, является ли IP-протокол зонда IP4 или IP6. # ТИП датчика probe_ip_protocol probe_ip_protocol 4 # HELP probe_ssl_earliest_cert_expiry Возвращает самый ранний срок действия сертификата SSL в unixtime # ТИП датчика probe_ssl_earliest_cert_expiry probe_ssl_earliest_cert_expiry 1.581897599e+09 # HELP probe_success Отображает успешность проверки. # Датчик TYPE probe_success probe_success 1 # HELP probe_tls_version_info Содержит используемую версию TLS # ТИП датчика probe_tls_version_info probe_tls_version_info{версия="TLS 1.3"} 1
Вы можете видеть, что проверка прошла успешно, и получить много полезных показателей, таких как задержка по фазам, код состояния, состояние ssl или срок действия сертификата в Unix-времени.
Экспортер черного ящика также предлагает крошечный веб-интерфейс на localhost:9115, чтобы вы могли проверить последние несколько зондов, загруженную конфигурацию и информацию об отладке.
Он даже предлагает прямую ссылку на зонд prometheus.io . Удобно, если вам интересно, почему что-то не работает.
Запрос многоцелевых экспортеров с помощью Prometheus
Пока все хорошо. Поздравьте себя. Экспортер черного ящика работает, и вы можете вручную указать ему запрашивать удаленную цель. Вы почти там. Теперь вам нужно сказать Prometheus, чтобы он выполнял запросы за нас.
Ниже вы найдете минимальную конфигурацию прометея. Он говорит Prometheus очистить сам экспортер, как мы это делали до использования curl 'localhost:9115/metrics' :
ПРИМЕЧАНИЕ. Если вы используете Docker для Mac или Docker для Windows, вы не можете использовать localhost:9115 в последней строке, но должны использовать host.docker .внутренний:9115 . Это связано с виртуальными машинами, используемыми для реализации Docker в этих операционных системах. Вы не должны использовать это в производстве.
prometheus.yml для Linux:
глобальный:
скреб_интервал: 5 с
scrape_configs:
- job_name: blackbox # Чтобы получить метрики о самом экспортере
путь_метрик: /метрики
статические_конфигурации:
- цели:
- локальный: 9115
prometheus.yml для macOS и Windows:
глобальный:
скреб_интервал: 5 с
scrape_configs:
- job_name: blackbox # Чтобы получить метрики о самом экспортере
путь_метрик: /метрики
статические_конфигурации:
- цели:
- хост.докер.внутренний:9115
Теперь запустите контейнер Prometheus и скажите ему смонтировать наш файл конфигурации сверху. Из-за того, что сеть на хосте адресуется из контейнера, вам нужно использовать немного другую команду в Linux, чем в MacOS и Windows:
Запустите Prometheus в Linux (не используйте --network="host" в рабочей среде):
docker \ запустить --network="хост"\ --mount type=bind,source="$(pwd)"/prometheus.yml,target=/prometheus.yml,только для чтения \ выпускной / прометей \ --config.file="/prometheus.yml"
Запустить Prometheus на MacOS и Windows:
docker \ запустить -p 9090:9090 \ --mount type=bind,source="$(pwd)"/prometheus.yml,target=/prometheus.yml,только для чтения \ выпускной / прометей \ --config.file="/prometheus.yml"
Эта команда работает аналогично запуску экспортера черного ящика с использованием файла конфигурации.
Если все работает, вы сможете перейти на localhost:9090/targets и увидеть под черным ящиком конечную точку с состоянием UP зеленым цветом. Если вы получаете красный DOWN , убедитесь, что экспортер черного ящика, который вы запустили выше, все еще работает. Если вы ничего не видите или желтая UNKNOWN , вы очень быстро и должны дать ему еще несколько секунд, прежде чем перезагрузить вкладку браузера.
Чтобы указать Prometheus запросить "localhost:9115/probe?target=prometheus., вы добавляете еще одно задание очистки
io&module=http_2xx" blackbox-http , где вы устанавливаете metrics_path на /probe и параметры params: в конфигурационном файле Prometheus prometheus.yml :
global:
скреб_интервал: 5 с
scrape_configs:
- job_name: blackbox # Чтобы получить метрики о самом экспортере
путь_метрик: /метрики
статические_конфигурации:
- цели:
- локальный: 9115 # Для Windows и macOS замените на - host.docker.internal:9115
- job_name: blackbox-http # Чтобы получить метрики о целях экспортера
путь_метрики: /зонд
параметры:
модуль: [http_2xx]
цель: [prometheus.io]
статические_конфигурации:
- цели:
- localhost:9115 # Для Windows и macOS замените на - host.docker.internal:9115
После сохранения файла конфигурации переключитесь на терминал с док-контейнером Prometheus и остановите его, нажав ctrl+C , и снова запустите его, чтобы перезагрузить конфигурацию с помощью существующей команды.
Терминал должен вернуть сообщение «Сервер готов принимать веб-запросы». и через несколько секунд вы должны начать видеть красочные графики в своем Prometheus.
Это работает, но имеет несколько недостатков:
- Фактические цели указываются в конфигурации параметров, что очень необычно и трудно понять позже.
- Метка
экземпляраимеет значение адреса экспортера черного ящика, что технически верно, но не то, что нас интересует. - Мы не можем увидеть, какой URL мы исследовали. Это непрактично, а также приведет к смешению разных метрик в одну, если мы проверим несколько URL-адресов.
Чтобы исправить это, мы будем использовать перемаркировку.
Перемаркировка здесь полезна, потому что за кулисами многие вещи в Prometheus настраиваются с помощью внутренних меток.
Детали сложны и выходят за рамки данного руководства. Поэтому ограничимся необходимым. Но если вы хотите узнать больше, посмотрите это выступление.
Пока достаточно, если вы понимаете это:
- Все этикетки, начинающиеся с
__, удаляются после очистки. Большинство внутренних меток начинаются с__. - Вы можете установить внутренние метки, которые называются
__param_. Те задают параметр URL с ключом<имя>для запроса очистки. - Существует внутренняя метка
__address__, которая устанавливаетсяцелямивstatic_configsи значением которой является имя хоста для запроса очистки. По умолчанию он позже используется для установки значения меткиinstance, который прикрепляется к каждой метрике и сообщает вам, откуда взялись метрики.
Вот конфигурация, которую вы будете использовать для этого. Не волнуйтесь, если это слишком много сразу, мы рассмотрим это шаг за шагом:
global:
скреб_интервал: 5 с
scrape_configs:
- job_name: blackbox # Чтобы получить метрики о самом экспортере
путь_метрик: /метрики
статические_конфигурации:
- цели:
- localhost:9115 # Для Windows и macOS замените на - host.
docker.internal:9115
- job_name: blackbox-http # Чтобы получить метрики о целях экспортера
путь_метрики: /зонд
параметры:
модуль: [http_2xx]
статические_конфигурации:
- цели:
- http://prometheus.io # Цель для проверки с http
- https://prometheus.io # Цель для проверки с помощью https
- http://example.com:8080 # Цель для проверки с http на порту 8080
relabel_configs:
- source_labels: [__адрес__]
target_label: __param_target
- source_labels: [__param_target]
target_label: экземпляр
- target_label: __адрес__
замена: локальный: 9115 # Настоящее имя хоста экспортера черного ящика: порт. Для Windows и macOS замените на - host.docker.internal:9115
Так что нового по сравнению с последним конфигом?
params больше не включает цель . Вместо этого мы добавляем фактические цели в статические конфигурации : target . Мы также используем несколько, потому что мы можем сделать это сейчас:
параметров:
модуль: [http_2xx]
статические_конфигурации:
- цели:
- http://prometheus.
io # Цель для проверки с http
- https://prometheus.io # Цель для проверки с помощью https
- http://example.com:8080 # Цель для проверки с http на порту 8080
relabel_configs содержит новые правила перемаркировки:
relabel_configs:
- source_labels: [__адрес__]
target_label: __param_target
- source_labels: [__param_target]
target_label: экземпляр
- target_label: __адрес__
замена: localhost:9115 # Настоящее имя хоста экспортера черного ящика:порт. Для Windows и macOS замените на - host.docker.internal:9115
До применения правил перемаркировки URI запроса Prometheus будет выглядеть следующим образом: "http://prometheus.io/probe?module=http_2xx" . После перемаркировки он будет выглядеть так: "http://localhost:9115/probe?target=http://prometheus.io&module=http_2xx" .
Теперь давайте рассмотрим, как это делает каждое правило:
Сначала мы берем значения из метки __address__ (которые содержат значения из целей ) и записываем их в новую метку __param_target , которая добавит параметр цель к запросам очистки Prometheus:
relabel_configs:
- source_labels: [__адрес__]
target_label: __param_target
После этого наш воображаемый URI запроса Prometheus теперь имеет целевой параметр: "http://prometheus. .
io/probe?target=http://prometheus.io&module=http_2xx"
Затем мы берем значения из метки __param_target и создаем экземпляр метки со значениями.
relabel_configs:
- source_labels: [__param_target]
target_label: экземпляр
Наш запрос не изменится, но метрики, которые возвращаются из нашего запроса, теперь будут иметь метку instance="http://prometheus.io" .
После этого записываем значение localhost:9115 (URI нашего экспортера) в метку __address__ . Это будет использоваться в качестве имени хоста и порта для запросов очистки Prometheus. Так что он напрямую запрашивает экспортер, а не целевой URI.
relabel_configs:
- target_label: __адрес__
замена: локальный: 9115 # Настоящее имя хоста экспортера черного ящика: порт. Для Windows и macOS замените на - host.docker.internal:9115
Наш запрос теперь "localhost:9115/probe?target=http://prometheus.


S3

У него есть свои метрики, обычно доступные по адресу
# TYPE датчик go_goroutines
go_goroutines 9[…]
# ПОМОЩЬ process_cpu_seconds_total Общее время, затрачиваемое пользователем и системным процессором в секундах.
# TYPE счетчик process_cpu_seconds_total
process_cpu_seconds_total 0,05
# HELP process_max_fds Максимальное количество дескрипторов открытых файлов.
# Датчик TYPE process_max_fds
process_max_fds 1.048576e+06
# HELP process_open_fds Количество дескрипторов открытых файлов.
# Датчик TYPE process_open_fds
process_open_fds 7
# ПОМОЩЬ process_resident_memory_bytes Размер резидентной памяти в байтах.
# Индикатор TYPE process_resident_memory_bytes
процесс_резидент_память_байт 7.8848e+06
# ПОМОЩЬ process_start_time_seconds Время начала процесса с эпохи unix в секундах.
# Индикатор TYPE process_start_time_seconds
process_start_time_seconds 1,54115492874e+09
# ПОМОЩЬ process_virtual_memory_bytes Размер виртуальной памяти в байтах.
# Индикатор TYPE process_virtual_memory_bytes
process_virtual_memory_bytes 1.5609856e+07
io&module=http_2xx'
# ТИП датчика probe_http_version
probe_http_version 0
# HELP probe_ip_protocol Указывает, является ли IP-протокол зонда IP4 или IP6.
# ТИП датчика probe_ip_protocol
probe_ip_protocol 6
# HELP probe_success Отображает успешность проверки.
# Датчик TYPE probe_success
probe_success 0

# ТИП датчика probe_duration_seconds
probe_duration_seconds 0,461619124
# HELP probe_failed_due_to_regex Указывает, произошел ли сбой проверки из-за регулярного выражения
# ТИП датчика probe_failed_due_to_regex
probe_failed_due_to_regex 0
# HELP probe_http_content_length Длина ответа http-контента
# TYPE probe_http_content_length Gauge
probe_http_content_length -1
# HELP probe_http_duration_seconds Продолжительность http-запроса по фазам, суммированная по всем редиректам
# ТИП датчика probe_http_duration_seconds
probe_http_duration_seconds{phase="connect"} 0,062076202999999996
probe_http_duration_seconds{phase="processing"} 0,23481845699999998
probe_http_duration_seconds{фаза="разрешить"} 0,029594103
probe_http_duration_seconds{фаза="tls"} 0,163420078
probe_http_duration_seconds{phase="transfer"} 0,002243199
# ПОМОЩЬ probe_http_redirects Количество редиректов
# ТИП датчика probe_http_redirects
probe_http_redirects 1
# HELP probe_http_ssl Указывает, использовался ли SSL для окончательного перенаправления
# ТИП датчика probe_http_ssl
probe_http_ssl 1
# ПОМОЩЬ probe_http_status_code Код состояния ответа HTTP
# ТИП датчика probe_http_status_code
probe_http_status_code 200
# HELP probe_http_uncompressed_body_length Длина несжатого тела ответа
# Датчик TYPE probe_http_uncompressed_body_length
probe_http_uncompressed_body_length 14516
# HELP probe_http_version Возвращает версию HTTP ответа зонда.
# ТИП датчика probe_http_version
probe_http_version 1.1
# HELP probe_ip_protocol Указывает, является ли IP-протокол зонда IP4 или IP6.
# ТИП датчика probe_ip_protocol
probe_ip_protocol 4
# HELP probe_ssl_earliest_cert_expiry Возвращает самый ранний срок действия сертификата SSL в unixtime
# ТИП датчика probe_ssl_earliest_cert_expiry
probe_ssl_earliest_cert_expiry 1.581897599e+09
# HELP probe_success Отображает успешность проверки.
# Датчик TYPE probe_success
probe_success 1
# HELP probe_tls_version_info Содержит используемую версию TLS
# ТИП датчика probe_tls_version_info
probe_tls_version_info{версия="TLS 1.3"} 1
yml,только для чтения \
выпускной / прометей \
--config.file="/prometheus.yml"
docker.internal:9115
- job_name: blackbox-http # Чтобы получить метрики о целях экспортера
путь_метрики: /зонд
параметры:
модуль: [http_2xx]
статические_конфигурации:
- цели:
- http://prometheus.io # Цель для проверки с http
- https://prometheus.io # Цель для проверки с помощью https
- http://example.com:8080 # Цель для проверки с http на порту 8080
relabel_configs:
- source_labels: [__адрес__]
target_label: __param_target
- source_labels: [__param_target]
target_label: экземпляр
- target_label: __адрес__
замена: локальный: 9115 # Настоящее имя хоста экспортера черного ящика: порт. Для Windows и macOS замените на - host.docker.internal:9115
io # Цель для проверки с http
- https://prometheus.io # Цель для проверки с помощью https
- http://example.com:8080 # Цель для проверки с http на порту 8080