EDAS应用路由监控支持查看监控数据,包括基础监控、业务流量概览、当前集群TopN、URL分析、日志分析5个大盘。您可以直接根据应用实时监控ARMS Prometheus数据源查看基础监控,也可以安装新版监控组件,使用Loki日志数据源查看网关日志监控。

查看应用路由监控数据

  1. 登录EDAS控制台,在左侧导航栏,单击流量管理 > 应用路由
  2. 应用路由(K8s Ingress)页面,单击目标应用路由操作列下方的监控,跳转到应用路由的监控页面。
  3. 在应用路由监控页面,选择地域,查看基础监控概览TopNUrl分析日志分析
    说明
    • 在应用路由监控页面,单击概览 > 前往开通,在新版监控未开启对话框,单击启用
    • 单击应用路由监控页面右上角的关闭监控,可以关闭应用路由监控功能。
    • 单击基础监控,查看当前K8s集群的基础监控指标数据,包括基础业务请求概览、Nginx Ingress Controller系统负载监控和Nginx配置文件reload次数等。

      基础监控提供Prometheus基础监控面板。基础监控指标帮助您查看当前集群业务请求概览,结合URL分析和日志分析盘进行业务问题分析和定位;Controller负载监控和Config reload次数帮助您进行Nginx Ingress资源管理和配置异常检查。

      基础监控
      • 请求数量(Requests)
        参数 说明
        请求总数 全局经由Nginx Ingress处理的基于所有控制器统计的整体请求QPS。
        请求数 2分钟内所选Ingress的请求数量。
        请求数 (by Ingress) Ingress维度HTTP请求数量曲线图。
        ReqPS(by Ingress) Ingress维度每秒请求数曲线图。
        QPS Ingress Controller维度Pod每秒请求数曲线图。
        错误ReqPS(by Path) Path维度请求4xx~5xx状态码每秒请求数曲线图。
      • 连接数(Connections)
        参数 说明
        连接数 Ingress Controller维度Pod连接数曲线图。
        新建连接数 所选Ingress Controller Pod新建连接数。
        总连接数 所选Ingress Controller Pod总连接数。
      • 请求状态(Status)
        参数 说明
        HTTP 1/2xx 所选时间区间内HTTP请求状态码1/2xx数量。
        HTTP 3xx 所选时间区间内HTTP请求状态码3xx数量。
        HTTP 4xx 所选时间区间内HTTP请求状态码4xx数量。
        HTTP 5xx 所选时间区间内HTTP请求状态码5xx数量。
        成功率 所选时间区间内Ingress请求成功率。
        HTTP状态码 HTTP状态码维度请求数量曲线图。
        请求失败率 请求404、5xx状态码比率曲线图。
        错误率(by Path) Path维度请求4xx~5xx状态码比率曲线图。
      • 配置(Config)
        参数 说明
        配置Reload次数 最近1分钟Nginx Reload成功次数。
        配置失败Pod数 上一次Nginx配置Reload是否成功。若失败则显示Nginx Controller Pod数量,成功则显示N/A
      • 请求延迟(Latency)
        参数 说明
        延迟时间 整体请求百分位延迟曲线图。
        延迟热力图 所选Ingress请求在时间区间内延迟热力图。
        请求处理延迟(by Path) Path维度请求处理延迟曲线图。
        上游服务延迟(by Path) Path维度上游服务延迟曲线图。
      • 控制器负载
        参数 说明
        网络I/O Ingress Controller维度网络入流量和出流量曲线图。
        CPU Ingress Controller维度CPU用量曲线图。
        内存 Ingress Controller维度内存占用曲线图。
      • Prometheus关键监控指标
        指标名 说明
        nginx_ingress_controller_request_duration_seconds_bucket 监控请求延迟性能分析。
        nginx_ingress_controller_response_duration_seconds_bucket 上游服务延迟性能分析。
        nginx_ingress_controller_response_size_bucket 请求响应包大小。
        nginx_ingress_controller_nginx_process_connections Nginx连接数指标。
        nginx_ingress_controller_request_duration_seconds_count 请求延迟、状态码、Path、Method和Host维度数量统计。
        nginx_ingress_controller_request_size_sum 请求延迟、状态码、Path、Method和Host维度请求包大小分析。
        nginx_ingress_controller_response_size_count 延迟、状态码、Path、Method和Host维度响应数量。
        nginx_ingress_controller_response_size_sum 请求延迟、状态码、Path、Method和Host维度响应包大小分析。
        nginx_ingress_controller_config_hash Nginx配置文件哈希值。
        nginx_ingress_controller_config_last_reload_successful 监控Nginx配置Reload是否成功。
        nginx_ingress_controller_ingress_upstream_latency_seconds_sum 提供Ingress维度上游延迟分析。
        nginx_ingress_controller_nginx_process_cpu_seconds_total Nginx CPU使用率分析。
        nginx_ingress_controller_requests 请求数量统计。
        nginx_ingress_controller_success 配置Reload次数统计。
    • 单击概览,即业务流量概览大盘,根据Ingress Namespace和Ingress名称查看指定Ingress条目的流量总览,如请求数、请求成功率、请求状态码分布和请求延迟状态等。概览
      监控项 说明
      PV 区间内请求总数。
      入流量 区间内请求总流量。
      出流量 区间内响应总流量。
      状态码分布 区间内状态码分布饼状图。
      Method分布 区间内请求方法分布饼状图。
      Ingress请求数分布 区间内请求处理控制器分布饼状图。
      PV 请求数曲线图。
      失败率 请求失败率(非1xx-3xx状态码)曲线图。
      请求延迟 P50/P95/P99/P9999请求总延迟时间曲线图。
    • 单击TopN,查看当前集群TopN大盘,包括请求统计、地理统计和设备统计。
      • 请求统计:查看根据请求数、失败率、延迟、流量进行统计分析的业务请求Top盘。请求统计
      • 地理统计:查看根据请求数量进行国家和地区的统计分析Top盘。地理统计
      • 设备统计:查看根据请求数量进行浏览器、设备类型、操作系统的统计分析Top盘。设备统计
      监控项 说明
      Service请求Top10 区间内Service请求数量Top 10。
      Service失败率Top10 区间内Service请求失败率(4xx~5xx状态码)Top 10。
      Service延迟Top10 区间内Service请求时间Top 10。
      Service流量Top10 区间内Service总流量Top 10。
      Ingress Top10 区间内流量Ingress请求数、成功率、平均延迟、入流量和出流量Top 10。
      Service Top10 区间内流量Service请求数、成功率、平均延迟、入流量和出流量Top 10。
      国家(地区)请求Top10 区间内请求分布地区Top 10。
      城市请求Top10 区间内城市请求数Top 10。
      浏览器请求Top10 区间内浏览器请求数Top 10。
      设备类型Top10 区间内设备请求Top 10。
      操作系统请求Top10 区间内操作系统请求Top 10。
    • 单击Url分析,根据请求URL查看流量QPS、延迟、失败率和错误状态明细,以及最近访问的Ingress流量。在Search搜索框,输入URL或状态码等关键字,可以查看指定流量特征的请求状态。URL分析1
      监控项 说明
      QPS
      • URL维度请求数量QPS。
      • 支持根据Cluster、Ingress Namespace、Ingress、Service和请求时间过滤。
      • 支持URL聚合。
      Duration - P95
      • URL维度请求P95延迟。
      • 支持根据Cluster、Ingress Namespace、Ingress、Service和请求时间过滤。
      • 支持URL聚合。
      • 采样区间5分钟。
      失败率
      • URL维度请求失败率。
      • 支持根据Cluster、Ingress Namespace、Ingress、Service和请求时间过滤。
      • 支持URL聚合。
      • 采样区间1分钟。
      错误明细
      • URL和状态码维度请求失败率。
      • 支持根据Cluster、Ingress Namespace、Ingress、Service和请求时间过滤。
      • 支持URL聚合。
      • 采样区间1分钟。
      最近请求日志 所选时间区间内日志。
    • 单击日志分析,查看聚合后的Ingress访问日志信息。单击日志左侧的尖括号图标,然后单击对应TraceId后的链接,可以跳转到ARMS链路分析页面,排查调用链路。关于调用链路查询的具体操作,可参见调用链路查询日志分析日志分析联动ARMS调用链路分析
      字段名 类型 单位后缀 说明 示例
      remote_addr string HTTP客户端源IP。 42.120.xx.xx
      proxy_protocol_addr string 启用代理后的远端地址。 42.120.xx.xx
      remote_user string HTTP请求头Basic认证的用户名。
      time_local string 以Common Log Format格式组织的本地时间。 20/Apr/2022:14:36:26+0800
      method string HTTP请求方法。 GET
      url string HTTP请求地址。 /echo/test
      version string HTTP协议版本。 HTTP/1.1
      status number 返回给HTTP客户端的响应码。 200
      body_bytes_sent number 字节(byte) 返回给HTTP客户端的字节数,不包含响应头的内容长度。 131
      http_referer string HTTP请求头Referer
      http_user_agent string HTTP请求头UserAgent curl/7.77.0
      request_length number 字节(byte) HTTP请求长度,包含请求行、请求头、请求体的内容长度。 85
      request_time number 秒(s) 自读取HTTP客户端发送的第一个字节所经过的时间。 1.004
      proxy_upstream_name string 反向代理上游的名称,格式为upstream-<namespace>-<service name>-<service port> default-test-svc-80
      upstream_addr string 反向代理上游的IP地址和端口。 10.53.xx.xx:18081
      upstream_response_length number 字节(byte) 反向代理上游所返回的响应长度。 131
      upstream_response_time number 秒(s) 接收来自反向代理上游返回的耗时。 1.005
      upstream_status number 反向代理返回的响应码。 200
      req_id string HTTP请求头X-Request-ID的值,如果该值没有被设置,那么会使用一个随机生成的ID。 365fff78ac45b5b9033a1d503576****
      host string HTTP请求头host example.aliyundoc.com
      proxy_alternative_upstream_name string 反向代理备选上游的名称,格式为upstream-<namespace>-<service name>-<service port>
      http_traceparent string EDAS注入的包含trace_id的信息,请参见W3C Trace Context 00-827ff36*****************b9ba52c980-3b0cf2185c670935-01
      trace_id string EDAS注入的网关调用链路ID,根据该ID可以联动跳转到ARMS链路分析。 827ff36f90b1a99d06e862b9ba52****
      content string 如果解析Ingress日志行失败,则会将原文内容放到该字段中。 42.120.xx.xx - [42.120.xx.xx] - - [20/Apr/2022:14:36:26 +0800] "GET /echo/test HTTP/1.1" 200 131 "-" "curl/7.77.0" 85 1.004 [default-test-svc-80] 10.53.xx.xx:18081 131 1.005 200 365fff78ac45b5b9033a1d503576**** example.aliyundoc.com [] 00-827ff36*****************b9ba52c980-3b0cf2185c670935-01
      geoip_city_name string 地理位置城市信息。 Hangzhou
      geoip_continent_code string 地理位置大洲代码。 AS
      geoip_country_code string 地理位置国家代码。 CN
      geoip_timezone string 地理位置时区。 Asia/Shanghai
      user_agent_browser_family string 浏览器访问。 HTTP Library
      user_agent_os_family string 设备访问。
      • PC
      • Smartphone
      user_agent_device_category string 操作系统访问。 Windows 10
    • 单击Nginx监控(社区版)请求处理性能(社区版),可以查看社区版本监控大盘,以供参考。