浅谈应用系统立体化监控

本人浅析传统IT系统层面的系统监控,不涉及k8s以及Service Mesh,抛砖引玉。

随着系统增多,我们需要一套能够立体化监控系统去监控你的应用及业务,出现问题能够及时告警,或通过大屏、短信和邮件。

我个人认为监控应该从三个方面进行入手,即:Metrics、Logging、Tracing。

  • Metrics (指标)
    通常指标信息担负着数据可视化的物料信息,比如:计量器、直方图、计数器、TPS等等。
  • Logging(日志)
    日志信息通常记录了应用程序运行时的详细状态信息。通常会有INFO、WARN、ERROR等级别。
  • Tracing(追踪)
    在传统的单体应用,如传统的MVC系统中,通常访问逻辑明确。而使用微服务对系统进行重新设计之后,就会带来接口互调,多线程,应用多活情况下的调用次序不明等种种问题。这时迫切需要记录每次请求都经过了哪些主机的那些服务,以及是一次调用会带来系统内部的多次调用问题。以及Http传输协议的天然低效率问题,都是需要在追踪层面上做考虑的。
监控选型与架构:
  • Metrics (指标): Promethues+Grafanna+Influxdb
  • Logging(日志): ELK or Spark Streaming
  • Tracing(追踪): Zipkin or Skywalking

欢迎关注我的公号:彪悍大蓝猫,持续分享大数据、SpringCloud干货~

你可能感兴趣的:(spark)