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.