The Filter by Field processor can be used to include or exclude telemetry based on matched resource attributes, attributes, or log body fields.
Metrics | Logs | Traces |
---|---|---|
✓ | ✓ | ✓ |
Parameter | Type | Default | Description |
---|---|---|---|
telemetry_types | telemetrySelector |
["Logs", "Metrics", "Traces"] |
The list of telemetry types the processor will act on. |
action | enum |
exclude |
Whether to include (retain) or exclude (drop) matches. |
match_type | enum |
strict |
Method for matching values. Strict matching requires that ‘value’ be an exact match. Regexp matching uses re2 to match a value. |
attributes | map |
[] |
Attribute key value pairs to filter on. Telemetry is filtered if all attribute, resource, and body key pairs are matched. |
resources | map |
[] |
Resource key value pairs to filter on. Telemetry is filtered if all attribute, resource, and body key pairs are matched. |
bodies | map |
[] |
Log body key value pairs to filter on. Log records filtered if all attribute, resource, and body key pairs are matched. |
In this example, we exclude logs that have all of the following:
host.name
resource attribute that equals dev-server
environment
attribute that equals dev
remote-ip
log body field that equals 127.0.0.1
apiVersion: bindplane.observiq.com/v1
kind: Processor
metadata:
id: filter_field
name: filter_field
spec:
type: filter_field
parameters:
- name: telemetry_types
value:
- Metrics
- Logs
- Traces
- name: action
value: exclude
- name: match_type
value: strict
- name: attributes
value:
environment: dev
- name: resources
value:
host.name: dev-server
- name: bodies
value:
remote-ip: 127.0.0.1