1.7.6 访问日志

优质
小牛编辑
139浏览
2023-12-01

配置项

{
  "access_log": [
    {
      "path": "...",
      "format": "...",
      "filter": "{...}",
    },
  ]
}
  • path
    (required, string) 写入访问日志的路径。

  • format
    (optional, string) 访问日志格式。Envoy支持自定义访问日志格式以及默认格式。

  • filter
    (optional, object) 用于明确是否需要写入的访问日志过滤器。

过滤器

Envoy支持以下访问日志过滤器:

Status code

{
  "filter": {
    "type": "status_code",
    "op": "...",
    "value": "...",
    "runtime_key": "..."
  }
}

基于HTTP响应/状态代码的过滤器。

  • op
    (required, string) 比较运算符。目前仅支持>==运算符。

  • value
    (required, integer) 如果运行时值不可用,则使用默认值进行比较。

  • runtime_key
    (optional, string) 运行时的key,用于获取比较值。如果定义,则使用此值。

Duration

{
  "filter": {
    "type": "duration",
    "op": "..",
    "value": "...",
    "runtime_key": "..."
  }
}

请求持续的总时间过滤器,以毫秒为单位。

  • op
    (required, string) 比较运算符。目前仅支持>==运算符。

  • value
    (required, integer) 如果运行时值不可用,则使用默认值进行比较。

  • runtime_key
    (optional, string) 运行时的key,用于获取比较值。如果定义,则使用此值。

Not health check

{
  "filter": {
    "type": "not_healthcheck"
  }
}

筛选健康检查失败的请求。健康检查的请求由健康检查过滤器进行标记。

Traceable

{
  "filter": {
    "type": "traceable_request"
  }
}

筛选可跟踪的请求。请参阅跟踪概述,以获取有关请求如何使能跟踪的详细信息。

Runtime

{
  "filter": {
    "type": "runtime",
    "key" : "..."
  }
}

使用随机采样请求。在x-request-id头存在的情况下进行采样。如果存在x-request-id,则过滤器将根据运行时键值和从x-request-id提取的值在多个主机上持续采样。如果缺失,过滤器将根据运行时键值随机采样。

  • key
    (required, string) 通过运行时key获取要采样的请求的百分比。此运行时值控制在0-100范围内,默认为0。

And

{
  "filter": {
    "type": "logical_and",
    "filters": []
  }
}

对过滤器中每个过滤器的结果执行逻辑"和"运算。过滤器将按顺序进行评估,如果其中一个返回false,则过滤器立即返回false。

Or

{
  "filter": {
    "type": "logical_or",
    "filters": []
  }
}

对每个单独的过滤器的结果执行逻辑"或"操作。过滤器将按顺序进行评估,如果其中一个返回true,则过滤器会立即返回true。

返回

  • 上一级