[Springboot] Мониторинг приложений Springboot с помощью Prometheus+Grafana

Java

1. Введение

Чем больше проект делается, тем больше кажется, что мониторинг эксплуатации и технического обслуживания слишком важен для любой системы, чтобы быть подключенной к сети. Про мониторинг микросервисов Springboot я писал ранее[Springboot] Отслеживайте свое микросервисное приложение с помощью SpringBoot Admin, это решение может отслеживать в режиме реального времени и обеспечивать функцию напоминания о тревоге, но не может записывать исторические данные и не может просматривать ситуацию с работой и техническим обслуживанием, например, за последний 1 час или за последний 1 день. В этой статье представлен метод Prometheus + Grafana для мониторинга Springboot 2.X для достижения красивой и красивой визуализации данных.

2 Prometheus

Prometheus — это набор отличной системы мониторинга с открытым исходным кодом, сигнализации и базы данных временных рядов в наиболее распространенномKubernetesВ системах управления контейнерами это обычно сочетается сPrometheusмонитор.

2.1 Знакомство со Springboot

БудуPrometheusИмпортируйте зависимости следующим образом:

<dependency>
  <groupId>io.micrometer</groupId>
  <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

Для Springboot, чтобы включитьActuatorи откройте соответствующийEndpoint:

management.endpoints.web.exposure.include=*
# 或者
management.endpoints.web.exposure.include=prometheus

запускатьSpringbootПосле этого вы можете проверить правильность получения данных мониторинга по следующему URL-адресу:

localhost:8080/actuator/prometheus

Получение данных успешно, что указываетSpringbootДанные мониторинга могут предоставляться в обычном режиме.

2.2 Способ использования Docker

Для удобства используйтеDockerзапускатьPrometheus:

# 拉取docker镜像
docker pull prom/prometheus

Подготовить файл конфигурацииprometheus.yml:

scrape_configs:
# 可随意指定
- job_name: 'spring'
  # 多久采集一次数据
  scrape_interval: 15s
  # 采集时的超时时间
  scrape_timeout: 10s
  # 采集的路径
  metrics_path: '/actuator/prometheus'
  # 采集服务的地址,设置成Springboot应用所在服务器的具体地址
  static_configs:
  - targets: ['hostname:9000','hostname:8080']

Запустите экземпляр Docker:

# 端口为9090,指定配置文件
docker run -d -p 9090:9090 -v ~/temp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml

2.3 Тестирование и просмотр

После успешного запуска вы можете открыть веб-страницу для просмотра и отображения в графическом виде.http://локальный:9090/.

Prometheus

Как показано на рисунке выше, после открытия веб-страницы случайным образом выберите соответствующий индикатор и параметр мониторинга и нажмитеExecuteВы можете просмотреть его.

3 Grafana

Grafanaэто пакет для анализа и визуализации метрик с открытым исходным кодом, чистыйJavaScriptИнструмент для разработки передней работы, посещая библиотеку (например,InfluxDB) для отображения пользовательских отчетов, отображения диаграмм и т. д. Его пользовательский интерфейс очень гибкий, богатый плагинами и шаблонами и мощный. Обычно используется при мониторинге данных временных рядов.

3.1 Установка и запуск Docker

# 拉取镜像
docker pull grafana/grafana
# 运行实例
docker run -d -p 3000:3000 grafana/grafana

После успешного запуска посетитеhttp://localhost:3000Проверка прошла успешно, первоначальный пароль учетной записи администратораadmin/admin.

3.2 Настройка источника данных

GrafanaДля отображения данных необходимо настроить соответствующий источник данных В этой статье настроить ранее установленный и включенныйPrometheusИсточник данных, конкретная конфигурация показана на следующем рисунке:

DataSource

должен быть в курсеAccessвыбиратьBrowserрежим, в противном случае данные не могут быть получены нормально. После завершения настройки нажмитеSave & TestВот и все.

3.3 Шаблон приложения

После того, как вы сможете получить данные, вы можете настроить отображение визуализации данных. Но если вы добавите один индикатор и один индикатор самостоятельно, это будет очень хлопотно. Фактически,GrafanaПредоставляет множество отличных шаблонов для веб-страницКонечно, поверни ах. ком/ Конечно, поверни ах/Я планирую…Находить.

В этой статье используетсяSpring Boot 2.1 StatisticsШаблон, способ импорта следующий:

нажмите+№ -->Import--> Введите ссылку или идентификатор шаблона --> Нажмите Загрузить.

import

После успешного импорта вы можете отслеживать данные, и интерфейс действительно приятный:

view

4 Резюме

В этой статье описывается, как использовать Prometheus + Grafana для мониторинга приложений Springboot, На самом деле, Prometheus + Grafana очень мощный инструмент, и стоит потратить время на его изучение.

Информация о версии программного обеспечения в этом примере выглядит следующим образом:

springboot.version=2.2.5
micrometer-registry-prometheus=1.3.5
prometheus.version=2.16
grafana.version=6.7.0-beta1

Добро пожаловать на общедоступный номерТыква медленный разговор>, буду обновлять для вас...

file

Читайте больше, делитесь больше, пишите больше, организуйте больше.