[Pfsense] The fix changes the grok pattern for pfSense filterlog events from %{WORD:rule.id} to %{DATA:rule.id} in the firewall ingest pipeline.#19027
Merged
haetamoudi merged 2 commits intoMay 15, 2026
Conversation
…ts from `%{WORD:rule.id}` to `%{DATA:rule.id}` in the firewall ingest pipeline.
🚀 Benchmarks reportTo see the full report comment with |
💚 Build Succeeded
|
|
Pinging @elastic/integration-experience (Team:Integration-Experience) |
qcorporation
approved these changes
May 15, 2026
|
Package pfsense - 1.25.3 containing this change is available at https://epr.elastic.co/package/pfsense/1.25.3/ |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Suggested label: Enhancement (pick the matching GitHub label)
Proposed commit message
Squash subject line (from Sentinel / primary PR):
Executive summary
The fix changes the grok pattern for pfSense filterlog events from
%{WORD:rule.id}to%{DATA:rule.id}in the firewall ingest pipeline.%{WORD}only matches alphanumeric characters and underscores, which caused it to fail on UUID-format tracker IDs containing hyphens (e.g.,89a1d5c1-2b3e-4f67-8a9b-0c1d2e3f4a5b). The interface name field was also updated from%{WORD}to%{DATA}for consistency, and a new test case was added to validate UUID-format rule IDs. Test timestamps across all expected files were also updated from 2025 to 2026.Root cause
The PF_LOG_DATA grok pattern uses %{WORD:rule.id}, which only matches [a-zA-Z0-9_]+. pfSense can generate UUID-format tracker IDs containing hyphens (e.g. 89a1d5c1-2b3e-4f67-8a9b-0c1d2e3f4a5b), causing grok to fail for those events.
Approach
Replace %{WORD:rule.id} with %{DATA:rule.id} in the PF_LOG_DATA pattern definition within firewall.yml. The DATA pattern matches any characters up to the next delimiter (comma), covering both numeric tracker IDs (e.g. 1535324496) and UUID-format trackers (e.g. 89a1d5c1-2b3e-4f67-8a9b-0c1d2e3f4a5b). Add a new test fixture line with a UUID tracker and update the expected output. Bump the changelog to 1.25.3 as a bugfix.
Pipeline changes
Field / mapping changes
—
Sanitized log (
event_sanitizedexcerpt)<134>May 8 14:04:06 host-1.example.local filterlog[69300]: 52,,,89a1d5c1-2b3e-4f67-8a9b-0c1d2e3f4a5b,igc2,match,pass,in,4,0x0,,64,9146,0,none,17,udp,94,198.51.100.10,198.51.100.1,42590,53,74Reviewer concerns
• Changing
observer.ingress.interface.namefrom%{WORD}to%{DATA}is broader than necessary — while interface names with hyphens (e.g.,igb1.12) already worked because they're captured before the comma delimiter, using%{DATA}is greedy and relies on the comma delimiter to stop matching, which is correct here but worth noting.• The
%{DATA:rule.id}pattern is also comma-delimited, so it will correctly stop at the next comma — no risk of over-capture in practice.• Timestamp year bumps (2025→2026) across all expected files suggest these are time-sensitive fixtures that will need updating again next year; consider using year-independent test data in the future.
• No concerns about the pipeline logic itself — the fix is minimal and targeted.
Risk and classification
Links
5d7b209a26b90578(Integration Sentinel)This pull request was opened from the Integration Sentinel agent fix flow.
Checklist
changelog.ymlfile.Author's Checklist
How to test this PR locally
Add a new log line with a UUID-format tracker to test-pfsense-bsd.log and add the corresponding expected output entry to test-pfsense-bsd.log-expected.json. Run 'elastic-package test pipeline -d log' to validate all test fixtures pass, including the new UUID-tracker case and all existing numeric-tracker cases.
From a checkout of this branch:
Screenshots
None attached from Sentinel — add if applicable.