使用jmxtrans监控Spark JVM信息到grafana显示

####1、下载jmxtrans
jmxtrans作为agent部署在需要采集数据的节点上,主要用于数据采集和发送.

####2、修改{jmxtrans}/conf下配置文件
配置文件内容需要json格式,名字可自取。

{
  "servers" : [
{   
    "port" : "8085",                                         // 采集jmx进程的通信端口
    "host" : "10.88.61.73",                              // 表示采集数据所在host IP
    "queries" : [ {
      "obj" : "java.lang:type=MemoryPool,name=CMS Old Gen",     // 这里的obj是监控的bean对象,填写格式依据Jconsole所示
      "attr" : [ "Usage" ],
      "resultAlias":"jmxDB_sparkTS_CMS_Old_datapm",         // 数据存储的表别名,后面通过这个表名查到对应数据
      "outputWriters" : [ {
        "@class" : "com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
        "url" : "http://10.88.60.141:8086/",              // 表示grafana服务host地址
        "username" : "admin",
        "password" : "admin",
        "database" : "jmxDB",
        "tags"     : {"application" : "SparkTS"}
      } ]
    } ]
},
{   
    "port" : "8085",
    "host" : "10.88.61.73",
    "queries" : [ {
      "obj" : "java.lang:type=MemoryPool,name=Par Eden Space",
      "attr" : [ "Usage" ],
      "resultAlias":"jmxDB_sparkTS_Par_Eden_datapm",
      "outputWriters" : [ {
        "@class" : "com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
        "url" : "http://10.88.60.141:8086/",
        "username" : "admin",
        "password" : "admin",
        "database" : "jmxDB",
        "tags"     : {"application" : "SparkTS"}
      } ]
    } ]
}
]
}

####3、修改待监控进程的配置信息
以spark进程为例,在spark-default.conf文件中加入参数开启jmx端口:
export SPARK_DAEMON_JAVA_OPTS=’-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8085’

如果是spark长进程作业得重启后参数才生效,可以通过lsof -i:8085 判断端口是否生效

4、 启动jmx

启动jmxtrans开启数据拉取。
命令格式:bin/jmxtrans.sh {start|stop|restart|status} [filename.json]

####5、登入grafana的监控页面,配置相应的数据展示信息

  • grafana的下载安装可参考官方文档
    然后配置好grafana,这里我们使用influxDB。

  • 建立一个图表,配置类似如下参数
    使用jmxtrans监控Spark JVM信息到grafana显示_第1张图片
    然后就可以看到图了。

  • 3)配置好后效果如下图
    使用jmxtrans监控Spark JVM信息到grafana显示_第2张图片

文章会同步到公众号,关注公众号,交流更方便:

你可能感兴趣的:(运维监控,grafana)