代码编织梦想


JVM监控搭建

整体架构

在这里插入图片描述

JVM 的各种内存信息,会通过 JMX 接口进行暴露。

Jolokia 组件负责把 JMX 信息翻译成容易读取的 HTTP 请求。Telegraf 组件作为一个通用的监控 agent,和 JVM 进程部署在同一台机器上,通过访问转化后的 HTTP 接口,以固定的频率拉取监控信息。然后把这些信息存放到 Influxdb 时序数据库中。最后,通过 Grafana 展示组件,设计 JVM 监控图表。

整个监控组件是可以热拔插的,并不会影响原有服务。监控部分也可以复用,比如 Telegraf 就可以很容易的进行操作系统监控。

Jolokia

Jolokia 就是一个将 JMX 转换成 HTTP 的适配器,方便了 JMX 的使用。

在这里插入图片描述

Jokokia 可以通过 jar 包和 agent 的方式启动,在一些框架中,比如 Spring Boot 中,很容易进行集成。直接在 pom 文件里加入 Jokokia 的依赖,在 application.yml 中简单地加入一点配置,就可以通过 HTTP 接口访问 JMX 的内容了。

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
        <groupId>org.jolokia</groupId>
        <artifactId>jolokia-core</artifactId>
</dependency>
management:
  endpoints:
    web:
      exposure:
        include: jolokia

Telegraf

Telegraf 是一个监控数据收集工具,支持非常丰富的监控类型,其中就包含内置的 Jolokia 收集器。

Influxdb

influxdb 是一个性能和压缩比非常高的时序数据库,在中小型公司非常流行。

在 CentOS 环境中,可以使用下面的命令下载。

wget -c https://dl.influxdata.com/influxdb/releases/influxdb-1.7.9_linux_amd64.tar.gz
tar xvfz influxdb-1.7.9_linux_amd64.tar.gz

解压后,然后使用 nohup 进行启动。

nohup ./influxd &

InfluxDB 将在 8086 端口进行监听。

Grafana

Grafana 是一个颜值非常高的监控展示组件,支持非常多的数据源类型,对 influxdb 的集成度也比较高。

Grafana 的安装

wget -c https://dl.grafana.com/oss/release/grafana-6.5.3.linux-amd64.tar.gz
tar -zxvf grafana-6.5.3.linux-amd64.tar.gz

在导入之前,还需要创建一个数据源,选择 influxdb,填入 db 的地址即可。

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TQ20160412/article/details/129625965

jvm监控环境搭建-爱代码爱编程

VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具。它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。 Java开发人员可以使用 VisualVM创建必要信息

linux下tomcat jvm远程监控搭建-爱代码爱编程

背景:项目运行一段时间,top显示tomcat进程内存占用较高,故基于tomcat自带jmx remote进行内存监控。本文采用tomcat8.5版本进行搭建 1、tomcat/bin/catalina.sh文件添加如下内容 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremot

使用 zabbix 监控 tomcat(包含jvm监控)-爱代码爱编程

1.前言: 我们的监控系统是zabbix,最近刚做完jvm还有tomcat的监控,需要吐槽以下内容: zabbix官方提供的jvm和tomcat监控模版,存在item书写格式的坑,导致很多内容无法获取到监控。 网友写的zabbix监控java文章,99%就只有环境的搭建,没有zabbix item键值,所以环境监控上了,item键值不知道怎么写。

JVM监控篇(二)- JVM监控方案之prometheus+clickhouse-爱代码爱编程

1- 方案说明 适用场景:Java程序直接运行在Linux机器上 组件说明: 1)jmx_exporter获取jmx信息暴露给prometheus 2)consul用于注册业务和JVM对应关系的信息,这样prometheus就可以通过consul自动发现业务JVM。当然这还要写一个脚本,设置成定时任务,用于实现自动注册功能 3)prometheu

JVM监控篇(三)- JVM监控方案之prometheus+k8s+influxdb-爱代码爱编程

1- 方案说明 适用场景:Java程序直接运行在Linux机器上 组件说明: 1)k8s集群,使用NodePort方式暴露48888端口用于JVM监控 2)JMX sidecar容器用于将jmx的相关配置共享给业务容器 3)配置好servicemonitor,prometheus根据配置的target自动发现并获取JVM信息 4)使用influx

jvm监控的搭建和使用-爱代码爱编程

探针部署和应用启动 下载探针 探针准备: jmx_prometheus_javaagent-0.3.1.jar 下载地址:wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.j

prometheus入手jvm监控_bhegi_seg的博客-爱代码爱编程

jvm监控的必要性 如果遇到jvm问题,我们一般考虑查看jstat,jconsole查看基本信息,例如jvm各个空间的使用比率,还要gc次数,gc时间等等。在排除错误的时候,我们也发现jstat开启的时候,一般会后面加个定

普罗米修斯+grafana监控jvm_m0_67392126的博客-爱代码爱编程

普罗米修斯+grafana监控jvm 1.1 首先搭建普罗米修斯 请自寻百度 1.2 搭建grafana yum -y install https://dl.grafana.com/oss/release/grafana