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

OSCHINA-MIRROR/mkk-HeartBeat

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

HeartBeat

Сердцебиение — это инструмент для мониторинга различных типов серверных приложений, таких как Tomcat, Jetty, Apache, Nginx и Socket-серверы (TCP/UDP протоколы).

Как реализовать?

  1. Используйте HttpClient для отправки запросов на указанный URL сервера (application-instance) с заданной частотой (например, каждые 10 или 20 секунд). Записывайте информацию о времени соединения, успешности соединения, наличии ошибок и размере пакета данных ответа. Если обнаруживается ненормальное поведение (например, ответ не 200, возникновение исключений), отправьте уведомление по электронной почте или другим способом на указанный адрес. Также отправляйте уведомления при восстановлении нормальной работы.

  2. Установите соединение с указанным IP-адресом и портом сетевого экземпляра (network-instance) через Socket и записывайте информацию о времени соединения, успешности соединения, наличии ошибок и размере пакета данных ответа. Если обнаруживается аномальное поведение (проблемы со временем соединения, неудачное соединение, ошибки), отправьте уведомление по электронной почте или другим способом на указанный адрес. При восстановлении нормальной работы также отправляйте уведомления.

Предоставляются различные способы оповещения, такие как электронная почта (уже реализовано), SMS, сообщения в чат-бот (уже реализовано) и WeChat (можно настроить другие способы оповещения).

Используемые фреймворки и версии:

  • JDK — OpenJdk 17;
  • Spring Boot — 3.1.5;
  • Flat UI;
  • Maven — 3.6.0.

Скачать:

С версии 0.3 каждый выпуск доступен в каталоге проекта «dist».

  • HeartBeat-0.3.zip;
  • HeartBeat-0.4.zip;
  • HeartBeat-0.5.zip;
  • HeartBeat-1.0.0.zip;
  • HeartBeat-2.0.0.zip.

Обратите внимание: начиная с версии v3.0.0, дистрибутивные пакеты больше не предоставляются. Рекомендуется использовать Maven для локальной сборки или обратиться к разделу releases для загрузки.

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

  • Неинвазивное, независимое развёртывание, контролируемое использование ресурсов;
  • Возможность одновременного мониторинга нескольких серверов приложений;
  • Поддержка методов запроса GET и POST, поддержка URL HTTP и HTTPS, возможность указания типа содержимого запроса и добавления параметров запроса (фиксированных или случайных);
  • Мониторинг серверов Socket (TCP/UDP);
  • Группировка экземпляров для удобства управления (начиная с версии v3.0.0);
  • Добавление настроек безопасности, контроль регистрации пользователей, настройка прав доступа пользователей;
  • Своевременные и разнообразные уведомления (предоставляется интерфейс для расширения пользовательских уведомлений).

Среда выполнения:

  • OpenJdk 17 и выше;
  • MySql 5.7 и выше.

Онлайн-тестирование:

https://andaily.com/hb/ (версия 2.0.0) — используется только для тестирования, не рекомендуется добавлять производственные экземпляры мониторинга.

Использование:

Проект управляется Maven, требуется установить Maven (рекомендуемая версия 3.6.0) и MySQL (рекомендуемая версия 5.7) на компьютере.

Скачайте или клонируйте проект на локальный компьютер. Создайте базу данных MySQL (по умолчанию имя базы данных — heart_beat) и запустите соответствующие сценарии SQL (файлы сценариев находятся в каталоге others/database). Выполните сценарии в следующем порядке: HeartBeat.ddl, quartz_mysql_innodb.sql, initial-db.ddl (этот ddl создаст начальную учётную запись администратора и пароль: hb/Heart_beat7).

Измените информацию о подключении к базе данных в файле application.properties (находится в каталоге src/main/resources). Обратите внимание, что в initial-db.ddl по умолчанию настроена служба электронной почты, рекомендуется заменить её на собственную службу электронной почты (настройки электронной почты можно изменить после входа в систему с учётной записью администратора в меню «Система»).

Импортируйте проект в IDE (например, Intellij IDEA) и напрямую запустите класс запуска HeartBeatApplication.java. В качестве альтернативы можно использовать команду maven package для компиляции проекта в файл jar (hb.jar), а затем запустить его с помощью команды java -jar hb.jar --spring.config.location=application.properties. Убедитесь, что путь к файлу application.properties указан правильно.

После запуска HeartBeat вы можете войти в систему, используя учётные данные администратора по умолчанию: hb/Heart_beat7. Если вход не удался, необходимо выполнить сценарий initial-db.ddl в базе данных. Пароли хранятся с использованием необратимого шифрования.

План разработки:

Начиная с версии 0.5, все запланированные разработки проекта перечислены для удобства отслеживания и участия. Проект управляется открытым исходным кодом andaily-developer.

Версия 3.0.1 (в разработке):

  • Планируется добавить функцию определения состояния запроса на основе ответа HTTP.
  • Разрешить экземплярам временно отключаться в определённые периоды времени.
  • Расширить поддержку сообщений для syslog.

Версия 3.0.0 (завершена):

  • Обновлены JDK, SpringBoot и другие базовые версии, а также обновлён журнал до logback. 2016-01-09 ---- Развертывание war на Test-Server (http://andaily.com/hb/)

2016-05-01 ---- Начало разработки версии 0.5

2016-07-30 ---- Публикация версии 0,5 beta1

2016-08-15 ---- Публикация версии 0,5 beta2

2016-11-18 ---- Публикация версии 0,5 и планирование версии 1.0.0

2017-07-09 ---- Публикация версии 1.0.0

2018-01-29 ---- Начало разработки Spring-Boot 2.0.0

2018-02-22 ---- Публикация версии 2.0.0

2023-11-16 ---- Начало разработки v3.0.0

2024-01-09 ---- Публикация версии v3.0.0 (https://www.oschina.net/news/274981/java-heartbeat-3-0-0-released)

Связанные ссылки

Пожертвования

Alipay: monkeyking1987@126.com (**钊)

  • Цао Сячжоу — 18 юаней (2017-02-19)

Подробнее...

Дополнительные проекты с открытым исходным кодом см. на https://andaily.com/my_projects.html

От andaily.com

Электронная почта: sz@monkeyk.com

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

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

Введение

Приложение микросервиса JAVA для сервера приложений с функцией обнаружения сердцебиения (поддерживает протоколы HTTP/UDP/TCP). Развернуть Свернуть
Java и 5 других языков
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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