BetterJS: решение для мониторинга и отслеживания ошибок клиентских скриптов Goose Factory

Debug JavaScript

Gitter

представлять

BadJS — это решение для мониторинга и отслеживания ошибок веб-интерфейса. Этот проект - гусиная фабрикаimweb(Группа QQ: 179045421) Проект команды с открытым исходным кодом.

Основные моменты проекта

  1. Универсальное систематическое решение: бизнесу требуется только простая настройка и введение файла отчета для сообщения об ошибках сценария, а также удобно отслеживать ежедневную статистику и электронные письма.
  2. Визуально опрашивайте систему, чтобы быстро найти сообщения об ошибках: количество сценариев веб-приложений огромно, и разработчикам становится сложно найти проблему в таком количестве сценариев. BadJS может найти неправильный код скрипта и дать обратную связь. Быстро находите подробные журналы ошибок с помощью различных условий запроса.
  3. Хитрые проблемы, такие как междоменный, ошибка сценария и т. д., больше не сложны: tryjs поможет вам найти все.
  4. Мониторинг и анализ реального взаимодействия с пользователем. Благодаря мониторингу реального поведения пользователя и данным об опыте в конце браузера вы получаете JavaScript, диагностику ошибок запроса AJAX и анализ глубины загрузки страницы, что помогает разработчикам точно определить каждую деталь проблемы. Даже если нет жалоб пользователей, все равно можно найти скрытые ошибки и взять на себя инициативу по улучшению взаимодействия с пользователем.
  5. Анализ поведения пользователей: детальное отслеживание реальных операций и процессов, связанных с поведением пользователей, сбоев интерфейса, медленной загрузки и ошибок, которые можно сопоставить с сервером для углубленной диагностики.
  6. Гарантия качества продукта: браузеры процветают, пользовательская среда сложна, а огромные различия мешают разработчикам воспроизводить проблемы, с которыми сталкиваются пользователи. Невозможно сообщить обо всех журналах операций пользователя, таких как фон. С помощью BadJS сообщайте об ошибках скриптов на стороне пользователя, чтобы обеспечить качество продукта.

структура системы

image

внешний интерфейс

badjs-report — инструмент для мониторинга ошибок во внешнем интерфейсе

задняя часть

Система badjs использует сервис-ориентированную архитектуру, и каждый модуль описывается следующим образом.

badjs-acceptor — Уровень доступа с использованием многопроцессорности

badjs-mq — концентратор очереди сообщений для распространения на другие системы

badjs-storage — служба хранения, хранилище в mongodb и предоставление услуг для журналов запросов и журналов статистики.

По умолчанию для хранения используется mongodb.

badjs-web — система управления, обеспечивающая управление пользователями, лог-запросы и лог-статистику

badjs-web/db/create.sql инициализирует базу данных

библиотека классов

badjs-openapi-client — библиотека для подключения к клиенту badjs-mq

Обычно он используется для пересылки данных в стороннюю систему после их получения и обработки.

Описание конфигурации (project.json)

Все «project.debug.json» являются локальными конфигурациями отладки, используемыми для различения «среды разработки» и «производственной среды», и параметры могут быть добавлены во время выполнения --debug (вывод журнала отладки) --project (использовать тестовую конфигурацию)

требования к установке

nodejs 0.12+

mysql 5.0+

mongodb 3.0+

Команда git для извлечения отдельных системных модулей

развертывать

Облачное развертывание Tencent

market.cloud.Tencent.com/products/33…

После завершения развертывания инструкции выглядят следующим образом:

  1. адрес:
  1. mongodb и mysql уже развернуты по умолчанию
  • mongodb не имеет пароля, порт по умолчанию 27017
  • mysql root/root , порт по умолчанию 3306
  1. Адрес развертывания по умолчанию:
  • /data/badjs/badjs-installer
  1. Модули, развернутые Tencent Cloud, не имеют функции уведомления по электронной почте. Полная версия развертывания должна быть включена:

развертывание докера

badjs-docker

   // 下载images
   docker pull caihuijigood/badjs-docker
   // 启动
   docker run -i -d -p 80:80 -p 8081:8081 docker.io/caihuijigood/badjs-docker bash badjs mysql=mysql://root:root@192.168.1.101:3306/badjs mongodb=mongodb://192.168.1.101:27017/badjs

Где mysql указывает вашу базу данных mysql, mongodburl указывает на ваш mongodb, эти два параметра являются обязательными

Развертывание среды с одним компьютером

  1. Установите необходимую среду, упомянутую ранее
  2. git clone GitHub.com/лучше JS/ поставить…
  3. Перейдите в каталог badjs-installer и запуститеnpm run clone, потяните каждый модуль
  4. бегатьnpm run install, установить зависимости,Этот шаг очень подвержен проблемам, для новых пользователей рекомендуется вводить каждый модуль дляnpm install
  • установка phantomjs не удалась, проверьте#8
  1. Введите badjs-web/db и импортируйте create.sql в mysql.
  2. бегатьnpm run start, запустить каждый модуль
  3. доступhttp://127.0.0.1:8081/index.html, перейдите на страницу, чтобы подтвердить успешный запуск.

Развертывание многомашинной среды

  1. Скачать стабильные версии отдельных модулей
  1. Конфигурация онлайн-среды, пожалуйста, посетите инструкции по настройке на странице каждого модуля:
  1. Запускайте отдельные модули с навсегда или без хаба

как использовать

  1. существуетhttp://127.0.0.1:8081/index.htmlБудет введение.
  2. После завершения установки используйте супераккаунт admin/admin по умолчанию, чтобы войти
  3. После успешного входа в систему нажмите «Мой бизнес» в правом верхнем углу, чтобы войти в интерфейс управления, нажмите «Применить бизнес».
  4. После успешной подачи заявки нажмите «Управление» -> «Список приложений», чтобы просмотреть и утвердить свой бизнес.
  5. После завершения проверки система отправит бизнес-информацию в badjs-accpeor, badjs-mq.
  • Чтобы проверить успешность доставки, вы можете ввести badjs-acceptor для просмотра project.db

На данный момент все фоновое развертывание прошло успешно. Затем вы можете использовать файл badjs-report/example/index.html для тестовой проверки и составления отчетов.

как сообщить

  1. О любых проблемах сообщено, вы можете нажать на следующую ссылку для просмотра

Оптимизация миллиона PV

кто использует

ke.qq.com

mail.qq.com

image

image

qun.qq.com

image

image

image

Список изменений

v1.7
  • Модуль хранения использует статистику в реальном времени
  • аксон заменяет zmq
v1.6
  • Извлечение модуля входа в систему
  • Настройки пользовательского интерфейса
  • bugfix
v1.5
  • Извлечение модуля входа в систему
  • Настройки пользовательского интерфейса
v1.4
  • Оптимизация уровня десять миллионов PV
  • добавить опенапи
  • bugfix
v1.3
  • извлечение модуля mq
  • Ограниченные правила отчетности
  • Добавить журнал реального времени
  • Оптимизация модуля отчетности
v1.2
  • Оптимизация функции статистики
  • Добавить отображение значков
  • bugfix
  • Добавить функцию утверждения проекта
  • Оптимизация модуля отчетности
v1.1
  • Добавить функцию почты
  • Добавить функцию статистики
v1.0
  • Проект онлайн
  • Функция отчетности
  • Посмотреть журнал истории