微服务监控

1. 监控对象

  • 用户端监控:指业务直接对用户提供的功能进行监控
  • 接口监控
  • 资源监控:数据库访问量等
  • 基础监控:对服务器本身的健康状况的监控,如cpu利用率,内存使用量等

2. 监控指标

  • 请求量:如QPS
  • 响应时间:如P99
  • 错误率

3. 监控维度

  • 全局维度:从整体角度监控对象的的请求量、平均耗时以及错误率
  • 分机房维度:同一个监控对象,在不同机房各种指标可能相差很大
  • 单机维度
  • 时间维度:同一个监控对象的不同时间对比,如一天前,一周前

4. 监控系统原理

  • 数据采集
    • 服务主动上报:代码中直接上报
    • 代理收集:代理去解析本地日志文件,然后再去上报
  • 数据传输
    • udp传输
    • 基于kafka传输
  • 数据处理
    • 接口维度聚合:将实时收到的数据按照接口名维度实时聚合在一起,得到每个接口的实时请求量、平均耗时等信息
    • 机器维度聚合:将实时收到的数据按照调用的节点维度聚合在一起,从单机维度去查看每个接口的实时请求量、平均耗时等信息。
  • 数据存储
    • 索引数据库,比如Elasticsearch,以倒排索引的数据结构存储,需要查询的时候,根据索引来查询
    • 时序数据库,比如OpenTSDB,以时序序列数据的方式存储,查询的时候按照时序如1min、5min等维度来查询
  • 数据展示
    • 图形化展示

你可能感兴趣的:(分布式系统,微服务,microservices,架构)