For the complete documentation index, see llms.txt. This page is also available as Markdown.

Lookup Fields

Enriches telemetry by matching the value of a field against an external lookup source. For each record, the processor reads the chosen field, looks it up in a CSV file or a Redis server, and on a match adds the other fields from the matching record to the same context (Attributes, Body, or Resource).

Supported Telemetry Types

Logs
Metrics
Traces

Select one or more signals; the same lookup configuration enriches every selected signal.

Configuration

Basic Configuration

Bindplane docs - Lookup Fields - image 1

Selection

Parameter
Type
Required
Default
Description

Choose Telemetry Type

Telemetry Selector

Yes

Logs

The signals this instance runs on. Select Logs, Metrics, and/or Traces.

Context

Enum: Attributes, Body, Resource

No

Attributes

Where the source field is read from, and where matching fields are added.

Field

OTTL Field

Yes

The field to look up in the selected context. A lookup runs when this field's name and value match a record in the source. Enter the field name (e.g. host.name or ip), not a full OTTL path.

Lookup

Parameter
Type
Required
Default
Description

Source Type

Enum: CSV, Redis

Yes

CSV

The data source used for lookups. Choose CSV to match against a file, or Redis to query a Redis server.

CSV File Path

String

Yes *

Path to the CSV file containing lookup values. The file must be accessible on the collector host and include the .csv extension. Applies when Source Type is CSV.

* CSV File Path is required when Source Type is CSV.

Redis

These parameters apply when Source Type is Redis.

Parameter
Type
Required
Default
Description

Redis Host

String

Yes

localhost

Hostname or IP address of the Redis server.

Redis Port

Integer

Yes

6379

TCP port of the Redis server (1–65535).

Redis Username

String

No

(empty)

Username for Redis authentication.

Redis Password

String

No

(empty)

Password for Redis authentication. Stored as a sensitive value.

Redis Database

Integer

No

0

The Redis database number.

Key Prefix

String

No

(empty)

Prefix prepended to lookup keys, joined with a colon (:).

Advanced

These parameters apply when Source Type is Redis.

Parameter
Type
Required
Default
Description

Enable TLS

Boolean

No

false

Enable TLS for Redis connections.

Enable Cache

Boolean

No

true

Cache lookup results locally to reduce external Redis calls. The cache is per-collector and resets on restart.

Redis Dial Timeout

String

No

(empty)

Bounds the initial TCP/TLS dial to Redis (e.g. 2s, 500ms). Empty uses the processor default.

Cache TTL

String

No

5m

How long cached entries remain valid (e.g. 5m, 1h). Applies when Enable Cache is on.

Redis Lookup Timeout

String

No

(empty)

Bounds each Redis lookup call (e.g. 5s, 1s). Empty uses the processor default.

Examples

Enrich metrics from a CSV by host name

This instance looks up the host.name resource value of incoming metrics against a CSV file. When a row's host.name matches, the other columns from that row (here region and env) are added to the same context. For example, a metric with host.name of MacBook-Pro-4.local gains region=us-east and env=prod.

Example CSV:

Look up from Redis with caching and bounded timeouts

Bindplane docs - Lookup Fields - image 2

This instance sets Source Type to Redis and looks up the host.name attribute for incoming logs. With Key Prefix lookup, a log whose host.name is web-01 reads the Redis key lookup:web-01, and the returned fields (such as region and env) are added to the log attributes. The advanced parameters are exercised here: Enable Cache is on with a Cache TTL of 10m, a Redis Dial Timeout of 2s, and a Redis Lookup Timeout of 5s to bound the connection and per-lookup calls.

The processor first tries HGETALL against the key. If that returns nothing, it falls back to GET and parses the value as a JSON object of strings. Store lookup data as either a Redis hash or a JSON string:

Configuration Tips

  • Enter Field as a plain field name (e.g. host.name), not an OTTL path expression. The processor reads and writes it within the selected Context.

  • When using a CSV source, the processor reloads the file periodically, so you can update lookup data without restarting the collector.

  • For Redis, set Key Prefix to namespace your lookup keys; it is joined to the field value with a colon.

Troubleshooting

Fields are not added after a lookup

Symptoms: matching records exist in the source, but no new fields appear on the telemetry.

Solutions:

  1. Confirm the Context is the one that actually holds the source field, and that Field is a plain name (not an OTTL path).

  2. For CSV, verify the file path is correct and readable on the collector host and that a header matches the Field name. For Redis, confirm the key (Key Prefix plus the field value) exists.

Lookup results don't show in Live Preview

Symptoms: enrichment isn't visible when previewing the configuration.

Solutions: Lookup results depend on an external file or server and won't appear in Live Preview. Roll out the configuration, then use "View Recent Telemetry" on the agent page or inspect a downstream processor node to verify.

The collector fails to start with a Redis source

Symptoms: the collector exits at startup instead of failing on the first lookup.

Solutions: On startup the processor sends a PING to Redis within the dial timeout. Confirm Redis Host, Redis Port, and credentials are correct and the server is reachable. Adjust Redis Dial Timeout if the network is slow.

Standalone Processor

Bindplane Resources

These processors enrich and reshape telemetry alongside Lookup Fields. Chain them to parse, normalize, and add context to your data:

Last updated

Was this helpful?