最简单的异常和业务监控方案

本文介绍了如何通过日志监控实现系统异常和业务监控,特别是对于初创团队而言,提供了一种成本最低的方式。文章讨论了监控的三板斧——Metrics、Tracing和Logging,并详细讲解了日志埋点的方法,包括硬编码和自定义注解埋点。通过日志工具类和注解,开发者可以轻松记录关键信息,如请求时间、用户、接口、错误码等,便于后续的日志收集和告警设置。
摘要由CSDN通过智能技术生成

大家好,我是【架构摆渡人】,一只十年的程序猿。这是实践经验系列的第十二篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友。

监控三板斧

在监控领域,最常用的三种方式就是Metrics, Tracing,Logging,可以称之为三板斧。

Metrics

系统度量,通过指标来度量系统是否正常,比如现在主流的Prometheus就是基于指标来构建监控体系。

Tracing

链路跟踪,用户的一次请求将贯穿这个链路,想要进行优化或者知道请求在哪个环节出问题,链路跟踪必不可少。很多全链路跟踪都借鉴了Google Dapper的思想。

目前主流的链路跟踪有skywalking,Jaeger,Cat等框架。这里面有需要客户端埋点,也有通过Agent代理方式实现。

Logging

日志,无论是系统异常或者程序异常输出的日志,还是业务相关的日志,都能够直观的反应当前业务的状态,日志在监控领域中用的也比较多。比如说可以基于ELK啊,一些云服务的日志平台去集中收集管理日志,在出问题的时候方便溯源,同时也能基于关键词等进行告警。

其实上面三种方式都是相辅相成的,各自有各自的适用场景。今天我们主要聊聊日志如何简单,快速的可以实现系统异常和业务的监控,比较适合一些初创团队,最小的成本方式实现监控。

日志埋点

硬编码埋点

可以封装一个工具类,对接口进行埋点。可以输出一些关键信息,比如:

  • 请求时间
  • 请求用户
  • 请求的接口
  • 请求的RT
  • 请求是否成功
  • 请求的错误码
  • 是否压测请求
  • 等等。。。。
    工具类伪代码如下:
public class BizLogUtils {
   
    public static <T> T run(Supplier<T> supplier, BizLogContent content, BiConsumer<T, BizLogContent> callbackResult) {
   
        long start = System.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值