Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collectd ¶ added in v2.5.0
type Collectd struct {
// Set the address to listen to, default: 0.0.0.0
Listen string `json:"listen,omitempty"`
// Set the port to listen to, default: 25826
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// Set the data specification file,default: /usr/share/collectd/types.db
TypesDB string `json:"typesDB,omitempty"`
}
The Collectd input plugin allows you to receive datagrams from collectd service. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/collectd**
func (*Collectd) DeepCopy ¶ added in v2.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Collectd.
func (*Collectd) DeepCopyInto ¶ added in v2.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dummy ¶
type Dummy struct {
// Tag name associated to all records comming from this plugin.
Tag string `json:"tag,omitempty"`
// Dummy JSON record.
Dummy string `json:"dummy,omitempty"`
// Events number generated per second.
Rate *int32 `json:"rate,omitempty"`
// Sample events to generate.
Samples *int32 `json:"samples,omitempty"`
}
The dummy input plugin, generates dummy events. <br /> It is useful for testing, debugging, benchmarking and getting started with Fluent Bit. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/dummy**
func (*Dummy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dummy.
func (*Dummy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FluentbitMetrics ¶
type FluentbitMetrics struct {
Tag string `json:"tag,omitempty"`
// The rate at which metrics are collected from the host operating system. default is 2 seconds.
ScrapeInterval string `json:"scrapeInterval,omitempty"`
// Scrape metrics upon start, useful to avoid waiting for 'scrape_interval' for the first round of metrics.
ScrapeOnStart *bool `json:"scrapeOnStart,omitempty"`
}
Fluent Bit exposes its own metrics to allow you to monitor the internals of your pipeline. <br /> The collected metrics can be processed similarly to those from the Prometheus Node Exporter input plugin. <br /> They can be sent to output plugins including Prometheus Exporter, Prometheus Remote Write or OpenTelemetry. <br /> **Important note: Metrics collected with Node Exporter Metrics flow through a separate pipeline from logs and current filters do not operate on top of metrics.** <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/fluentbit-metrics**
func (*FluentbitMetrics) DeepCopy ¶
func (in *FluentbitMetrics) DeepCopy() *FluentbitMetrics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FluentbitMetrics.
func (*FluentbitMetrics) DeepCopyInto ¶
func (in *FluentbitMetrics) DeepCopyInto(out *FluentbitMetrics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FluentbitMetrics) Name ¶
func (_ *FluentbitMetrics) Name() string
func (*FluentbitMetrics) Params ¶
func (f *FluentbitMetrics) Params(_ plugins.SecretLoader) (*params.KVs, error)
type Forward ¶ added in v2.5.0
type Forward struct {
// Port for forward plugin instance.
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// Listener network interface.
Listen string `json:"listen,omitempty"`
// in_forward uses the tag value for incoming logs. If not set it uses tag from incoming log.
Tag string `json:"tag,omitempty"`
// Adds the prefix to incoming event's tag
TagPrefix string `json:"tagPrefix,omitempty"`
// Specify the path to unix socket to recieve a forward message. If set, Listen and port are ignnored.
UnixPath string `json:"unixPath,omitempty"`
// Set the permission of unix socket file.
UnixPerm string `json:"unixPerm,omitempty"`
// Specify maximum buffer memory size used to recieve a forward message.
// The value must be according to the Unit Size specification.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferMaxSize string `json:"bufferMaxSize,omitempty"`
// Set the initial buffer size to store incoming data.
// This value is used too to increase buffer size as required.
// The value must be according to the Unit Size specification.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferChunkSize string `json:"bufferchunkSize,omitempty"`
// Threaded mechanism allows input plugin to run in a separate thread which helps to desaturate the main pipeline.
Threaded string `json:"threaded,omitempty"`
}
Forward defines the in_forward Input plugin that listens to TCP socket to recieve the event stream. **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/forward**
func (*Forward) DeepCopy ¶ added in v2.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Forward.
func (*Forward) DeepCopyInto ¶ added in v2.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTP ¶ added in v2.5.0
type HTTP struct {
// The address to listen on,default 0.0.0.0
Listen string `json:"listen,omitempty"`
// The port for Fluent Bit to listen on,default 9880
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// Specify the key name to overwrite a tag. If set, the tag will be overwritten by a value of the key.
Tagkey string `json:"tagKey,omitempty"`
// Specify the maximum buffer size in KB to receive a JSON message,default 4M.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferMaxSize string `json:"bufferMaxSize,omitempty"`
// This sets the chunk size for incoming incoming JSON messages.
//These chunks are then stored/managed in the space available by buffer_max_size,default 512K.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferChunkSize string `json:"bufferChunkSize,omitempty"`
// It allows to set successful response code. 200, 201 and 204 are supported,default 201.
SuccessfulResponseCode *int32 `json:"successfulResponseCode,omitempty"`
// Add an HTTP header key/value pair on success. Multiple headers can be set. Example: X-Custom custom-answer.
SuccessfulHeader string `json:"successfulHeader,omitempty"`
*plugins.TLS `json:"tls,omitempty"`
}
The HTTP input plugin allows you to send custom records to an HTTP endpoint. **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/http**
func (*HTTP) DeepCopy ¶ added in v2.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP.
func (*HTTP) DeepCopyInto ¶ added in v2.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MQTT ¶ added in v2.5.0
type MQTT struct {
// Listener network interface, default: 0.0.0.0
Listen string `json:"listen,omitempty"`
// TCP port where listening for connections, default: 1883
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
}
The MQTT input plugin, allows to retrieve messages/data from MQTT control packets over a TCP connection. <br /> The incoming data to receive must be a JSON map. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/mqtt**
func (*MQTT) DeepCopy ¶ added in v2.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MQTT.
func (*MQTT) DeepCopyInto ¶ added in v2.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Nginx ¶ added in v2.6.0
type Nginx struct {
// Name of the target host or IP address to check, default: localhost
Host string `json:"host,omitempty"`
// Port of the target nginx service to connect to, default: 80
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// The URL of the Stub Status Handler,default: /status
StatusURL string `json:"statusURL,omitempty"`
// Turn on NGINX plus mode,default: true
NginxPlus *bool `json:"nginxPlus,omitempty"`
}
NGINX Exporter Metrics input plugin scrapes metrics from the NGINX stub status handler. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/nginx**
func (*Nginx) DeepCopy ¶ added in v2.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nginx.
func (*Nginx) DeepCopyInto ¶ added in v2.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeExporterMetrics ¶
type NodeExporterMetrics struct {
// Tag name associated to all records comming from this plugin.
Tag string `json:"tag,omitempty"`
// The rate at which metrics are collected from the host operating system, default is 5 seconds.
ScrapeInterval string `json:"scrapeInterval,omitempty"`
Path *Path `json:"path,omitempty"`
}
A plugin based on Prometheus Node Exporter to collect system / host level metrics. <br /> **Note: Metrics collected with Node Exporter Metrics flow through a separate pipeline from logs and current filters do not operate on top of metrics.** <br /> This plugin is currently only supported on Linux based operating systems. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/node-exporter-metrics**
func (*NodeExporterMetrics) DeepCopy ¶
func (in *NodeExporterMetrics) DeepCopy() *NodeExporterMetrics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeExporterMetrics.
func (*NodeExporterMetrics) DeepCopyInto ¶
func (in *NodeExporterMetrics) DeepCopyInto(out *NodeExporterMetrics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeExporterMetrics) Name ¶
func (_ *NodeExporterMetrics) Name() string
func (*NodeExporterMetrics) Params ¶
func (d *NodeExporterMetrics) Params(_ plugins.SecretLoader) (*params.KVs, error)
Params implement Section() method
type OpenTelemetry ¶ added in v2.5.0
type OpenTelemetry struct {
// The address to listen on,default 0.0.0.0
Listen string `json:"listen,omitempty"`
// The port for Fluent Bit to listen on.default 4318.
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// Specify the key name to overwrite a tag. If set, the tag will be overwritten by a value of the key.
Tagkey string `json:"tagKey,omitempty"`
// Route trace data as a log message(default false).
RawTraces *bool `json:"rawTraces,omitempty"`
// Specify the maximum buffer size in KB to receive a JSON message(default 4M).
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferMaxSize string `json:"bufferMaxSize,omitempty"`
// This sets the chunk size for incoming incoming JSON messages. These chunks are then stored/managed in the space available by buffer_max_size(default 512K).
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferChunkSize string `json:"bufferChunkSize,omitempty"`
//It allows to set successful response code. 200, 201 and 204 are supported(default 201).
SuccessfulResponseCode *int32 `json:"successfulResponseCode,omitempty"`
}
The OpenTelemetry plugin allows you to ingest telemetry data as per the OTLP specification, <br /> from various OpenTelemetry exporters, the OpenTelemetry Collector, or Fluent Bit's OpenTelemetry output plugin. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/opentelemetry**
func (*OpenTelemetry) DeepCopy ¶ added in v2.5.0
func (in *OpenTelemetry) DeepCopy() *OpenTelemetry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetry.
func (*OpenTelemetry) DeepCopyInto ¶ added in v2.5.0
func (in *OpenTelemetry) DeepCopyInto(out *OpenTelemetry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OpenTelemetry) Name ¶ added in v2.5.0
func (_ *OpenTelemetry) Name() string
func (*OpenTelemetry) Params ¶ added in v2.5.0
func (ot *OpenTelemetry) Params(_ plugins.SecretLoader) (*params.KVs, error)
implement Section() method
type PrometheusScrapeMetrics ¶
type PrometheusScrapeMetrics struct {
// Tag name associated to all records comming from this plugin
Tag string `json:"tag,omitempty"`
// The host of the prometheus metric endpoint that you want to scrape
Host string `json:"host,omitempty"`
// The port of the promethes metric endpoint that you want to scrape
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// The interval to scrape metrics, default: 10s
ScrapeInterval string `json:"scrapeInterval,omitempty"`
// The metrics URI endpoint, that must start with a forward slash, deflaut: /metrics
MetricsPath string `json:"metricsPath,omitempty"`
}
Fluent Bit 1.9 includes additional metrics features to allow you to collect both logs and metrics with the same collector. <br /> The initial release of the Prometheus Scrape metric allows you to collect metrics from a Prometheus-based <br /> endpoint at a set interval. These metrics can be routed to metric supported endpoints such as Prometheus Exporter, InfluxDB, or Prometheus Remote Write. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/prometheus-scrape-metrics**
func (*PrometheusScrapeMetrics) DeepCopy ¶
func (in *PrometheusScrapeMetrics) DeepCopy() *PrometheusScrapeMetrics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusScrapeMetrics.
func (*PrometheusScrapeMetrics) DeepCopyInto ¶
func (in *PrometheusScrapeMetrics) DeepCopyInto(out *PrometheusScrapeMetrics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrometheusScrapeMetrics) Name ¶
func (_ *PrometheusScrapeMetrics) Name() string
func (*PrometheusScrapeMetrics) Params ¶
func (p *PrometheusScrapeMetrics) Params(_ plugins.SecretLoader) (*params.KVs, error)
Params implement Section() method
type StatsD ¶ added in v2.6.0
type StatsD struct {
// Listener network interface, default: 0.0.0.0
Listen string `json:"listen,omitempty"`
// UDP port where listening for connections, default: 8125
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
}
The StatsD input plugin allows you to receive metrics via StatsD protocol.<br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/statsd**
func (*StatsD) DeepCopy ¶ added in v2.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatsD.
func (*StatsD) DeepCopyInto ¶ added in v2.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Syslog ¶ added in v2.6.0
type Syslog struct {
// Defines transport protocol mode: unix_udp (UDP over Unix socket), unix_tcp (TCP over Unix socket), tcp or udp
// +kubebuilder:validation:Enum:=unix_udp;unix_tcp;tcp;udp
Mode string `json:"mode,omitempty"`
// If Mode is set to tcp or udp, specify the network interface to bind, default: 0.0.0.0
Listen string `json:"listen,omitempty"`
// If Mode is set to tcp or udp, specify the TCP port to listen for incoming connections.
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// If Mode is set to unix_tcp or unix_udp, set the absolute path to the Unix socket file.
Path string `json:"path,omitempty"`
// If Mode is set to unix_tcp or unix_udp, set the permission of the Unix socket file, default: 0644
UnixPerm *int32 `json:"unixPerm,omitempty"`
// Specify an alternative parser for the message. If Mode is set to tcp or udp then the default parser is syslog-rfc5424 otherwise syslog-rfc3164-local is used.
// If your syslog messages have fractional seconds set this Parser value to syslog-rfc5424 instead.
Parser string `json:"parser,omitempty"`
// By default the buffer to store the incoming Syslog messages, do not allocate the maximum memory allowed, instead it allocate memory when is required.
//The rounds of allocations are set by Buffer_Chunk_Size. If not set, Buffer_Chunk_Size is equal to 32000 bytes (32KB).
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferChunkSize string `json:"bufferChunkSize,omitempty"`
// Specify the maximum buffer size to receive a Syslog message. If not set, the default size will be the value of Buffer_Chunk_Size.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferMaxSize string `json:"bufferMaxSize,omitempty"`
// Specify the maximum socket receive buffer size. If not set, the default value is OS-dependant,
// but generally too low to accept thousands of syslog messages per second without loss on udp or unix_udp sockets. Note that on Linux the value is capped by sysctl net.core.rmem_max.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
ReceiveBufferSize string `json:"receiveBufferSize,omitempty"`
// Specify the key where the source address will be injected.
SourceAddressKey string `json:"sourceAddressKey,omitempty"`
}
Syslog input plugins allows to collect Syslog messages through a Unix socket server (UDP or TCP) or over the network using TCP or UDP. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/syslog**
func (*Syslog) DeepCopy ¶ added in v2.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Syslog.
func (*Syslog) DeepCopyInto ¶ added in v2.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Systemd ¶
type Systemd struct {
// Optional path to the Systemd journal directory,
// if not set, the plugin will use default paths to read local-only logs.
Path string `json:"path,omitempty"`
// Specify the database file to keep track of monitored files and offsets.
DB string `json:"db,omitempty"`
// Set a default synchronization (I/O) method. values: Extra, Full, Normal, Off.
// This flag affects how the internal SQLite engine do synchronization to disk,
// for more details about each option please refer to this section.
// note: this option was introduced on Fluent Bit v1.4.6.
// +kubebuilder:validation:Enum:=Extra;Full;Normal;Off
DBSync string `json:"dbSync,omitempty"`
// The tag is used to route messages but on Systemd plugin there is an extra functionality:
// if the tag includes a star/wildcard, it will be expanded with the Systemd Unit file (e.g: host.* => host.UNIT_NAME).
Tag string `json:"tag,omitempty"`
// Set a maximum number of fields (keys) allowed per record.
MaxFields int `json:"maxFields,omitempty"`
// When Fluent Bit starts, the Journal might have a high number of logs in the queue.
// In order to avoid delays and reduce memory usage, this option allows to specify the maximum number of log entries that can be processed per round.
// Once the limit is reached, Fluent Bit will continue processing the remaining log entries once Journald performs the notification.
MaxEntries int `json:"maxEntries,omitempty"`
// Allows to perform a query over logs that contains a specific Journald key/value pairs, e.g: _SYSTEMD_UNIT=UNIT.
// The Systemd_Filter option can be specified multiple times in the input section to apply multiple filters as required.
SystemdFilter []string `json:"systemdFilter,omitempty"`
// Define the filter type when Systemd_Filter is specified multiple times. Allowed values are And and Or.
// With And a record is matched only when all of the Systemd_Filter have a match.
// With Or a record is matched when any of the Systemd_Filter has a match.
// +kubebuilder:validation:Enum:=And;Or
SystemdFilterType string `json:"systemdFilterType,omitempty"`
// Start reading new entries. Skip entries already stored in Journald.
// +kubebuilder:validation:Enum:=on;off
ReadFromTail string `json:"readFromTail,omitempty"`
// Remove the leading underscore of the Journald field (key). For example the Journald field _PID becomes the key PID.
// +kubebuilder:validation:Enum:=on;off
StripUnderscores string `json:"stripUnderscores,omitempty"`
// Specify the buffering mechanism to use. It can be memory or filesystem
// +kubebuilder:validation:Enum:=filesystem;memory
StorageType string `json:"storageType,omitempty"`
// Specifies if the input plugin should be paused (stop ingesting new data) when the storage.max_chunks_up value is reached.
// +kubebuilder:validation:Enum:=on;off
PauseOnChunksOverlimit string `json:"pauseOnChunksOverlimit,omitempty"`
}
The Systemd input plugin allows to collect log messages from the Journald daemon on Linux environments. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/systemd**
func (*Systemd) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Systemd.
func (*Systemd) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCP ¶ added in v2.6.0
type TCP struct {
// Listener network interface,default 0.0.0.0
Listen string `json:"listen,omitempty"`
// TCP port where listening for connections,default 5170
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *int32 `json:"port,omitempty"`
// Specify the maximum buffer size in KB to receive a JSON message. If not set, the default size will be the value of Chunk_Size.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferSize string `json:"bufferSize,omitempty"`
// By default the buffer to store the incoming JSON messages, do not allocate the maximum memory allowed, instead it allocate memory when is required.
//The rounds of allocations are set by Chunk_Size in KB. If not set, Chunk_Size is equal to 32 (32KB).
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
ChunkSize string `json:"chunkSize,omitempty"`
// Specify the expected payload format. It support the options json and none.
// When using json, it expects JSON maps, when is set to none, it will split every record using the defined Separator (option below).
Format string `json:"format,omitempty"`
// When the expected Format is set to none, Fluent Bit needs a separator string to split the records. By default it uses the breakline character (LF or 0x10).
Separator string `json:"separator,omitempty"`
}
The tcp input plugin allows to retrieve structured JSON or raw messages over a TCP network interface (TCP port). **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/tcp**
func (*TCP) DeepCopy ¶ added in v2.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCP.
func (*TCP) DeepCopyInto ¶ added in v2.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tail ¶
type Tail struct {
// Set the initial buffer size to read files data.
// This value is used too to increase buffer size.
// The value must be according to the Unit Size specification.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferChunkSize string `json:"bufferChunkSize,omitempty"`
// Set the limit of the buffer size per monitored file.
// When a buffer needs to be increased (e.g: very long lines),
// this value is used to restrict how much the memory buffer can grow.
// If reading a file exceed this limit, the file is removed from the monitored file list
// The value must be according to the Unit Size specification.
// +kubebuilder:validation:Pattern:="^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$"
BufferMaxSize string `json:"bufferMaxSize,omitempty"`
// Pattern specifying a specific log files or multiple ones through the use of common wildcards.
Path string `json:"path,omitempty"`
// If enabled, it appends the name of the monitored file as part of the record.
// The value assigned becomes the key in the map.
PathKey string `json:"pathKey,omitempty"`
// Set one or multiple shell patterns separated by commas to exclude files matching a certain criteria,
// e.g: exclude_path=*.gz,*.zip
ExcludePath string `json:"excludePath,omitempty"`
// For new discovered files on start (without a database offset/position),
// read the content from the head of the file, not tail.
ReadFromHead *bool `json:"readFromHead,omitempty"`
// The interval of refreshing the list of watched files in seconds.
RefreshIntervalSeconds *int64 `json:"refreshIntervalSeconds,omitempty"`
// Specify the number of extra time in seconds to monitor a file once is rotated in case some pending data is flushed.
RotateWaitSeconds *int64 `json:"rotateWaitSeconds,omitempty"`
// Ignores records which are older than this time in seconds.
// Supports m,h,d (minutes, hours, days) syntax.
// Default behavior is to read all records from specified files.
// Only available when a Parser is specificied and it can parse the time of a record.
// +kubebuilder:validation:Pattern:="^\\d+(m|h|d)?$"
IgnoreOlder string `json:"ignoredOlder,omitempty"`
// When a monitored file reach it buffer capacity due to a very long line (Buffer_Max_Size),
// the default behavior is to stop monitoring that file.
// Skip_Long_Lines alter that behavior and instruct Fluent Bit to skip long lines
// and continue processing other lines that fits into the buffer size.
SkipLongLines *bool `json:"skipLongLines,omitempty"`
// Specify the database file to keep track of monitored files and offsets.
DB string `json:"db,omitempty"`
// Set a default synchronization (I/O) method. Values: Extra, Full, Normal, Off.
// +kubebuilder:validation:Enum:=Extra;Full;Normal;Off
DBSync string `json:"dbSync,omitempty"`
// Set a limit of memory that Tail plugin can use when appending data to the Engine.
// If the limit is reach, it will be paused; when the data is flushed it resumes.
MemBufLimit string `json:"memBufLimit,omitempty"`
// Specify the name of a parser to interpret the entry as a structured message.
Parser string `json:"parser,omitempty"`
// When a message is unstructured (no parser applied), it's appended as a string under the key name log.
// This option allows to define an alternative name for that key.
Key string `json:"key,omitempty"`
// Set a tag (with regex-extract fields) that will be placed on lines read.
// E.g. kube.<namespace_name>.<pod_name>.<container_name>
Tag string `json:"tag,omitempty"`
// Set a regex to exctract fields from the file
TagRegex string `json:"tagRegex,omitempty"`
// If enabled, the plugin will try to discover multiline messages
// and use the proper parsers to compose the outgoing messages.
// Note that when this option is enabled the Parser option is not used.
Multiline *bool `json:"multiline,omitempty"`
// Wait period time in seconds to process queued multiline messages
MultilineFlushSeconds *int64 `json:"multilineFlushSeconds,omitempty"`
// Name of the parser that matchs the beginning of a multiline message.
// Note that the regular expression defined in the parser must include a group name (named capture)
ParserFirstline string `json:"parserFirstline,omitempty"`
// Optional-extra parser to interpret and structure multiline entries.
// This option can be used to define multiple parsers.
ParserN []string `json:"parserN,omitempty"`
// If enabled, the plugin will recombine split Docker log lines before passing them to any parser as configured above.
// This mode cannot be used at the same time as Multiline.
DockerMode *bool `json:"dockerMode,omitempty"`
// Wait period time in seconds to flush queued unfinished split lines.
DockerModeFlushSeconds *int64 `json:"dockerModeFlushSeconds,omitempty"`
// Specify an optional parser for the first line of the docker multiline mode. The parser name to be specified must be registered in the parsers.conf file.
DockerModeParser string `json:"dockerModeParser,omitempty"`
// DisableInotifyWatcher will disable inotify and use the file stat watcher instead.
DisableInotifyWatcher *bool `json:"disableInotifyWatcher,omitempty"`
// This will help to reassembly multiline messages originally split by Docker or CRI
//Specify one or Multiline Parser definition to apply to the content.
MultilineParser string `json:"multilineParser,omitempty"`
// Specify the buffering mechanism to use. It can be memory or filesystem
// +kubebuilder:validation:Enum:=filesystem;memory
StorageType string `json:"storageType,omitempty"`
// Specifies if the input plugin should be paused (stop ingesting new data) when the storage.max_chunks_up value is reached.
// +kubebuilder:validation:Enum:=on;off
PauseOnChunksOverlimit string `json:"pauseOnChunksOverlimit,omitempty"`
}
The Tail input plugin allows to monitor one or several text files. <br /> It has a similar behavior like tail -f shell command. <br /> **For full documentation, refer to https://docs.fluentbit.io/manual/pipeline/inputs/tail**
func (*Tail) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tail.
func (*Tail) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.