Ошибка конечной точки Prometheus при использовании микрометра

Я пытаюсь настроить мониторинг Prometheus в загрузочном приложении Spring, но получаю сообщение об ошибке: Get https://example.com:8080/actuator/prometheus: EOF

Моя настройка

application.yml

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    metrics:
      enabled: true
    prometheus:
      enabled: true
  metrics:
    export:
      prometheus:
        enabled: true

Prometheus config

global:
  scrape_interval:     5s # Set the scrape interval to every 5 seconds.
  evaluation_interval: 5s # Evaluate rules every 5 seconds.

scrape_configs:
  - job_name: 'app'
    metrics_path: '/actuator/prometheus'
    scheme: https
    static_configs: 
      - targets: ['example.com:8080']

Теперь, просматривая actuator/prometheus, я вижу данные:

# HELP hikaricp_connections_usage_seconds Connection usage time
# TYPE hikaricp_connections_usage_seconds summary ....
....

Но на экране целей Prometheous я вижу правильный URL, но с указанной ошибкой.

Я запускаю Prometheus с помощью Docker.

level=info ts=2018-08-14T19:10:59.6844594Z caller=main.go:603 msg="Loading   configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2018-08-14T19:10:59.686749Z caller=main.go:629 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2018-08-14T19:10:59.6867898Z caller=main.go:502 msg="Server is ready to receive web requests."

person royB    schedule 09.08.2018    source источник


Ответы (2)


Экран цели Prometheus, отображающий ошибку EOF, указывает на то, что что-то не так в файле prometheus.yml

Измените конфигурации очистки в конфигурационном файле Prometheus.

- job_name: 'person-app' metrics_path: '/actuator/prometheus' static_configs: - targets: ['example.com:8080']

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

Для обновленного файла yml

Тег схемы должен быть выше static_configs. Правильная декларация должна быть

job_name: 'person-app' metrics_path: '/actuator/prometheus' scheme: 'https' static_configs: - targets: ['example.com:8080']

person Sania Shetty    schedule 13.08.2018
comment
Извините, дал неверный пример yml. Обновлено до настоящего файла конфигурации yml (с использованием схемы) - person royB; 14.08.2018
comment
Я обновил ответ в соответствии с новым файлом конфигурации yml - person Sania Shetty; 14.08.2018
comment
Спасибо за помощь @Sania. Я получаю ту же ошибку (как со схемой: https, так и со схемой: https) - person royB; 14.08.2018
comment
Ничего особенного, добавлено - person royB; 14.08.2018

Я создал образец для воспроизведения вашей проблемы, но не смог . Обратите внимание, что образец находится на so-51765772, а не на master и Я изменил scheme и target из вашей конфигурации Prometheus, чтобы легко воспроизвести следующее:

global:
  scrape_interval:     5s # Set the scrape interval to every 5 seconds.
  evaluation_interval: 5s # Evaluate rules every 5 seconds.

scrape_configs:
  - job_name: 'app'
    metrics_path: '/actuator/prometheus'
    scheme: http
    static_configs: 
      - targets: ['localhost:8080']

Думаю, проблема может быть где-то в другом месте. Так что, если вы можете сделать этот образец неудачным, я могу взглянуть еще раз.

person Johnny Lim    schedule 24.08.2018