spring cloud提供的一系列监控组件已经可以让我们很方便的监控到每个实例的健康情况及实例间的调用、耗时情况,但我们可能还需要更加个性化的监控指标数据,如:某个接口的TPS曲线图、平均/最大响应时间、成功率等,以及发生异常时如何通过日志快速定位异常的原因。
这些信息都可以通过日志方式在每个应用中关键的位置输出,然后我们只需对日志进行分析便可以灵活获取我们要的监控指标。分为以下几步:
- 日志输出
- 日志收集
- 日志分析
日志输出
每个服务根据自身需要输出日志,大致分为:异常日志、请求响应结果日志、响应时间日志(整个请求的响应时间、某一块逻辑的响应时间,如数据库访问时间)等。
由于微服务的服务/实例数量很多,可以在网关中做整体监控。
不同类型/作用的日志采用不同的格式输出,这样方便后续收集展示。
日志收集
【kafka】Flume+Kafka+logstash+ElasticSearch+Kibana实现日志收集及展示