Я настроил Prometheus для мониторинга различных приложений весенней загрузки. Эти приложения могут иметь несколько экземпляров, развернутых на пяти разных серверах. Некоторые приложения развернуты на каждом узле, другие - нет. Невозможно определить, находится ли applicationOne на nodeOne (это отвечает Portainer), поэтому я настроил список Prometheus в качестве целевого для всех возможных IP-адресов, на которых может быть развернуто приложение.
- job_name: 'production-diagnostic'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
static_configs:
- targets: ['1.1.1.1:9003', '1.1.1.2:9003', '1.1.1.3:9003', '1.1.1.4:9003', '1.1.1.5:9003']
Это конкретное приложение настроено для одновременного запуска только на сервере, оно будет переключаться на другой узел, только если есть запрос человека на повторное развертывание. Prometheus ведет себя плохо: очевидно, он считывает метрику с четырех узлов для этого приложения, даже если он развернут только на одном из них. То же самое и с другими приложениями.
Пример:
jvm_memory_used_bytes {application = "localization_vehicles_diagnostic", area = "heap", id = "G1 Eden Space", instance = "1.1.1.1:9003", job = "production-diagnostics"} 299892736 jvm_memory_used_bytes {application = "localization_vehicles_diagnostic", область = "куча", id = "G1 Eden Space", instance = "1.1.1.2:9003", job = "production-diagnostics"} 296747008 jvm_memory_used_bytes {application = "localization_vehicles_diagnostic", area = "heap", id = "G1 Eden Space ", instance =" 1.1.1.3:9003 ", job =" production-diagnostics "} 294649856 jvm_memory_used_bytes {application =" localization_vehicles_diagnostic ", area =" heap ", id =" G1 Eden Space ", instance =" 1.1. 1.4: 9003 ", job =" production-diagnostics "} 295698432
Что-то не так в моей конфигурации? Нужно ли мне добавить какой-нибудь другой параметр? Или, может быть, есть какие-то проблемы с Прометеем и Портайнером?