Micrometer

Spring Boot Actuator

旧巷老猫 提交于 2021-02-17 03:44:28
编者注 由于开发一个对性能要求很强的后台应用,突然发现部署到aliyun发生问题,而普通笔记本没有任何问题,则需要持续一段时间的监控定位函数执行时间,分析过程,并添加健康检查的可视化内容。 Actuator [Spring Boot Actuator: Production-ready features](Part V. Spring Boot Actuator: Production-ready features) SpringBoot Actuator Spring Boot 包含了Spring Boot Actuator。本段回答一些经常出现的。 更改Actuator Endpoints的Http端口或者地址 在独立应用中,Actuator HTTP端口默认与应用HTTP端口一致。希望Actuator使用不同端口,设置扩展属性: management.server.port 。设置完全不同的网络地址(例如:当你有一个用于管理的内部网卡和使用应用的外部网卡),你可以设置 management.server.address 提供一个服务可以绑定的有效地址。 更多详情,请看 ManagementServerProperties 的源代码, 段落 54.2 "自定义管理服务端口" 在生产就绪特性端口中。 自定义‘whitelabel’错误页 Spring Boot 安装一个

@Timed annotation in spring metrics

一世执手 提交于 2021-02-16 13:08:36
问题 I use @Timed annotation on String Boot rest controller and it works fine. Method from controller calls method from service which is also annotated with @Timed . However, this annotation on method in subsequent service bean doesn't work (I don't see results in /metrics ). Why is it happening? Could it be fixed? 回答1: As per Support for @Timed in any Spring-managed bean #361 you can get this behaviour by registering TimedAspect manually. @Configuration @EnableAspectJAutoProxy public class

Why does MicroMeter Timer returns zero?

非 Y 不嫁゛ 提交于 2021-02-11 12:13:51
问题 Consider the following code: public static void main(String[] args) { Timer timer = Metrics.timer("item.processing"); for (int i = 0; i < 100; i++) { timer.record(i, TimeUnit.SECONDS); } System.out.println(timer.count()); System.out.println(timer.mean(TimeUnit.SECONDS)); } The output is zero for both prints, but of course it is expected to be a positive number. I'm using the globalRegistry but I don't think it should make a difference. 回答1: The reason you are seeing the results you're seeing

Prometheus监控告警浅析

ぃ、小莉子 提交于 2020-11-07 00:45:15
前言 最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。 监控架构 Prometheus的整个架构流程可以参考如下图片: 整个流程大致分为收集数据,存储数据,展示监控数据,监控告警;核心组件包括:Exporters,Prometheus Server,AlertManager,PushGateway; Exporters :监控数据采集器,将数据通过Http的方式暴露给Prometheus Server; Prometheus Server :负责对监控数据的获取,存储以及查询;获取的监控数据需要是指定的 Metrics 格式,这样才能处理监控数据;对于查询Prometheus提供了 PromQL 方便对数据进行查询汇总,当然Prometheus本身也提供了Web UI; AlertManager :Prometheus支持通过 PromQL 来创建告警规则,如果满足规则则创建一条告警,后续的告警流程就交给AlertManager,其提供了多种告警方式包括email,webhook等方式; PushGateway

爱奇艺号基于Prometheus的微服务应用监控实践

ε祈祈猫儿з 提交于 2020-09-30 10:46:47
K8s已经成为一线大厂分布式平台的标配技术。你是不是还在惆怅怎么掌握它?来这里,大型互联网公司一线工程师亲授,不来虚的,直接上手实战,3天时间带你搭建K8s平台,快速学会K8s,点击下方图片可了解培训详情,点击下方图片了解详情。 前言 微服务架构是目前各大互联网公司普遍采用的软件架构方式。在微服务架构中,系统被拆分为多个小的、相互独立的服务,这些服务运行在自己的进程中,可以独立的开发和部署。在业务快速变化时,微服务单一职责、自治的特点,使系统的边界更加清晰,提升了系统的可维护性;同时,简化了系统部署的复杂度,可以针对某个微服务单独升级和发布;在业务增长时,也可以方便的进行独立扩展。 微服务架构虽然带来了很多好处,但也带来了新的问题。在以往的单体应用中,排查问题往往通过查看日志定位错误信息和异常堆栈;但是在微服务架构中服务繁多,出现问题时的问题定位变得非常困难。另外,微服务往往通过组合已有的服务来创建新服务,一个服务的故障很可能会产生雪崩效应,导致整个系统的不可用。因此,如何监控微服务的运行状况、当出现异常时能快速给出报警,这给开发人员带来很大挑战。 本文将介绍我们基于Prometheus搭建微服务监控系统的一些实践经验,及爱奇艺号在微服务监控方面的一些探索和实践,从爱奇艺号的业务特点出发,结合现有的开发运维技术栈确定监控的对象和指标,并有针对性地自研了一些关键组件和服务