springboot应用集成prometheus监控

2023-05-16

环境参数:
运行命令:
1、uname -a (Linux查看版本当前操作系统内核信息)
在这里插入图片描述
2、cat /proc/version (Linux查看当前操作系统版本信息)
在这里插入图片描述
3、cat /proc/cpuinfo
lscpu (Linux查看cpu相关信息,包括型号、主频、内核信息等)
在这里插入图片描述
1、部署prometheus
在这里插入图片描述
下载地址:prometheus官方下载网页

1.1下载prometheus安装包

wget https://github.com/prometheus/prometheus/releases/download/v2.43.0/prometheus-2.43.0.linux-amd64.tar.gz
tar -zxvf /tmp/prometheus-2.43.0.linux-amd64.tar.gz

解压后目录:
在这里插入图片描述
重点关注prometheus.yml,该文件为prometheus的配置文件。

# my global config
global:
  scrape_interval: 15s # 将监测间隔设置为每15秒。默认为1分钟一次
  evaluation_interval: 15s # 每15秒评估一次规则。默认为1分钟。
  # 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"]
 - job_name: "server"
    static_configs:
      - targets: ["192.168.49.130:9100"]
 - job_name: "demo-server"
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ["192.168.49.2:9484"]    

其他详细配置参数,请查看官方文档:prometheus Configuration file
重点:scrape_configs 主要用于配置拉取数据节点,每一个拉取配置主要包含以下参数:

  • job_name:任务名称
  • honor_labels: 用于解决拉取数据标签有冲突,当设置为 true, 以拉取数据为准,否则以服务配置为准
  • params:数据拉取访问时带的请求参数 scrape_interval: 拉取时间间隔
  • scrape_timeout: 拉取超时时间
  • metrics_path: 拉取节点的 metric 路径
  • static_configs:配置访问路径前缀,如ip+port,或者域名地址,或者通过服务发现,类似192.168.49.130:9100
  • scheme: 拉取数据访问协议,如http
  • sample_limit:存储的数据标签个数限制,如果超过限制,该数据将被忽略,不入存储;默认值为0,表示没有限制
  • relabel_configs:拉取数据重置标签配置
  • metric_relabel_configs:metric 重置标签配置
    上面的配置文件我配置了三个监测点,三个jod_name分别是prometheus(监控promethues本身)、server(监控Centos服务器)、demo-server(监控springboot应用)。

1.2、启动prometheus并在后台运行,支持热更新。

nohup ./prometheus --config.file=prometheus.yml --web.enable-lifecycle  > startLog.log 2>&1 &

1.3、检查是否启动

http://192.168.49.130:9090/metrics

在这里插入图片描述
或者查看项目路径下日志输出文件:startLog.log

1.4、访问prometheus提供的web-ui

http://192.168.49.130:9090/ 
上面地址会重定向到
http://192.168.49.130:9090/graph

在这里插入图片描述

1.5、添加jobs/exporters采集数据
如下prometheus架构图,prometheus serrver通过拉取metris数据来采集数据,而数据提供靠各个jobs/exporters。
在这里插入图片描述

在这里插入图片描述
官方提供的exporters

node_exporter是监控服务器的exporter,下载安装包,并配置prometheus.yml中的scrape_configs

 - job_name: "server"
    static_configs:
      - targets: ["192.168.49.130:9100"]

热更新prometheus,执行下面的命令。

curl -X POST http://ip:9090/-/reload

查看targets状态:
在这里插入图片描述
在这里插入图片描述
1.6 查看prometheus采集的数据

在这里插入图片描述
在这里插入图片描述
选中一个表达式,然后点击execute,便查询到对应的数据。表达式查询功能强大,更多使用参考官方文档。prometheus 表达式查询官方文档
在这里插入图片描述
2、部署grafana监控面板
2.1、通过docker 安装grafana
官方安装文档

docker run -d -p 3000:3000 --name grafana grafana/grafana-enterprise:8.2.0

2.2、访问grafana web-ui

http://192.168.49.130:3000

在这里插入图片描述
2.3、配置prometheus数据源
下面就是按图操作:
2.3.1、点击设置
在这里插入图片描述
2.3.2、点击add new data source在这里插入图片描述
2.3.3、选择数据源类型-prometheus
在这里插入图片描述
2.3.4、设置数据源地址
在这里插入图片描述
2.4、导入配置好的监控模板
在这里插入图片描述
2.4.1、输入grafana官方提供的dashboard id
官方提供的dashboard网址
点击进去搜索Node Exporter Full
在这里插入图片描述
将copy到的id填到下面,然后load。
在这里插入图片描述
监控centos的监控界面:
在这里插入图片描述

3、springboot集成prometheus监控
3.1、将下面的依赖添加到pom中

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

配置文件中添加:

management:
  server:
    port: 9484
  endpoints:
    web:
      exposure:
        include: '*'
#        include: prometheus.metrics,health,info

postman测试:http://localhost:9484/actuator/prometheus
在这里插入图片描述
3.2、设置prometheus的job

 - job_name: "demo-server"
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ["192.168.49.2:9484"]    

热更新prometheus,执行下面的命令。

curl -X POST http://ip:9090/-/reload

查看targets状态:
在这里插入图片描述

4、grafana配置promethues监控springboot应用
操作和添加监控服务器的一样。
首先去https://grafana.com/grafana/dashboards/ 去搜索,搜索micrometer,然后选择一个你中意的,copy它的id,导入监控面板。
最后的效果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot应用集成prometheus监控 的相关文章

  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Tracking|1-25】

    在C 43 43 语法方面 xff0c 这段代码包括以下部分 xff1a 头文件包含 xff08 include xff09 xff1a 使用 include指令引入必要的头文件 xff0c 这些头文件提供了各种所需的类和函数定义 命名空间
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Tracking|1-25】

    在Tracking类中 有一些成员变量和成员函数 下面是它们的简要概述 成员变量 System mpSystem 指向System类对象的指针 用于访问和操作ORB SLAM2系统 FrameDrawer mpFrameDrawer 指向F
  • 【逐函数详细讲解ORB_SLAM2算法和C++代码|Viewer|1-26】

    Viewer类的主要目的是实现ORB SLAM2算法的可视化部分 帮助用户更好地理解算法的运行过程和结果 为此 Viewer类与其他类 如System FrameDrawer MapDrawer和Tracking 协同工作 根据摄像机的帧率
  • #include<iostream>

    include lt iostream gt 是C 43 43 程序中非常常见的一条预处理指令 xff0c 它包含了iostream库 iostream库提供了C 43 43 程序中用于处理标准输入 输出流的基本功能 这个库中定义了一些重要
  • #include<algorithm>

    include lt algorithm gt 是C 43 43 中一个常用的预处理指令 xff0c 它包含了algorithm库 这个库提供了大量用于操作序列 xff08 例如数组 向量 列表等容器 xff09 的通用算法 xff0c 这
  • #include<fstream>

    include lt fstream gt 是C 43 43 程序中常用的预处理指令 xff0c 它包含了fstream库 这个库提供了用于处理文件输入 输出的类 fstream库主要包括以下几个类 xff1a std ifstream x
  • #include<chrono>

    include lt chrono gt 是C 43 43 标准库中用于处理时间和持续时间的头文件 chrono库提供了一系列用于表示时间点 时间段和时钟的类和函数 以下是chrono库中一些常用接口和用法 xff1a 持续时间 xff08
  • 【#include<opencv2/core/core.hpp>】

    include lt opencv2 core core hpp gt 是OpenCV库中的一个核心模块头文件 xff0c 它包含了许多用于处理图像和计算的基本数据结构 函数和类 以下是opencv2 core core hpp中的一些常用
  • 逐函数详细讲解ORB_SLAM2算法和C++语法|LoadImages|2-1

    完整可执行代码 https github com xiaoqiuslam orb2 视频讲解 逐函数讲解ORB SLAM2源码 xff5c 1 加载Euroc数据集图像 逐函数讲解ORB SLAM2源码 1 加载Euroc数据集图像 逐函数
  • Makefile介绍

    概述 什么是makefile xff1f 或许很多Windows的程序员都不知道这个东西 xff0c 因为那些Windows的集成开发环境 xff08 integrated development environment xff0c IDE
  • 逐函数详细讲解ORB_SLAM2算法和C++语法|System|2-2

    span class token comment Create SLAM system It initializes all system threads and gets ready to process frames span ORB
  • c_cpp_properties.json vscode ubuntu18.04

    在 Ubuntu 18 04 上使用 Visual Studio Code 时 xff0c 你可以根据以下示例配置 c cpp properties json 文件 假设你已经安装了 GCC 和 G 43 43 编译器 xff0c 这个示例
  • 激光SLAM 算法匹配原理

    文章目录 1 数据获取 xff1a 2 数据关联 xff1a 3 匹配 xff1a 4 位姿更新 xff1a 5 地图更新 xff1a 6 循环 xff1a 数据关联二维激光局部定位算法原理 激光SLAM xff08 Simultaneou
  • 【ORB_SLAM2 CMakeLists.txt 文件详解】

    文章目录 ORB SLAM2 CMakeLists txt 文件详解 set CMAKE LIBRARY OUTPUT DIRECTORY PROJECT SOURCE DIR lib add library PROJECT NAME SH
  • 数据结构知识体系框架图

  • [TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波

    这几天做电赛学习了TM4C123 单片机 总得来说 结合官方例程与参考手册 加上一个好的示波器 效率会高很多 TI的SSI 实际上就是SPI 我门先熟悉一下SPI SPI 就是在主机与从机之间用来传输数据的 通过TX RX传输数据 通过CS
  • 压力BMP180传感器时序详解

    BMP180是一种高精度数字压力传感器 xff0c BMP180的超低功耗 xff0c 低电压电子元件经过优化 xff0c 适用于移动电话 xff0c PDA xff0c GPS导航设备和户外设备 UP 61 压力数据 xff08 16到1
  • C3D行为识别(一):UCF101视频数据集预处理

    行为识别 xff08 一 xff09 xff1a UCF101视频数据集预处理 文章目录 行为识别 xff08 一 xff09 xff1a UCF101视频数据集预处理1 数据集介绍1 1 UCF101 2 UCF101预处理2 1 划分t
  • Linux学习-坑多就慢慢填

    Linux学习 坑多就慢慢填 刚开始想找个资料丰富的开发板学习Linux xff0c 那时正点原子和野火都上架了NXP芯片的开发板 xff0c 因为经常用正点原子的硬件 教程和论坛 xff0c 毅然选择了正点原子的NAND版 xff0c 实
  • 树莓派 I2C通信,控制多个I2C从设备

    1 需要安装 i2c tools工具 在黑框输入 xff1a sudo apt get install i2c tools 2 后续编程使用python库 在黑框输入 xff1a sudo apt get install python sm

随机推荐

  • 软件框架详解

    软件框架至少包含以下组成部分 xff1a xff08 1 xff09 一系列完成计算的模块 xff0c 在此称为构件 xff08 2 xff09 构件之间的关系与交互机制 xff08 3 xff09 一系列可变点 xff08 也称热点 xf
  • oauth2四种模式的流程图

    参照https www ruanyifeng com blog 2019 04 oauth grant types html 以下为自己的理解整理 xff0c 授权码和密码模式是用户使用第三方平台账号授权给客户端应用 xff0c 来获取受第
  • Linux 应用开发 - 必须掌握的 5 个底层 IO 函数

    底层输入输出 xff08 Low Level Input Output xff09 这篇博客主要介绍 Linux 原生的 IO 操作 xff08 Low IO xff09 xff0c 你可能会想不是有跨平台的 ANSI C 可以使用么 xf
  • 为什么选择嵌入式方向

    本文出自 同济大学软件学院院长谈 嵌入式 方向选择 xff0c 个人感觉不错 xff0c 故转之 嵌入式系统无疑是当前最热门最有发展前途的 IT应用领域之一 嵌入式系统用在一些特定专用设备上 xff0c 通常这些设备的 硬件资源 xff08
  • 关于Apache的目录浏览功能

    近日 xff0c 公司有个需求需要使用到Apache的目录浏览功能 但是遇到了一点问题 xff0c 所以出现了这篇文章 linux安装Apache很简单 xff0c 使用yum安装即可 命令 xff1a yum y install http
  • Linux 下的make命令与Makefile

    概述 博客内容包含linux下make命令的使用与makefile的书写规则等 xff0c 希望通过本文档使读者对make命令makefile文件有进一步了解 xff0c 由于鄙人经验学识有限文档中会有描述不准确以及理解偏差 xff0c 欢
  • 人工智能会取代程序员吗?

    多亏了人工智能 xff08 AI xff09 xff0c 软件将在未来自行编写 至少 xff0c 这就是谷歌首席执行官桑达尔 皮查伊 xff08 Sundar Pichai xff09 对软件开发未来的看法 他是对的 xff01 这并不能使
  • 人工智能和5G在无人机技术中的作用

    技术为我们提供了许多引人入胜的设备和发明 xff0c 无人机就是其中之一 无人机 xff0c 在技术术语中也称为无人机 xff08 UAV xff09 xff0c 自2007年首次出现以来越来越受欢迎 这些小工具最初是手动和远程控制的 无人
  • 惠普暗影精灵笔记本开机自动打开小键盘,冷热启动均支持

  • STM32F4 使用结构体配置功能

    1 IIC配置 void IIC Mode Config void I2C InitTypeDef I2C InitStructure I2C InitStructure I2C Mode 61 I2C Mode I2C IIC模式 I2C
  • 执行 sudo apt-get update 报错:仓库 xxx 没有release文件 / 不再含有release文件

    输入命令 sudo apt get update 报错 这里可以看到有两个问题 xff0c 一个是 ubuntu自己的源连不上了 第二三个红框框 xff0c 一个是 vmware 这个软件 第一个红框框 首先解决第一个问题 archive
  • C++ 发送HTTP请求

    HTTPRequest HTTPRequest是一个用于发出HTTP请求的单头C 43 43 库 您可以将它包含在项目中并使用它 HTTPRequest在macOS Windows Haiku BSD和GNU Linux上进行了测试 xff
  • 小程序、公众号开发报code been used(40163)或invalid code(40029)错误,解决方案--之--搞清楚微信的登录机制,保存登录状态!!!

    x1f4d6 前言 做微信小程序或公众号开发 xff0c 有时我们为了管理用户 xff0c 需要获取用户的openid xff0c unionId等信息 这时会用到微信提供的接口 xff1a code2Session code2Sessio
  • 使用git在vscode中进行版本控制

    版本控制是一件非常cool的事 xff0c 可以将我们的代码按照版本存储 1 首先我们选择一个版本控制工具 xff0c 这里我们选择git xff0c 点击下载安装 xff0c 安装时选择vscode编辑器 2 安装好了之后打开vscode
  • 2.3.1 参数服务器理论模型

    ROS入门 2 3 1 参数服务器理论模型 ROS入门 理论与实践 视频教程镇楼 参数服务器实现是最为简单的 xff0c 该模型如下图所示 该模型中涉及到三个角色 ROS Master 管理者 Talker 参数设置者 Listener 参
  • 4.6.3 编码设置参数

    ROS入门 4 6 3 编码设置参数 ROS入门 理论与实践 视频教程镇楼 编码的方式可以更方便的设置 全局 相对与私有参数 1 C 43 43 实现 在 C 43 43 中 xff0c 可以使用 ros param 或者 ros Node
  • 5.1 TF坐标变换

    ROS入门 5 1 TF坐标变换 ROS入门 理论与实践 视频教程镇楼 机器人系统上 xff0c 有多个传感器 xff0c 如激光雷达 摄像头等 xff0c 有的传感器是可以感知机器人周边的物体方位 或者称之为 坐标 xff0c 横向 纵向
  • 10.1.3 action通信自定义action文件调用(Python)

    ROS入门 10 1 3 action通信自定义action文件调用 Python ROS入门 理论与实践 视频教程镇楼 需求 创建两个ROS 节点 xff0c 服务器和客户端 xff0c 客户端可以向服务器发送目标数据N 一个整型数据 服
  • rosdep

    rosdep 初始化时异常解决方案 rosdep 初始化时异常解决 视频教程 安装构建依赖 在 noetic 最初发布时 xff0c 和其他历史版本稍有差异的是 没有安装构建依赖这一步骤 随着 noetic 不断完善 xff0c 官方补齐了
  • springboot应用集成prometheus监控

    环境参数 xff1a 运行命令 xff1a 1 uname xff0d a xff08 Linux查看版本当前操作系统内核信息 xff09 2 cat proc version xff08 Linux查看当前操作系统版本信息 xff09 3