1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/webfunnyMonitor-webfunny_monitor

Клонировать/Скачать
DES.md 9.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.06.2025 22:21 b0dbfb6

В нормальных условиях анализ данных будет доступен через час, не спешите.

Установка

Обучающее видео по установке

Видео-инструкция по локальной установке

Базовая среда

Установите NodeJS версии 10.6.0 или выше.

Шаг 1: Клонирование и инициализация последней версии пакета

  1. Клонируйте код с GitHub:
    $ git clone https://github.com/a597873885/webfunny_monitor.git
    Или используйте GitLab, если у вас возникли проблемы с подключением к GitHub:
    $ git clone https://gitee.com/webfunnyMonitor/webfunny_monitor.git
  2. Выполните команды инициализации и установки в корневой директории проекта:
    $ npm install && npm run bootstrap
  3. Проверьте наличие pm2 (выполните команду $ pm2 -v). Если pm2 не установлен, выполните установку:
    $ npm install pm2 -g

Шаг 2: Настройка подключения к базе данных MySQL

  1. Установите MySQL (видео-инструкция: Установка MySQL)
  2. Создайте базу данных webfunny_db
    • Название базы данных: webfunny_db
    • Установите кодировку: [Default Character set]: utf8, [Default Collation]: utf8_bin

Шаг 3: Настройка подключения к базе данных

Откройте файл webfunny_monitor/bin/mysqlConfig.js и настройте подключение:

module.exports = {
  write: {
    ip: 'xxx.xxx.xxx.xxx', // IP адрес сервера
    port: '3306',          // порт
    dataBaseName: 'webfunny_db', // название базы данных
    userName: 'root',      // имя пользователя
    password: '123456'     // пароль
  }
}
```### Шаг 3: Локальная установка и запуск
1. Выполните команду для запуска проекта:

$ npm run prd

Для первого запуска используйте команду `$ npm run prd`, для перезапуска используйте команду `$ npm run restart`.
2. Откройте браузер и перейдите по адресу: http://localhost:8010/webfunny/register.html?type=1 (создание аккаунта администратора и вход).
3. После создания нового проекта вы увидите руководство по установке датчиков, которое поможет вам завершить установку.### Шаг 4: Установка в продакшн-среде
1. Настройте IP-адрес или доменное имя
Откройте файл `webfunny_monitor/bin/domain.js` и настройте IP-адреса:
```javascript
module.exports = {
localServerDomain: 'xxx.xxx.xxx.xxx:8011', // домен для отправки логов
localAssetsDomain: 'xxx.xxx.xxx.xxx:8010'  // домен для фронтенд-страниц
}

(Обратите внимание, что порты должны совпадать)```markdown localServerPort: '8011', # порт для отправки логов localAssetsPort: '8010', # порт для фронтенд-страниц } Настройка домена: module.exports = { localServerDomain: 'www.baidu.com:8011', # домен для отправки логов localAssetsDomain: 'www.baidu.com:8010', # домен для фронтенд-страниц localServerPort: '8011', # порт для отправки логов localAssetsPort: '8010', # порт для фронтенд-страниц } После завершения настройки, в браузере откройте следующие адреса, чтобы убедиться, что они доступны. 1. Адрес списка проектов, выполните команду в консоли: curl http://xxx.xxx.xxx.xxx:8011/server/webMonitorIdList или curl http://www.baidu.com:8011/server/webMonitorIdList 2. Адрес для отображения данных, откройте в браузере: http://xxx.xxx.xxx.xxx:8010/webfunny/overview.html или http://www.baidu.com:8010/webfunny/overview.html

2. Добавление прав на выполнение (важно!!! Без этого невозможно создать таблицы базы данных) Обычно скрипты createTable.sh и restart.sh не имеют прав на выполнение, поэтому их необходимо авторизовать вручную. Для систем Linux и Mac выполните команду $: chmod 755 createTable.sh, chmod 755 restart.sh для предоставления прав. Для других операционных систем найдите подходящий метод авторизации. [Внимание] Без авторизации возможно отсутствие автоматического создания таблиц базы данных каждый день. ### Шаг 5. Настройка уведомлений об ошибках (робот DingTalk) Webfunny предоставляет возможность настройки перехватов уведомлений; после выполнения команды npm run init появится директория interceptor, которую необходимо настроить для использования робота DingTalk. Конфигурация находится в следующих директориях: Конфигурационный файл робота DingTalk: /interceptor/config/dingRobot.js; для других способов уведомлений проверьте код.

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

### Шаг 6. Запуск очереди сообщений (необязательно)

1. Установка RabbitMQ (рекомендуется установить после завершения развертывания на сервере)

   Перед запуском очереди сообщений установите службу RabbitMQ; для Ubuntu: https://www.cnblogs.com/warm-stranger/p/11000996.html 
   После установки можно открыть URL: `http://IP-адрес:15672` для просмотра состояния очереди сообщений.
   Если требуется подключение к удаленной очереди сообщений, найдите файл `lib/RabbitMq.js` в корневой директории и настройте его.

#### 2. Запуск очереди сообщений
После установки RabbitMQ найдите переменную messageQueue в файле webfunny_monitor/bin/messageQueue.js и установите её значение на true, затем перезапустите сервис.

### Шаг 7. Конфигурация разделения чтения и записи (необязательно)
1. Настройте несколько баз данных MySQL с главным сервером и несколькими репликами (лучше всего иметь один главный сервер и несколько реплик, хотя один главный сервер и одна реплика также допустимы).
2. Откройте файл webfunny_monitor/bin/mysqlConfig.js
```javascript
module.exports = {
 write: {
   ip: 'xxx.xxx.xxx.xxx', // удалённый IP адрес
   port: '3306',          // порт
   dataBaseName: 'webfunny_db', // имя базы данных
   userName: 'root',      // имя пользователя
   password: '123456'     // пароль
 },
 // версия с высокой производительностью поддерживает этот атрибут
 read: [
   { host: "xxx.xxx.xxx.xxx", username: "root1", password: "123456" },
   { host: "xxx.xxx.xxx.xxx", username: "root2", password: "123456" }
 ]
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/webfunnyMonitor-webfunny_monitor.git
git@api.gitlife.ru:oschina-mirror/webfunnyMonitor-webfunny_monitor.git
oschina-mirror
webfunnyMonitor-webfunny_monitor
webfunnyMonitor-webfunny_monitor
main