Мониторинг показателей весенней загрузки кэша с помощью Prometheus - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь использовать prometheus для мониторинга некоторых показателей кэша из Spring-Boot. Кэш создается с помощью @Cacheable, и моя конфигурация выглядит следующим образом:

management.endpoints:
  web.exposure.include: "*"
  metrics.enabled: true
  prometheus.enabled: true
management.metrics:
  export.prometheus.enabled: true
  cache.instrument: true

Мой кэш создается с помощью простого @Cacheable('mycache') - у меня нет другого кода или настройки кэша. Я также НЕ использую какой-либо конкретный кеш при условии встроенного.

Я вижу свой кеш в списке /actuator/caches/, но не детализирован ни в /metrics, ни в/prometheus конечные точки.

Я ожидал, что некоторые метрики кэша будут опубликованы как на конечных точках /actuator/metrics, так и на /actuator/prometheus.

Я видел некоторые заметки о необходимости ручной регистрации кэша, но я не смог 'Это тоже не работает (и я не уверен, что это действительно относится). При попытке сделать это проблема заключается в том, что я не могу автоматически подключиться к компоненту CacheMetricsRegistrar. Не найдено.

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Для встроенного кэша на основе hashmap нет привязки микрометра. См. https://github.com/micrometer-metrics/micrometer/tree/master/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/cache для реализации, созданной из коробки.

Эти реализации сами отслеживают количество попаданий / промахов. Поскольку ничто не отслеживает хэш-карту, а не отслеживает метрики, нет доступных для отображения.

0 голосов
/ 20 октября 2019

Кажется, вы неправильно указали свою собственность, она должна быть конечная точка у вас есть и дополнительно s

ваша собственность должна быть management.endpoint.prometheus.enabled

Вы можете ссылаться на все свойства приводов здесь

https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#actuator-properties

Редактировать: Упомянутое свойство конечной точки соответствует Пружинная загрузка 2.2

Редактировать 2

Читая больше о кеше привода, об этом URL на # 6.3.5. Метрики кэша, я обнаружил

Только реестры, которые доступны при запуске, привязаны к реестру. Для кэшей, созданных на лету или программно после фазы запуска, требуется явная регистрация. Боб CacheMetricsRegistrar доступен для упрощения этого процесса.

Я дополнительно изучил CacheMetricsRegistrar , и по этому URL я обнаружилпример, который я реализовал в своем примере проекта привода.

теперь я могу видеть детали кэша книг в Prometheus URL приложения, как показано ниже

# TYPE cache_gets_total counter
cache_gets_total{cache="books",cacheManager="cacheManager",name="books",result="hit",} 4.0
cache_gets_total{cache="books",cacheManager="cacheManager",name="books",result="miss",} 2.0
...