本人浅析传统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、大数据干货~
来源:oschina
链接:https://my.oschina.net/u/3262136/blog/3166217