Group
Synopsis
Groups multiple processors together into a named unit that can be executed conditionally and organized hierarchically with parent-child relationships.
Schema
- group:
description: <text>
name: <string>
parent_group: <string>
processors: <processor[]>
if: <script>
ignore_failure: <boolean>
ignore_missing: <boolean>
on_failure: <processor[]>
on_success: <processor[]>
tag: <string>
Configuration
The following fields are used to define the processor:
Field | Required | Default | Description |
---|---|---|---|
name | Y | Unique name for the processor group | |
processors | Y | Array of processors to execute within the group | |
parent_group | N | - | Name of parent group that must execute before this group |
description | N | - | Explanatory notes |
if | N | - | Condition to run |
ignore_failure | N | false | See Handling Failures |
ignore_missing | N | false | Continue processing if referenced fields are missing |
on_failure | N | - | See Handling Failures |
on_success | N | - | See Handling Success |
tag | N | - | Identifier |
Details
The group processor provides a way to organize and control the execution of multiple processors as a single unit. It offers several key features:
- Sequential execution: All processors within the group are executed in the order they are defined
- Conditional execution: The entire group can be conditionally executed based on the
if
condition - Hierarchical organization: Groups can be organized in parent-child relationships using
parent_group
- Named tracking: Each group has a unique name that is tracked during pipeline execution
- Failure handling: Groups can have their own failure handling logic that applies to all contained processors
The processor maintains execution state through the config.PreviousGroup
field, which tracks the last successfully executed group. This enables conditional group execution based on the execution history.
Groups are particularly useful for organizing complex pipelines where certain sets of processors should only run under specific conditions or after other groups have completed successfully.
When a group specifies a parent_group
, it will only execute if the specified parent group was the last group to execute successfully. This creates a chain of dependent group execution.
Use meaningful group names and organize related processors together. This makes pipeline debugging easier and allows for better conditional logic based on processing history.
Examples
Basic Processor Grouping
Group related processors together... |
|
for organized execution: |
|
Conditional Group Execution
Execute groups based on conditions... |
|
only when criteria are met: |
|
Parent-Child Group Relationships
Create dependent group execution... |
|
where enrichment only runs after parsing: |
|
Error Handling in Groups
Handle group-level failures... |
|
with group-specific error handling: |
|
Security Processing Pipeline
Organize security-related processing... |
|
for admin access attempts: |
|
Multi-Stage Data Processing
Create multi-stage processing pipeline... |
|
with dependent execution stages: |
|
Conditional Branching
Create conditional processing branches... |
|
based on event characteristics: |
|
Complex Group Hierarchy
Build complex processing hierarchies... |
|
with cascading execution: |
|