监控背景:
监控所做的一切都是为了网关和服务出现异常时能快速知晓并定位、解决问题。因此需要实时知道这些指标的值,如果超出规定的范围发出通知(prometheus/flink)。开发者收到异常通知时能快速通过日志找到原因(ELK)。提高线上感知问题的能力,能迅速定位问题,用最小的成本把问题带来的损失降到最低。

目的:

  • 掌握系统的运行状态,保障系统平稳运行
  • 系统出现异常时,能及时告警或提前预警
  • 事后追踪问题,通过日志或异常发生时的各种指标
  • 性能分析

几个维度:

  • 指标类:系统指标(服务是否健康,内存,cpu使用情况),业务指标(交易成功率),自定义指标
  • 日志类:可以方便地查看系统日志
  • 链路类:监控一个请求经过的链路,可分析其耗时

监控对象:

  • 开放平台服务:系统健康状况,cpu占用率, jvm指标(gc次数及频率,线程数)
  • 核心网关:交易成功率,业务异常率
  • 中间件:mysql,es,redis cluster,zookeeper,kafka,activemq,linux指标及是否正常

在开放平台的应用:

  • 目前使用prometheus+grafana对系统指标进行监控,包括各个服务,核心网关,数据库,中间件。
  • 使用grafana展示网关交易情况,es为数据源,只做展示
  • Kibana:网关交易的复杂计算,监控es
  • 使用alertmanager告警,common-service暴露短信接口进行告警
  • 使用ELK聚合日志,在管理端的运维查看画面:

    • 通过流水号查看正常/异常的网关交易及链路日志
    • 查看异常的服务日志,根据流水号查看详细日志
  • Skywalking进行链路监控
  • 使用redis-manager监控及运维redis集群
  • 告警:

    • Prometheus可对指标进行告警
    • flink cep

      • 对网关交易感兴趣的报错码进行告警
      • 对开放平台服务的日志关键字进行告警

示意图:
image.png


吃水果毫不费力zz
7 声望0 粉丝

啦啦啦