本人浅析传统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干货~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。