大数据监控系统相关设计开发

来源:互联网 发布:淘宝质量问题怎么赔偿 编辑:程序博客网 时间:2024/06/06 02:24

spoor-metrics

spoor-metrics 是一个监控系统的收集模块,主要用于采集现有大数据基础组件的metric信息,并且进行展示

白名单

白名单配置文件主要用于过滤和解析metrics system产生的信息,并且进行压缩,常见的一份配置如下

filesystem.file.largeRead_ops=fileLargeReadOps,Gaugefilesystem.file.read_bytes=fileReadBytes,Gaugefilesystem.file.read_ops=fileReadOps,Gaugefilesystem.hdfs.largeRead_ops=hdfsLargeReadOps,Gaugefilesystem.hdfs.read_bytes=hdfsReadBytes,Gaugefilesystem.hdfs.read_ops=hdfsReadOps,GaugeBlockManager.memory.maxMem_MB=memoryMaxMem,GaugeBlockManager.memory.memUsed_MB=memoryMemUsed,GaugeBlockManager.disk.diskSpaceUsed_MB=diskSpaceUsed,Gauge

只有在白名单中被配置过的指标才会被收集模块进行收集

reporter

spark中使用的metircs是io.dropwizard.metrics,其默认的reporter并不是特别符合我们的需求,因此我们实现了一个Kafka的Repoter,用于推送到kafka中

reporter

spark sink

spark的metrics system主要是启动的时候将sink传入进去,相关代码在org.apache.spark.metrics.MetricsSystem中,然后比如Executor等在内部注册到source里面去,通过这种方式完成的解耦,所以也很简单,按照配置规范,自己实现个sink就好了

sink

*.sink.kafka.class=org.apache.spark.spoor.metrics.sink.KafkaSink*.sink.kafka.period=10*.sink.kafka.unit=seconds*.sink.kafka.topic=spoor-metrics*.sink.kafka.broker=192.168.3.44:9092*.sink.kafka.group=data

kafkaSink

消费

消费端就是spark streaming去操作对应的kafka,解码成对象,然后每个window中用sparkSql转换成一个DataSet,持久化到外部存储中就可以了

driver

展示

show

相关源码后面整理下,看能不能开源出来,整个设计还是比较简洁的

mygithub

0 0
原创粉丝点击