搭建Grafana+Prometheus监控Spring Boot应用

Spring项目改造

maven依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

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

Spring配置

management.endpoints.web.exposure.include=*
management.metrics.tags.application=${spring.application.name}

搭建prometheus

下载Prometheus镜像

docker pull prom/prometheus

创建prometheus配置

/opt/docker/prometheus/config目录下创建prometheus.yml

# 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: '/actuator/prometheus'
    # scheme defaults to 'http'.

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

targets配置目标java应用的ip端口,例如10.10.10.10:9090

启动Prometheus

docker run -d -p 9090:9090 --name prom \
-v /opt/docker/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus

可以查看容器启动日志确认是否启动成功:

docker logs xxxx

访问http://xxxxxxxxxx:9090即可
在这里插入图片描述

搭建Grafana

docker pull grafana/grafana
docker run -d --name grafana -p 3000:3000 grafana/grafana

访问http://localhost:3000
在这里插入图片描述

配置prometheus数据源

在这里插入图片描述

配置Dashboards

下载模板

Dashboards模板下载地址:https://grafana.com/grafana/dashboards/

导入模板

在这里插入图片描述

相关推荐

  1. 一个简单的springboot应用过程

    2024-04-10 07:14:02       21 阅读
  2. Docker项目:服务器监控面板

    2024-04-10 07:14:02       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 07:14:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 07:14:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 07:14:02       87 阅读
  4. Python语言-面向对象

    2024-04-10 07:14:02       96 阅读

热门阅读

  1. 【docker】容器技术发展历史

    2024-04-10 07:14:02       34 阅读
  2. perl 交叉编译

    2024-04-10 07:14:02       40 阅读
  3. Ubuntu 20.04.06 PCL C++学习记录(二十二)

    2024-04-10 07:14:02       33 阅读
  4. 【数据结构与算法】力扣 242. 有效的字母异位词

    2024-04-10 07:14:02       39 阅读
  5. unity学习笔记 UnityWebRequest使用心得

    2024-04-10 07:14:02       42 阅读
  6. Android 在xml 布局中如何嵌套 Jetpack Compose

    2024-04-10 07:14:02       32 阅读
  7. Spring 之 IoC基于XML管理Bean

    2024-04-10 07:14:02       32 阅读
  8. 010 spring整合mybatis(事务)(xml)

    2024-04-10 07:14:02       30 阅读
  9. MySQL 建表语句详解

    2024-04-10 07:14:02       39 阅读
  10. hive-分桶-索引(初篇)

    2024-04-10 07:14:02       41 阅读
  11. Golang 实现一个简单的 RPC 服务

    2024-04-10 07:14:02       46 阅读