Skip to main content
This guide provides a comprehensive reference for developers creating filters to extract, enrich, and transform raw log data in UTMStack v11. Filters are YAML files used by the parsing plugin to convert raw events into a standardized format.
Developer Reference: This page is designed as a practical guide for implementing data transformation pipelines through filters.

What are Filters?

Filters define how to extract and transform data from raw events into a standardized format that can be:
  • Analyzed by correlation rules
  • Searched in Log Explorer
  • Visualized in dashboards
  • Stored efficiently

Purpose

  • Parse raw log formats (JSON, CSV, key-value, free text)
  • Extract relevant fields from unstructured data
  • Normalize field names across data sources
  • Enrich data with additional context
  • Transform data types for proper analysis

Filter Structure

See complete documentation for all available filter steps and detailed examples. View Full Filter Implementation Guide →

Filter Steps Reference

Parsing Steps

Transformation Steps

Enrichment Steps

Cleanup Steps


Quick Start Example

Here’s a complete filter for Apache access logs:

Development Workflow

1

Identify Data Source

Determine what log source you need to process
2

Analyze Raw Format

Examine sample raw events to understand structure
3

Create Filter File

Start with basic parsing steps
4

Add Transformation

Normalize fields and data types
5

Enrich Data

Add geolocation, classifications
6

Test Filter

Deploy and test with sample data
7

Optimize

Remove unnecessary fields, improve performance

Best Practices

Standardize Field Names
  • Use consistent naming across all filters
  • Follow UTMStack field mapping conventions
  • Common fields: origin.ip, target.ip, deviceTime, action, actionResult
Remove Unnecessary Data
  • Delete fields not needed for analysis
  • Reduces storage requirements
  • Improves query performance
Handle Missing Data
  • Use conditional steps with where clauses
  • Test with incomplete/malformed data
  • Provide sensible defaults
Optimize Performance
  • Apply heavy operations conditionally
  • Use efficient parsing methods
  • Delete unnecessary fields early in pipeline
Document Filters
  • Comment complex patterns
  • Explain transformation logic
  • Note data source requirements

Common Patterns

Pattern 1: Web Server Logs

Pattern 2: Syslog Parsing

Pattern 3: JSON with Nested Data


Troubleshooting

Filter Not Processing

Check: Event has correct dataType field matching filter configuration

Fields Not Extracted

Check: Field names in grok patterns match exactly, patterns are correct

Type Conversion Errors

Check: Field exists before casting, target type is appropriate

Performance Issues

Check: Remove unnecessary fields early, use conditional steps, optimize grok patterns