Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudWatch ¶
type CloudWatch struct { // AutoCreateStream *bool `json:"autoCreateStream,omitempty"` // AwsKeyId *plugins.Secret `json:"awsKeyId,omitempty"` // AwsSecKey *plugins.Secret `json:"awsSecKey,omitempty"` // AwsUseSts *bool `json:"awsUseSts,omitempty"` // AwsStsRoleARN *string `json:"awsStsRoleArn,omitempty"` // AwsStsSessionName *string `json:"awsStsSessionName,omitempty"` // AwsStsExternalId *string `json:"awsStsExternalId,omitempty"` // AwsStsPolicy *string `json:"awsStsPolicy,omitempty"` // AwsStsDurationSeconds *string `json:"awsStsDurationSeconds,omitempty"` // AwsStsEndpointUrl *string `json:"awsStsEndpointUrl,omitempty"` // AwsEcsAuthentication *bool `json:"awsEcsAuthentication,omitempty"` // Concurrency *int `json:"concurrency,omitempty"` // Specify an AWS endpoint to send data to. Endpoint *string `json:"endpoint,omitempty"` // SslVerifyPeer *bool `json:"sslVerifyPeer,omitempty"` // HttpProxy *string `json:"httpProxy,omitempty"` // IncludeTimeKey *bool `json:"includeTimeKey,omitempty"` // JsonHandler *string `json:"jsonHandler,omitempty"` // Localtime *bool `json:"localtime,omitempty"` // LogGroupAwsTags *string `json:"logGroupAwsTags,omitempty"` // LogGroupAwsTagsKey *string `json:"logGroupAwsTagsKey,omitempty"` // LogGroupName *string `json:"logGroupName,omitempty"` // LogGroupNameKey *string `json:"logGroupNameKey,omitempty"` // LogRejectedRequest *string `json:"logRejectedRequest,omitempty"` // LogStreamName *string `json:"logStreamName,omitempty"` // LogStreamNameKey *string `json:"logStreamNameKey,omitempty"` // MaxEventsPerBatch *string `json:"maxEventsPerBatch,omitempty"` // MaxMessageLength *string `json:"maxMessageLength,omitempty"` // MessageKeys *string `json:"messageKeys,omitempty"` // PutLogEventsDisableRetryLimit *bool `json:"putLogEventsDisableRetryLimit,omitempty"` // PutLogEventsRetryLimit *string `json:"putLogEventsRetryLimit,omitempty"` // PutLogEventsRetryWait *string `json:"putLogEventsRetryWait,omitempty"` // The AWS region. Region *string `json:"region,omitempty"` // RemoveLogGroupAwsTagsKey *bool `json:"removeLogGroupAwsTagsKey,omitempty"` // RemoveLogGroupNameKey *bool `json:"removeLogGroupNameKey,omitempty"` // RemoveLogStreamNameKey *bool `json:"removeLogStreamNameKey,omitempty"` // RemoveRetentionInDaysKey *bool `json:"removeRetentionInDaysKey,omitempty"` // RetentionInDays *string `json:"retentionInDays,omitempty"` // RetentionInDaysKey *string `json:"retentionInDaysKey,omitempty"` // UseTagAsGroup *string `json:"useTagAsGroup,omitempty"` // UseTagAsStream *string `json:"useTagAsStream,omitempty"` // ARN of an IAM role to assume (for cross account access). RoleARN *string `json:"roleArn,omitempty"` // Role Session name RoleSessionName *string `json:"roleSessionName,omitempty"` // Web identity token file WebIdentityTokenFile *string `json:"webIdentityTokenFile,omitempty"` // Policy *string `json:"policy,omitempty"` // DurationSeconds *string `json:"durationSeconds,omitempty"` }
CloudWatch defines the parametes for out_cloudwatch output plugin
type Datadog ¶ added in v2.4.0
type Datadog struct { // This parameter is required in order to authenticate your fluent agent. ApiKey *plugins.Secret `json:"apiKey,omitempty"` // Event format, if true, the event is sent in json format. Othwerwise, in plain text. UseJson *bool `json:"useJson,omitempty"` // Automatically include the Fluentd tag in the record. IncludeTagKey *bool `json:"includeTagKey,omitempty"` // Where to store the Fluentd tag. TagKey *string `json:"tagKey,omitempty"` // Name of the attribute which will contain timestamp of the log event. If nil, timestamp attribute is not added. TimestampKey *string `json:"timestampKey,omitempty"` // If true, the agent initializes a secure connection to Datadog. In clear TCP otherwise. UseSSL *bool `json:"useSSL,omitempty"` // Disable SSL validation (useful for proxy forwarding) NoSSLValidation *bool `json:"noSSLValidation,omitempty"` // Port used to send logs over a SSL encrypted connection to Datadog. If use_http is disabled, use 10516 for the US region and 443 for the EU region. // +kubebuilder:validation:Minimum:=1 // +kubebuilder:validation:Maximum:=65535 SSLPort *uint32 `json:"sslPort,omitempty"` // The number of retries before the output plugin stops. Set to -1 for unlimited retries MaxRetries *uint32 `json:"maxRetries,omitempty"` // The maximum time waited between each retry in seconds MaxBackoff *uint32 `json:"maxBackoff,omitempty"` // Enable HTTP forwarding. If you disable it, make sure to change the port to 10514 or ssl_port to 10516 UseHTTP *bool `json:"useHTTP,omitempty"` // Enable log compression for HTTP UseCompression *bool `json:"useCompression,omitempty"` // Set the log compression level for HTTP (1 to 9, 9 being the best ratio) CompressionLevel *uint32 `json:"compressionLevel,omitempty"` // This tells Datadog what integration it is DDSource *string `json:"ddSource,omitempty"` // Multiple value attribute. Can be used to refine the source attribute DDSourcecategory *string `json:"ddSourcecategory,omitempty"` // Custom tags with the following format "key1:value1, key2:value2" DDTags *string `json:"ddTags,omitempty"` // Used by Datadog to identify the host submitting the logs. DDHostname *string `json:"ddHostname,omitempty"` // Used by Datadog to correlate between logs, traces and metrics. Service *string `json:"service,omitempty"` // Proxy port when logs are not directly forwarded to Datadog and ssl is not used // +kubebuilder:validation:Minimum:=1 // +kubebuilder:validation:Maximum:=65535 Port *uint32 `json:"port,omitempty"` // Proxy endpoint when logs are not directly forwarded to Datadog Host *string `json:"host,omitempty"` // HTTP proxy, only takes effect if HTTP forwarding is enabled (use_http). Defaults to HTTP_PROXY/http_proxy env vars. HttpProxy *string `json:"httpProxy,omitempty"` }
Datadog defines the parameters for out_datadog plugin
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 ¶
type Loki struct { // Loki URL. Url *string `json:"url"` // 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"` // Optional list of record keys that will be removed from stream labels. // This configuration property is for records key only. RemoveKeys []string `json:"removeKeys,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. ExtractKubernetesLabels *bool `json:"extractKubernetesLabels,omitempty"` // If a record only has 1 key, then just set the log line to the value and discard the key. DropSingleKey *bool `json:"dropSingleKey,omitempty"` // Whether or not to include the fluentd_thread label when multiple threads are used for flushing IncludeThreadLabel *bool `json:"includeThreadLabel,omitempty"` // Disable certificate validation Insecure *bool `json:"insecure,omitempty"` // TlsCaCert defines the CA certificate file for TLS. TlsCaCertFile *string `json:"tlsCaCertFile,omitempty"` // TlsClientCert defines the client certificate file for TLS. TlsClientCertFile *string `json:"tlsClientCertFile,omitempty"` // TlsPrivateKey defines the client private key file for TLS. TlsPrivateKeyFile *string `json:"tlsPrivateKeyFile,omitempty"` }
The loki output plugin, allows to ingest your records into a Loki service.
type Opensearch ¶
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"` // Custom plugin type CustomPlugin *custom.CustomPlugin `json:"customPlugin,omitempty"` // out_cloudwatch plugin CloudWatch *CloudWatch `json:"cloudWatch,omitempty"` // datadog plugin Datadog *Datadog `json:"datadog,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:"tag,omitempty"` }
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 endpoint URL (like "http://localhost:9000/") S3Endpoint *string `json:"s3Endpoint,omitempty"` // This prevents AWS SDK from breaking endpoint URL ForcePathStyle *bool `json:"forcePathStyle,omitempty"` // This timestamp is added to each file name TimeSliceFormat *string `json:"timeSliceFormat,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