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

OSCHINA-MIRROR/dromara-cubic

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Cubic — что это такое

Cubic — это универсальная платформа для определения проблем, которая подключается к приложениям без вмешательства в их работу и предоставляет различные показатели. Она предлагает динамический трекинг стека потоков, полную интеграцию функциональных модулей arthas и направлена на мониторинг приложений, помогая разработчикам быстро находить проблемы.

Официальный сайт: https://cubic.jiagoujishu.com Gitee: https://gitee.com/dromara/cubic Github: https://github.com/dromara/cubic Demo: http://43.138.50.220:6080

Особенности:

  • Совместимость: полный мониторинг совместим с различными способами развёртывания, такими как IDC, ECS, Docker.
  • Простота использования: не требует настройки, готов к использованию сразу после распаковки, подключается к приложению без вмешательства, обновления приложения незаметны.
  • Мощь: поддерживает базовый мониторинг приложений, трекинг стека, мониторинг пула потоков и т. д.
  • Гибкость: предоставляет хорошие возможности для расширения, позволяя вам самостоятельно выбирать параметры.

Развёртывание в среде разработки

Всего два шага:

  • Выполните cubic-proxy -> resources -> db -> init.sql для создания таблиц.
  • Запустите скрипт build-start.sh для упаковки и развёртывания приложения.

Если у вас возникнут вопросы? Пожалуйста, обратитесь к разделу Q/A.

Документация

Структура

cubic-agent Агент сбора данных приложений
config Хранилище файлов конфигурации агента
cubic-proxy Прокси-сервер приложений, получающий данные от агентов
cubic-proxy-common Общие базовые параметры
cubic-proxy-websocket Прокси-приложение для передачи данных между веб-страницей и прокси-сервером через веб-сокет
cubic-ui Веб-интерфейс, предоставляющий различные функции, скопируйте содержимое каталога dist в cubic-proxy после упаковки
docs Документация
scripts Содержит скрипты для упаковки и запуска
agent-dist Здесь хранятся упакованные компоненты агента
agent-proxy-dist Здесь хранятся упакованные jar-файлы для развёртывания прокси
arthas-dist Поддержка набора команд arthas

Техническая архитектура:

  • Основана на новейшем стеке технологий Spring Boot.
  • Модуль аутентификации основан на технологии Spring Boot Security JWT.
  • WebShell использует технологии Vue Xterm, Websocket и Netty.
  • Коммуникация между Proxy и агентом основана на технологиях Netty и GRPC.

Функции

Завершённые функции:

  • Аутентификация.
  • Список экземпляров.
  • Мониторинг сердцебиения экземпляров.
  • Сбор базовой информации о экземплярах.
  • Сбор информации о сервере.
  • Сбор основной информации JVM.
  • Сбор параметров запуска.
  • Проверка зависимостей.
  • Поддержка динамического набора команд arthas.
  • Получение исторического стека потоков (в минутах).
  • Получение реального стека потоков.
  • Мониторинг пула потоков.

Демонстрация функций

Центр экземпляров (показывает информацию о текущем экземпляре)

Базовая информация (нажмите «Экземпляр» —> отображается базовая информация о текущем экземпляре)

Мониторинг зависимостей (нажмите «Экземпляр» —> отображаются зависимости текущего экземпляра)

Операции с командами arthas

Контроль пула потоков

Реальный стек потоков

Исторический стек потоков

Вопросы и ответы

1. Вопрос: Почему страница загружается так медленно? Ответ: Поскольку я пишу её в свободное время, интерфейс содержит некоторые ошибки. Функциональность, развёртывание и скрипты находятся в стадии доработки. Скоро мы будем использовать новейшую версию VUE для улучшения интерфейса. Приглашаем экспертов внести свой вклад в код.

2. Вопрос: Почему не было обновлений в последние несколько месяцев? Ответ: Из-за смены работы и других обстоятельств. В дальнейшем мы будем строго придерживаться ежемесячного выпуска крупных версий.

3. Вопрос: После компиляции protobuf-файл не найден? Ответ: Попробуйте выполнить команду mvn compile ещё раз.

4. Вопрос: Зависимости среды? Ответ: JDK 1.8, MySQL 5.5+.

5. Вопрос: Ошибка версии JDK или tools.jar не существует? Ответ: cubic использует java из JAVA_HOME/bin/java, требуется JDK8 и выше, но «не обязательно», чтобы версия JDK совпадала с версией в целевом приложении. cubic зависит от JAVA_HOME/lib/tools.jar. Расположение JAVA_HOME определяется через чтение переменной окружения JAVA_HOME. Если она не определена, попробуйте найти java через «which java» и получить относительный путь. Вы можете проверить текущую конфигурацию с помощью команды echo $JAVA_HOME.

6. Вопрос: На Linux возникает ошибка java.lang.NoClassDefFoundError: com/sun/tools/attach/VirtualMachine Ответ: Если echo $JAVA_HOME показывает, что конфигурация уже выполнена, добавьте -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar в параметры запуска приложения.

7. Вопрос: Скачал, есть ошибки компиляции Ответ: Не беспокойтесь, вы можете упаковать проект с помощью build.sh в папке scripts. Если всё равно возникают ошибки, соберите проект в IDEA, нажав на кнопку Build (зелёный молоточек).

Организация

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

Получение знаний

Обсуждение проблем

Присоединяйтесь к групповому чату Cubic Open Source [Cubic开源交流群].

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/dromara-cubic.git
git@api.gitlife.ru:oschina-mirror/dromara-cubic.git
oschina-mirror
dromara-cubic
dromara-cubic
master