Documentation ¶
Index ¶
- type AndSection
- type Concat
- type DedotFilterConfig
- type DetectExceptions
- type ElasticsearchGenId
- type EnhanceK8s
- type ExcludeSection
- type GeoIP
- type GrepConfig
- type GrokSection
- type KubeEventsTimestampConfig
- type Label
- type MetricSection
- type OrSection
- type ParseSection
- type ParserConfig
- type PrometheusConfig
- type Record
- type RecordModifier
- type RecordTransformer
- type RegexpSection
- type Replace
- type SingleParseSection
- type StdOutFilterConfig
- type SumoLogic
- type TagNormaliser
- type Throttle
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AndSection ¶
type AndSection struct { // +docLink:"Regexp Directive,#Regexp-Directive" Regexp []RegexpSection `json:"regexp,omitempty"` // +docLink:"Exclude Directive,#Exclude-Directive" Exclude []ExcludeSection `json:"exclude,omitempty"` }
+kubebuilder:object:generate=true +docName:"[And Directive](https://docs.fluentd.org/filter/grep#less-than-and-greater-than-directive) {#And-Directive}" Specify filtering rule. This directive contains either `regexp` or `exclude` directive.
func (*AndSection) DeepCopy ¶
func (in *AndSection) DeepCopy() *AndSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AndSection.
func (*AndSection) DeepCopyInto ¶
func (in *AndSection) DeepCopyInto(out *AndSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AndSection) ToDirective ¶
func (r *AndSection) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type Concat ¶
type Concat struct { // Specify field name in the record to parse. If you leave empty the Container Runtime default will be used. Key string `json:"key,omitempty"` //The separator of lines. (default: "\n") Separator string `json:"separator,omitempty"` //The number of lines. This is exclusive with multiline_start_regex. NLines int `json:"n_lines,omitempty"` //The regexp to match beginning of multiline. This is exclusive with n_lines. MultilineStartRegexp string `json:"multiline_start_regexp,omitempty"` //The regexp to match ending of multiline. This is exclusive with n_lines. MultilineEndRegexp string `json:"multiline_end_regexp,omitempty"` //The regexp to match continuous lines. This is exclusive with n_lines. ContinuousLineRegexp string `json:"continuous_line_regexp,omitempty"` //The key to determine which stream an event belongs to. StreamIdentityKey string `json:"stream_identity_key,omitempty"` //The number of seconds after which the last received event log will be flushed. If specified 0, wait for next line forever. FlushInterval int `json:"flush_interval,omitempty"` //The label name to handle events caused by timeout. TimeoutLabel string `json:"timeout_label,omitempty"` //Use timestamp of first record when buffer is flushed. (default: False) UseFirstTimestamp bool `json:"use_first_timestamp,omitempty"` //The field name that is the reference to concatenate records PartialKey string `json:"partial_key,omitempty"` //The value stored in the field specified by partial_key that represent partial log PartialValue string `json:"partial_value,omitempty"` //If true, keep partial_key in concatenated records (default:False) KeepPartialKey bool `json:"keep_partial_key,omitempty"` //Use partial metadata to concatenate multiple records UsePartialMetadata string `json:"use_partial_metadata,omitempty"` //If true, keep partial metadata KeepPartialMetadata string `json:"keep_partial_metadata,omitempty"` }
+kubebuilder:object:generate=true
func (*Concat) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Concat.
func (*Concat) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Concat) ToDirective ¶
type DedotFilterConfig ¶
type DedotFilterConfig struct { // Will cause the plugin to recurse through nested structures (hashes and arrays), and remove dots in those key-names too.(default: false) Nested bool `json:"de_dot_nested,omitempty"` // Separator (default:_) Separator string `json:"de_dot_separator,omitempty"` }
+kubebuilder:object:generate=true
func NewDedotFilterConfig ¶
func NewDedotFilterConfig() *DedotFilterConfig
func (*DedotFilterConfig) DeepCopy ¶
func (in *DedotFilterConfig) DeepCopy() *DedotFilterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DedotFilterConfig.
func (*DedotFilterConfig) DeepCopyInto ¶
func (in *DedotFilterConfig) DeepCopyInto(out *DedotFilterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DedotFilterConfig) ToDirective ¶
func (c *DedotFilterConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type DetectExceptions ¶
type DetectExceptions struct { // The field which contains the raw message text in the input JSON data. (default: "") Message string `json:"message,omitempty"` // The prefix to be removed from the input tag when outputting a record. (default: kubernetes) RemoveTagPrefix string `json:"remove_tag_prefix,omitempty"` // The interval of flushing the buffer for multiline format. (default: nil) MultilineFlushInterval string `json:"multiline_flush_interval,omitempty"` // Programming languages for which to detect exceptions. (default: []) Languages []string `json:"languages,omitempty"` // Maximum number of lines to flush (0 means no limit) (default: 1000) MaxLines int `json:"max_lines,omitempty"` // Maximum number of bytes to flush (0 means no limit) (default: 0) MaxBytes int `json:"max_bytes,omitempty"` // Separate log streams by this field in the input JSON data. (default: "") Stream string `json:"stream,omitempty"` // Force line breaks between each lines when comibining exception stacks. (default: false) ForceLineBreaks bool `json:"force_line_breaks,omitempty"` // Tag used in match directive. (default: kubernetes.**) MatchTag string `json:"match_tag,omitempty" plugin:"hidden"` }
+kubebuilder:object:generate=true
func (*DetectExceptions) DeepCopy ¶
func (in *DetectExceptions) DeepCopy() *DetectExceptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetectExceptions.
func (*DetectExceptions) DeepCopyInto ¶
func (in *DetectExceptions) DeepCopyInto(out *DetectExceptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DetectExceptions) ToDirective ¶
func (d *DetectExceptions) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type ElasticsearchGenId ¶ added in v0.7.22
type ElasticsearchGenId struct { // You can specify generated hash storing key. HashIdKey string `json:"hash_id_key,omitempty"` // You can specify to use tag for hash generation seed. IncludeTagInSeed bool `json:"include_tag_in_seed,omitempty"` // You can specify to use time for hash generation seed. IncludeTimeInSeed bool `json:"include_time_in_seed,omitempty"` // You can specify to use record in events for hash generation seed. This parameter should be used with record_keys parameter in practice. UseRecordAsSeed bool `json:"use_record_as_seed,omitempty"` // You can specify keys which are record in events for hash generation seed. This parameter should be used with use_record_as_seed parameter in practice. RecordKeys string `json:"record_keys,omitempty"` // You can specify to use entire record in events for hash generation seed. UseEntireRecord bool `json:"use_entire_record,omitempty"` // You can specify separator charactor to creating seed for hash generation. Separator string `json:"separator,omitempty"` // You can specify hash algorithm. Support algorithms md5, sha1, sha256, sha512. Default: sha1 HashType string `json:"hash_type,omitempty"` }
+kubebuilder:object:generate=true
func NewElasticsearchGenId ¶ added in v0.7.22
func NewElasticsearchGenId() *ElasticsearchGenId
func (*ElasticsearchGenId) DeepCopy ¶ added in v0.7.22
func (in *ElasticsearchGenId) DeepCopy() *ElasticsearchGenId
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchGenId.
func (*ElasticsearchGenId) DeepCopyInto ¶ added in v0.7.22
func (in *ElasticsearchGenId) DeepCopyInto(out *ElasticsearchGenId)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ElasticsearchGenId) ToDirective ¶ added in v0.7.22
func (c *ElasticsearchGenId) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type EnhanceK8s ¶
type EnhanceK8s struct { // parameters for read/write record (default: ['$.namespace']) InNamespacePath []string `json:"in_namespace_path,omitempty"` // (default: ['$.pod','$.pod_name']) InPodPath []string `json:"in_pod_path,omitempty"` // Sumologic data type (default: metrics) DataType string `json:"data_type,omitempty"` // Kubernetes API URL (default: nil) KubernetesUrl string `json:"kubernetes_url,omitempty"` // Kubernetes API Client certificate (default: nil) ClientCert secret.Secret `json:"client_cert,omitempty"` // // Kubernetes API Client certificate key (default: nil) ClientKey secret.Secret `json:"client_key,omitempty"` // Kubernetes API CA file (default: nil) CaFile secret.Secret `json:"ca_file,omitempty"` // Service account directory (default: /var/run/secrets/kubernetes.io/serviceaccount) SecretDir string `json:"secret_dir,omitempty"` // Bearer token path (default: nil) BearerTokenFile string `json:"bearer_token_file,omitempty"` // Verify SSL (default: true) VerifySSL *bool `json:"verify_ssl,omitempty"` // Kubernetes core API version (for different Kubernetes versions) (default: ['v1']) CoreAPIVersions []string `json:"core_api_versions,omitempty"` // Kubernetes resources api groups (default: ["apps/v1", "extensions/v1beta1"]) APIGroups []string `json:"api_groups,omitempty"` // if `ca_file` is for an intermediate CA, or otherwise we do not have the // root CA and want to trust the intermediate CA certs we do have, set this // to `true` - this corresponds to the openssl s_client -partial_chain flag // and X509_V_FLAG_PARTIAL_CHAIN (default: false) SSLPartialChain *bool `json:"ssl_partial_chain,omitempty"` // Cache size (default: 1000) CacheSize int `json:"cache_size,omitempty"` // Cache TTL (default: 60*60*2) CacheTTL int `json:"cache_ttl,omitempty"` // Cache refresh (default: 60*60) CacheRefresh int `json:"cache_refresh,omitempty"` // Cache refresh variation (default: 60*15) CacheRefreshVariation int `json:"cache_refresh_variation,omitempty"` }
+kubebuilder:object:generate=true
func (*EnhanceK8s) DeepCopy ¶
func (in *EnhanceK8s) DeepCopy() *EnhanceK8s
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnhanceK8s.
func (*EnhanceK8s) DeepCopyInto ¶
func (in *EnhanceK8s) DeepCopyInto(out *EnhanceK8s)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnhanceK8s) ToDirective ¶
func (c *EnhanceK8s) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type ExcludeSection ¶
type ExcludeSection struct { // Specify field name in the record to parse. Key string `json:"key"` // Pattern expression to evaluate Pattern string `json:"pattern"` }
+kubebuilder:object:generate=true +docName:"[Exclude Directive](https://docs.fluentd.org/filter/grep#less-than-exclude-greater-than-directive) {#Exclude-Directive}" Specify filtering rule to reject events. This directive contains two parameters.
func (*ExcludeSection) DeepCopy ¶
func (in *ExcludeSection) DeepCopy() *ExcludeSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExcludeSection.
func (*ExcludeSection) DeepCopyInto ¶
func (in *ExcludeSection) DeepCopyInto(out *ExcludeSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExcludeSection) ToDirective ¶
func (r *ExcludeSection) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type GeoIP ¶
type GeoIP struct { //Specify one or more geoip lookup field which has ip address (default: host) GeoipLookupKeys string `json:"geoip_lookup_keys,omitempty"` //Specify optional geoip database (using bundled GeoLiteCity databse by default) GeoipDatabase string `json:"geoip_database,omitempty"` //Specify optional geoip2 database (using bundled GeoLite2-City.mmdb by default) Geoip2Database string `json:"geoip_2_database,omitempty"` //Specify backend library (geoip2_c, geoip, geoip2_compat) BackendLibrary string `json:"backend_library,omitempty"` // To avoid get stacktrace error with `[null, null]` array for elasticsearch. SkipAddingNullRecord bool `json:"skip_adding_null_record,omitempty" plugin:"default:true"` // Records are represented as maps: `key: value` Records []Record `json:"records,omitempty"` }
+kubebuilder:object:generate=true
func (*GeoIP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeoIP.
func (*GeoIP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GeoIP) ToDirective ¶
type GrepConfig ¶
type GrepConfig struct { // +docLink:"Regexp Directive,#Regexp-Directive" Regexp []RegexpSection `json:"regexp,omitempty"` // +docLink:"Exclude Directive,#Exclude-Directive" Exclude []ExcludeSection `json:"exclude,omitempty"` // +docLink:"Or Directive,#Or-Directive" Or []OrSection `json:"or,omitempty"` // +docLink:"And Directive,#And-Directive" And []AndSection `json:"and,omitempty"` }
+kubebuilder:object:generate=true
func (*GrepConfig) DeepCopy ¶
func (in *GrepConfig) DeepCopy() *GrepConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrepConfig.
func (*GrepConfig) DeepCopyInto ¶
func (in *GrepConfig) DeepCopyInto(out *GrepConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrepConfig) ToDirective ¶
func (g *GrepConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type GrokSection ¶ added in v0.7.23
type GrokSection struct { // The name of grok section. Name string `json:"name,omitempty"` // The pattern of grok. Pattern string `json:"pattern" plugin:"required"` // If true, keep time field in the record. KeepTimeKey bool `json:"keep_time_key,omitempty"` // Specify time field for event time. If the event doesn't have this field, current time is used. TimeKey string `json:"time_key,omitempty" plugin:"default:time"` // Process value using specified format. This is available only when time_type is string. TimeFormat string `json:"time_format,omitempty"` // Use specified timezone. one can parse/format the time value in the specified timezone. Timezone string `json:"timezone,omitempty"` }
+kubebuilder:object:generate=true +docName:"Grok Section"
func (*GrokSection) DeepCopy ¶ added in v0.7.23
func (in *GrokSection) DeepCopy() *GrokSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrokSection.
func (*GrokSection) DeepCopyInto ¶ added in v0.7.23
func (in *GrokSection) DeepCopyInto(out *GrokSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GrokSection) ToGrokDirective ¶ added in v0.7.23
func (p *GrokSection) ToGrokDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type KubeEventsTimestampConfig ¶
type KubeEventsTimestampConfig struct { // Time field names in order of relevance (default: event.eventTime, event.lastTimestamp, event.firstTimestamp) TimestampFields []string `json:"timestamp_fields,omitempty"` // Added time field name (default: triggerts) MappedTimeKey string `json:"mapped_time_key,omitempty"` }
+kubebuilder:object:generate=true
func NewKubeEventsTimestampConfig ¶
func NewKubeEventsTimestampConfig() *KubeEventsTimestampConfig
func (*KubeEventsTimestampConfig) DeepCopy ¶
func (in *KubeEventsTimestampConfig) DeepCopy() *KubeEventsTimestampConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeEventsTimestampConfig.
func (*KubeEventsTimestampConfig) DeepCopyInto ¶
func (in *KubeEventsTimestampConfig) DeepCopyInto(out *KubeEventsTimestampConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeEventsTimestampConfig) ToDirective ¶
func (c *KubeEventsTimestampConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type Label ¶
func (Label) ToDirective ¶
type MetricSection ¶
type MetricSection struct { // Metrics name Name string `json:"name"` //Metrics type [counter](https://github.com/fluent/fluent-plugin-prometheus#counter-type), [gauge](https://github.com/fluent/fluent-plugin-prometheus#gauge-type), [summary](https://github.com/fluent/fluent-plugin-prometheus#summary-type), [histogram](https://github.com/fluent/fluent-plugin-prometheus#histogram-type) Type string `json:"type"` //Description of metric Desc string `json:"desc"` //Key name of record for instrumentation. Key string `json:"key,omitempty"` //Buckets of record for instrumentation Buckets string `json:"buckets,omitempty"` //Additional labels for this metric Labels Label `json:"labels,omitempty"` }
+kubebuilder:object:generate=true +docName:"Metrics Section"
func (*MetricSection) DeepCopy ¶
func (in *MetricSection) DeepCopy() *MetricSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSection.
func (*MetricSection) DeepCopyInto ¶
func (in *MetricSection) DeepCopyInto(out *MetricSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricSection) ToDirective ¶
func (m *MetricSection) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type OrSection ¶
type OrSection struct { // +docLink:"Regexp Directive,#Regexp-Directive" Regexp []RegexpSection `json:"regexp,omitempty"` // +docLink:"Exclude Directive,#Exclude-Directive" Exclude []ExcludeSection `json:"exclude,omitempty"` }
+kubebuilder:object:generate=true +docName:"[Or Directive](https://docs.fluentd.org/filter/grep#less-than-or-greater-than-directive) {#Or-Directive}" Specify filtering rule. This directive contains either `regexp` or `exclude` directive.
func (*OrSection) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrSection.
func (*OrSection) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OrSection) ToDirective ¶
type ParseSection ¶
type ParseSection struct { // Parse type: apache2, apache_error, nginx, syslog, csv, tsv, ltsv, json, multiline, none, logfmt, grok, multiline_grok Type string `json:"type,omitempty"` // Regexp expression to evaluate Expression string `json:"expression,omitempty"` // Specify time field for event time. If the event doesn't have this field, current time is used. TimeKey string `json:"time_key,omitempty"` // Names for fields on each line. (seperated by coma) Keys string `json:"keys,omitempty"` // Specify null value pattern. NullValuePattern string `json:"null_value_pattern,omitempty"` // If true, empty string field is replaced with nil NullEmptyString bool `json:"null_empty_string,omitempty"` // If true, use Fluent::EventTime.now(current time) as a timestamp when time_key is specified. EstimateCurrentEvent bool `json:"estimate_current_event,omitempty"` // If true, keep time field in the record. KeepTimeKey bool `json:"keep_time_key,omitempty"` // Types casting the fields to proper types example: field1:type, field2:type Types string `json:"types,omitempty"` // Process value using specified format. This is available only when time_type is string TimeFormat string `json:"time_format,omitempty"` // Parse/format value according to this type available values: float, unixtime, string (default: string) TimeType string `json:"time_type,omitempty"` // Ff true, use local time. Otherwise, UTC is used. This is exclusive with utc. (default: true) LocalTime bool `json:"local_time,omitempty"` // If true, use UTC. Otherwise, local time is used. This is exclusive with localtime (default: false) UTC bool `json:"utc,omitempty"` // Use specified timezone. one can parse/format the time value in the specified timezone. (default: nil) Timezone string `json:"timezone,omitempty"` // Only available when using type: multi_format Format string `json:"format,omitempty"` // Only available when using type: multi_format FormatFirstline string `json:"format_firstline,omitempty"` // Only available when using type: ltsv (default: "\t") Delimiter string `json:"delimiter,omitempty"` // Only available when using type: ltsv DelimiterPattern string `json:"delimiter_pattern,omitempty"` // Only available when using type: ltsv (default: ":") LabelDelimiter string `json:"label_delimiter,omitempty"` // The multiline parser plugin parses multiline logs. Multiline []string `json:"multiline,omitempty"` // Only available when using type: multi_format // +docLink:"Parse Section,#parse-section" Patterns []SingleParseSection `json:"patterns,omitempty"` // Only available when using type: grok, multiline_grok. // The pattern of grok. You cannot specify multiple grok pattern with this. GrokPattern string `json:"grok_pattern,omitempty"` // Only available when using type: grok, multiline_grok. // File that includes custom grok patterns. CustomPatternPath *secret.Secret `json:"custom_pattern_path,omitempty"` // Only available when using type: grok, multiline_grok. // The key has grok failure reason. GrokFailureKey string `json:"grok_failure_key,omitempty"` // Only available when using type: grok, multiline_grok. // The key name to store grok section's name. GrokNameKey string `json:"grok_name_key,omitempty"` // Only available when using type: multiline_grok // The regexp to match beginning of multiline. MultilineStartRegexp string `json:"multiline_start_regexp,omitempty"` // Only available when using type: grok, multiline_grok. // +docLink:"Grok Section,#grok-section" // Specify grok pattern series set. GrokPatterns []GrokSection `json:"grok_patterns,omitempty"` }
+kubebuilder:object:generate=true +docName:"Parse Section"
func (*ParseSection) DeepCopy ¶
func (in *ParseSection) DeepCopy() *ParseSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParseSection.
func (*ParseSection) DeepCopyInto ¶
func (in *ParseSection) DeepCopyInto(out *ParseSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ParseSection) ToDirective ¶
func (p *ParseSection) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type ParserConfig ¶
type ParserConfig struct { // Specify field name in the record to parse. If you leave empty the Container Runtime default will be used. KeyName string `json:"key_name,omitempty"` // Keep original event time in parsed result. ReserveTime bool `json:"reserve_time,omitempty"` // Keep original key-value pair in parsed result. ReserveData bool `json:"reserve_data,omitempty"` // Remove key_name field when parsing is succeeded RemoveKeyNameField bool `json:"remove_key_name_field,omitempty"` // If true, invalid string is replaced with safe characters and re-parse it. ReplaceInvalidSequence bool `json:"replace_invalid_sequence,omitempty"` // Store parsed values with specified key name prefix. InjectKeyPrefix string `json:"inject_key_prefix,omitempty"` // Store parsed values as a hash value in a field. HashValueField string `json:"hash_value_field,omitempty"` // Emit invalid record to @ERROR label. Invalid cases are: key not exist, format is not matched, unexpected error EmitInvalidRecordToError *bool `json:"emit_invalid_record_to_error,omitempty"` // +docLink:"Parse Section,#parse-section" Parse ParseSection `json:"parse,omitempty"` // Deprecated, use `parse` instead Parsers []ParseSection `json:"parsers,omitempty"` }
+kubebuilder:object:generate=true
func (*ParserConfig) DeepCopy ¶
func (in *ParserConfig) DeepCopy() *ParserConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParserConfig.
func (*ParserConfig) DeepCopyInto ¶
func (in *ParserConfig) DeepCopyInto(out *ParserConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ParserConfig) ToDirective ¶
func (p *ParserConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type PrometheusConfig ¶
type PrometheusConfig struct { // +docLink:"Metrics Section,#metrics-section" Metrics []MetricSection `json:"metrics,omitempty"` Labels Label `json:"labels,omitempty"` }
+kubebuilder:object:generate=true
func (*PrometheusConfig) DeepCopy ¶
func (in *PrometheusConfig) DeepCopy() *PrometheusConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusConfig.
func (*PrometheusConfig) DeepCopyInto ¶
func (in *PrometheusConfig) DeepCopyInto(out *PrometheusConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrometheusConfig) ToDirective ¶
func (p *PrometheusConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type Record ¶
Parameters inside record directives are considered to be new key-value pairs
func (*Record) ToDirective ¶
type RecordModifier ¶
type RecordModifier struct { // Prepare values for filtering in configure phase. Prepared values can be used in <record>. You can write any ruby code. PrepareValues string `json:"prepare_value,omitempty"` // Fluentd including some plugins treats logs as a BINARY by default to forward. To overide that, use a target encoding or a from:to encoding here. CharEncoding string `json:"char_encoding,omitempty"` // A comma-delimited list of keys to delete RemoveKeys string `json:"remove_keys,omitempty"` // This is exclusive with remove_keys WhitelistKeys string `json:"whitelist_keys,omitempty"` // Replace specific value for keys Replaces []Replace `json:"replaces,omitempty"` // Add records docs at: https://github.com/repeatedly/fluent-plugin-record-modifier // Records are represented as maps: `key: value` Records []Record `json:"records,omitempty"` }
+kubebuilder:object:generate=true
func (*RecordModifier) DeepCopy ¶
func (in *RecordModifier) DeepCopy() *RecordModifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordModifier.
func (*RecordModifier) DeepCopyInto ¶
func (in *RecordModifier) DeepCopyInto(out *RecordModifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RecordModifier) ToDirective ¶
func (r *RecordModifier) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type RecordTransformer ¶
type RecordTransformer struct { // A comma-delimited list of keys to delete RemoveKeys string `json:"remove_keys,omitempty"` // A comma-delimited list of keys to keep. KeepKeys string `json:"keep_keys,omitempty"` // Create new Hash to transform incoming data (default: false) RenewRecord bool `json:"renew_record,omitempty"` // Specify field name of the record to overwrite the time of events. Its value must be unix time. RenewTimeKey string `json:"renew_time_key,omitempty"` // When set to true, the full Ruby syntax is enabled in the ${...} expression. (default: false) EnableRuby bool `json:"enable_ruby,omitempty"` // Use original value type. (default: true) AutoTypecast bool `json:"auto_typecast,omitempty"` // Add records docs at: https://docs.fluentd.org/filter/record_transformer // Records are represented as maps: `key: value` Records []Record `json:"records,omitempty"` }
+kubebuilder:object:generate=true
func (*RecordTransformer) DeepCopy ¶
func (in *RecordTransformer) DeepCopy() *RecordTransformer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordTransformer.
func (*RecordTransformer) DeepCopyInto ¶
func (in *RecordTransformer) DeepCopyInto(out *RecordTransformer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RecordTransformer) ToDirective ¶
func (r *RecordTransformer) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type RegexpSection ¶
type RegexpSection struct { // Specify field name in the record to parse. Key string `json:"key"` // Pattern expression to evaluate Pattern string `json:"pattern"` }
+kubebuilder:object:generate=true +docName:"[Regexp Directive](https://docs.fluentd.org/filter/grep#less-than-regexp-greater-than-directive) {#Regexp-Directive}" Specify filtering rule. This directive contains two parameters.
func (*RegexpSection) DeepCopy ¶
func (in *RegexpSection) DeepCopy() *RegexpSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegexpSection.
func (*RegexpSection) DeepCopyInto ¶
func (in *RegexpSection) DeepCopyInto(out *RegexpSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RegexpSection) ToDirective ¶
func (r *RegexpSection) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type Replace ¶
type Replace struct { // Key to search for Key string `json:"key"` // Regular expression Expression string `json:"expression"` // Value to replace with Replace string `json:"replace"` }
+kubebuilder:object:generate=true +docName:"[Replace Directive](https://github.com/repeatedly/fluent-plugin-record-modifier#replace_keys_value)" Specify replace rule. This directive contains three parameters.
func (*Replace) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Replace.
func (*Replace) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Replace) ToDirective ¶
type SingleParseSection ¶
type SingleParseSection struct { // Parse type: apache2, apache_error, nginx, syslog, csv, tsv, ltsv, json, multiline, none, logfmt, grok, multiline_grok Type string `json:"type,omitempty"` // Regexp expression to evaluate Expression string `json:"expression,omitempty"` // Specify time field for event time. If the event doesn't have this field, current time is used. TimeKey string `json:"time_key,omitempty"` // Specify null value pattern. NullValuePattern string `json:"null_value_pattern,omitempty"` // If true, empty string field is replaced with nil NullEmptyString bool `json:"null_empty_string,omitempty"` // If true, use Fluent::EventTime.now(current time) as a timestamp when time_key is specified. EstimateCurrentEvent bool `json:"estimate_current_event,omitempty"` // If true, keep time field in the record. KeepTimeKey bool `json:"keep_time_key,omitempty"` // Types casting the fields to proper types example: field1:type, field2:type Types string `json:"types,omitempty"` // Process value using specified format. This is available only when time_type is string TimeFormat string `json:"time_format,omitempty"` // Parse/format value according to this type available values: float, unixtime, string (default: string) TimeType string `json:"time_type,omitempty"` // Ff true, use local time. Otherwise, UTC is used. This is exclusive with utc. (default: true) LocalTime bool `json:"local_time,omitempty"` // If true, use UTC. Otherwise, local time is used. This is exclusive with localtime (default: false) UTC bool `json:"utc,omitempty"` // Use specified timezone. one can parse/format the time value in the specified timezone. (default: nil) Timezone string `json:"timezone,omitempty"` // Only available when using type: multi_format Format string `json:"format,omitempty"` // Only available when using format: grok, multiline_grok. // The pattern of grok. You cannot specify multiple grok pattern with this. GrokPattern string `json:"grok_pattern,omitempty"` // Only available when using format: grok, multiline_grok. // File that includes custom grok patterns. CustomPatternPath *secret.Secret `json:"custom_pattern_path,omitempty"` // Only available when using format: grok, multiline_grok. // The key has grok failure reason. GrokFailureKey string `json:"grok_failure_key,omitempty"` // Only available when using format: grok, multiline_grok. // The key name to store grok section's name. GrokNameKey string `json:"grok_name_key,omitempty"` // Only available when using format: multiline_grok // The regexp to match beginning of multiline. MultilineStartRegexp string `json:"multiline_start_regexp,omitempty"` // Only available when using format: grok, multiline_grok. // +docLink:"Grok Section,#grok-section" // Specify grok pattern series set. GrokPatterns []GrokSection `json:"grok_patterns,omitempty"` }
+kubebuilder:object:generate=true +docName:"Parse Section (single)"
func (*SingleParseSection) DeepCopy ¶
func (in *SingleParseSection) DeepCopy() *SingleParseSection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SingleParseSection.
func (*SingleParseSection) DeepCopyInto ¶
func (in *SingleParseSection) DeepCopyInto(out *SingleParseSection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SingleParseSection) ToPatternDirective ¶
func (p *SingleParseSection) ToPatternDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type StdOutFilterConfig ¶
type StdOutFilterConfig struct { // This is the option of stdout format. OutputType string `json:"output_type,omitempty"` }
+kubebuilder:object:generate=true
func NewStdOutFilterConfig ¶
func NewStdOutFilterConfig() *StdOutFilterConfig
func (*StdOutFilterConfig) DeepCopy ¶
func (in *StdOutFilterConfig) DeepCopy() *StdOutFilterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StdOutFilterConfig.
func (*StdOutFilterConfig) DeepCopyInto ¶
func (in *StdOutFilterConfig) DeepCopyInto(out *StdOutFilterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StdOutFilterConfig) ToDirective ¶
func (c *StdOutFilterConfig) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type SumoLogic ¶
type SumoLogic struct { // Source Category (default: "%{namespace}/%{pod_name}") SourceCategory string `json:"source_category,omitempty"` // Source Category Replace Dash (default: "/") SourceCategoryReplaceDash string `json:"source_category_replace_dash,omitempty"` // Source Category Prefix (default: kubernetes/) SourceCategoryPrefix string `json:"source_category_prefix,omitempty"` // Source Name (default: "%{namespace}.%{pod}.%{container}") SourceName string `json:"source_name,omitempty"` // Log Format (default: json) LogFormat string `json:"log_format,omitempty"` // Source Host (default: "") SourceHost string `json:"source_host,omitempty"` // Exclude Container Regex (default: "") ExcludeContainerRegex string `json:"exclude_container_regex,omitempty"` // Exclude Facility Regex (default: "") ExcludeFacilityRegex string `json:"exclude_facility_regex,omitempty"` // Exclude Host Regex (default: "") ExcludeHostRegex string `json:"exclude_host_regex,omitempty"` // Exclude Namespace Regex (default: "") ExcludeNamespaceRegex string `json:"exclude_namespace_regex,omitempty"` // Exclude Pod Regex (default: "") ExcludePodRegex string `json:"exclude_pod_regex,omitempty"` // Exclude Priority Regex (default: "") ExcludePriorityRegex string `json:"exclude_priority_regex,omitempty"` // Exclude Unit Regex (default: "") ExcludeUnitRegex string `json:"exclude_unit_regex,omitempty"` // Tracing Format (default: false) TracingFormat *bool `json:"tracing_format,omitempty"` // Tracing Namespace (default: "namespace") TracingNamespace string `json:"tracing_namespace,omitempty"` // Tracing Pod (default: "pod") TracingPod string `json:"tracing_pod,omitempty"` // Tracing Pod ID (default: "pod_id") TracingPodId string `json:"tracing_pod_id,omitempty"` // Tracing Container Name (default: "container_name") TracingContainerName string `json:"tracing_container_name,omitempty"` // Tracing Host (default: "hostname") TracingHost string `json:"tracing_host,omitempty"` // Tracing Label Prefix (default: "pod_label_") TracingLabelPrefix string `json:"tracing_label_prefix,omitempty"` // Tracing Annotation Prefix (default: "pod_annotation_") TracingAnnotationPrefix string `json:"tracing_annotation_prefix,omitempty"` // Source HostKey Name (default: "_sourceHost") SourceHostKeyName string `json:"source_host_key_name,omitempty"` // Source CategoryKey Name (default: "_sourceCategory") SourceCategoryKeyName string `json:"source_category_key_name,omitempty"` // Source NameKey Name (default: "_sourceName") SourceNameKeyName string `json:"source_name_key_name,omitempty"` // CollectorKey Name (default: "_collector") CollectorKeyName string `json:"collector_key_name,omitempty"` // Collector Value (default: "undefined") CollectorValue string `json:"collector_value,omitempty"` }
+kubebuilder:object:generate=true
func (*SumoLogic) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SumoLogic.
func (*SumoLogic) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SumoLogic) ToDirective ¶
type TagNormaliser ¶
type TagNormaliser struct { // Re-Tag log messages info at [github](https://github.com/banzaicloud/fluent-plugin-tag-normaliser) Format string `json:"format,omitempty" plugin:"default:${namespace_name}.${pod_name}.${container_name}"` // Tag used in match directive. (default: kubernetes.**) MatchTag string `json:"match_tag,omitempty" plugin:"hidden"` }
+docName:"Tag Normaliser parameters"
func (*TagNormaliser) ToDirective ¶
func (t *TagNormaliser) ToDirective(secretLoader secret.SecretLoader, id string) (types.Directive, error)
type Throttle ¶
type Throttle struct { // Used to group logs. Groups are rate limited independently (default: kubernetes.container_name) GroupKey string `json:"group_key,omitempty"` // This is the period of of time over which group_bucket_limit applies (default: 60) GroupBucketPeriodSeconds int `json:"group_bucket_period_s,omitempty"` // Maximum number logs allowed per groups over the period of group_bucket_period_s (default: 6000) GroupBucketLimit int `json:"group_bucket_limit,omitempty"` // When a group reaches its limit, logs will be dropped from further processing if this value is true (default: true) GroupDropLogs bool `json:"group_drop_logs,omitempty"` // After a group has exceeded its bucket limit, logs are dropped until the rate per second falls below or equal to group_reset_rate_s. (default: group_bucket_limit/group_bucket_period_s) GroupResetRateSeconds int `json:"group_reset_rate_s,omitempty"` // When a group reaches its limit and as long as it is not reset, a warning message with the current log rate of the group is emitted repeatedly. This is the delay between every repetition. (default: 10 seconds) GroupWarningDelaySeconds int `json:"group_warning_delay_s,omitempty"` }
+kubebuilder:object:generate=true
func (*Throttle) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Throttle.
func (*Throttle) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.