Я пытаюсь визуализировать показатели моего приложения Spring (все еще на локальном хосте до сих пор) с помощью графаны.Для этого сначала я настроил пул соединений с HikariCP и добавил функции мониторинга с помощью Jmx (MBean).До этого шага все работает нормально.
Затем я запустил докер-контейнеры Grafana, Prometheus и jmx-prometheus-exporter.
Вот мой составной файл докера
версия: '3'
services:
grafana:
image: grafana/grafana:latest
ports:
- 3000:3000
prometheus:
image: prom/prometheus:latest
ports:
- 9090:9090
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
jmx-exporter:
image: sscaling/jmx-prometheus-exporter
ports:
- 5556:5556
А вот файл конфигурации Prometheus
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
labels:
group: 'prometheus'
- job_name: 'app-server'
static_configs:
- targets: ['localhost:8080']
- job_name: 'jmx-exporter'
static_configs:
- targets: ['jmx-exporter:5556']
в Прометее: "http://localhost:9090/targets"
Я мог видеть jmx-prometheus-exporter и сам Прометей как полезные услуги.
При посещении http://localhost:5556/
я вижу некоторые значения, но нет ничего, что показываетчто они специфичны для моего приложения (я не вижу имя пула, которое я установил ...), и это кажется логичным, потому что я не вижу, где сконфигурирован контейнер jmx для чтения метрик из моего приложения (локальный jmx)
# TYPE java_lang_MemoryPool_UsageThresholdSupported untyped
java_lang_MemoryPool_UsageThresholdSupported{name="Metaspace",} 1.0
java_lang_MemoryPool_UsageThresholdSupported{name="PS Old Gen",} 1.0
java_lang_MemoryPool_UsageThresholdSupported{name="PS Eden Space",} 0.0
java_lang_MemoryPool_UsageThresholdSupported{name="Code Cache",} 1.0
java_lang_MemoryPool_UsageThresholdSupported{name="Compressed Class Space",} 1.0
java_lang_MemoryPool_UsageThresholdSupported{name="PS Survivor Space",} 0.0
# HELP java_lang_Threading_ThreadContentionMonitoringEnabled ThreadContentionMonitoringEnabled (java.lang<type=Threading><>ThreadContentionMonitoringEnabled)
# TYPE java_lang_Threading_ThreadContentionMonitoringEnabled untyped
java_lang_Threading_ThreadContentionMonitoringEnabled 0.0
# HELP java_lang_OperatingSystem_CommittedVirtualMemorySize CommittedVirtualMemorySize (java.lang<type=OperatingSystem><>CommittedVirtualMemorySize)
У меня такой вопрос, я хочу предоставить метрики своего приложения для чтения в контейнере jmx-prometheus-exporter (https://github.com/sscaling/docker-jmx-prometheus-exporter),, и я не вижу, как это настроить, (может быть, решение java-агента экспортера может работать, но я хочу что-нибудь докеризировать)