Генерация графического отчета обо всех запросах и ответах сервера nodejs - PullRequest
0 голосов
/ 25 марта 2019

Я использую nodejs в качестве моего сервера с экспресс. Я регистрирую все свои запросы и ответы на сервере. Есть ли какой-нибудь пакет для чтения моих журналов и создания графического отчета, например, сколько запросов мы получили и сколько успешно. На какой запрос был получен ответ. Есть ли пакет, который может отслеживать все эти детали для меня?

1 Ответ

0 голосов
/ 25 марта 2019

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

Показатели производительности не в реальном времени

Если вы нене заботясь о том, чтобы видеть метрики служб в реальном времени, возможно, вы захотите создать что-то для их обработки в CSV и использовать что-то вроде листов Excel или Google для создания графиков из них.Если вам нужно что-то безотлагательно и вам не нужно реагировать на вещи «в тот момент», когда происходит провал, это хорошее быстрое и грязное решение.

Метрики производительности в режиме реального времени с использованием программного обеспечения SaaS

Если вам нужны метрики, но вы не хотите размещать системы самостоятельно, вы можете воспользоваться услугами, такими как DataDog.Они предоставляют информационные панели и графики как сервис.Вы можете использовать что-то вроде statsd, чтобы получить метрики в DataDog, или использовать их собственные интеграции.У них много интеграций с облачными провайдерами, такими как AWS, GCP и Azure, для метрик машин (ЦП и т. Д.).У них также есть пакеты для взаимодействия с самим вашим приложением, такие как ExpressJS пакет .

Метрики производительности в режиме реального времени с использованием автономных решений

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

  • Используйте пакет statsd для всех компонентов системы (nginx, nodejs, postgres и т. Д.) Для публикации метрик в демоне statsd.
  • Сам демон statsd-находится где-то (возможно, прокси-кластер, если вы работаете с большими приложениями).
  • Самостоятельно размещенный Graphite для использования метрик из демона statsd.Graphite - это программный пакет, предназначенный для агрегирования метрик и имеющий API для создания статических графических изображений.
  • Самостоятельно размещенный Grafana, который извлекает метрики из графита.Grafana - это программа для мониторинга в реальном времени.Он позволяет создавать несколько панелей мониторинга, которые подключаются к различным источникам данных, таким как Graphite или другие хранилища данных временных рядов.

Самостоятельный маршрут может занять один день для настройки, но это означает, что вы нет увеличить ваши расходы на хост.Кроме того, его легко оставить за внутренними сетями, если это является требованием для вашей организации.

Лично я бы порекомендовал подходы с метриками производительности в режиме реального времени.Если ваше приложение маленькое и не имеет много хостов, то такие службы, как DataDog, могут быть полезными и экономически эффективными, но если вам нужно увеличить масштаб, вы обнаружите, что ваши расходы стремительно растут.В этот момент вы можете перейти к автономной инфраструктуре.

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