prometheus监控SpringBoot应用
  TEZNKK3IfmPf 2023年11月14日 17 0
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.7.3</version>
</dependency>

2.配置

server:
port: 10200
servlet:
context-path: /
spring:
application:
name: lys-openstack
devtools:
remote:
restart:
enabled: true
thymeleaf:
cache: false
prefix: classpath:/templates
encoding: UTF-8
suffix: .html
mode: LEGACYHTML5

management:
endpoints:
web:
exposure:
include: "*"
metrics:
tags:
application: lys-openstack
endpoint:
metrics:
enabled: true
prometheus:
enabled: true
info:
enabled: true

3.修改启动类

package com.lys;

import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class AppApplication {

public static void main(String[] args) {
SpringApplication.run(AppApplication.class, args);
}

@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(
@Value("${spring.application.name}") String applicationName) {
return (registry) -> registry.config().commonTags("application", applicationName);
}
}

4.验证

​​http://localhost:10200/actuator/prometheus​​

prometheus监控SpringBoot应用

5.Prometheus配置

# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"

# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.

static_configs:
- targets: ["localhost:9090"]

#通过配置file 获取target,这里以lys-web项目进行举例
- job_name: 'lys-other'
#metrics_path: /metrics
file_sd_configs:
- files:
- host.json

- job_name: 'container'
static_configs:
- targets: ['10.6.8.184:8080'] # 本地 cadvisor 访问地址

- job_name: 'rds'
metrics_path: /actuator/prometheus
static_configs:
- targets: ['10.6.9.35:10200'] # 本地 springboot 访问地址

prometheus监控SpringBoot应用

 

prometheus监控SpringBoot应用

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf