Skip to content

Conversation

andrewkroh
Copy link
Member

@andrewkroh andrewkroh commented Apr 7, 2021

What does this PR do?

Move as much processing as possible into the Ingest Node pipeline. The Beat's decode_cef processor must still be used since there isn't a replacement in Ingest Node. Closes #656

This moves away from the Beats syslog input and relies on ingest node to handle parsing. This allows the original syslog message to be kept with the event.original field. And it avoids the non-ECS fields of the syslog input.

One improvement is that if syslog data is read from a file then this will now extract the syslog timestamp in the Ingest Node pipeline. Previously only data from the syslog input got this treatment because the timestamp was parsed by the input. The grok pattern that read the timestamp can accept both RFC 3164 or RFC 5424 formats (it only grabs the timestamp and syslog priority).

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.

Related issues

@elasticmachine
Copy link

elasticmachine commented Apr 7, 2021

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: Pull request #898 updated

  • Start Time: 2021-04-12T14:45:31.543+0000

  • Duration: 13 min 36 sec

  • Commit: 535dcfe

Test stats 🧪

Test Results
Failed 0
Passed 82
Skipped 0
Total 82

Trends 🧪

Image of Build Times

Image of Tests

Move as much processing as possible into the Ingest Node pipeline. The Beat's decode_cef processor must still be used since there isn't a replacement in Ingest Node.

This moves away from the Beats syslog input and relies on ingest node to handle parsing. This allows the original syslog message to be kept with the event.original field. And it avoids the non-ECS fields of the syslog input.

One improvement is that if syslog data is read from a file then this will now extract the syslog timestamp in the Ingest Node pipeline. Previously only data from the syslog input got this treatment because the timestamp was parsed by the input. The grok pattern that read the timestamp can accept both RFC 3164 or RFC 5424 formats (it only grabs the timestamp and syslog priority).

Closes #656
Copy link
Contributor

@marc-gr marc-gr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM other than the typo

@andrewkroh andrewkroh marked this pull request as ready for review April 12, 2021 14:31
@elasticmachine
Copy link

Pinging @elastic/security-external-integrations (Team:Security-External Integrations)

@andrewkroh andrewkroh merged commit b5115c0 into elastic:master Apr 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Integration:cef Common Event Format (CEF)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Convert CEF's edge processing to Ingest Node pipeline

3 participants