当前位置: 首页 > news >正文

Grafana展示k8s中pod的jvm监控面板/actuator/prometheus

场景

        为保障java服务正常运行,对服务的jvm进行监控,通过使用actuator组件监控jvm情况,使用prometheus对数据进行采集,并在Grafana展现。

         基于k8s场景

prometheus数据收集

  • 配置service的lable,便于prometheus使用lable进行数据采集,本案例使用prometheus=jvm为标签
kubectl edit service lizz-test-server -n lizz#输出修改
...
apiVersion: v1
kind: Service
metadata:creationTimestamp: "2022-05-05T08:16:46Z"labels:prometheus: jvm # 增加采集识别标签app: lizz-test-servername: lizz-test-servernamespace: lizz
...
# 查看k8s中service
kubectl describe service lizz-test-server -n lizz#输出
name:                     lizz-test-server
Namespace:                lizz
Labels:                   prometheus=jvmapp=lizz-test-server
Selector:                 app=lizz-test-server
...
  • 重启service或pod,新增标签生效,pod中会带上server中的lable
# 删除pod方式重启,k8s启动pod
kubectl delete pod lizz-test-server-xxx# k8s滚动重启service
kubectl rollout restart deployment/lizz-test-server
  • 修改prometheus配置文件,增加采集数据任务
# 查看monitoring空间下的configMap,可以看到prometheus的configMap
# cm 和 ConfigMap一个意思
kubectl get cm -n monitoring
#修改配置,加入jvm数据采集
kubectl edit cm prometheus-server-conf -n monitoring
  •  在配置文件中的scrape_configs下增加抓取任务如下:
global:scrape_interval: 30sevaluation_interval: 30s
...
scrape_configs:- job_name: 'jvm-monitor' #任务名称metrics_path: /actuator/prometheus # 数据抓取地址scheme: http # 请求协议kubernetes_sd_configs: # 服务发现配置- role: endpoints # 在Kubernetes Endpoints中查找服务relabel_configs:- source_labels: [__meta_kubernetes_service_label_prometheus] # 匹配标签regex: 'jvm' # 保留标签值为jvm的服务action: keep- source_labels: [__meta_kubernetes_namespace] action: replace # 替换标签,用于和模板中的内容一致target_label: spring_namespace #可以根据模板中的内容进行调整- source_labels: [__meta_kubernetes_service_name]action: replace # 替换标签,用于和模板中的内容一致target_label: spring_name #可以根据模板中的内容进行调整- source_labels: [__meta_kubernetes_pod_name]action: replace # 替换标签,用于和模板中的内容一致target_label: instance #可以根据模板中的内容进行调整
...
  • 当抓取地址不一致时,可以将metrics_path进行替换,配置如下:
...relabel_configs:- source_labels: [__meta_kubernetes_service_label_prometheus]regex: 'jvm'action: keep- source_labels: [__meta_kubernetes_service_name]regex: 'lizz-test1-server' #当service.name=lizz-test1-server是action: replace # 替换方法target_label: __metrics_path__ # 替换标签metrics.pathreplacement: /lizz-test1-server/actuator/prometheus # 替换后的路径
...
  •  刷prometheus缓存,在服务配置中查看配置是否生效。 

  • 在graph中搜索jvm就可以看到是否已经采集成功。

Grafana创建面板

  • 下载jvm面板模板

Dashboards | Grafana Labs

 

  • dashboards中使用import导入 

  • 填写面板信息和数据源后导入完成

  •  完成后显示jvm监控面板信息,其中筛选项如果没有正确显示,可以进行修改如下

修改筛选项内容和取值

  • Name:这个选项的id,取值时使用
  • Lable:显示明细
  • Date source:数据来源
  • query Type:数据类型
  • lable:取值标签
  • metric:匹配条件,为空时显示所有内容
    •  jvm_memory_used_bytes{spring_namespace="$namespace",spring_name="$service"}
    • jvm_memory_used_bytes指标对应的就是prometheus中采集的数据指标
    • jvm_memory_used_bytes指标中,spring_namespace等于name为“namespace”选择中的值,spring_name等于name为“service”框中的值。

相关文章:

Grafana展示k8s中pod的jvm监控面板/actuator/prometheus

场景 为保障java服务正常运行,对服务的jvm进行监控,通过使用actuator组件监控jvm情况,使用prometheus对数据进行采集,并在Grafana展现。 基于k8s场景 prometheus数据收集 配置service的lable,便于prometheus使用labl…...

实例038 设置窗体在屏幕中的位置

实例说明 在窗体中可以设置窗体居中显示,本例通过设置窗体的Left属性和Top属性可以准确设置窗体的位置。运行本例,效果如图1.38所示。 技术要点 设置窗体在屏幕中的位置,可以通过设置窗体的属性来实现。窗体的Left属性表示窗体距屏幕左侧的…...

合成数据及其在AI领域中的作用

什么是合成数据? 合成数据是由人工创建而非从现实生活中获得的数据,它从机器学习对数据的需求发展而来。最初,为了精确训练AI模型,必须获得涵盖所有可能场景的训练数据。如果某个场景没有发生或未被获得,就没有相应的…...

Java内存区域(运行时数据区域)和内存模型(JMM)

Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。 而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 …...

【HDFS】hdfs的count命令的参数详解

Usage: hadoop fs -count [-q] [-h] [-v] [-x] [-t [<storage type>]] [-u] [-e] [-s] <paths...

Lombok注解在JSON化中,JSON生成额外生成字段问题

问题描述&#xff1a; 定义如下对象 Dataclass A{private String A;public String getC() {return "abab";}} 执行如下逻辑 Autowiredprivate ObjectMapper objectMapper;Testpublic void test4() throws Exception {A a new A();a.setA("a");System.ou…...

docker中的jenkins之流水线构建

docker中的jenkins之流水线构建项目 1、用node这种方式&#xff08;因为我用pipeline方式一直不执行&#xff0c;不知道为什么&#xff09; 2、创建项目 创建两个参数&#xff0c;一个是宿主端口号&#xff0c;一个是docker中的端口号 3、使用git项目中的Jenkinsfile 4、编写…...

ES中倒排索引机制

在ES的倒排索引机制中有四个重要的名词&#xff1a;Term、Term Dictionary、Term Index、Posting List。 Term&#xff08;词条&#xff09;&#xff1a;词条是索引里面最小的存储和查询单元。一段文本经过分析器分析以后就会输出一串词条。一般来说英文语境中词条是一个单词&a…...

一生一芯4——使用星火应用商店在ubuntu下载QQ、微信、百度网盘

星火应用商店可以非常方便的完成一些应用的下载&#xff0c;下面是官方网址 http://spark-app.store/download 我使用的是intel处理器&#xff0c;无需下载依赖项&#xff0c;直接点击软件本体 我这里下载amd64,根据自己的处理器下载对应版本 sudo apt install ./spark-stor…...

编程练习(1)

目录 一.选择题 第一题&#xff1a; 第二题&#xff1a; 第三题&#xff1a; 第四题&#xff1a; 第五题&#xff1a; ​编辑 二.编程题 第一题&#xff1a; 第二题&#xff1a; 1.暴力方法&#xff1a; 2.数组法&#xff1a; 一.选择题 第一题&#xff1a; 解析&…...

pytorch安装VAE项目详解

安装VAE项目 一、 基本环境二、代码来源三、搭建conda环境四、下载数据集五、启动项目六、其他相关问题 一、 基本环境 工具版本号OSwin 11pycharm2020.1GPU3050 二、代码来源 github地址为&#xff1a; https://github.com/AntixK/PyTorch-VAE/blob/8700d245a9735640dda458d…...

SQL-每日一题【1517. 查找拥有有效邮箱的用户】

题目 表: Users 编写一个解决方案&#xff0c;以查找具有有效电子邮件的用户。 一个有效的电子邮件具有前缀名称和域&#xff0c;其中&#xff1a; 前缀 名称是一个字符串&#xff0c;可以包含字母&#xff08;大写或小写&#xff09;&#xff0c;数字&#xff0c;下划线 _ &…...

Python web实战之Django 的 WebSocket 支持详解

关键词&#xff1a;Python, Django, WebSocket, Web 如何使用 Django 实现 WebSocket 功能&#xff1f;本文将详细介绍 WebSocket 的概念、Django 的 WebSocket 支持以及如何利用它来创建动态、响应式的 Web 应用。 1. WebSocket 简介 1.1 什么是 WebSocket&#xff1f; 在 W…...

CDN(内容分发网络)

CDN的全称是 Content Delivery Network, 即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需内容&#xff0c;降低网络拥塞&a…...

前端高频面试题 Day01

文章目录 1. Map 和 Object 的不同API 不同以任意类型为 keyMap 是有序结构Map 很快WeakMap总结 2. Set 和数组的区别Set 元素不能重复API 不一样Set 是无序的&#xff0c;而数组是有序的 —— 这一点很少有人提到&#xff0c;却很关键&#xff01;&#xff01;&#xff01;Wea…...

『C语言初阶』第八章 -隐式类型转换规则

前言 今天小羊又来给铁汁们分享关于C语言的隐式类型转换规则&#xff0c;在C语言中类型转换方式可分为隐式类型转换和显式类型转换(强制类型转换)&#xff0c;其中隐式类型转换是由编译器自动进行&#xff0c;无需程序员干预&#xff0c;今天小羊课堂说的就是关于隐式类型转换…...

Fortinet数据中心防火墙及服务ROI超300%!Forrester TEI研究发布

近日&#xff0c;专注网络与安全融合的全球网络安全领导者 Fortinet&#xff08;NASDAQ&#xff1a;FTNT&#xff09;联合全球知名分析机构Forrester发布总体经济影响独立分析报告&#xff0c;详细阐述了在企业数据中心部署 FortiGate 下一代防火墙&#xff08;NGFW&#xff09…...

【vue】简洁优雅的火花线、趋势线

来由 在github发现个好看易用的vue趋势线组件&#xff0c;特此记录。 效果 趋势图生成后效果如上&#xff0c;线条为渐变色&#xff0c;可设置是否平滑。具体线条走势&#xff0c;根据数据动态生成。 使用 安装 npm i vuetrend -S 引入 import Vue from "vue"…...

【软件工程】数据流图/DFD概念符号/流程图分层/数据字典

【软件工程】数据流图/DFD概念符号/流程图分层/数据字典 目录 【软件工程】数据流图/DFD概念符号/流程图分层/数据字典 一、数据流图 ( DFD ) 简介 二、数据流图 ( DFD ) 概念符号 1、数据流 2、加工 ( 核心 ) 3、数据存储 4、外部实体 三、数据流图 ( DFD ) 分层 1、…...

时序预测 | MATLAB实现基于CNN卷积神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN卷积神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN卷积神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 1.Matlab实现CNN卷积神经网络时间序列预测未…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...