首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何将 Spring Boot Actuator 的指标信息输出到 InfluxDB 和 Prometheus

Spring Boot Actuator是Spring Boot 2发布后修改最多的项目之一。它经过了主要的改进,旨在简化定制,并包括一些新功能,如支持其他Web技术,例如新的反应模块 - SpringWebFlux。它还为 InfluxDB添加了开箱即用的支持,这是一个开源时间序列数据库,旨在处理大量带时间戳的数据。与 SpringBoot1.5使用的版本相比,它实际上是一个很大的简化。您可以通过阅读我之前的一篇文章使用Grafana和InfluxDB自定义指标可视化来了解自己有多少。我在那里描述了如何使用 @ExportMetricsWriter bean将[Spring Boot Actuator生成的指标导出到InfluxDB。示例Spring Boot应用程序已在分支主文件中的GitHub存储库sample-spring-graphite上提供该文章。对于本文,我创建了分支spring2,它展示了如何实现与使用Spring Boot 2.0版本之前相同的功能。弹簧启动执行器。

03

Prometheus介绍与运行-(1)

今天开始我们了解一下从CNCF中毕业的第二位学生,Prometheus(普罗米修斯)同学,prometheus是一个开源系统监控和警报工具,最初是在SoundCloud建立的。自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有一个非常活跃的开发者和用户社区。它现在是一个独立的开放源码项目,并且独立于任何公司,为了强调该点并澄清项目的治理结构,Prometheus在2016年加入了云计算基金会,成为继Kubernetes之后的第二个托管项目。Prometheus是用来收集数据的,同时本身也提供强大的查询能力,结合Grafana即可以监控并展示出想要的数据,此外除了自身存储的时序数据之外,prometheus还支持第三方的数据持久化操作,这些我们会在后面慢慢的讲解。

03

使用 Loki 进行日志监控和报警

对于生产环境以及一个有追求的运维人员来说,哪怕是毫秒级别的宕机也是不能容忍的。对基础设施及应用进行适当的日志记录和监控非常有助于解决问题,还可以帮助优化成本和资源,以及帮助检测以后可能会发生的一些问题。前面我们介绍了使用 EFK 技术栈来收集和监控日志,本文我们将使用更加轻量级的 Grafana Loki 来实现日志的监控和报警,一般来说 Grafana Loki 包括3个主要的组件:Promtail、Loki 和 Grafana(简称 PLG),最为关键的是如果你熟悉使用 Prometheus 的话,对于 Loki 的使用也完全没问题,因为他们的使用方法基本一致的,如果是在 Kubernetes 集群中自动发现的还具有相同的 Label 标签。

04

使用 Prometheus 记录规则优化 PromQL 语句

Prometheus 作为现在最火的云原生监控工具,它的优秀表现是毋庸置疑的。但是在我们使用过程中,随着时间的推移,存储在 Prometheus 中的监控指标数据越来越多,查询的频率也在不断的增加,当我们用 Grafana 添加更多的 Dashboard 的时候,可能慢慢地会体验到 Grafana 已经无法按时渲染图表,并且偶尔还会出现超时的情况,特别是当我们在长时间汇总大量的指标数据的时候,Prometheus 查询超时的情况可能更多了,这时就需要一种能够类似于后台批处理的机制在后台完成这些复杂运算的计算,对于使用者而言只需要查询这些运算结果即可。Prometheus 提供一种记录规则(Recording Rule) 来支持这种后台计算的方式,可以实现对复杂查询的 PromQL 语句的性能优化,提高查询效率。

04
领券