Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
1

Мониторинг Node.js приложения

09.07.2020, 20:44. Показов 887. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Есть достаточно большое Node.js приложение (Express, HTTP API). Какие инструменты правильно использовать для мониторинга? А также, как мониторить такие вещи как отправка почты (nodemailer), отправка например SMS через API? Слышал про какие-то Zabbix, Kibana, но для меня эти слова мало что говорят, так как не знаю что и где использовать. Сейчас это делается просмотром логов через pm2 Прошу направить в правильное русло. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2020, 20:44
Ответы с готовыми решениями:

Вызов приложения из Node.js
Всем привет! Такой вопрос: допустим мы имеем некий путь к приложению C:\app\app.exe, есть ли...

Архитектура node.js приложения
Всем привет. Перечитав несколько статьей на тему "архитектура node.js приложения" и порывшись в...

Запуск приложения через NODE.js
Добрый день! Хочу попробовать Javascript немножко с другой стороны, и позапускать приложения через...

Эффективный деплой Node.js приложения
Всем привет. Есть Git репозиторий, в котором монолитное Node.js приложение (Express / MongoDB) и 5...

3
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
10.07.2020, 01:37 2
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Сейчас это делается просмотром логов через pm2
У меня не такое "большое" приложение, поэтому я завел в базе отдельные таблицы для логов. Пишу туда, устаревшие удаляю, сделал отдельную АПИ-ветку для просмотра и очистки этих логов. Учитывая что это SQL могу сложные запросы делать. Например покажи "суммарное количество по фильтру по часам/дням/неделям". Конечно добавляю в логи ТОЛЬКО то что интересно и вручную "спец-командой". Это (ИМХО) надежнее чем мониторить консоль или вычитывать логи из текстовых файлов.

Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Слышал про какие-то Zabbix, Kibana, но для меня эти слова мало что говорят
Для меня тоже, но похоже (по скриншотам) это для мониторинга целых "связок" серверов или микросервисов. Похоже там встроены готовые сложные аналитические отчеты (или заготовки для них) для разных "разрезов". например по "нарисуй мне карту посещений на глобусе по анализу IP адресов" или анализ "суточных ритмов".

...Если освоите эти технологии или посчитаете их полезными для внедрения в Ваш проект - напишите СЮДА пару слов о них, плиииз... Мне тоже интересно что это! Как встраивается в проект? Платно ли? Что нужно на "клиенте"(у админа)? Онлайновская или можно оффлайн-логи просматривать?
0
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
10.07.2020, 12:46  [ТС] 3
Цитата Сообщение от andyj Посмотреть сообщение
Учитывая что это SQL могу сложные запросы делать. Например покажи "суммарное количество по фильтру по часам/дням/неделям". Конечно добавляю в логи ТОЛЬКО то что интересно и вручную "спец-командой".
Однако не думаю что вы можете красиво эти данные визуализировать.

А вот вышеперечисленные инструменты вроде как дают возможность красиво это на графиках наблюдать. Плюс меня больше интересует не то что в логах, а именно нагрузка и другие метрики по типу запросов в секунду.
0
Всегда онлайн
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
22.07.2020, 19:25  [ТС] 4
Собственно решил сам выбрать и настроить инструменты. Выбор пал на связку Prometheus + Grafana. И что могу сказать - работают очень даже хорошо! Prometheus сам собирает данные с нужных мне инстансов, а Grafana отлично их визуализирует. Потребление ресурсов от них пока что минимальное. Оба продукта имеют неплохую документацию и просты в настройке. Prometheus вообще представляет из себя один бинарник, очень легко засунуть его в systemd unit. Grafana удивиила возможностями к кастомизации, приятным интерфейсом и возможностью добавлять даже пользователей с разными ролями.

Сейчас собираются данные с самого сервера Node.js, который передает метрики самого приложения (в моем случае это количество транзакций, обработанных вебхуков и HTTP запросы) с помощью пакета с npm prom-client, тоже не требуют усилий для настройки.

Также собираются данные по железу с помощью node_exporter, по типу ЦП, ОЗУ, диск, сеть.

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

@andyj
1
22.07.2020, 19:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2020, 19:25
Помогаю со студенческими работами здесь

Развёртывание Node.js приложения на удалённом хостинге
Начал знакомиться с Node.js совсем недавно. Сделал чат, где Node.js - это сервер, к которому...

Серверная часть на node.js angular приложения
главная программа <!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UTF-8"> ...

Мониторинг запросов приложения к БД
Добрый день. Имеется очень старое и сложное приложение, которое разрабатывается и дорабатывается...

Мониторинг сетевой активности приложения
День добрый. И так, по порядку. Есть потребность отловить входящие соединения определенного...

Мониторинг файловой активности приложения
Доброго времени суток. Возможно ли с узнать, к каким файлам обращается конкретный процесс? В...

Создание Node.js приложения на MS Azure
Добрый день! Пытаюсь запустить Node.js-приложение на MS Windows Azure. Ранее не занимался...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru