持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第29天,点击查看活动详情
动态监控线程池dynamic-tp框架提供了三种监控数据采集方式,通过 collectType 属性配置监控指标采集类型,默认 logging。
- Logging:线程池指标数据会以 Json 格式输出到指定的文件里
- Micrometer:采用监控门面,通过引入相关 Micrometer 依赖采集到相应的存储平台里(如 Prometheus,InfluxDb...)
- 暴露 Endpoint端点,可以通过 http 方式实时获取指标数据
如果采集类型选择micrometer,引入prometheus(也可以用其他) 对应依赖,job配置后prometheus管理台看到如下图所示,说明已经开始正常采集指标配置。
micrometer接入流程
第一步.项目中引入 micrometer-prometheus 依赖
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
第二步.配置文件中开启micrometer数据采集
enabledCollect: true
collectorType: micrometer
第三步.开启prometheus指标采集端点
management:
metrics:
export:
prometheus:
enabled: true
endpoints:
web:
exposure:
include: '*' # 测试使用,线上不要用*,按需开启
第四步.安装Prometheus
Prometheus 服务端负责数据的收集,因此我们应该首先安装并运行 Prometheus Server。 从 prometheus.io/download/ 找到最新版本的Prometheus Sevrer软件包。下载后解压,可以看到如下目录:
其中 data 目录是数据的存储路径,也可以通过运行时的 -- storage.tsdb.path="data/" 命令另行指定。(初次解压没有执行过是没有data目录)
prometheus.yml 是 Prometheus的配置文件,prometheus 是运行的命令。
启动prometheus服务,其会默认加载当前路径下的prometheus.yaml文件。当然我们也可以手动指定配置文件地址:./prometheus --config.file=prometheus.yml
第五步.配置prometheus数据采集job
我们配置一下 Prometheus 的配置文件,让 Prometheus 服务器定时去业务数据源拉取数据。编辑prometheus.yml 并在 scrape_configs 节点下添加以下内容:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.2.104:9090']
# 采集node exporter监控数据
- job_name: 'node'
static_configs:
- targets: ['192.168.2.104:5080', '192.168.2.105: 5080', '192.168.2.106: 5080']
第六步.启动prometheus管理台
job配置后prometheus管理台看到如下图所示,说明已经开始正常采集指标配置。
第七步.然后就是配置grafana数据可视化
如果需要配置grafana数据可视化,首先新建一个data source数据源,然后配置对应的dashboard监控面板pannel配置Json,到这里监控就搭建起来了,其实也很简单,然后就可以实时监控线程池数据指标变动了。pannel的具体配置可以参考对应教程,本节不做介绍。