Grep

Overview

Grep Filter

The grep filter plugin “greps” events by the values of specified fields.

Configuration

GrepConfig

and ([]AndSection, optional)

And Directive

exclude ([]ExcludeSection, optional)

Exclude Directive

or ([]OrSection, optional)

Or Directive

regexp ([]RegexpSection, optional)

Regexp Directive

Regexp Directive

Specify filtering rule (as described in the Fluentd documentation). This directive contains two parameters.

key (string, required)

Specify field name in the record to parse.

pattern (string, required)

Pattern expression to evaluate

Example Regexp filter configurations

apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
  name: demo-flow
spec:
  filters:
    - grep:
        regexp:
        - key: first
          pattern: /^5\d\d$/
  selectors: {}
  localOutputRefs:
    - demo-output

Fluentd config result:

  <filter **>
    @type grep
    @id demo-flow_1_grep
    <regexp>
      key first
      pattern /^5\d\d$/
    </regexp>
  </filter>

Exclude Directive

Specify filtering rule to reject events (as described in the Fluentd documentation). This directive contains two parameters.

key (string, required)

Specify field name in the record to parse.

pattern (string, required)

Pattern expression to evaluate

Example Exclude filter configurations

apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
  name: demo-flow
spec:
  filters:
    - grep:
        exclude:
        - key: first
          pattern: /^5\d\d$/
  selectors: {}
  localOutputRefs:
    - demo-output

Fluentd config result:

  <filter **>
    @type grep
    @id demo-flow_0_grep
    <exclude>
      key first
      pattern /^5\d\d$/
    </exclude>
  </filter>

Or Directive

Specify filtering rule (as described in the Fluentd documentation. This directive contains either regexp or exclude directive.

exclude ([]ExcludeSection, optional)

Exclude Directive

regexp ([]RegexpSection, optional)

Regexp Directive

Example Or filter configurations

apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
  name: demo-flow
spec:
  filters:
    - grep:
        or:
          - exclude:
            - key: first
              pattern: /^5\d\d$/
            - key: second
              pattern: /\.css$/

  selectors: {}
  localOutputRefs:
    - demo-output

Fluentd config result:

<or>
	<exclude>
	key first
	pattern /^5\d\d$/
	</exclude>
	<exclude>
	key second
	pattern /\.css$/
	</exclude>
</or>

And Directive

Specify filtering rule (as described in the Fluentd documentation. This directive contains either regexp or exclude directive.

exclude ([]ExcludeSection, optional)

Exclude Directive

regexp ([]RegexpSection, optional)

Regexp Directive

Example And filter configurations

apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
  name: demo-flow
spec:
  filters:
    - grep:
        and:
          - regexp:
            - key: first
              pattern: /^5\d\d$/
            - key: second
              pattern: /\.css$/

  selectors: {}
  localOutputRefs:
    - demo-output

Fluentd config result:

	<and>
	  <regexp>
	    key first
	    pattern /^5\d\d$/
	  </regexp>
	  <regexp>
	    key second
	    pattern /\.css$/
	  </regexp>
	</and>

Last modified June 3, 2024: [4.6] Blog link fix (cc4602a)