input

package
v2.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2024 License: Apache-2.0 Imports: 4 Imported by: 4

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

func (in *Collectd) DeepCopy() *Collectd

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Collectd.

func (*Collectd) DeepCopyInto added in v2.5.0

func (in *Collectd) DeepCopyInto(out *Collectd)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Collectd) Name added in v2.5.0

func (_ *Collectd) Name() string

func (*Collectd) Params added in v2.5.0

func (c *Collectd) Params(_ plugins.SecretLoader) (*params.KVs, error)

implement Section() method

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

func (in *Dummy) DeepCopy() *Dummy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dummy.

func (*Dummy) DeepCopyInto

func (in *Dummy) DeepCopyInto(out *Dummy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Dummy) Name

func (_ *Dummy) Name() string

func (*Dummy) Params

func (d *Dummy) Params(_ plugins.SecretLoader) (*params.KVs, error)

implement Section() method

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

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

func (in *Forward) DeepCopy() *Forward

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Forward.

func (*Forward) DeepCopyInto added in v2.5.0

func (in *Forward) DeepCopyInto(out *Forward)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Forward) Name added in v2.5.0

func (_ *Forward) Name() string

func (*Forward) Params added in v2.5.0

func (f *Forward) Params(_ plugins.SecretLoader) (*params.KVs, error)

Params implement Section() method

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

func (in *HTTP) DeepCopy() *HTTP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTP.

func (*HTTP) DeepCopyInto added in v2.5.0

func (in *HTTP) DeepCopyInto(out *HTTP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTP) Name added in v2.5.0

func (_ *HTTP) Name() string

func (*HTTP) Params added in v2.5.0

func (h *HTTP) Params(sl plugins.SecretLoader) (*params.KVs, error)

Params implement Section() method

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

func (in *MQTT) DeepCopy() *MQTT

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MQTT.

func (*MQTT) DeepCopyInto added in v2.5.0

func (in *MQTT) DeepCopyInto(out *MQTT)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MQTT) Name added in v2.5.0

func (_ *MQTT) Name() string

func (*MQTT) Params added in v2.5.0

func (m *MQTT) Params(_ plugins.SecretLoader) (*params.KVs, error)

implement Section() method

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

func (in *Nginx) DeepCopy() *Nginx

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nginx.

func (*Nginx) DeepCopyInto added in v2.6.0

func (in *Nginx) DeepCopyInto(out *Nginx)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Nginx) Name added in v2.6.0

func (_ *Nginx) Name() string

func (*Nginx) Params added in v2.6.0

func (n *Nginx) Params(_ plugins.SecretLoader) (*params.KVs, error)

implement Section() method

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

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 Path

type Path struct {
	// The mount point used to collect process information and metrics.
	Procfs string `json:"procfs,omitempty"`
	// The path in the filesystem used to collect system metrics.
	Sysfs string `json:"sysfs,omitempty"`
}

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

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

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

func (in *StatsD) DeepCopy() *StatsD

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatsD.

func (*StatsD) DeepCopyInto added in v2.6.0

func (in *StatsD) DeepCopyInto(out *StatsD)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatsD) Name added in v2.6.0

func (_ *StatsD) Name() string

func (*StatsD) Params added in v2.6.0

func (s *StatsD) Params(_ plugins.SecretLoader) (*params.KVs, error)

implement Section() method

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

func (in *Syslog) DeepCopy() *Syslog

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Syslog.

func (*Syslog) DeepCopyInto added in v2.6.0

func (in *Syslog) DeepCopyInto(out *Syslog)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Syslog) Name added in v2.6.0

func (_ *Syslog) Name() string

func (*Syslog) Params added in v2.6.0

func (s *Syslog) Params(_ plugins.SecretLoader) (*params.KVs, error)

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

func (in *Systemd) DeepCopy() *Systemd

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Systemd.

func (*Systemd) DeepCopyInto

func (in *Systemd) DeepCopyInto(out *Systemd)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Systemd) Name

func (_ *Systemd) Name() string

func (*Systemd) Params

func (s *Systemd) Params(_ plugins.SecretLoader) (*params.KVs, error)

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

func (in *TCP) DeepCopy() *TCP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCP.

func (*TCP) DeepCopyInto added in v2.6.0

func (in *TCP) DeepCopyInto(out *TCP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TCP) Name added in v2.6.0

func (_ *TCP) Name() string

func (*TCP) Params added in v2.6.0

func (t *TCP) Params(sl plugins.SecretLoader) (*params.KVs, error)

Params implement Section() method

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

func (in *Tail) DeepCopy() *Tail

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tail.

func (*Tail) DeepCopyInto

func (in *Tail) DeepCopyInto(out *Tail)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tail) Name

func (_ *Tail) Name() string

func (*Tail) Params

func (t *Tail) Params(_ plugins.SecretLoader) (*params.KVs, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL