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

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

Уточнение проблемы: как часть инструментария/конфигурации New Relic я задал «имя_приложения», используя имя службы. (Это стандартный параметр конфигурации для New Relic.)

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

Однако у моего менеджера есть команда людей, каждый из которых владеет/разрабатывает услуги. Мой менеджер хотел бы, чтобы все эти сервисы использовали одно и то же «имя_приложения», чтобы он мог перейти в New Relic и просмотреть обзор, карту сервисов, транзакции... все это хорошо показывает интересующие показатели по всем сервисам, за которые он отвечает. .

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

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

Это должна быть общая потребность, имеющая общее решение.

Что я пробовал/узнал: несколько «имя_приложения»: я узнал, что могу указать до трех значений «имя_приложения» для каждой службы/приложения. Я пробовал это, и, похоже, это работает нормально. При предоставлении как уникального имени, так и общего имени оба этих имени приложения доступны в списке выбора «приложения». Кажется, это делает то, что нам нужно, но в документации подразумевается, что это предназначено для поддержки приложений, работающих в разных средах. Это также похоже на «хакерский» подход, поскольку он ограничен тремя значениями, и можно представить себе, что нужно больше способов агрегирования данных. Однако, если это рекомендуемый/общий подход, меня это устраивает.

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

Insights/Infrastructure: есть функции New Relic, которые я пока не понимаю. У нашей учетной записи нет доступа к этим функциям, поэтому, если это правильный подход, мне нужно будет предложить улучшить нашу учетную запись.

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

Если кто-нибудь знает об общем правильном способе решения этой проблемы, я был бы очень признателен за известие от вас.


person caleb0199    schedule 06.06.2017    source источник


Ответы (1)


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

Рассмотрим сценарий, в котором одно приложение является общедоступным («foo»), а другое — только внутренним («bar»). Если они оба сообщают New Relic, используя только одно имя приложения («foobar»), вы можете открыть «foobar» в APM и увидеть, что оно имеет умеренную пропускную способность, но хорошее время отклика. На самом деле общедоступный сайт может быть перегружен запросами или может работать очень плохо, но, поскольку у вас есть внутренний сайт с низким трафиком, который очень быстро отвечает на каждый запрос, ваша средняя пропускная способность и ваш среднее время отклика в "foobar" хорошее.

Если вашему менеджеру нужна возможность просматривать данные приложения, ему следует использовать New Relic Insights. Вы можете запросить данные из нескольких приложений, например:

SELECT * FROM Transaction WHERE appName = 'foo' OR appName = 'bar'

Вы можете использовать Обозреватель событий в Insights, чтобы найти дополнительные поля для запросов.

person anothermh    schedule 01.11.2017