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 ¶
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 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"`
}
The Systemd input plugin allows to collect log messages from the Journald daemon on Linux environments.
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 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"`
// 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"`
}
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 ¶
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.