Skip to content

kozjulia/kafka-monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Система мониторинга с использованием Spring Kafka

Система мониторинга, которая отслеживает работу различных компонентов приложения с помощью Spring Kafka.

Система включает в себя Producer для отправки метрик, Consumer для их обработки и анализа, а также REST API для просмотра метрик.

Документация:
  • Продюсер

документация доступна по ссылке: http://localhost:8081/swagger-ui/index.html

OAS доступна по адресу: http://localhost:8081/v3/api-docs

Kafdrop (веб-интерфейс для управления Kafka) можно открыть по адресу: http://localhost:9090


"Metrics Producer" отслеживает и собирает метрики работы приложения и отправляет их в Kafka топик "metrics-topic".

"Metrics Consumer" принимает метрики из Kafka топика "metrics-topic" и анализирует их для выявления проблем и трендов.


Приложение умеет делать следующее:

  1. Получение, создание, изменение, удаление элемента;
  2. Каждые 10 секунд запускается автоматический сбор метрик, указанных в пропертиз, которые отправляются в топик Kafka;
  3. Консюмер автоматически считывает метрики из топика Kafka и записывает в бд;
  4. Получение метрик по ид и всех.

Микросервисное приложение написано на Java, использует Spring Boot, Maven, Hibernate, Liquibase, Swagger, Kafka, Actuator, Openfeign, Docker, API соответствует REST, данные хранятся в БД PostgreSQL.


Для запуска приложения перейдите в папку с приложением и запустите

mvn clean package
docker-compose up

В папке postman находится коллекция тестов для сервиса:

  • Для всех API item написаны автоматизированные скрипты + тесты;
  • Для получения метрик всех и по ид написаны запросы.