output

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 12, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataDog

type DataDog struct {
	// Host is the Datadog server where you are sending your logs.
	Host string `json:"host,omitempty"`
	// TLS controls whether to use end-to-end security communications security protocol.
	// Datadog recommends setting this to on.
	TLS *bool `json:"tls,omitempty"`
	// Compress  the payload in GZIP format.
	// Datadog supports and recommends setting this to gzip.
	Compress string `json:"compress,omitempty"`
	// Your Datadog API key.
	APIKey string `json:"apikey,omitempty"`
	// Specify an HTTP Proxy.
	Proxy string `json:"proxy,omitempty"`
	// To activate the remapping, specify configuration flag provider.
	Provider string `json:"provider,omitempty"`
	// Date key name for output.
	JSONDateKey string `json:"json_date_key,omitempty"`
	// If enabled, a tag is appended to output. The key name is used tag_key property.
	IncludeTagKey *bool `json:"include_tag_key,omitempty"`
	// The key name of tag. If include_tag_key is false, This property is ignored.
	TagKey string `json:"tag_key,omitempty"`
	// The human readable name for your service generating the logs.
	Service string `json:"dd_service,omitempty"`
	// A human readable name for the underlying technology of your service.
	Source string `json:"dd_source,omitempty"`
	// The tags you want to assign to your logs in Datadog.
	Tags string `json:"dd_tags,omitempty"`
	// By default, the plugin searches for the key 'log' and remap the value to the key 'message'. If the property is set, the plugin will search the property name key.
	MessageKey string `json:"dd_message_key,omitempty"`
}

DataDog output plugin allows you to ingest your logs into Datadog.

func (*DataDog) DeepCopy

func (in *DataDog) DeepCopy() *DataDog

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

func (*DataDog) DeepCopyInto

func (in *DataDog) DeepCopyInto(out *DataDog)

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

func (*DataDog) Name

func (_ *DataDog) Name() string

func (*DataDog) Params

func (s *DataDog) Params(sl plugins.SecretLoader) (*params.KVs, error)

implement Section() method

type Elasticsearch

type Elasticsearch struct {
	// IP address or hostname of the target Elasticsearch instance
	Host string `json:"host,omitempty"`
	// TCP port of the target Elasticsearch instance
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port *int32 `json:"port,omitempty"`
	// Elasticsearch accepts new data on HTTP query path "/_bulk".
	// But it is also possible to serve Elasticsearch behind a reverse proxy on a subpath.
	// This option defines such path on the fluent-bit side.
	// It simply adds a path prefix in the indexing HTTP POST URI.
	Path string `json:"path,omitempty"`
	// Specify the buffer size used to read the response from the Elasticsearch HTTP service.
	// This option is useful for debugging purposes where is required to read full responses,
	// note that response size grows depending of the number of records inserted.
	// To set an unlimited amount of memory set this value to False,
	// otherwise 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)?$"
	BufferSize string `json:"bufferSize,omitempty"`
	// Newer versions of Elasticsearch allows setting up filters called pipelines.
	// This option allows defining which pipeline the database should use.
	// For performance reasons is strongly suggested parsing
	// and filtering on Fluent Bit side, avoid pipelines.
	Pipeline string `json:"pipeline,omitempty"`
	// Enable AWS Sigv4 Authentication for Amazon ElasticSearch Service.
	AWSAuth string `json:"awsAuth,omitempty"`
	// Specify the AWS region for Amazon ElasticSearch Service.
	AWSRegion string `json:"awsRegion,omitempty"`
	// Specify the custom sts endpoint to be used with STS API for Amazon ElasticSearch Service.
	AWSSTSEndpoint string `json:"awsSTSEndpoint,omitempty"`
	// AWS IAM Role to assume to put records to your Amazon ES cluster.
	AWSRoleARN string `json:"awsRoleARN,omitempty"`
	// External ID for the AWS IAM Role specified with aws_role_arn.
	AWSExternalID string `json:"awsExternalID,omitempty"`
	// If you are using Elastic's Elasticsearch Service you can specify the cloud_id of the cluster running.
	CloudID string `json:"cloudID,omitempty"`
	// Specify the credentials to use to connect to Elastic's Elasticsearch Service running on Elastic Cloud.
	CloudAuth string `json:"cloudAuth,omitempty"`
	// Optional username credential for Elastic X-Pack access
	HTTPUser *plugins.Secret `json:"httpUser,omitempty"`
	// Password for user defined in HTTP_User
	HTTPPasswd *plugins.Secret `json:"httpPassword,omitempty"`
	// Index name
	Index string `json:"index,omitempty"`
	// Type name
	Type string `json:"type,omitempty"`
	// Enable Logstash format compatibility.
	// This option takes a boolean value: True/False, On/Off
	LogstashFormat *bool `json:"logstashFormat,omitempty"`
	// When Logstash_Format is enabled, the Index name is composed using a prefix and the date,
	// e.g: If Logstash_Prefix is equals to 'mydata' your index will become 'mydata-YYYY.MM.DD'.
	// The last string appended belongs to the date when the data is being generated.
	LogstashPrefix string `json:"logstashPrefix,omitempty"`
	// Time format (based on strftime) to generate the second part of the Index name.
	LogstashDateFormat string `json:"logstashDateFormat,omitempty"`
	// When Logstash_Format is enabled, each record will get a new timestamp field.
	// The Time_Key property defines the name of that field.
	TimeKey string `json:"timeKey,omitempty"`
	// When Logstash_Format is enabled, this property defines the format of the timestamp.
	TimeKeyFormat string `json:"timeKeyFormat,omitempty"`
	// When Logstash_Format is enabled, enabling this property sends nanosecond precision timestamps.
	TimeKeyNanos *bool `json:"timeKeyNanos,omitempty"`
	// When enabled, it append the Tag name to the record.
	IncludeTagKey *bool `json:"includeTagKey,omitempty"`
	// When Include_Tag_Key is enabled, this property defines the key name for the tag.
	TagKey string `json:"tagKey,omitempty"`
	// When enabled, generate _id for outgoing records.
	// This prevents duplicate records when retrying ES.
	GenerateID *bool `json:"generateID,omitempty"`
	// If set, _id will be the value of the key from incoming record and Generate_ID option is ignored.
	IdKey string `json:"idKey,omitempty"`
	// When enabled, replace field name dots with underscore, required by Elasticsearch 2.0-2.3.
	ReplaceDots *bool `json:"replaceDots,omitempty"`
	// When enabled print the elasticsearch API calls to stdout (for diag only)
	TraceOutput *bool `json:"traceOutput,omitempty"`
	// When enabled print the elasticsearch API calls to stdout when elasticsearch returns an error
	TraceError *bool `json:"traceError,omitempty"`
	// Use current time for index generation instead of message record
	CurrentTimeIndex *bool `json:"currentTimeIndex,omitempty"`
	// Prefix keys with this string
	LogstashPrefixKey string `json:"logstashPrefixKey,omitempty"`
	// When enabled, mapping types is removed and Type option is ignored. Types are deprecated in APIs in v7.0. This options is for v7.0 or later.
	SuppressTypeName string `json:"suppressTypeName,omitempty"`
	*plugins.TLS     `json:"tls,omitempty"`
}

Elasticsearch is the es output plugin, allows to ingest your records into an Elasticsearch database.

func (*Elasticsearch) DeepCopy

func (in *Elasticsearch) DeepCopy() *Elasticsearch

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

func (*Elasticsearch) DeepCopyInto

func (in *Elasticsearch) DeepCopyInto(out *Elasticsearch)

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

func (*Elasticsearch) Name

func (_ *Elasticsearch) Name() string

Name implement Section() method

func (*Elasticsearch) Params

func (es *Elasticsearch) Params(sl plugins.SecretLoader) (*params.KVs, error)

Params implement Section() method

type File

type File struct {
	// Absolute directory path to store files. If not set, Fluent Bit will write the files on it's own positioned directory.
	Path string `json:"path,omitempty"`
	// Set file name to store the records. If not set, the file name will be the tag associated with the records.
	File string `json:"file,omitempty"`
	// The format of the file content. See also Format section. Default: out_file.
	// +kubebuilder:validation:Enum:=out_file;plain;csv;ltsv;template
	Format string `json:"format,omitempty"`
	// The character to separate each pair. Applicable only if format is csv or ltsv.
	Delimiter string `json:"delimiter,omitempty"`
	// The character to separate each pair. Applicable only if format is ltsv.
	LabelDelimiter string `json:"labelDelimiter,omitempty"`
	// The format string. Applicable only if format is template.
	Template string `json:"template,omitempty"`
}

The file output plugin allows to write the data received through the input plugin to file.

func (*File) DeepCopy

func (in *File) DeepCopy() *File

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

func (*File) DeepCopyInto

func (in *File) DeepCopyInto(out *File)

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

func (*File) Name

func (_ *File) Name() string

func (*File) Params

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

type Firehose

type Firehose struct {
	// The AWS region.
	Region string `json:"region"`
	// The name of the Kinesis Firehose Delivery stream that you want log records sent to.
	DeliveryStream string `json:"deliveryStream"`
	// Add the timestamp to the record under this key. By default, the timestamp from Fluent Bit will not be added to records sent to Kinesis.
	TimeKey *string `json:"timeKey,omitempty"`
	// strftime compliant format string for the timestamp; for example, %Y-%m-%dT%H *string This option is used with time_key. You can also use %L for milliseconds and %f for microseconds. If you are using ECS FireLens, make sure you are running Amazon ECS Container Agent v1.42.0 or later, otherwise the timestamps associated with your container logs will only have second precision.
	TimeKeyFormat *string `json:"timeKeyFormat,omitempty"`
	// By default, the whole log record will be sent to Kinesis. If you specify a key name(s) with this option, then only those keys and values will be sent to Kinesis. For example, if you are using the Fluentd Docker log driver, you can specify data_keys log and only the log message will be sent to Kinesis. If you specify multiple keys, they should be comma delimited.
	DataKeys *string `json:"dataKeys,omitempty"`
	// By default, the whole log record will be sent to Firehose. If you specify a key name with this option, then only the value of that key will be sent to Firehose. For example, if you are using the Fluentd Docker log driver, you can specify log_key log and only the log message will be sent to Firehose.
	LogKey *string `json:"logKey,omitempty"`
	// ARN of an IAM role to assume (for cross account access).
	RoleARN *string `json:"roleARN,omitempty"`
	// Specify a custom endpoint for the Kinesis Firehose API.
	Endpoint *string `json:"endpoint,omitempty"`
	// Specify a custom endpoint for the STS API; used to assume your custom role provided with role_arn.
	STSEndpoint *string `json:"stsEndpoint,omitempty"`
	// Immediately retry failed requests to AWS services once. This option does not affect the normal Fluent Bit retry mechanism with backoff. Instead, it enables an immediate retry with no delay for networking errors, which may help improve throughput when there are transient/random networking issues.
	AutoRetryRequests *bool `json:"autoRetryRequests,omitempty"`
}

The Firehose output plugin, allows to ingest your records into AWS Firehose. It uses the new high performance kinesis_firehose plugin (written in C) instead of the older firehose plugin (written in Go). The fluent-bit container must have the plugin installed.

https://docs.fluentbit.io/manual/pipeline/outputs/firehose https://github.com/aws/amazon-kinesis-firehose-for-fluent-bit

func (*Firehose) DeepCopy

func (in *Firehose) DeepCopy() *Firehose

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

func (*Firehose) DeepCopyInto

func (in *Firehose) DeepCopyInto(out *Firehose)

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

func (*Firehose) Name

func (_ *Firehose) Name() string

implement Section() method

func (*Firehose) Params

func (l *Firehose) Params(sl plugins.SecretLoader) (*params.KVs, error)

implement Section() method

type Forward

type Forward struct {
	// Target host where Fluent-Bit or Fluentd are listening for Forward messages.
	Host string `json:"host,omitempty"`
	// TCP Port of the target service.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port *int32 `json:"port,omitempty"`
	// Set timestamps in integer format, it enable compatibility mode for Fluentd v0.12 series.
	TimeAsInteger *bool `json:"timeAsInteger,omitempty"`
	// Always send options (with "size"=count of messages)
	SendOptions *bool `json:"sendOptions,omitempty"`
	// Send "chunk"-option and wait for "ack" response from server.
	// Enables at-least-once and receiving server can control rate of traffic.
	// (Requires Fluentd v0.14.0+ server)
	RequireAckResponse *bool `json:"requireAckResponse,omitempty"`
	// A key string known by the remote Fluentd used for authorization.
	SharedKey string `json:"sharedKey,omitempty"`
	// Use this option to connect to Fluentd with a zero-length secret.
	EmptySharedKey *bool `json:"emptySharedKey,omitempty"`
	// Specify the username to present to a Fluentd server that enables user_auth.
	Username *plugins.Secret `json:"username,omitempty"`
	// Specify the password corresponding to the username.
	Password *plugins.Secret `json:"password,omitempty"`
	// Default value of the auto-generated certificate common name (CN).
	SelfHostname string `json:"selfHostname,omitempty"`
	*plugins.TLS `json:"tls,omitempty"`
}

Forward is the protocol used by Fluentd to route messages between peers. The forward output plugin allows to provide interoperability between Fluent Bit and Fluentd.

func (*Forward) DeepCopy

func (in *Forward) DeepCopy() *Forward

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

func (*Forward) DeepCopyInto

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

func (_ *Forward) Name() string

func (*Forward) Params

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

implement Section() method

type HTTP

type HTTP struct {
	// IP address or hostname of the target HTTP Server
	Host string `json:"host,omitempty"`
	// Basic Auth Username
	HTTPUser *plugins.Secret `json:"httpUser,omitempty"`
	// Basic Auth Password. Requires HTTP_User to be set
	HTTPPasswd *plugins.Secret `json:"httpPassword,omitempty"`
	// TCP port of the target HTTP Server
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port *int32 `json:"port,omitempty"`
	// Specify an HTTP Proxy. The expected format of this value is http://host:port.
	// Note that https is not supported yet.
	Proxy string `json:"proxy,omitempty"`
	// Specify an optional HTTP URI for the target web server, e.g: /something
	Uri string `json:"uri,omitempty"`
	// Set payload compression mechanism. Option available is 'gzip'
	Compress string `json:"compress,omitempty"`
	// Specify the data format to be used in the HTTP request body, by default it uses msgpack.
	// Other supported formats are json, json_stream and json_lines and gelf.
	// +kubebuilder:validation:Enum:=msgpack;json;json_stream;json_lines;gelf
	Format string `json:"format,omitempty"`
	// Specify if duplicated headers are allowed.
	// If a duplicated header is found, the latest key/value set is preserved.
	AllowDuplicatedHeaders *bool `json:"allowDuplicatedHeaders,omitempty"`
	// Specify an optional HTTP header field for the original message tag.
	HeaderTag string `json:"headerTag,omitempty"`
	// Add a HTTP header key/value pair. Multiple headers can be set.
	Headers map[string]string `json:"headers,omitempty"`
	// Specify the name of the time key in the output record.
	// To disable the time key just set the value to false.
	JsonDateKey string `json:"jsonDateKey,omitempty"`
	// Specify the format of the date. Supported formats are double, epoch
	// and iso8601 (eg: 2018-05-30T09:39:52.000681Z)
	JsonDateFormat string `json:"jsonDateFormat,omitempty"`
	// Specify the key to use for timestamp in gelf format
	GelfTimestampKey string `json:"gelfTimestampKey,omitempty"`
	// Specify the key to use for the host in gelf format
	GelfHostKey string `json:"gelfHostKey,omitempty"`
	// Specify the key to use as the short message in gelf format
	GelfShortMessgeKey string `json:"gelfShortMessgeKey,omitempty"`
	// Specify the key to use for the full message in gelf format
	GelfFullMessageKey string `json:"gelfFullMessageKey,omitempty"`
	// Specify the key to use for the level in gelf format
	GelfLevelKey string `json:"gelfLevelKey,omitempty"`
	// HTTP output plugin supports TTL/SSL, for more details about the properties available
	// and general configuration, please refer to the TLS/SSL section.
	*plugins.TLS `json:"tls,omitempty"`
}

The http output plugin allows to flush your records into a HTTP endpoint. For now the functionality is pretty basic and it issues a POST request with the data records in MessagePack (or JSON) format.

func (*HTTP) DeepCopy

func (in *HTTP) DeepCopy() *HTTP

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

func (*HTTP) DeepCopyInto

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

func (*HTTP) Name() string

implement Name method

func (*HTTP) Params

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

implement Params method

type Kafka

type Kafka struct {
	// Specify data format, options available: json, msgpack.
	Format string `json:"format,omitempty"`
	// Optional key to store the message
	MessageKey string `json:"messageKey,omitempty"`
	// If set, the value of Message_Key_Field in the record will indicate the message key.
	// If not set nor found in the record, Message_Key will be used (if set).
	MessageKeyField string `json:"messageKeyField,omitempty"`
	// Set the key to store the record timestamp
	TimestampKey string `json:"timestampKey,omitempty"`
	// iso8601 or double
	TimestampFormat string `json:"timestampFormat,omitempty"`
	// Single of multiple list of Kafka Brokers, e.g: 192.168.1.3:9092, 192.168.1.4:9092.
	Brokers string `json:"brokers,omitempty"`
	// Single entry or list of topics separated by comma (,) that Fluent Bit will use to send messages to Kafka.
	// If only one topic is set, that one will be used for all records.
	// Instead if multiple topics exists, the one set in the record by Topic_Key will be used.
	Topics string `json:"topics,omitempty"`
	// If multiple Topics exists, the value of Topic_Key in the record will indicate the topic to use.
	// E.g: if Topic_Key is router and the record is {"key1": 123, "router": "route_2"},
	// Fluent Bit will use topic route_2. Note that if the value of Topic_Key is not present in Topics,
	// then by default the first topic in the Topics list will indicate the topic to be used.
	TopicKey string `json:"topicKey,omitempty"`
	// {property} can be any librdkafka properties
	Rdkafka map[string]string `json:"rdkafka,omitempty"`
	//adds unknown topics (found in Topic_Key) to Topics. So in Topics only a default topic needs to be configured
	DynamicTopic *bool `json:"dynamicTopic,omitempty"`
	//Fluent Bit queues data into rdkafka library,
	//if for some reason the underlying library cannot flush the records the queue might fills up blocking new addition of records.
	//The queue_full_retries option set the number of local retries to enqueue the data.
	//The default value is 10 times, the interval between each retry is 1 second.
	//Setting the queue_full_retries value to 0 set's an unlimited number of retries.
	QueueFullRetries *int64 `json:"queueFullRetries,omitempty"`
}

func (*Kafka) DeepCopy

func (in *Kafka) DeepCopy() *Kafka

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

func (*Kafka) DeepCopyInto

func (in *Kafka) DeepCopyInto(out *Kafka)

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

func (*Kafka) Name

func (*Kafka) Name() string

func (*Kafka) Params

func (k *Kafka) Params(_ plugins.SecretLoader) (*params.KVs, error)

implement Section() method

type Loki

type Loki struct {
	// Loki hostname or IP address.
	Host string `json:"host"`
	// Loki TCP port
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port *int32 `json:"port,omitempty"`
	// Set HTTP basic authentication user name.
	HTTPUser *plugins.Secret `json:"httpUser,omitempty"`
	// Password for user defined in HTTP_User
	// Set HTTP basic authentication password
	HTTPPasswd *plugins.Secret `json:"httpPassword,omitempty"`
	// Tenant ID used by default to push logs to Loki.
	// If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.
	TenantID *plugins.Secret `json:"tenantID,omitempty"`
	// Stream labels for API request. It can be multiple comma separated of strings specifying  key=value pairs.
	// In addition to fixed parameters, it also allows to add custom record keys (similar to label_keys property).
	Labels []string `json:"labels,omitempty"`
	// Optional list of record keys that will be placed as stream labels.
	// This configuration property is for records key only.
	LabelKeys []string `json:"labelKeys,omitempty"`
	// Format to use when flattening the record to a log line. Valid values are json or key_value.
	// If set to json,  the log line sent to Loki will be the Fluent Bit record dumped as JSON.
	// If set to key_value, the log line will be each item in the record concatenated together (separated by a single space) in the format.
	// +kubebuilder:validation:Enum:=json;key_value
	LineFormat string `json:"lineFormat,omitempty"`
	// If set to true, it will add all Kubernetes labels to the Stream labels.
	// +kubebuilder:validation:Enum:=on;off
	AutoKubernetesLabels string `json:"autoKubernetesLabels,omitempty"`
	*plugins.TLS         `json:"tls,omitempty"`
}

The loki output plugin, allows to ingest your records into a Loki service.

func (*Loki) DeepCopy

func (in *Loki) DeepCopy() *Loki

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

func (*Loki) DeepCopyInto

func (in *Loki) DeepCopyInto(out *Loki)

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

func (*Loki) Name

func (_ *Loki) Name() string

implement Section() method

func (*Loki) Params

func (l *Loki) Params(sl plugins.SecretLoader) (*params.KVs, error)

implement Section() method

type Null

type Null struct{}

The null output plugin just throws away events.

func (*Null) DeepCopy

func (in *Null) DeepCopy() *Null

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

func (*Null) DeepCopyInto

func (in *Null) DeepCopyInto(out *Null)

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

func (*Null) Name

func (_ *Null) Name() string

func (*Null) Params

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

implement Section() method

type Stdout

type Stdout struct {
	// Specify the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.
	// +kubebuilder:validation:Enum:=msgpack;json;json_lines;json_stream
	Format string `json:"format,omitempty"`
	// Specify the name of the date field in output.
	JsonDateKey string `json:"jsonDateKey,omitempty"`
	// Specify the format of the date. Supported formats are double,  iso8601 (eg: 2018-05-30T09:39:52.000681Z) and epoch.
	// +kubebuilder:validation:Enum:= double;iso8601;epoch
	JsonDateFormat string `json:"jsonDateFormat,omitempty"`
}

The stdout output plugin allows to print to the standard output the data received through the input plugin.

func (*Stdout) DeepCopy

func (in *Stdout) DeepCopy() *Stdout

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

func (*Stdout) DeepCopyInto

func (in *Stdout) DeepCopyInto(out *Stdout)

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

func (*Stdout) Name

func (_ *Stdout) Name() string

func (*Stdout) Params

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

implement Section() method

type Syslog

type Syslog struct {
	// Host domain or IP address of the remote Syslog server.
	Host string `json:"host,omitempty"`
	// TCP or UDP port of the remote Syslog server.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port *int32 `json:"port,omitempty"`
	// Mode of the desired transport type, the available options are tcp, tls and udp.
	Mode string `json:"mode,omitempty"`
	// Syslog protocol format to use, the available options are rfc3164 and rfc5424.
	SyslogFormat string `json:"syslogFormat,omitempty"`
	// Maximum size allowed per message, in bytes.
	SyslogMaxSize *int32 `json:"syslogMaxSize,omitempty"`
	// Key from the original record that contains the Syslog severity number.
	SyslogSeverityKey string `json:"syslogSeverityKey,omitempty"`
	// Key from the original record that contains the Syslog facility number.
	SyslogFacilityKey string `json:"syslogFacilityKey,omitempty"`
	// Key name from the original record that contains the hostname that generated the message.
	SyslogHostnameKey string `json:"syslogHostnameKey,omitempty"`
	// Key name from the original record that contains the application name that generated the message.
	SyslogAppnameKey string `json:"syslogAppnameKey,omitempty"`
	// Key name from the original record that contains the Process ID that generated the message.
	SyslogProcessIDKey string `json:"syslogProcessIDKey,omitempty"`
	// Key name from the original record that contains the Message ID associated to the message.
	SyslogMessageIDKey string `json:"syslogMessageIDKey,omitempty"`
	// Key name from the original record that contains the Structured Data (SD) content.
	SyslogSDKey string `json:"syslogSDKey,omitempty"`
	// Key key name that contains the message to deliver.
	SyslogMessageKey string `json:"syslogMessageKey,omitempty"`
	// Syslog output plugin supports TTL/SSL, for more details about the properties available
	// and general configuration, please refer to the TLS/SSL section.
	*plugins.TLS `json:"tls,omitempty"`
}

Syslog output plugin allows you to deliver messages to Syslog servers.

func (*Syslog) DeepCopy

func (in *Syslog) DeepCopy() *Syslog

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

func (*Syslog) DeepCopyInto

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

func (_ *Syslog) Name() string

func (*Syslog) Params

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

implement Section() method

type TCP

type TCP struct {
	// Target host where Fluent-Bit or Fluentd are listening for Forward messages.
	Host string `json:"host,omitempty"`
	// TCP Port of the target service.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=65535
	Port *int32 `json:"port,omitempty"`
	// Specify the data format to be printed. Supported formats are msgpack json, json_lines and json_stream.
	// +kubebuilder:validation:Enum:=msgpack;json;json_lines;json_stream
	Format string `json:"format,omitempty"`
	// TSpecify the name of the time key in the output record.
	// To disable the time key just set the value to false.
	JsonDateKey string `json:"jsonDateKey,omitempty"`
	// Specify the format of the date. Supported formats are double, epoch
	// and iso8601 (eg: 2018-05-30T09:39:52.000681Z)
	// +kubebuilder:validation:Enum:=double;epoch;iso8601
	JsonDateFormat string `json:"jsonDateFormat,omitempty"`
	*plugins.TLS   `json:"tls,omitempty"`
}

The tcp output plugin allows to send records to a remote TCP server. The payload can be formatted in different ways as required.

func (*TCP) DeepCopy

func (in *TCP) DeepCopy() *TCP

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

func (*TCP) DeepCopyInto

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

func (_ *TCP) Name() string

func (*TCP) Params

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

Jump to

Keyboard shortcuts

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