感谢您的反馈!
应用Prometheus监控由阿里云提供,是一款收费的云产品,按照应用上报的监控指标数量收费。注意:应用上报的监控指标对应阿里云Prometheus中的自定义指标,是需要收费的,所以在接入prometheus之前,需要先开通服务。参考文档:
2021-04-07注:
暂时只支持Java SpringBoot应用的接入,其他语言正在支持中,有需求可以直接联系@杭羽
严格来说,Prometheus监控和ARMS应用监控都是属于应用实时监控下的一款子产品,可以看成是平行关系,产品购买和费用都是分开的,在使用上可以也相互补充。应用监控更注重应用进程本身的性能、接口性能、调用链路、JVM运行时、PHP工作线程等等。Prometheus则是是云原生生态下的一套监控和报警标准,任何实现了这一标准的应用或者中间件均能无缝对接,由于社区发展比较好,Prometheus的二方和三方 Exporter已经比较全面,很多都能较为简单的接入。( Exporter可以理解为一个黑盒子,它能将各类数据转为Prometheus标准的metric,并进行暴露,Prometheus server即可将数据采集存储,然后通过grafana这样的开源视图方便地呈现)
ARMS应用监控 | Prometheus监控 | 备注 |
|
产品特点 |
应用性能监控(APM)产品,帮助快速定位错误接口和慢接口、异常失误,慢查询等 |
全面对接开源的Prometheus生态,只要应用满足标准,就能上报指标和查看大盘。支持各类自定义指标的上报,可以在应用代码中手动打点 |
|
收费 |
按探针收费,一个容器一个探针,按量付费的话每探针每天6.72元 |
按总的指标数量收费,例如0-50(百万条)之间,收费0.8元/百万条 |
|
使用流程 |
组件安装 应用配置 应用发布 查看视图 |
组件安装 应用配置 应用发布 查看大盘 |
接入流程类似,只是组件和配置不一样 |
聚石塔控制台-资源视图-应用实时监控服务-Prometheus监控。
默认会自动开通试用版,试用期内不会收费。试用期结束后,如果仍需要采集监控数据,则需要开通Prometheus专家版。
1)运维中心-插件管理,找到Prometheus插件
2)选中集群进行安装
云应用-环境-管理-部署配置
开发语言和类型:选择相应的语言和数据上报类型,决定了监控大盘的呈现方式;
监控路径:Prometheus采集数据时访问应用的路径;
监控端口:Prometheus采集数据时访问应用的端口;
举个例子,示例中配置了JAVA类型的应用,使用的springboot集成micrometer的方式暴露指标(即埋点),Prometheus通过访问应用8081端口的/actuator/prometheus能够查询到符合prometheus标准的数据,如下图:
应用自身需要暴露相应的prometheus格式的指标,才能够被采集,所以可能需要一定程度的改造适配;根据开发语言的不同,改造的方式不同,具体可以参考下面文档中“应用指标上报”的介绍。
应用监控-Prometheus监控。这里是阿里云prometheus提供的grafana大盘。特别的,示例图中的大盘为定制的JVM大盘,适用于springboot集成micrometer的方式。
这里以springboot2.x为例进行说明,
参考:https://blog.csdn.net/aixiaoyang168/article/details/100866159
1)maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency>
这里依赖io.micrometer,起到了exporter的作用,即对prometheus进行了兼容,将jvm或java的数据转化为标准的prometheus监控指标暴露出去
2)application.properties 暴露管理端口和endpoint
management.server.port=8081 management.endpoints.web.exposure.include=*
这里 management.endpoints.web.exposure.include=* 配置为开启 Actuator 服务,因为Spring Boot Actuator 会自动配置一个 URL 为 /actuator/prometheus 的 HTTP 服务来供 Prometheus 抓取数据。
综上,经过这两步配置,访问应用的8081端口/actuator/prometheus,即可抓取到应用的监控数据,这也是需要在环境配置中配上该端口和路径。
待续...
待续...