如何接入度量指标监控

如何接入度量指标监控

视频下载

本节课程主要介绍如何在 AMO 平台接入度量指标监控,包括度量指标的暴露、采集、查询展示以及自定义仪表等内容。

依赖

  • AMO 环境,参考 监控运维组件-环境部署 文档完成环境准备工作

    • 至少包含 amo-basicamo-monitor 组件
  • Grafana 服务

    • 可以使用 Docker 快速拉起一个服务用于测试

      docker run --rm --name grafana -p 3000:3000 grafana/grafana
      # 默认用户名密码:admin/admin
      

接入过程

度量指标-如何接入

业务应用集成 koca-metrics

  • 以交付件 02.quickstart/bootapp 为例添加 koca-metrics
  • 确认 Actuator 接口
    • /actuator
    • /actuator/prometheus 暴露 Prometheus 协议的指标接口
    • /actuator/health 用于健康检查的黑盒监控接口

AMO 平台配置指标采集

  • 配置流程

    • 添加服务分类

      • 可以新建分类或者拷贝已有分类,为了复用一些已有配置这里选择复制一个 KOCA应用 服务分类

      • 服务分类的监控配置,参考 指标监控-配置管理 文档

        • 监控端口都默认使用实例端口,不需要配置

        • 健康检查配置

        • 指标监控配置

          • 代理主机用于传统应用、中间件等指标采集代理不在服务所在主机
    • 添加应用、服务、主机、实例

检查 KOCA-Agent 下发配置

  • 参看 Prometheus SD 配置文件

    • cat {Prometheus Path}/sd/koca_targets.yml
    # /actuator/prometheus
    - targets:
      - 192.168.8.57:8090
      labels:
        __metrics_path__: /actuator/prometheus
        koca_app_code: demo
        koca_env_code: default
        koca_instance_group: /3042
        koca_instance_id: "3047"
        koca_instance_ip: 192.168.8.57
        koca_instance_name: Demo-1
        koca_job: metrics
        koca_service_code: demo-svc
        koca_service_type: MONITOR
    # /actuator/health
    - targets:
      - koca-agent:9100
      labels:
        __metrics_path__: /blackbox/probe
        __param_module: http_2xx
        __param_target: 192.168.8.57:8090/actuator/health
        koca_app_code: demo
        koca_env_code: default
        koca_instance_group: /3042
        koca_instance_id: "3047"
        koca_instance_ip: 192.168.8.57
        koca_instance_name: Demo-1
        koca_job: liveness
        koca_service_code: demo-svc
        koca_service_type: MONITOR
    

检查 Prometheus 采集情况

  • 检查 Targets 配置 http://{Prometheus IP}:9090/targets
    • 是否有对应实例的 Target
  • 通过 Graph 查询指标
    • 健康检查:probe_success{koca_app_code="{App Code}"}
    • 度量指标:koca_requests_total{koca_app_code="{App Code}"}

AMO 平台查看指标

  • 在确认 Prometheus 采集指标无误后,在 AMO 平台 指标监控服务监控 选择应用、环境查看监控指标

  • 对接口做一个压测看下效果:

    • hey -z 10s -c 2 -q 10 "http://localhost:8090/actuator"
      

使用 Grafana 自定义仪表

  • 如果 AMO 平台预置的仪表不能满足需求,或者指标为自定义指标,可以参考 仪表板设计-导入 Grafana 仪表 文档设计仪表并导入到 AMO 平台
  • Grafana 自定义仪表过程
    • 添加 Prometheus 数据源
    • 创建仪表或对 AMO 预置模板进行修改
      • koca-agent 的交付件 dashboard/exported 目录下有 AMO 预置模板的导出文件,可以导入后编辑
        • 注意:如果 Prometheus 数据源名称不是 Prometheus,需要修改 JSON 中所有 "datasource": "Prometheus" 的配置
    • 编辑完成后复制 JSON Model 数据,将仪表导入到 AMO