JVM监控篇(二)- JVM监控方案之prometheus+clickhouse
1- 方案说明
-
适用场景:Java程序直接运行在Linux机器上 组件说明:
1)jmx_exporter获取jmx信息暴露给prometheus 2)consul用于注册业务和JVM对应关系的信息,这样prometheus就可以通过consul自动发现业务JVM。当然这还要写一个脚本,设置成定时任务,用于实现自动注册功能 3)prometheus原本可以把数据存储在本地,但是这样的话对本地存储会造成压力,且查看历史数据会受到限制。比如,如果业务很多时,本地存储会产生大量的数据,默认情况下历史数据会保留15天,这时就要作出抉择,要么扩大本地存储,要么缩减历史数据保留天数。所以,最好是配置prometheus使用远程存储,如clickhouse。 4)通俗点说,prometheus的数据存储到clickhouse需要借助prom2click做数据转换,prom2click是某个大牛自己开发的中间件。官方点说,prometheus提供了remote storage接口,如果使用远程存储,需要实现这个接口以做数据格式转化。 5)使用grafana进行监控数据的展示