Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Tools & Tips
Code

Как и почему нужно использовать панель управления New Relic

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Performance Monitoring With New Relic.
Using New Relic Custom Metrics to Monitor All the Things
Using New Relic to Monitor Your Android App

Russian (Pусский) translation by Alex Grigorovich (you can also view the original English article)

Сегодня мы взглянем на панели управления New Relic. В частности, я покажу вам три способа использования панелей:

  • создание панели из существующих диаграмм
  • создание диаграмм на основе данных обработанных в New Relic
  • создание панелей для ваших показателей
Спонсируемый контент

Этот контент спонсировал New Relic и был написан и/или отредактирован командой Tuts +. Наша цель с авторами контента является публикация актуальных и качественных обучающих материалов, тематических исследований и вдохновляющих интервью, которые представляют истинную образовательную ценность для наших читателей и которые позволят нам профинансировать создание более полезного контента.

Но прежде чем мы займемся этим, сначала мы должны задать себе вопрос: зачем вообще использовать панель? New Relic довольно неплохо отображает данные о производительности вашего приложения. Просто используя обычный пользовательский интерфейс, вы можете получить больше информации о производительности вашего приложения, чем когда-либо, до начала использования New Relic. Поэтому, прежде чем я покажу вам, как использовать панели управления пользователя, сначала объясню, почему я думаю, что любой рано или поздно к этому придет.


Зачем вообще использовать панель?

Это правда, что большинство людей с радостью используют New Relic, никогда не обращая внимание на функциональные возможности панели инструментов, которые она предоставляет. Пока вы еще не достаточно продвинутый пользователь, вы можете посмотреть на пользовательские информационные панели и увидеть, что они могут вам предложить. Я думаю, это стыдно, использовать пользовательские панели только для того, чтобы разобраться в данных о производительности вашего приложения, они также могут:

  • научить вас немного тому, как New Relic обрабатывает данные
  • позволит вам узнать точно какой вид данных сохраняется для статистики, и последующей обработки
  • расскажет об ограничениях New Relic диаграмм

Вы можете узнать все эти вещи, прочитав документацию, но используя панель управления, вы изучите некоторые из этих вещей на практике (на более интуитивном уровне), а не просто думая, что это куча непонятных инструментов. Как это часто бывает в технологиях, работая с несвязанным инструментом, это иногда даст вам больше понимания, как работает похожий инструмент. Использование панелей управления сделает вас более опытным пользователем New Relic, и если вы прочтете другие статьи о New Relic, которые я написал, вы узнаете, что я чувствую разбираясь в инструментах.


Создание панели управления из существующих графиков

Одна пользовательская панель инструментов, которую мне всегда нравится строить, - это то, что я называю «24 часа с первого взгляда». Я беру кучу существующих диаграмм, которые я считаю важными для одного приложения, задаю период времени последних 24 часов и объединяю их на одной панели. Всякий раз, когда я смотрю на приложение New Relic, это будет стартовый экран, на который я смотрю, чтобы увидеть, если ли что-нибудь особенно плохое, что произошло за последние 24 часа. Давайте посмотрим, как мы можем создать такую панель инструментов. 

Во-первых, нам нужно создать новую настраиваемую панель. В пользовательском интерфейсе New Relic нажмите на Dashboards->Create custom dashboard. На следующем экране мы даем название нашей панели (вы можете использовать «24 часа с первого взгляда» или свое собственное имя) и выбираем макет сетки. По существу, макет сетки представляет собой набор диаграмм с одинаковым размером и обзорным макетом - это одна большая диаграмма, окруженная множеством меньших диаграмм (в следующем разделе мы будем использовать обзорный макет).

01_create_dashboard

Теперь нам нужно выбрать приложение, для которого мы хотим создать нашу панель, а затем найти подходящие диаграммы, чтобы их добавить. Мне нравится добавлять следующее:

  • среднее время отклика сервера
  • история среднего времени отклика сервера
  • среднее время отклика браузера
  • коэффициент ошибок
  • пропускная способность
  • история пропускной способности
  • использование процессора CPU 
  • использование памяти приложения в хосте
  • топ 5 операций за указанное время
  • время простоя
  • топ стран по пропускной способности
  • топ пять операций базы данных в реальном времени

В зависимости от вашего приложения вы возможно захотите добавить некоторые другие, но я считаю, что это дает мне довольно хороший обзор того, что происходит с приложением, что следует изменить, если что-то не так. Теперь давайте найдем одну из этих диаграмм и добавим их в нашу новую панель. Среднее время отклика сервера это простой, большой график в разделе Overview на вкладке Monitoring для приложения. Каждая диаграмма интерфейса в New Relic имеет небольшой логотип New Relic в нижнем правом углу, и когда вы наводите указатель мыши на этот логотип, он превращается в значок плюса, щелкнув по которому вы добавите эту диаграмму в панель инструментов:

02_add_chart_to_dashboard

Но прежде чем мы добавим нашу диаграмму, нам нужно изменить временное окно для New Relic UI на 24 часа. Мы должны сделать это для того, чтобы дать себе возможность «блокировки» диаграммы за последние 24 часа, когда мы на самом деле добавить его к dashboard (это будет неловко UX, на мой взгляд, но по крайней мере у нас есть способ сделать то, что нам нужно) :

03_change_time_window

Теперь мы можем пойти дальше и добавить диаграмму:

04_add_chart_to_dashboard

Не забудьте поставить галочку на Lock to span. Когда мы в следующий раз откроем панель управления, диаграмма, которую мы только что добавили, должна быть там:

05_dashboard_with_one_chart

Мы можем очистить и повторить описанный выше процесс до тех пор, пока не добавим все графики, которые хотим. В конце концов всё должно выглядеть примерно так:

06_full_dashboard

Вы можете нажать кнопку Edit dashboard в правом верхнем углу, что позволит перемещать диаграммы по кругу и упорядочивать их в том порядке, в котором вы хотите. Единственное, что нужно отметить, вы не можете каким-либо образом модифицировать отдельные диаграммы (например, вы хотите иметь более описательное название диаграммы, однако вы не сможете его изменить), поскольку они являются стандартными диаграммы New Relic.

Другая панель управления, которую мне всегда нравится создавать из существующих графиков, называется «Все приложения с первого взгляда». Но она применима только в том случае, если у вас есть несколько приложений, которые вы просматриваете. Здесь мы выбираем один или два наиболее важных графика для каждого соответствующего приложения и объединяем их. Обычно это безопасно ставку, чтобы использовать «Время отклика» диаграмму из каждого приложения. Процесс объединения панелей управления аналогичен описанному выше, вам просто нужно переключить приложения, чтобы получить для каждого актуальные диаграммы. В конце концов, у вас должно получиться что-то вроде этого: 

07_all_applications

Это экран, на который я смотрю прежде всего, когда вхожу в New Relic. Возможно будет полезным зафиксировать время для работы каждого графика в районе 24 часов, как это было сделано для нашей панели «24 часа с первого взгляда», всё зависит от вашего желания. Конечно, это актуально только в том случае, если вы обслуживаете несколько приложений. Другими словами, если у вас есть несколько готовых к публикации информационных сред для вашего приложения (для тестирования этапа или нагрузочного теста), вы можете разместить их вместе в панели мониторинга похожую на эту, и это может помочь вам обнаружить изменения, которые снижают производительность, прежде чем код перейдёт в стадию производства.


Создание диаграмм на основе существующих данных

Интерфейс New Relic имеет несколько необходимых ограничений. Это универсальный инструмент, поэтому он может только группировать диаграммы и таблицы, которые нужны для всех веб-приложений. В большинстве случаев интерфейс предоставляет ограниченную возможность, просмотреть одну транзакцию за раз или один или два набора показателей и если вам нужно получить доступ к другим данным, вы должны будете нажимать кнопки. Хорошая новость заключается в том, что при использовании панели управления, это ограничение больше не действует. Мы знаем, какие операции связаны между собой в нашем домене, а также, какие показатели важны для нас в каждой транзакции. Мы можем создать панель управления, которая объединяет несколько взаимосвязанных транзакций со всеми важными показателями для каждого и просмотреть их на одном экране.

Предположим, что у нас есть очень важная транзакция в нашем приложении, и имеет смысл разместить панель инструментов там, где мы можем увидеть большую часть важной информации с первого взгляда. Здесь, на Tuts+, у нас есть сборка статей (очевидно), которые для нас очень важны, давайте создадим панель инструментов, для того чтобы отслеживать их.

Сначала нам нужно создать новую панель, как и раньше, мы назовем ее "Обзор статьи", но на этот раз мы будем использовать макет обзора. Нам не нужно искать диаграммы, так как мы создадим наши собственные, поэтому нажимаем большую кнопку, для создания основной диаграммы для нашей панели:

08_add_custom_chart

Он спросит вас, хотите ли вы добавить диаграмму или таблицу, таблицу мы добавим позже, а сейчас выберем диаграмму. Вы увидите экран, который выглядит следующим образом:

09_new_chart

Главное, что мы должны здесь увидеть - это данные, которую нужно отобразить. Когда вы нажмете внутри показателей на текстовое поле, вы увидите список показателей верхнего уровня которые вы сможете выбрать. Параметры в New Relic называются prefix/category/label. В случае c приложением Rails, префикс может быть Controller или ActiveRecord (если вы не используете Rails, префикс для транзакций будет WebTransactions). В Controller категории будет носить имя контроллера, а меткой будет имя действия. Если вы исследуете некоторые из показателей, пока работаете с первой диаграммой, вы начнете ощущать, какие показатели у вас есть и где их можно найти. Если вы не видите нужные показатели, убедитесь, что приложение в New Relic выбрано верно, я на этом всегда застреваю.

Вернемся к нашему основному графику. Метрика, которой мы пользуемся, будет привязана к нашему ArticlesController, поэтому ее имя будет Controller/articles/show. Когда мы выберем показатель, содержимое раскрывающегося списка Value изменится, чтобы включить все значения, которые нам нужны. Стоит еще раз изучить всевозможные значения и убедиться, какие из них содержит готовая диаграмма. В нашем случае "Среднее время отклика" хорошо подойдёт в качестве нашего основного графика.

На этом этапе, если мы дадим нашему графику название и нажмем кнопку preview, вот, что мы увидим:

10_articles_preview

Выглядит нормально, но я хочу, чтобы ось Y была в миллисекундах, и я хочу, чтобы единицы измерения также располагались на осях. Итак, давайте рассмотрим расширенные параметры диаграммы и изменим формат единиц на To Milliseconds, мы также установим Y-axis unit label как ms.

11_filled_out_main_chart_form

На предварительном просмотре наша диаграмма выглядит неплохо. Единственное замечание, о котором мы не говорили, это выпадающий список Chart click-through.  Это, по сути, позволяет вашей диаграмме быть ссылкой на другую панель управления пользователя, и когда вы нажимаете на диаграмму, она будет отображаться. Нам эта функция не нужна, поэтому мы оставляем выпадающий список в покое. Теперь сохраняем нашу диаграмму и идем дальше.

12_completed_chart_preview

Теперь мы можем добавить дополнительные графики. В нашем случае я знаю, что на Tuts+ есть подборка учебников (естественно), которые связаны со статьями, поэтому, если я буду следить за средним временем отклика на статью, это вероятно, хорошая идея, чтобы среднее время отклика на учебное пособие было доступно для сравнения, для этого я создам диаграмму. Мы выполним те же шаги, что и ранее, и в конце концов, наша панель будет выглядеть так:

13_article_and_tutorial_dashboard

Хмм, всё выглядит так, как-будто среднее время отклика для статей гораздо выше, чем для учебников, но мне удалось узнать, что оба они состоят из значительного количества кода, это странно. Но это также показатель того, что панель управления уже приносит результаты, а ведь мы еще не закончили ее создание. Я мог бы найти эту информацию поискав в New Relic UI, но графики рядом друг с другом, помогают понять тот факт, что в этом может быть скрыта ошибка.

Также, можно хорошо увидеть, где наш ArticlesController находится по отношению к другим контроллерам, а какое максимальное время отклика, это задача для таблицы. Мы добавим еще одну диаграмму, как и раньше, но на этот раз вместо графика создаем таблицу. Чтобы создать таблицы с несколькими строками, нам нужно использовать подстановочные знаки в названии метрики. В нашем случае, я установлю метрику в качестве Controller/, это действие выберет все метрики под префиксом *Controller, и теперь я установлю поле limit равным 10, которое сделает все именно так, как вы ожидаете и задаст количество строк в таблице равным десяти. В конце концов, у нас должно получиться что-то похожее на изображение ниже, прежде чем мы всё сохраним:

14_table

Итак, наша пользовательская панель инструментов выглядит следующим образом:

15_custom_dashboard_with_table

Кажется, что у ArticlesController#show самое большое время отклика из всех действий контроллера, включая TutorialsController#show, это очень любопытно и я вероятно должен сделать пометку чтобы разобраться в этом.

Мы можем продолжить добавлять кучу других диаграмм такие как среднее время отклика пользователя или количество вызовов в минуту. Однако, есть некоторые вещи, которые вы просто не сможете построить с помощью пользовательских диаграмм, такие как история пропускной способности или времени ответа. К счастью, мы можем всегда найти графики, которые нам нужны, где-нибудь кроме New Relic и добавить их в нашу пользовательскую панель.

Единственное ограничение в использовании панели управления, которая имеет пользовательские диаграммы, заключается в том, что у вас должно быть правильное приложение, выбранное в New Relic, иначе все диаграммы на панели инструментов будут пустыми.


Создание панели для отображения вашей статистики

Если вы читали мою последнюю статью о статистике, возможно, вы помните моё упоминание о том, что единственный способом, чтобы просмотреть статистические данные, которые вы собрали, является создание панели в New Relic, и это третья причина по которой вам стоит использовать панели управления. Если вы соберете много данных, это может стать основной причиной.

На Tuts + у нас есть подборка категорий (в очередной раз, очевидно), и я рад обнаружить, что у нас есть немного данных в категориях для обработки. Давайте посмотрим, что будет если мы разместим их в панели и попытаемся разобраться что мы получили. Мы создадим панель и назовём её «Статистика по категориям». Все пользовательские данные в New Relic должны размещаться под префиксом Custom, и это то место где мы найдём наши данные:

16_custom_metrics

Мы создадим несколько диаграмм, первую чтобы увидеть, как долго обрабатываются данные в CategoriesController и вторую чтобы увидеть, сколько времени потребуется, чтобы получить хэш ссылку показателей. Ключевой момент, который стоит понять, в статистике, это какие данные вы отправляете в New Relic. В этом случае я пытаюсь измерять временные затраты, поэтому я могу выбрать 'Average value' в качестве моего значения и установить формат числа в milliseconds, чтобы получить понятную диаграмму. После создания обеих диаграмм, наши панели должны выглядеть следующим образом:

17_dashboard_for_custom_metrics

Похоже, что получение хэш ссылки показателей происходит быстро и сильно не изменяется, поэтому нет необходимости оптимизировать что-нибудь здесь, и я, прекращаю сбор этих данных (нет необходимости  в обработке ненужных данных). Как всегда, построение показателей занимает значительно больше времени, мы можем рассмотреть это позже, чтобы понять, может ли она быть оптимизирована. Мы можем держать в поле зрения график (посматривая на панель) чтобы убедиться, что производительность не падает, пока мы продолжаем работать над приложением.


Заключение

Пользовательские панели это не панацея. Кроме создания диаграмм для ваших данных, вы можете сделать все, что могут панели управления, с помощью нового интерфейса Relic. Настройка пользовательских панелей, безусловно, поможет вам овладеть навыками использования New Relic, глубже понимания то, как он работает изнутри. Кроме того возможность изучить показатели производительности различными способами, это бесценный инструмент, который поможет вам обнаружить потенциальные проблемы с производительностью, прежде чем они серьёзно повлияют на работу вашего приложения.

Если у вас есть какие-либо вопросы о New Relic, не бойтесь оставлять комментарии, и я сделаю все возможное, чтобы ответить на них. Также, если у вас был положительный опыт использования пользовательских панелей управления в прошлом, пожалуйста, поделитесь вашим мнением, ведь всегда интересно узнать, как другие люди используют свои инструменты.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.