首页 > 其他分享 >prometheus JVM监控

prometheus JVM监控

时间:2024-05-10 09:24:36浏览次数:25  
标签:jmx exporter JVM yaml prometheus 监控 name

 

prometheus JVM监控

为了使用Prometheus监控JVM,你需要一个能够采集JVM指标的工具,比如jmx_exporter。以下是如何设置jmx_exporter以监控JVM的步骤:

下载并运行jmx_exporter:
bash
wget "https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.1/jmx_prometheus_javaagent-0.16.1.jar"
java -javaagent:./jmx_prometheus_javaagent-0.16.1.jar=8080:config.yaml -jar your-application.jar
这里8080是jmx_exporter监听的端口,而config.yaml是配置文件,你需要根据你的JVM版本和监控需求编写这个文件。

编写config.yaml以配置你想要的JMX指标。例子如下:
yaml
lowercaseOutputName: true
rules:
  - pattern: 'Catalina<type=(\w+), name=(\w+)><>(\w+):'
    name: tomcat_$3_$2
    labels:
      server: "$1"
      name: "$2"
  - pattern: 'java.lang<type=Memory><>(\w+):'
    name: java_lang_memory_$1
  - pattern: 'java.lang<type=GarbageCollector, name=(\w+), error=(\w+)><>CollectionCount:'
    name: java_lang_garbagecollector_$1_collection_count
    labels:
      error: "$2"
配置Prometheus来抓取jmx_exporter的指标:
在Prometheus的配置文件prometheus.yml中添加一个新的job配置:

yaml
scrape_configs:
  - job_name: 'jvm-application'
    static_configs:
      - targets: ['localhost:8080']
这里jvm-application是你给这个job起的名字,localhost:8080是jmx_exporter运行的地址和端口。

重启Prometheus使配置生效。
现在,你的JVM应用程序的JVM指标应该可以在Prometheus中查询和监控了。

 

标签:jmx,exporter,JVM,yaml,prometheus,监控,name
From: https://www.cnblogs.com/JIKes/p/18183537

相关文章

  • Springboot项目镜像制作&传递环境变量、设置hostname、动态设置JVM参数、cmd&entrypoi
    实现制作一个springboot的镜像,并且可以传递环境变量实现动态JVM参数和端口。0.准备&cmd、entrypoint区别1.准备springboot项目一个简单的springboot项目,默认启动8001端口,里面只有一个接口。xxx%curllocalhost:8081indexdocker环境2.CMD、entrypoint区......
  • docker 容器查看jvm参数配置
    1、登录服务器查看有哪些容器dockerps2、进入到相应的容器中dockerexec-it容器ID或名称bash3、找到java线程top 4、使用jcmd查询java也就是jvm的配置jcmdPIDVM.flags这里我查看的是线程1:jcmd1VM.flags 复制信息出来,格式化,具体参数什么意思,可网......
  • 已经有 Prometheus 了,还需要夜莺?
    谈起当下监控,Prometheus无疑是最火的项目,如果只是监控机器、网络设备,Zabbix尚可一战,如果既要监控设备又要监控应用程序、Kubernetes等基础设施,Prometheus就是最佳选择。甚至有些开源项目,已经内置支持了Prometheus协议的指标暴露,比如新版本的Zookeeper、新版本的RabbitMQ、......
  • Linux系统资源监控
    系统资源查看freefree displays the totalamountoffreeandusedphysicalandswapmemoryinthesystem,aswellasthebuffersandcachesusedbythekernel.Theinformationisgatheredbyparsing/proc/meminfo.Thedisplayedcolumnsare:free命令可......
  • psutil:系统监控和进程管理
    psutil(processandsystemutilities)是一个全能型的跨平台库,用Python编写,旨在简化对系统监控和进程管理的编程工作。它提供丰富的接口,让你能够轻松获取系统运行时的信息,涉及的范围包括但不限于进程、CPU、内存、磁盘、网络等。这个强大的库起源于谁的想法?它究竟有多广泛的应用......
  • pynvml:获取和监控 NVIDIA GPU 设备的信息
    pynvml是一个Python包,用于与NVIDIA的管理库NVML(NVIDIAManagementLibrary)进行交互,以获取和监控NVIDIAGPU设备的信息。它提供了一组函数和类,可以查询GPU设备的状态、显存使用情况、温度、功耗等信息。要使用pynvml包,首先需要安装NVIDIA驱动程序和CUDA工具包。然......
  • 安防监控/视频汇聚系统EasyCVR视频融合云平台+AI智能分析助力解决校园霸凌事件
    一、方案背景校园霸凌这一校园中不应存在的现象,却屡见不鲜,它像一把锋利的刀,深深地刺入那些无辜的心灵,让受害者承受着无尽的痛苦。随着科技的进步与发展,我们应该追求有效、进步的手段来阻止校园霸凌事件的发生,弥补当前校园安防监控工作的不足之处。在实际应用中,无须借助人力干预......
  • AI赋能EasyCVR视频汇聚/视频监控平台加快医院安防体系数字化转型升级
    背景近来,云南镇雄一医院发生持刀伤人事件持续发酵,目前已造成2人死亡21人受伤。此类事件在医院层出不穷,有的是因为医患纠纷、有的是因为打架斗殴。而且在每日大量流动的人口中,一些不法分子也将罪恶的手伸到了医院,实行扒、窃、抢、破坏等卑劣手段扰乱医院工作秩序,窃取他人钱财,破坏......
  • Redis的监控指标
    一、内存使用情况  redis-cliinfo#memory1、总内存使用量(80%)。used_memory实际使用内存  used_memory_peak峰值,used_memory_rss系统分配给redis的总内存大小,包含内存碎片。2、内存碎片。mem_fragmentation_ratio=used_memory_rss/used_memory    <1表示Redi......
  • 【性能监控命令_01】vmstat
    vmstat命令这个命令比较强大,先来看执行结果 字段解析r:第一列的监控数据,表示目前实际在运行在队列,通熟一点就是还有多少任务在等待CPU来执行,从上图看出r列下面都是0,所以当前这台服务器上暂时还没任务运行。若r列这个值,超过了CPU的核数,就表示当前CPU可能存在瓶颈,当然在判断......