在k8s环境中我们有很多的java应用,需要监控其性能我们可以通过集成jmx的客户端,然后通过promethues的自动发现来实现监控数据的获取。
promethues的部署he相关配置可参考:promethues部署

准备jmx的客户端和配置文件

jmx_prometheus_javaagent-0.17.2.jar(版本自定义,可以直接打包到镜像里)

使用configmap挂载jmx-config.yamlapiVersion: v1
kind: ConfigMap
metadata:name: prometheus-jmx-confignamespace: monitor
data:prometheus-jmx-config.yaml: |lowercaseOutputLabelNames: truelowercaseOutputName: truewhitelistObjectNames: ["java.lang:type=OperatingSystem"]blacklistObjectNames: []rules:- pattern: 'java.lang<type=OperatingSystem><>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'name: os_$1_bytestype: GAUGEattrNameSnakeCase: true- pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'name: os_$1type: GAUGEattrNameSnakeCase: true

部署应用(tomcat为例)

apiVersion: apps/v1
kind: Deployment
metadata:name: tomcatnamespace: monitor
spec:replicas: 2selector:matchLabels:app: tomcattemplate:metadata:labels:app: tomcatspec:containers:- name: tomcatimage: tomcat:jdk8-openjdk-slimenv:- name: JAVA_OPTSvalue: "-javaagent:/jmx_prometheus_javaagent-0.17.2.jar=8088:/jmx/jmx-config.yaml"  **# (添加的启动命令参数)**resources:requests:cpu: 300mmemory: 512Milimits:cpu: 500mmemory: 1024MivolumeMounts:- mountPath: "/jmx_prometheus_javaagent-0.17.2.jar"    **#(将客户端挂载到容器)**name: jmx-prometheus-javaagent- mountPath: "/jmx"name: prometheus-jmx-config       **#(通过configmap挂载配置文件)**volumes:- name: jmx-prometheus-javaagenthostPath:path: /data/k8s_yaml/jvm/jmx_prometheus_javaagent-0.17.2.jar  **# (使用的是挂在本地路径)**- configMap: name: prometheus-jmx-configname: prometheus-jmx-confignodeSelector:kubernetes.io/hostname: 10.1.40.121

服务的service

apiVersion: v1
kind: Service
metadata:name: tomcatnamespace: monitorlabels:app: tomcatannotations:prometheus.io/port: "8088"     **#(jmx监听的端口)**prometheus.io/jvm: "true"
spec:type: NodePortselector:app: tomcatports:- name: httpport: 8080protocol: TCP- name: jmx-metricsport: 8088protocol: TCP

prometheus监控java应用的jvm指标相关推荐

  1. prometheus监控java项目(jvm等):k8s外、k8s内

    前言 虽然可以使用jvisualvm之类的工具监控java项目,但是集群环境下,还是捉襟见肘,下面介绍如何用主流的prometheus来监控java项目. java项目配置 在pom.xml中添加依赖 ...

  2. 监控工具—Prometheus—监控Java程序

    原文作者:青蛙小白 原文地址:Prometheus监控实践:使用Prometheus监控Java应用 目录 1.Prometheus JVM Client 2.Prometheus的服务发现 3.Gr ...

  3. Prometheus 监控 Java 应用

    Prometheus 监控 Java 应用 Prometheus 监控 Java 应用有两种方式:一种是使用官方提供的jar包,然后嵌入到应用中.这种方式一般都是新项目.我认为也是最合适的一种.不过这 ...

  4. prometheus监控java程序

    可参考链接,需找开发商量jmx端口暴露方式 https://www.jianshu.com/p/8a5e681b18ce 或者 http://www.mamicode.com/info-detail- ...

  5. 监控工具—Prometheus—监控Redis

    原文作者:wyl9527 原文地址:Grafana Prometheus系统监控Redis服务 目录 1.下载redis_exporter安装包 2.解压安装 3.systemd管理redis_exp ...

  6. OpenShift 4 - 用内置的Prometheus监控应用

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.8环境中验证 文章目录 配置Prometheus环境 部署被监控应用 创建收集指标的角色,并为用户赋 ...

  7. Java获取Prometheus监控指标数据

    Java获取Prometheus监控指标数据 一. 准备工作 1. 有可以被Prometheus监控的服务 没有的话可以参考以下链接本地搭建:SpringBoot应用接入Prometheus+Graf ...

  8. java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

    本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...

  9. 实战|如何优雅地自定义Prometheus监控指标

    今天要和大家分享的是在实际工作中**"如何优雅地自定义Prometheus监控指标"**!目前大部分使用Spring Boot构建微服务体系的公司,大都在使用Prometheus来 ...

最新文章

  1. stm32影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用
  2. 什么是视频会议?什么是H.323?SIP是什么协议?
  3. urllib2介绍(转)
  4. 用archoctopus下载花瓣
  5. 解析Json需要设置Mime
  6. -bash-退出_为什么这么多开发人员在找到工作之前就退出了。 请-不要。
  7. anaconda管理不同版本Python
  8. java代码内创建mysql索引_点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)...
  9. BZOJ1878 [SDOI2009]HH的项链
  10. Ubuntu 安装 ROS 详细教程
  11. 图书馆图书借阅登记微信小程序管理软件系统开发制作
  12. 华为服务器虚拟化和存储虚拟化中标,idc服务器虚拟化排名
  13. 在web页面打开pdf文件并打印
  14. Vue中设置浏览器标签栏图标以及title
  15. Caused by: java.lang.ClassNotFoundException: org.jbpm.pvm.internal.processengine.SpringHelper
  16. IP远程实施访问另一台电脑
  17. 安装win10出现“计算机意外的重新启动或遇到错误。Windows安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后安装系统。”
  18. 生成有feature的pattern-graph数据集
  19. .Net IIS 内存溢出(System.OutOfMemoryException)
  20. 2014计算机网络基础课程说课 张宗宝,2014年四川省省级资源共享课立项建设名单说课.doc...

热门文章

  1. 依赖反转(倒置)原则(Dependency inversion principle,DIP)
  2. 基于深度学习的轴承故障识别-构建基础的CNN模型
  3. 地质勘查土质分类图片_一种地质勘查用土壤样本采集装置的制作方法
  4. 信捷伺服刚性调整_信捷伺服电机奇怪的质量问题,做工控多年首次仅见!!!!...
  5. Set8087CW作用
  6. 关于移动端布局不兼容ipad和ipad pro 解决方法
  7. Hankson趣味题
  8. [公告] 2017年9月装机员系统更新
  9. hy3208中文参数_HY-MOSFET-产品目录表
  10. Python,地理地图可视化:plotly绘制mapbox地图城市中心点经纬度marker标记