Statistics 如何在Spinnaker自动金丝雀分析中使用请求延迟作为统计数据?

Statistics 如何在Spinnaker自动金丝雀分析中使用请求延迟作为统计数据?,statistics,stackdriver,spinnaker,Statistics,Stackdriver,Spinnaker,我在Google Kubernetes引擎上使用Spinnaker,Stackdriver作为日志和统计数据源。我在使用Spinnaker自动金丝雀分析设置获取时间/分布指标时遇到问题 我的应用程序记录每个API请求的请求信息。它们包含所有请求的详细信息,因此我可以创建基于日志的统计信息 相当截断的日志条目如下所示: { "jsonPayload": { "format_parameters": { "ElapsedMilliseconds": "4.9541",

我在Google Kubernetes引擎上使用Spinnaker,Stackdriver作为日志和统计数据源。我在使用Spinnaker自动金丝雀分析设置获取时间/分布指标时遇到问题

我的应用程序记录每个API请求的请求信息。它们包含所有请求的详细信息,因此我可以创建基于日志的统计信息

相当截断的日志条目如下所示:

{
  "jsonPayload": {
    "format_parameters": {
      "ElapsedMilliseconds": "4.9541",
      "Method": "POST",
      "NormalizedPath": "api/add",
      "StatusCode": "200"
    }
  },
  "labels": {
    "kubernetes/labels/app.kubernetes.io/name": "calculator",
    "kubernetes/labels/track": "production",
    "kubernetes/namespace": "calculator"
  }
}
resource.type="container" AND
jsonPayload.format_parameters.NormalizedPath != ""
metric.label.name="${location}" AND
metric.label.track="${scope}"
我使用如下日志过滤器创建了基于日志的请求延迟统计:

{
  "jsonPayload": {
    "format_parameters": {
      "ElapsedMilliseconds": "4.9541",
      "Method": "POST",
      "NormalizedPath": "api/add",
      "StatusCode": "200"
    }
  },
  "labels": {
    "kubernetes/labels/app.kubernetes.io/name": "calculator",
    "kubernetes/labels/track": "production",
    "kubernetes/namespace": "calculator"
  }
}
resource.type="container" AND
jsonPayload.format_parameters.NormalizedPath != ""
metric.label.name="${location}" AND
metric.label.track="${scope}"
并根据
jsonPayload.format\u parameters.elapsedmillesons
将其指定为“分布”度量。我调用了它
api/request\u latency
,我可以看到数据的图表,按路径和请求方法对其进行分解,等等

我想设置Spinnaker(Kayenta),这样如果延迟增加,它将无法通过金丝雀分析。但我也看到他们是通过第5、50和99百分位来判断的

我已经设置了我的金丝雀配置来查看
logging.googleapis.com/user/api/request\u latency
,我有一个如下过滤器:

{
  "jsonPayload": {
    "format_parameters": {
      "ElapsedMilliseconds": "4.9541",
      "Method": "POST",
      "NormalizedPath": "api/add",
      "StatusCode": "200"
    }
  },
  "labels": {
    "kubernetes/labels/app.kubernetes.io/name": "calculator",
    "kubernetes/labels/track": "production",
    "kubernetes/namespace": "calculator"
  }
}
resource.type="container" AND
jsonPayload.format_parameters.NormalizedPath != ""
metric.label.name="${location}" AND
metric.label.track="${scope}"
track
标签在
canary
production
之间切换,
位置
设置为应用程序名称

在执行金丝雀分析时,我得到以下错误:

Field aggregation.perSeriesAligner的“ALIGN_MEAN”值无效:该对齐器不能应用于具有种类增量和值类型分布的度量值。“

我发现这是来自Stackdriver和根据统计数据运行的Kayenta查询

我不是一个统计人员,老实说,我有点不知所措,因为我必须弄清楚“每系列对齐器”这样的东西到底意味着什么

如何从日志中获取请求延迟,并将其用于金丝雀分析?