在服务运行过程中,您可以在Knative上观测当前服务运行的状况,包括每秒查询数QPS(Query per Second)、平均响应时RT(Response Time)以及Pod扩缩容趋势。本文主要介绍如何配置和观测这些信息。

前提条件

阿里云Serverless Kubernetes(ASK)集群已开通日志服务和Knative功能。更多信息,请参见开启Knative

创建并配置Logstore

  1. 登录日志服务控制台
  2. Project列表区域,单击目标ASK集群对应的日志服务Project名称。
  3. 日志存储页面的日志库页签,单击+图标。
  4. 创建Logstore面板中配置好相关参数后,单击确定。更多关于创建Logstore参数的相关描述,请参见管理Logstore
  5. 创建成功对话框中,单击数据接入导向
  6. 数据接入区域,单击Docker标准输出86
  7. 创建机器组步骤,单击使用现有机器组
  8. 机器组配置步骤,选择已有机器组后,单击下一步
  9. 数据源设置步骤,使用以下模板样例设置日志服务的采集日志规则后,单击下一步
    {
        "inputs": [
            {
                "detail": {
                    "IncludeEnv": {
                        "QUEUE_SERVING_PORT": "8012"
                    },
                    "ExcludeLabel": {}
                },
                "type": "service_docker_stdout"
            }
        ]
    }
  10. 查询分析配置步骤,保留选择默认勾选项,单击下一步
  11. 结束步骤页签的查询日志区域,单击立即查询
    1. 单击查询分析观察日志输出。92-1
    2. 查询分析属性列表中选择属性92-2
    3. 查询分析面板单击自动生成索引,在弹出的自动生成索引属性对话框中,单击追加,然后在content字段中添加以下参数。
      参数名称 类型 别名
      httpRequest.latency text latency
      httpRequest.status long status
      httpRequest.revisionName text revision
      K13

配置QPS统计

  1. 登录日志服务控制台
  2. Project列表区域,单击目标ASK集群对应的日志服务Project名称。
  3. 日志存储页面的日志库的页签,单击目标Logstore。
  4. 查询/分析文本框中输入以下SQL查询命令。
    97-ch
    httpRequest | select date_trunc('minute' ,  __time__) as stamp, count(*) as num, revision from log group by stamp,revision order by stamp
  5. 单击流图,进行属性配置之后,单击添加到仪表盘
    91-ch

配置RT统计

  1. 登录日志服务控制台
  2. Project列表区域,单击目标ASK集群对应的日志服务Project名称。
  3. 日志存储页面的日志库的页签,单击目标Logstore。
  4. 查询/分析文本框中输入以下SQL查询命令。
    httpRequest|select  stamp as timestamp, trt as rt, revision from (select  date_trunc('minute' ,  __time__)  as stamp, round (avg(cast(replace(latency,'s') as double)), 6) as trt, revision   from log   group by   stamp, revision
           order by stamp 
           limit 100000)
  5. 单击流图,进行属性配置之后,单击添加到仪表盘
    93-ch

配置Pod扩缩容趋势统计

  1. 登录日志服务控制台
  2. Project列表区域,单击目标ASK集群对应的日志服务Project名称。
  3. 日志存储页面的日志库的页签 ,单击audit名称开头的Logstore。
  4. 查询分析属性列表中选择属性
  5. 查询分析面板的指定字段查询区域的responseObject字段添加以下参数。
    参数名称 参数类型 别名
    metadata.labels.serving.knative.dev/revision text revision
    metadata.labels.serving.knative.dev/service text service
    status.readyReplicas long readyReplicas
    status.replicas long replicas
  6. 查询/分析文本框中输入以下SQL查询命令。
    objectRef.resource: deployments and responseStatus.code: 200 and ( verb: update or verb: get)| select case when "revision" is null then '无' else "revision" end as "revision", "t" as timestamp, total,concat('total:', cast(total AS varchar), ', ready: ', cast(ready AS varchar), ', notReady',cast((total-ready) AS varchar)) as detail from (select date_trunc('minute' ,  __time__) as t, max(replicas) as total, max(readyReplicas) as ready, revision from log where service='event-display-common' group by t, revision order by t)
  7. 单击流图,进行属性配置之后,单击添加到仪表盘
    94-ch

观测服务运行状况

为了更好地观测服务运行状况的图表数据,您可将多个图表放在一个仪表盘进行展示,具体有以下两种方式: