>  기사  >  Java  >  Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법

Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법

WBOY
WBOY앞으로
2023-05-19 21:10:04797검색

1 소개

프로젝트가 진행될수록 온라인으로 전환되는 모든 시스템에 대해 운영 및 유지 관리 모니터링이 너무 중요하다는 느낌이 듭니다.

Prometheus는 가장 일반적인 Kubernetes 컨테이너 관리 시스템에서 일반적으로 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 测试与查看

成功启动后,就可以打开网页查看了,并且能图形化展示,URL为http://localhost:9090/。

Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법

如上图所示,打开网页后,随便选取一个对应的监控指标与参数,点击Execute就可以查看了。

3 Grafana

Grafana是一个开源的度量分析与可视化套件,纯JavaScript开发的前端工具,通过访问库(如InfluxDB),展示自定义报表、显示图表等。它的UI十分灵活,有丰富的插件和模板,功能强大。一般用在时序数据的监控方面。

3.1 Docker安装与启动

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

启动成功后,访问http://localhost:3000 检查是否成功,初始管理员账号密码为admin/admin

3.2 配置数据源

Grafana展示数据,则需要配置对应的数据源,本文中配置之前安装启用的Prometheus数据源,具体配置如下图所示:

Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법

需要注意的是Access要选Browser模式,否则无法正常获取数据。配置完成后,点击Save & Test即可。

3.3 模板套用

能够获取数据后,就可以自定义数据可视化展示了。但如果自己一条指标一条指标的加,就会很麻烦。实际上,Grafana提供了许多优秀的模板,可以网页https://grafana.com/grafana/dashboards 查找。

本文使用Spring Boot 2.1 Statistics模板,导入方法如下:

点击+号 --> Import

2.1 Springboot 소개

Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법다음과 같이 Prometheus를 종속성에 도입합니다.

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

Springboot의 경우 Actuator를 열고 해당 Endpoint를 엽니다.

rrreee

Springboot를 시작한 후, 다음 URL을 통해 모니터링 데이터를 제대로 얻을 수 있는지 확인할 수 있습니다: Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법

localhost:8080/actuator/prometheus

데이터 가져오기 성공은 Springboot가 모니터링 데이터를 정상적으로 제공할 수 있음을 나타냅니다.

🎜🎜2.2 Docker 사용🎜🎜🎜 편의를 위해 Docker를 사용하여 Prometheus를 시작합니다. 🎜rrreee🎜구성 파일 prometheus.yml을 준비합니다. 🎜 rrreee🎜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 테스트 및 보기🎜🎜🎜성공적으로 시작되면 웹 페이지를 열어서 보고 URL은 http://localhost:9090/입니다. 🎜🎜Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법🎜🎜As 위 그림과 같이 웹페이지를 연 후 해당 모니터링 지표와 매개변수를 선택하고 실행을 클릭하면 확인할 수 있습니다. 🎜🎜🎜3 Grafana🎜🎜🎜Grafana는 오픈 소스 측정 분석 및 시각화 제품군으로 순수하게 JavaScript로 개발된 프런트 엔드 도구입니다. InfluxDB)로 사용자 정의 보고서 표시, 차트 표시 등 UI는 매우 유연하고 플러그인과 템플릿이 풍부하며 강력합니다. 일반적으로 시계열 데이터를 모니터링하는 데 사용됩니다. 🎜🎜🎜3.1 Docker 설치 및 시작 🎜🎜rrreee🎜성공적인 시작 후 http://localhost:3000을 방문하여 성공 여부를 확인하세요. 초기 관리자 계정 비밀번호는 <code>admin/admin입니다. 🎜🎜🎜3.2 데이터 소스 구성🎜🎜🎜Grafana에 데이터가 표시되므로 해당 데이터 소스를 구성해야 합니다. 이 문서에서는 이전에 설치 및 활성화된 Prometheus 데이터 소스를 구성해야 합니다. . 구체적인 구성은 그림과 같습니다: 🎜🎜🎜🎜 접속브라우저 모드를 선택해야 하며, 그렇지 않으면 데이터를 정상적으로 가져올 수 없다는 점에 유의해야 합니다. 구성이 완료되면 저장 및 테스트를 클릭하세요. 🎜🎜🎜3.3 템플릿 적용🎜🎜🎜데이터를 얻은 후 데이터 시각화 표시를 사용자 정의할 수 있습니다. 하지만 한 번에 하나의 지표를 추가하면 매우 번거로울 것입니다. 실제로 Grafana는 https://grafana.com/grafana/dashboards에서 찾을 수 있는 훌륭한 템플릿을 많이 제공합니다. 🎜🎜이 글에서는 Spring Boot 2.1 Statistics 템플릿을 사용합니다. 가져오기 방법은 다음과 같습니다. 🎜🎜+ 숫자 --> code> --> 템플릿 링크 또는 ID 입력 --> 로드를 클릭합니다. 🎜🎜🎜🎜🎜가져오기가 성공하면 데이터를 모니터링할 수 있으며 인터페이스가 정말 좋습니다. 🎜🎜🎜🎜🎜이 문서의 예에 있는 소프트웨어 버전 정보는 다음과 같습니다. 🎜rrreee

위 내용은 Prometheus+Grafana를 사용하여 Springboot 애플리케이션을 모니터링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제