Fluentd 访问日志(proto)

extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig

[extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig proto]

envoy.access_loggers.fluentd AccessLog 的配置。此访问日志扩展将通过 TCP 连接将发出的访问日志发送到接受 Fluentd 转发协议的上游,如以下文档所述:Fluentd 转发协议规范.

此扩展的限定名称为 envoy.access_loggers.fluentd

注意

此扩展功能齐全,但尚未在生产环境中进行大量的实际使用,仅在知悉此情况的前提下使用。

此扩展旨在抵御不可信的下游流量。它假设上游是可信的。

提示

此扩展扩展了以下扩展类别并可与之一起使用

必须使用以下类型 URL 之一来配置此扩展

{
  "cluster": ...,
  "tag": ...,
  "stat_prefix": ...,
  "buffer_flush_interval": {...},
  "buffer_size_bytes": {...},
  "record": {...},
  "retry_options": {...},
  "formatters": []
}
cluster

(string, REQUIRED) 用于流式传输 Fluentd 消息的上游集群。

tag

(string, REQUIRED) 标签是一个用“.” 分隔的字符串(例如 log.type),用于对事件进行分类。请参阅:https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1#message-modes

stat_prefix

(string, REQUIRED) 发射 统计信息 时使用的前缀。

buffer_flush_interval

(Duration) 将访问日志刷新到 TCP 流的间隔。记录器将在每次经过此间隔时或达到批量大小限制时(以先到者为准)刷新请求。

buffer_size_bytes

(UInt32Value) 访问日志条目缓冲区的软大小限制(以字节为单位)。记录器将缓冲请求,直到达到此限制或每次经过刷新间隔时(以先到者为准)。当达到缓冲区限制时,记录器将立即刷新缓冲区内容。将其设置为零将有效地禁用批处理。

record

(Struct, REQUIRED) 表示为每个日志条目发送的记录的结构。 https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1#entry 值将根据需要呈现为字符串、数字或布尔值。嵌套的 JSON 对象可以通过某些命令运算符(例如 FILTER_STATE 或 DYNAMIC_METADATA)生成。有关特定命令运算符的详细信息,请参阅 格式字符串 文档。

record:
  status: "%RESPONSE_CODE%"
  message: "%LOCAL_REPLY_BODY%"

将创建以下 msgpack 记录

{
  "status": 500,
  "message": "My error message"
}
retry_options

(extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig.RetryOptions) 可选的重试,以防上游连接失败。如果未设置此字段,将应用默认值,如 RetryOptions 配置中所指定。

formatters

(repeated config.core.v3.TypedExtensionConfig) 指定可以从访问日志配置中调用的格式化程序插件集合。有关详细信息,请参阅格式化程序扩展文档。

提示

此扩展类别具有以下已知扩展

extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig.RetryOptions

[extensions.access_loggers.fluentd.v3.FluentdAccessLogConfig.RetryOptions proto]

{
  "max_connect_attempts": {...},
  "backoff_options": {...}
}
max_connect_attempts

(UInt32Value) 记录器在重新连接期间尝试连接到上游的次数。默认情况下,没有限制。记录器将在每次连接到上游失败或上游连接因任何原因关闭时尝试重新连接到上游。

backoff_options

(config.core.v3.BackoffStrategy) 设置回退策略。如果未设置此值,默认的基线回退间隔为 500 毫秒,默认的最大回退间隔为 5 秒(基线间隔的 10 倍)。