Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Elasticsearch ¶
type Elasticsearch struct {
// The hostname of your Elasticsearch node (default: localhost).
Host *string `json:"host,omitempty"`
// The port number of your Elasticsearch node (default: 9200).
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *uint32 `json:"port,omitempty"`
// Hosts defines a list of hosts if you want to connect to more than one Elasticsearch nodes
Hosts *string `json:"hosts,omitempty"`
// Specify https if your Elasticsearch endpoint supports SSL (default: http).
Scheme *string `json:"scheme,omitempty"`
// Path defines the REST API endpoint of Elasticsearch to post write requests (default: nil).
Path *string `json:"path,omitempty"`
// IndexName defines the placeholder syntax of Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
IndexName *string `json:"indexName,omitempty"`
// If true, Fluentd uses the conventional index name format logstash-%Y.%m.%d (default: false). This option supersedes the index_name option.
LogstashFormat *bool `json:"logstashFormat,omitempty"`
// LogstashPrefix defines the logstash prefix index name to write events when logstash_format is true (default: logstash).
LogstashPrefix *string `json:"logstashPrefix,omitempty"`
// Optional, The login credentials to connect to Elasticsearch
User *plugins.Secret `json:"user,omitempty"`
// Optional, The login credentials to connect to Elasticsearch
Password *plugins.Secret `json:"password,omitempty"`
}
Elasticsearch defines the parameters for out_es output plugin
type Forward ¶
type Forward struct {
// Servers defines the servers section, at least one is required
Servers []*common.Server `json:"servers"`
// ServiceDiscovery defines the service_discovery section
ServiceDiscovery *common.ServiceDiscovery `json:"serviceDiscovery,omitempty"`
// ServiceDiscovery defines the security section
Security *common.Security `json:"security,omitempty"`
// Changes the protocol to at-least-once. The plugin waits the ack from destination's in_forward plugin.
RequireAckResponse *bool `json:"requireAckResponse,omitempty"`
// This option is used when require_ack_response is true. This default value is based on popular tcp_syn_retries.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
AckResponseTimeout *string `json:"ackResponseTimeout,omitempty"`
// The timeout time when sending event logs.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
SendTimeout *string `json:"sendTimeout,omitempty"`
// The connection timeout for the socket. When the connection is timed out during the connection establishment, Errno::ETIMEDOUT error is raised.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
ConnectTimeout *string `json:"connectTimeout,omitempty"`
// The wait time before accepting a server fault recovery.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
RecoverWait *string `json:"recoverWait,omitempty"`
// Specifies the transport protocol for heartbeats. Set none to disable.
// +kubebuilder:validation:Enum:=transport;tcp;udp;none
HeartbeatType *string `json:"heartbeatType,omitempty"`
// The interval of the heartbeat packer.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
HeartbeatInterval *string `json:"heartbeatInterval,omitempty"`
// Use the "Phi accrual failure detector" to detect server failure.
PhiFailureDetector *bool `json:"phiFailureDetector,omitempty"`
// The threshold parameter used to detect server faults.
PhiThreshold *uint16 `json:"phiThreshold,omitempty"`
// The hard timeout used to detect server failure. The default value is equal to the send_timeout parameter.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
HardTimeout *string `json:"hardTimeout,omitempty"`
// Sets TTL to expire DNS cache in seconds. Set 0 not to use DNS Cache.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
ExpireDnsCache *string `json:"expireDnsCache,omitempty"`
// Enable client-side DNS round robin. Uniform randomly pick an IP address to send data when a hostname has several IP addresses.
// heartbeat_type udp is not available with dns_round_robintrue. Use heartbeat_type tcp or heartbeat_type none.
DnsRoundRobin *bool `json:"dnsRoundRobin,omitempty"`
// Ignores DNS resolution and errors at startup time.
IgnoreNetworkErrorsAtStartup *bool `json:"ignoreNetworkErrorsAtStartup,omitempty"`
// The default version of TLS transport.
// +kubebuilder:validation:Enum:=TLSv1_1;TLSv1_2
TlsVersion *string `json:"tlsVersion,omitempty"`
// The cipher configuration of TLS transport.
TlsCiphers *string `json:"tlsCiphers,omitempty"`
// Skips all verification of certificates or not.
TlsInsecureMode *bool `json:"tlsInsecureMode,omitempty"`
// Allows self-signed certificates or not.
TlsAllowSelfSignedCert *bool `json:"tlsAllowSelfSignedCert,omitempty"`
// Verifies hostname of servers and certificates or not in TLS transport.
TlsVerifyHostname *bool `json:"tlsVerifyHostname,omitempty"`
// The additional CA certificate path for TLS.
TlsCertPath *string `json:"tlsCertPath,omitempty"`
// The client certificate path for TLS.
TlsClientCertPath *string `json:"tlsClientCertPath,omitempty"`
// The client private key path for TLS.
TlsClientPrivateKeyPath *string `json:"tlsClientPrivateKeyPath,omitempty"`
// The TLS private key passphrase for the client.
TlsClientPrivateKeyPassphrase *string `json:"tlsClientPrivateKeyPassphrase,omitempty"`
// The certificate thumbprint for searching from Windows system certstore. This parameter is for Windows only.
TlsCertThumbprint *string `json:"tlsCertThumbprint,omitempty"`
// The certificate logical store name on Windows system certstore. This parameter is for Windows only.
TlsCertLogicalStoreName *string `json:"tlsCertLogicalStoreName,omitempty"`
// Enables the certificate enterprise store on Windows system certstore. This parameter is for Windows only.
TlsCertUseEnterpriseStore *bool `json:"tlsCertUseEnterpriseStore,omitempty"`
// Enables the keepalive connection.
Keepalive *bool `json:"keepalive,omitempty"`
// Timeout for keepalive. Default value is nil which means to keep the connection alive as long as possible.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
KeepaliveTimeout *string `json:"keepaliveTimeout,omitempty"`
// Verify that a connection can be made with one of out_forward nodes at the time of startup.
VerifyConnectionAtStartup *bool `json:"verifyConnectionAtStartup,omitempty"`
}
Forward defines the out_forward Buffered Output plugin forwards events to other fluentd nodes.
type Http ¶
type Http struct {
// Auth section for this plugin
*common.Auth `json:"auth,omitempty"`
// Endpoint defines the endpoint for HTTP request. If you want to use HTTPS, use https prefix.
Endpoint *string `json:"endpoint,omitempty"`
// HttpMethod defines the method for HTTP request.
// +kubebuilder:validation:Enum:=post;put
HttpMethod *string `json:"httpMethod,omitempty"`
// Proxy defines the proxy for HTTP request.
Proxy *string `json:"proxy,omitempty"`
// ContentType defines Content-Type for HTTP request. out_http automatically set Content-Type for built-in formatters when this parameter is not specified.
ContentType *string `json:"contentType,omitempty"`
// JsonArray defines whether to use the array format of JSON or not
JsonArray *bool `json:"jsonArray,omitempty"`
// Headers defines the additional headers for HTTP request.
Headers *string `json:"headers,omitempty"`
// Additional placeholder based headers for HTTP request. If you want to use tag or record field, use this parameter instead of headers.
HeadersFromPlaceholders *string `json:"headersFromPlaceholders,omitempty"`
// OpenTimeout defines the connection open timeout in seconds.
OpenTimeout *uint16 `json:"openTimeout,omitempty"`
// ReadTimeout defines the read timeout in seconds.
ReadTimeout *uint16 `json:"readTimeout,omitempty"`
// SslTimeout defines the TLS timeout in seconds.
SslTimeout *uint16 `json:"sslTimeout,omitempty"`
// TlsCaCertPath defines the CA certificate path for TLS.
TlsCaCertPath *string `json:"tlsCaCertPath,omitempty"`
// TlsClientCertPath defines the client certificate path for TLS.
TlsClientCertPath *string `json:"tlsClientCertPath,omitempty"`
// TlsPrivateKeyPath defines the client private key path for TLS.
TlsPrivateKeyPath *string `json:"tlsPrivateKeyPath,omitempty"`
// TlsPrivateKeyPassphrase defines the client private key passphrase for TLS.
TlsPrivateKeyPassphrase *string `json:"tlsPrivateKeyPassphrase,omitempty"`
// TlsVerifyMode defines the verify mode of TLS.
// +kubebuilder:validation:Enum:=peer;none
TlsVerifyMode *string `json:"tlsVerifyMode,omitempty"`
// TlsVersion defines the default version of TLS transport.
// +kubebuilder:validation:Enum:=TLSv1_1;TLSv1_2
TlsVersion *string `json:"tlsVersion,omitempty"`
// TlsCiphers defines the cipher suites configuration of TLS.
TlsCiphers *string `json:"tlsCiphers,omitempty"`
// Raise UnrecoverableError when the response code is not SUCCESS.
ErrorResponseAsUnrecoverable *bool `json:"errorResponseAsUnrecoverable,omitempty"`
// The list of retryable response codes. If the response code is included in this list, out_http retries the buffer flush.
RetryableResponseCodes *string `json:"retryableResponseCodes,omitempty"`
}
Http defines the parameters for out_http output plugin
type Kafka2 ¶
type Kafka2 struct {
// The list of all seed brokers, with their host and port information. Default: localhost:9092
Brokers *string `json:"brokers,omitempty"`
// The field name for the target topic. If the field value is app, this plugin writes events to the app topic.
TopicKey *string `json:"topicKey,omitempty"`
// The name of the default topic. (default: nil)
DefaultTopic *string `json:"defaultTopic,omitempty"`
// Set fluentd event time to Kafka's CreateTime.
UseEventTime *bool `json:"useEventTime,omitempty"`
// The number of acks required per request.
RequiredAcks *int16 `json:"requiredAcks,omitempty"`
// The codec the producer uses to compress messages (default: nil).
// +kubebuilder:validation:Enum:=gzip;snappy
CompressionCodec *string `json:"compressionCodec,omitempty"`
}
Kafka2 defines the parameters for out_kafka output plugin
type Loki ¶ added in v1.5.0
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 Fluentd 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.
type Opensearch ¶ added in v1.1.0
type Opensearch struct {
// The hostname of your Opensearch node (default: localhost).
Host *string `json:"host,omitempty"`
// The port number of your Opensearch node (default: 9200).
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *uint32 `json:"port,omitempty"`
// Hosts defines a list of hosts if you want to connect to more than one Openearch nodes
Hosts *string `json:"hosts,omitempty"`
// Specify https if your Opensearch endpoint supports SSL (default: http).
Scheme *string `json:"scheme,omitempty"`
// Path defines the REST API endpoint of Opensearch to post write requests (default: nil).
Path *string `json:"path,omitempty"`
// IndexName defines the placeholder syntax of Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
IndexName *string `json:"indexName,omitempty"`
// If true, Fluentd uses the conventional index name format logstash-%Y.%m.%d (default: false). This option supersedes the index_name option.
LogstashFormat *bool `json:"logstashFormat,omitempty"`
// LogstashPrefix defines the logstash prefix index name to write events when logstash_format is true (default: logstash).
LogstashPrefix *string `json:"logstashPrefix,omitempty"`
// Optional, The login credentials to connect to Opensearch
User *plugins.Secret `json:"user,omitempty"`
// Optional, The login credentials to connect to Opensearch
Password *plugins.Secret `json:"password,omitempty"`
}
Opensearch defines the parameters for out_opensearch plugin
type Output ¶
type Output struct {
OutputCommon `json:",inline,omitempty"`
// match setions
common.BufferSection `json:",inline,omitempty"`
// out_forward plugin
Forward *Forward `json:"forward,omitempty"`
// out_http plugin
Http *Http `json:"http,omitempty"`
// out_es plugin
Elasticsearch *Elasticsearch `json:"elasticsearch,omitempty"`
// out_opensearch plugin
Opensearch *Opensearch `json:"opensearch,omitempty"`
// out_kafka plugin
Kafka *Kafka2 `json:"kafka,omitempty"`
// out_s3 plugin
S3 *S3 `json:"s3,omitempty"`
// out_stdout plugin
Stdout *Stdout `json:"stdout,omitempty"`
// out_loki plugin
Loki *Loki `json:"loki,omitempty"`
}
Output defines all available output plugins and their parameters
func (*Output) DeepCopyInto ¶
DeepCopyInto implements the DeepCopyInto interface.
func (*Output) Params ¶
func (o *Output) Params(loader plugins.SecretLoader) (*params.PluginStore, error)
type OutputCommon ¶
type OutputCommon struct {
Id *string `json:"-"`
// The @log_level parameter specifies the plugin-specific logging level
LogLevel *string `json:"logLevel,omitempty"`
// The @label parameter is to route the events to <label> sections
Label *string `json:"-"`
// Which tag to be matched.
Tag *string `json:"-"`
}
OutputCommon defines the common parameters for output plugin
type S3 ¶
type S3 struct {
// The AWS access key id.
AwsKeyId *string `json:"awsKeyId,omitempty"`
// The AWS secret key.
AwsSecKey *string `json:"awsSecKey,omitempty"`
// The Amazon S3 bucket name.
S3Bucket *string `json:"s3Bucket,omitempty"`
// The Amazon S3 region name
S3Region *string `json:"s3Region,omitempty"`
// The path prefix of the files on S3.
Path *string `json:"path,omitempty"`
// The actual S3 path. This is interpolated to the actual path.
S3ObjectKeyFormat *string `json:"s3ObjectKeyFormat,omitempty"`
// The compression type.
// +kubebuilder:validation:Enum:= gzip;lzo;json;txt
StoreAs *string `json:"storeAs,omitempty"`
// The proxy URL.
ProxyUri *string `json:"proxyUri,omitempty"`
// Verify the SSL certificate of the endpoint.
SslVerifyPeer *bool `json:"sslVerifyPeer,omitempty"`
}
S3 defines the parameters for out_s3 output plugin