prometheus监控springboot应用简单使用介绍详解

讲解“prometheus监控springboot应用简单使用介绍详解”的完整攻略

1. 准备工作

在使用 Prometheus 监控 Spring Boot 应用之前,需要先引入 Prometheus 相关的依赖。可以使用 Maven 或 Gradle 引入以下依赖:

<!-- Prometheus 客户端依赖 -->
<dependency>
  <groupId>io.prometheus</groupId>
  <artifactId>simpleclient</artifactId>
  <version>0.11.0</version>
</dependency>
<dependency>
  <groupId>io.prometheus</groupId>
  <artifactId>simpleclient_spring_boot</artifactId>
  <version>0.11.0</version>
</dependency>

<!-- Prometheus 数据暴露依赖 -->
<dependency>
  <groupId>io.prometheus</groupId>
  <artifactId>simpleclient_pushgateway</artifactId>
  <version>0.11.0</version>
</dependency>

2. 配置 Spring Boot 应用

在 Spring Boot 应用配置中,需要增加以下配置项:

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    prometheus:
      enabled: true

这里的配置项是开启了 Spring Boot Actuator,默认情况下是关闭的。为了方便测试,暴露了所有的 Actuator 端点。

3. 配置 Prometheus

在 Prometheus 的配置文件 prometheus.yml 中增加以下配置项:

# 配置需要监控的目标
scrape_configs:
- job_name: 'spring-boot-app'
  metrics_path: '/actuator/prometheus'
  static_configs:
  - targets: ['localhost:8080']

metrics_path 指定了 Spring Boot 应用中的 Prometheus 暴露的数据 URL,targets 指定了需要监控的目标。

4. 测试

完成上述配置后,可以启动 Spring Boot 应用和 Prometheus 服务。在 Prometheus 的 Web 界面中输入以下查询语句可以查看监控数据:

http_server_requests_seconds_count{method="GET",status="200"}

这里的查询语句是查询所有 HTTP GET 请求返回码为 200 的数量。

5. 示例说明

下面将演示一个简单的示例,在 Spring Boot 应用中增加一个计数器,每次访问该接口都会自增。具体步骤如下:

5.1. 增加计数器

在 Spring Boot 应用中增加计数器:

package com.example.demo;

import io.prometheus.client.Counter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class DemoController {

    private final Counter counter = Counter.build()
        .name("demo_counter")
        .help("A simple counter for demo purpose.")
        .register();

    @GetMapping("/")
    @ResponseBody
    public String home() {
        counter.inc();
        return "Hello World!";
    }
}

5.2. 配置 Prometheus

在 Prometheus 的配置文件 prometheus.yml 中增加以下配置项:

# 注册 demo_counter 计数器
- job_name: 'spring-boot-app'
  metrics_path: '/actuator/prometheus'
  static_configs:
  - targets: ['localhost:8080']
  metric_relabel_configs:
  - source_labels: [__name__]
    regex: 'demo_counter'
    action: keep

这里的配置项增加了一个 metric_relabel_configs,用来对监控数据进行筛选,只选择 demo_counter 相关的数据。

5.3. 测试

测试过程同上,通过查询语句 demo_counter 可以查看计数器的值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:prometheus监控springboot应用简单使用介绍详解 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • ug怎么自定义工具栏? ug新建工具栏的教程

    下面是关于“UG怎么自定义工具栏?UG新建工具栏的教程”的完整攻略。 1. 创建新的工具栏 要创建新的工具栏,你需要按照以下步骤进行操作: 打开 UG 软件后,点击菜单栏中的“工具”(Tools)选项,在下拉菜单中选择“自定义”(Customize)选项。 在“自定义”对话框中,点击“新建”(New)按钮,选择“工具栏”(Toolbar)。 在弹出的“工具栏…

    other 2023年6月25日
    00
  • vue-cli3项目升级到vue-cli4 的方法总结

    请听我详细讲解如何将已有的 vue-cli3 项目升级到 vue-cli4。 1. 概述 vue-cli3 和 vue-cli4 的差异在于,vue-cli4 对于项目结构的更改和插件的升级,更好地支持了现代化的前端技术(Babel7,Webpack4,TypeScript 等),提供了更好的性能和稳定性。因此,升级到 vue-cli4 是必要的,尤其是如果…

    other 2023年6月27日
    00
  • opencv实现人脸检测

    OpenCV是一个开源的计算机视觉库,可以用于图像处理、计算机视觉和机器学习等领域。本文将提供一个完整的攻略,包括在OpenCV中实现人脸检测的步骤,以及两个示例说明。 安装OpenCV 在Linux系统中安装OpenCV可以使用以下步骤: 安装OpenCV依赖库,例如使用apt-get命令安装。 下载OpenCV源代码,可以从OpenCV官网下载。 编译和…

    other 2023年5月5日
    00
  • Java多线程——Semaphore信号灯

    Java多线程——Semaphore信号灯 在Java多线程编程中,信号灯(Semaphore)是一个非常重要的概念。信号灯控制着多个线程的访问顺序,保证线程间的同步和协作。本文将介绍Semaphore的基本用法,以及如何在Java多线程编程中使用它。 Semaphore的概念 Semaphore是一个信号灯,使用计数器来实现线程间的同步。Semaphore…

    其他 2023年3月28日
    00
  • go自动下载所有的依赖包go module使用详解

    下面是完整攻略: 介绍 在 Go 1.11 版本以后,官方引入了 Go module 管理依赖包的方式。当我们在使用特定版本的 package 时,Go module 会自动下载所有依赖的 package,而无需将他们与我们的工程代码一起打包发源文件。在本教程中,我们将详细讲解 Go module 如何自动下载所有的依赖 package 的过程。 前置要求 …

    other 2023年6月27日
    00
  • .NET医院公众号系统线程CPU双高问题分析

    .NET医院公众号系统线程CPU双高问题分析攻略 1. 问题背景 在医院公众号系统中,出现线程CPU双高问题可能导致系统性能下降,甚至出现系统崩溃的情况。本攻略将详细讲解如何分析和解决这个问题。 2. 攻略步骤 步骤一:确认问题 首先,我们需要确认系统是否存在线程CPU双高问题。可以通过以下步骤进行确认: 监控系统资源:使用系统监控工具(如Windows任务…

    other 2023年7月27日
    00
  • Popupwindow 的简单实用案例(显示在控件下方)

    PopupWindow 的简单实用案例(显示在控件下方) PopupWindow 是 Android 中的一个弹出窗口,可以在屏幕上方或下方显示。下面是一个简单的示例,演示如何在控件下方显示 PopupWindow。 步骤 1:准备布局文件 首先,我们需要准备一个布局文件来定义 PopupWindow 的内容。创建一个名为 popup_layout.xml …

    other 2023年8月26日
    00
  • Netty网络编程实战之搭建Netty服务器

    下面我详细讲解一下“Netty网络编程实战之搭建Netty服务器”的完整攻略。 一、准备工作1. 确认JDK版本是否为1.8及以上2. 下载Netty 4.1以上版本的jar包3. 安装Maven 二、创建项目1.使用Maven创建项目 mvn archetype:generate -DgroupId=com.example -DartifactId=dem…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部