Сегодня мы рассмотрим пользовательские информационные панели New Relic . В частности, я покажу вам три способа использования пользовательских панелей мониторинга:
- создание обзорной панели из существующих графиков
- создание собственных графиков из существующих данных, собранных New Relic
- создание панелей для ваших пользовательских метрик
Это содержание было заказано New Relic и было написано и / или отредактировано командой Tuts +. Наша цель в отношении спонсируемого контента состоит в том, чтобы публиковать соответствующие и объективные учебные пособия, тематические исследования и вдохновляющие интервью, которые предлагают реальную образовательную ценность нашим читателям и позволяют нам финансировать создание более полезного контента.
Но прежде чем приступить к какому-либо из этих вопросов, мы должны сначала задать себе вопрос: зачем вообще использовать собственные панели мониторинга ? New Relic довольно хорошо представляет данные о производительности вашего приложения . Просто используя обычный пользовательский интерфейс, вы можете получить больше информации о производительности вашего приложения, чем когда-либо до того, как начали использовать New Relic. Итак, прежде чем я покажу вам, как использовать пользовательские панели мониторинга, я объясню, почему, по моему мнению, любой, кто использует New Relic, должен смотреть на них раньше, чем позже.
Зачем вообще использовать пользовательские панели мониторинга?
Это правда, что большинство людей с удовольствием используют New Relic, даже не взглянув на предоставляемые ею функциональные возможности панели управления. Только когда вы станете достаточно продвинутым пользователем, вы можете посмотреть на пользовательские панели и посмотреть, что они могут вам предложить. Я думаю, это позор, игра с пользовательскими инструментальными панелями может не только позволить вам по-разному разрезать и нарезать данные о производительности вашего приложения, но также может:
- научить вас немного о том, как New Relic захватывает метрики
- позволяют точно узнать, какие данные хранятся для метрик, которые будут получены
- научит вас ограничениям карт New Relic
Вы можете изучить все эти вещи, читая документацию , но играя с пользовательскими инструментальными панелями, мы можем начать понимать некоторые из этих вещей на примере (на более интуитивном уровне), а не просто знать это как набор точек. Как это часто бывает с технологиями, работа с несвязанной областью инструмента иногда дает вам более глубокое понимание и понимание того, как наиболее часто используемые области одного и того же инструмента работают. Использование пользовательских панелей инструментов сделает вас более опытным пользователем New Relic, и если вы прочитали другие посты New Relic, которые я написал, вы поймете, что я чувствую, зная ваши инструменты.
Создание обзорной панели мониторинга из существующих диаграмм
Единственная панель управления, которую я всегда люблю создавать, это то, что я называю «24 часа с первого взгляда». Я беру кучу существующих графиков, которые считаю важными для одного приложения, фиксирую период времени на последние 24 часа и собираю их все вместе на одной панели. Всякий раз, когда я смотрю на конкретное приложение в New Relic, это будет первый экран, на который я смотрю, чтобы увидеть, есть ли что-то особенно плохое, что выскакивает у меня за последние 24 часа. Давайте посмотрим, как мы можем создать такую панель.
Во-первых, нам нужно создать новую пользовательскую панель инструментов. В интерфейсе New Relic нажмите на Dashboards-> Create a custom dashboard . На следующем экране мы даем нашей информационной панели имя (вы можете использовать «24 часа с первого взгляда» или ваше собственное имя) и выбираете макет сетки. По сути, компоновка сетки представляет собой набор диаграмм одинакового размера, а макет обзора представляет собой одну большую диаграмму, окруженную кучей меньших диаграмм (мы будем использовать макет обзора в следующем разделе).
Теперь нам нужно выбрать приложение, для которого мы хотим создать нашу панель инструментов, а затем найти некоторые соответствующие диаграммы для добавления. Я хотел бы добавить следующее:
- среднее время ответа сервера
- историческое среднее время ответа сервера
- среднее время отклика браузера
- частота ошибок
- пропускная способность
- историческая пропускная способность
- использование ЦП приложения хостом
- использование памяти приложения хостом
- пять лучших веб-транзакций по времени настенных часов
- время простоя
- лучшие страны по пропускной способности
- Топ-5 операций с базой данных по времени настенных часов
В зависимости от вашего приложения вы можете добавить некоторые другие, но я считаю, что это дает мне довольно хороший снимок того, что происходит с приложением и что нужно расследовать, если что-то не так. Давайте найдем один из этих графиков и добавим их на нашу новую панель. Среднее время отклика сервера является простым, так как это большая диаграмма в разделе « Обзор » на вкладке « Мониторинг » для приложения. Каждая диаграмма в интерфейсе New Relic имеет небольшой логотип New Relic в правом нижнем углу. Когда вы наводите указатель мыши на этот логотип, он превращается в знак плюса, нажатие на плюс позволит вам добавить эту диаграмму на панель инструментов:
Но прежде чем мы добавим наш график, нам нужно изменить временное окно для интерфейса New Relic на 24 часа. Мы должны сделать это, чтобы дать нам возможность «заблокировать» график на последние 24 часа, когда мы фактически добавим его на панель инструментов (на мой взгляд, это неудобный UX , но, по крайней мере, у нас есть способ сделать то, что нам нужно):
Теперь мы можем пойти дальше и добавить график:
Не забудьте поставить галочку в поле « Блокировать для охвата» . Когда мы сейчас посетим нашу новую панель инструментов, там будет только что добавленная диаграмма:
Мы можем промыть и повторить вышеописанный процесс, пока не добавим все нужные нам графики. В итоге это должно выглядеть примерно так:
Вы можете нажать кнопку « Изменить панель инструментов» в верхнем правом углу, которая позволит вам перетаскивать диаграммы и располагать их в нужном вам порядке. Единственное, на что следует обратить внимание, это то, что вы не можете каким-либо образом изменять отдельные диаграммы (например, вы, возможно, хотели иметь более описательный заголовок диаграммы, но не можете его изменить), поскольку они являются стандартными диаграммами Новой Реликвии.
Другая настраиваемая панель инструментов, которую я всегда люблю создавать из существующих диаграмм, это «Все приложения с одного взгляда». Это применимо, только если у вас есть несколько приложений, которые вы ищете. Здесь мы выбираем один или два наиболее важных графика для каждого соответствующего приложения и собираем их вместе. Обычно безопасным вариантом является использование графика «Время отклика» для каждого приложения. Фактический процесс объединения панелей мониторинга такой же, как описано выше, вам просто нужно переключить приложения, чтобы получить соответствующие графики от каждого. В конце концов, вы должны получить что-то вроде этого:
Это экран, на котором я склонен смотреть в первую очередь, когда я захожу в New Relic. Может быть полезно ограничить время каждого графика 24 часами, как мы делали для нашей панели «24 часа с первого взгляда», но это ваше дело. Конечно, это актуально, только если вы поддерживаете несколько приложений. Сказав, что, если у вас есть несколько подготовительных сред для вашего приложения (для промежуточного или нагрузочного тестирования), вы, возможно, захотите поместить их все в сводную панель, подобную этой, это может помочь вам отследить изменения, которые снижают производительность до того, как код заканчивается в производстве.
Создание ваших собственных графиков из существующих данных
Интерфейс New Relic имеет некоторые необходимые ограничения. Это должно быть всем для всех, поэтому они могут группировать только диаграммы и таблицы, которые имеют смысл для всех веб-приложений. В большинстве случаев экраны пользовательского интерфейса будут ограничивать вас просмотром одной транзакции за раз и одного или двух наборов показателей за раз, если вам нужен доступ к другим, вам нужно нажимать вокруг. Хорошей новостью является то, что при использовании пользовательских панелей мониторинга это ограничение больше не применяется. Мы знаем, какие транзакции связаны с нашим доменом, мы также знаем, какие показатели важны для нас для каждой транзакции. Мы можем создать панель мониторинга, которая группирует несколько связанных транзакций со всеми важными метриками для каждой из них и смотрит на нее на одном экране.
Допустим, у нас есть особенно важная транзакция в нашем приложении, возможно, имеет смысл иметь панель управления, на которой мы можем сразу увидеть большую часть важной информации об этой транзакции. Здесь, на Tuts +, у нас есть концепция статей (очевидно), и статьи очень важны для нас, давайте создадим панель мониторинга, чтобы следить за ними.
Еще раз нам нужно создать новую панель инструментов, как и раньше, мы назовем ее «Обзор статьи», но на этот раз мы будем использовать макет обзора. Нам не нужно охотиться за диаграммами, так как мы будем создавать собственные диаграммы, поэтому нажмите большую кнопку, чтобы создать основную диаграмму для нашей панели инструментов:
Он спросит вас, хотите ли вы добавить диаграмму или таблицу, мы добавим таблицу позже, а пока выберите диаграмму. Вы увидите экран, который выглядит так:
Главное, на что нужно обратить внимание — это показатель, который вы хотите отобразить. Когда вы щелкнете внутри текстового поля метрик, вы увидите список метрик верхнего уровня, которые вы можете выбрать. Метрики в New Relic названы как префикс / категория / метка . В случае приложения Rails префикс может быть Controller
или ActiveRecord
(если вы не используете Rails, префикс для транзакций будет WebTransactions
). Для Controller
категория будет именем контроллера, а метка будет именем действия. Если вы исследуете некоторые метрики, пока играете со своим первым графиком, вы начнете чувствовать вид метрик, к которым у вас есть доступ, и где их найти. Если вы не видите ожидаемые метрики, убедитесь, что в New Relic выбрано правильное приложение, это всегда сбивает меня с толку.
Вернуться к нашему основному графику. Метрика, к которой мы стремимся, будет привязана к нашему ArticlesController
, поэтому ее имя — Controller / article / show . После того, как мы выбрали метрику, содержимое раскрывающегося списка « Значение» изменится и будет содержать все значения, которые имеют смысл для этой метрики. Стоит еще раз изучить все различные значения и посмотреть, что же на самом деле содержит итоговая диаграмма. В нашем случае «Среднее время отклика» кажется хорошей вещью в качестве основного графика.
На данный момент, если мы дадим заголовок нашей диаграмме и нажмем кнопку предварительного просмотра , мы увидим, как она выглядит:
Это выглядит нормально, но я хочу, чтобы ось Y была в миллисекундах, и я хочу, чтобы и единицы на оси тоже. Итак, давайте выпадем из расширенных параметров для диаграммы и изменим числовой формат на « To Milliseconds
», мы также установим метку единицы измерения по оси Y как « ms
»:
Наш график теперь выглядит хорошо на предварительном просмотре. Единственное примечание, о котором мы не говорили, это выпадающий список Chart . По сути, это позволяет вашей диаграмме быть ссылкой на другую настраиваемую панель мониторинга. При нажатии на диаграмму эта панель будет отображаться. Нам не нужна эта функциональность, поэтому мы оставляем выпадающий список в покое. Теперь мы продолжим и сохраним наш график.
Теперь мы можем добавить различные вспомогательные диаграммы. В нашем случае я знаю, что у Tuts + есть концепция учебных пособий (также, очевидно), которая тесно связана со статьями, поэтому, если я собираюсь следить за средним временем отклика статьи, вероятно, будет хорошей идеей иметь среднее время отклика учебника близко для сравнения, поэтому я создам график для этого. Мы будем следовать тем же шагам, что и выше, в конце наша панель будет выглядеть так:
Хм, похоже, что среднее время отклика для статей намного выше, чем уроки, но я случайно знаю, что оба они имеют значительный объем кода, странно. Но это также указывает на то, что наша пользовательская панель инструментов уже приносит дивиденды, и мы еще не завершили ее создание. Я мог бы найти эту информацию, просматривая ее в обычном пользовательском интерфейсе New Relic, но наличие таких диаграмм рядом помогает по-настоящему осознать тот факт, что может быть проблема.
Также было бы хорошо увидеть, где находится наш ArticlesController
по сравнению с другими контроллерами, поскольку их максимальное время отклика — это работа для таблицы. Мы добавляем еще один график, как и раньше, но на этот раз вместо таблицы. Чтобы создать таблицы с несколькими строками, нам нужно использовать подстановочные знаки в нашем имени метрики. В нашем случае я установлю метрику равной Controller / , это выберет все метрики под префиксом *Controller
, теперь я установлю для текстового поля ограничения значение 10
которое будет выполняться именно так, как вы ожидаете, и установите число строк в нашей таблице до десяти. В конце у нас должно получиться что-то похожее, прямо перед сохранением:
Наша пользовательская панель теперь будет:
Похоже, что ArticlesController#show
имеет наибольшее максимальное время отклика из всех действий контроллера, включая TutorialsController#show
, это очень любопытно, и я, вероятно, должен отметить это.
Мы можем продолжить добавление ряда других графиков, таких как среднее время ответа конечного пользователя или количество вызовов в минуту. Однако некоторые вещи, которые вы просто не можете сконструировать с помощью пользовательской диаграммы, например, историческая пропускная способность или время отклика. К счастью, мы всегда можем найти нужные нам диаграммы в New Relic и просто добавить их на нашу пользовательскую панель.
Единственное ограничение при использовании панели мониторинга, которая имеет пользовательские диаграммы, заключается в том, что вы должны выбрать правильное приложение в New Relic, в противном случае все пользовательские диаграммы на вашей панели будут пустыми.
Создание панелей для ваших пользовательских метрик
Если вы читали мою последнюю статью о пользовательских метриках , вы могли бы вспомнить, что я упомянул, что единственный способ просмотреть собранные вами данные пользовательских метрик — это создать собственную панель мониторинга в New Relic, это третья причина для использования пользовательских щитки. Если вы собираете много пользовательских метрик, это может быть лучшей причиной всего.
В Tuts + у нас есть концепция категорий (но, опять же, очевидно), я просто случайно знаю, что у нас есть несколько пользовательских метрик, перемещающихся по категориям. Давайте посмотрим, сможем ли мы разместить их на приборной панели и получить представление о том, что происходит. Мы создадим еще одну панель мониторинга и назовем ее «Категории пользовательских метрик». Все пользовательские метрики в New Relic должны находиться под префиксом Custom
и именно здесь мы находим метрики, которые ищем:
Мы создадим пару диаграмм, одну для того, чтобы узнать, сколько времени занимает создание докладчиков в CategoriesController
а другую — для того, чтобы узнать, сколько времени потребуется, чтобы получить хэш ссылки от докладчиков. Главное, что нужно знать с помощью пользовательских метрик, это то, какие данные вы на самом деле отправляете в New Relic. В этом случае я случайно узнал, что мы измеряем время, поэтому я могу выбрать « Average value
» в качестве значения моей метрики и установить числовой формат в milliseconds
чтобы получить разумную диаграмму. После создания обеих диаграмм наша пользовательская панель выглядит следующим образом:
Похоже, что получение хеш-ссылки от докладчиков происходит очень быстро и не слишком сильно колеблется, здесь нет необходимости что-либо оптимизировать, и я, вероятно, могу прекратить сбор этой метрики полностью (не нужно собирать ненужные данные). Тем не менее, создание докладчиков занимает значительно больше времени, мы можем изучить это дальше, чтобы увидеть, можно ли его оптимизировать. Мы также можем следить за графиком (периодически просматривая пользовательскую панель мониторинга), чтобы убедиться, что производительность не снижается, поскольку мы продолжаем работать над приложением.
Вывод
Пользовательские панели не являются панацеей . Помимо создания диаграмм для пользовательских метрик, вы можете делать все, что пользовательские панели могут делать с обычным интерфейсом New Relic. Однако игра с пользовательскими панелями определенно поможет вам стать более опытным пользователем New Relic с более глубоким пониманием того, как он работает под капотом. Кроме того, возможность взглянуть на ваши показатели производительности по-разному может стать неоценимым инструментом, который поможет вам выявить потенциальные проблемы с производительностью, прежде чем они окажут существенное влияние на ваше приложение.
Если у вас есть какие-либо вопросы о пользовательских инструментальных панелях New Relic, не бойтесь оставлять комментарии, и я сделаю все возможное, чтобы ответить. Кроме того, если в прошлом вы пользовались настраиваемыми инструментальными панелями для достижения хорошего эффекта, поделитесь, пожалуйста, любыми советами, всегда интересно посмотреть, как другие люди используют свои инструменты.