浅谈应用系统立体化监控

十年热恋 提交于 2020-02-26 17:56:28

本人浅析传统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、大数据干货~ 彪悍大蓝猫

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!