springboot整合prometheus,grafana实现服务指标监控

24 篇文章 0 订阅

1.依赖的jar包

<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
    <version>1.3.3</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.配置

(1)properties配置
spring.application.name=spring-boot-admin
# 端口
server.port=8768
# 日志
logging.level.com.study.serviceadmin=DEBUG
logging.level.com.alibaba.nacos.client.naming=error
logging.file=/data/log/school/${spring.application.name}/${spring.application.name}.log
​
spring.security.user.name = admin
spring.security.user.password = myAdmin
spring.cloud.nacos.discovery.metadata.user.name = ${spring.security.user.name}
spring.cloud.nacos.discovery.metadata.user.password = ${spring.security.user.password}
​
# spring boot actuator端点启用和暴露
## * 可以用来表示所有的端点,例如,通过HTTP公开所有的端点
## * 在YAML中有特殊的含义,所以如果想使用include或者exclude包含所有的端点时要加上双引号
management.endpoints.promethus.enable=true
management.endpoints.web.exposure.exclude=env,beans
management.endpoints.web.exposure.include = *
management.endpoint.health.show-details = ALWAYS
(2)若项目由认证授权控制例如SpringSecurity,那么记得放开
SpringSecurty代码如下:
import de.codecentric.boot.admin.server.config.AdminServerProperties;
import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
​
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
​
    private final String adminContextPath;
​
    public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
        this.adminContextPath = adminServerProperties.getContextPath();
    }
​
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //http.csrf().disable();
        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
        successHandler.setTargetUrlParameter("redirectTo");
        http.authorizeRequests()
                .requestMatchers(EndpointRequest.toAnyEndpoint()).permitAll()
                .antMatchers(adminContextPath + "/assets/**").permitAll()
                .antMatchers(adminContextPath + "/login").permitAll()
                .anyRequest().authenticated()
                .and()
                .headers().frameOptions().disable()
                .and()
                .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                .logout().logoutUrl(adminContextPath + "/logout").and()
                .httpBasic().and()
                .csrf().disable();
    }
}

3.查看暴露的信息

http://localhost:8768/actuator/prometheus

4.docker安装prometueus配置

docker-compose.yml:
version: "3"
services:
  prometheus:
    image: prom/prometheus:v2.4.3
    container_name: 'prometheus'
    volumes:
    - ./prometheus/:/etc/prometheus/
    ports:
    - '9090:9090'
  grafana:
    image: grafana/grafana:5.2.4
    container_name: 'grafana'
    ports:
    - '3000:3000'
    volumes:
    - ./grafana/config/grafana.ini:/etc/grafana/grafana.ini
    - ./grafana/provisioning/:/etc/grafana/provisioning/
    env_file:
    - ./grafana/config.monitoring
    depends_on:
    - prometheus
​
​
prometheus.yml
global:
  scrape_interval:   15s
  
scrape_configs:
- job_name:       'spring-boot-admin'
​
  scrape_interval: 10s
  metrics_path: '/actuator/prometheus'
​
  static_configs:
  - targets: ['http://localhost:9090']
    labels:
      application: 'spring-boot-admin'
​
- job_name: 'prometheus'
​
  scrape_interval: 5s
​
  static_configs:
  - targets: ['localhost:9090']

docker进入promethues
docker exec -it promethues /bin/sh
​

5.界面展示

5.1promethues显示

5.2 grafana展示

搭建参考 Prometheus+Grafana安装配置(四) - 吴昊博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值