input

package
v0.0.0-...-0a9c605 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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. It is useful for testing, debugging, benchmarking and getting started with Fluent Bit.

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 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"`
}

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 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"`
	// DisableInotifyWatcher will disable inotify and use the file stat watcher instead.
	DisableInotifyWatcher *bool `json:"disableInotifyWatcher,omitempty"`
}

The Tail input plugin allows to monitor one or several text files. It has a similar behavior like tail -f shell command.

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