Это рабочий пример для создания защищенного по SSL/TLS кластера Kafka (Kraft - без zookeepr) (ОС Windows).
(WARNING!!! Если Вы хотите собрать проект после 16.05.2025 года, необходимо пересоздать все сертификаты и ключи)
Возможно, Вам потребуется настроить своё окружение: необходимо наличие CMake, GCC или Clang, Make, pkg-config, OpenSSL.
Проверка: cmake --version, gcc --version, clang --version, make --version, pkg-config --version, openssl --version
Настроен Prometheus на сбор метрик с Kafka.
Настроена Grafana на работу с Prometheus.
Настроен UI for Apache Kafka для мониторинга и управления кластером Kafka
Всё запускается в контейнере командой docker-compose up -d
Перед сборкой необходимо:
- Скачать JMX Prometheus Java Agent c https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/ файл jmx_prometheus_javaagent-1.0.1.jar (или более поздней версии).
В проекте создаём папку jmx_exporter и туда помещаем файл jmx_prometheus_javaagent-1.0.1.jar (версия может быть, к примеру, 1.0.2)
- Создать ключи и сертификаты в соответствии с инструкцией (Create keys for SSL.docx)
- Разместить ключи и сертификаты в соответствии со структурой проекта
Prometheus просматривается на 127.0.0.1:9090
Grafana просматривается на 127.0.0.1:3000
UI for Apache Kafka просматривается на 127.0.0.1:8080
WARNING!!! Проты по которым Вы будете подключаться к Prometheus, Grafana и UI for Apache Kafka не защищены!!!
При первом замуске Grafana вводим username/password admin/admin. Будет предложена смена пароля. Далее
При подключении Grafana к Prometheus используем http://<container_name_prometheus>:9090
В dashboard Grafana загружаем ID 7589
После первого запуска всех контейнеров в корневой директории проекта будет создана папка 'grafana-data' которая будет связана с такой же папкой в контейнере grafana.
Этот минимальный набор действий выведет информацию, подтверждающую подключение и корректную работу всех элементов системы.
Пользуйтесь на здоровье!!!