访问日志
配置项
{
"access_log": [
{
"path": "...",
"format": "...",
"filter": "{...}",
},
]
}
path
(required, string) 写入访问日志的路径。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。