-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[META] Implement ECS-Compatibility Mode in Bundled Plugins #11635
Labels
Comments
This was referenced Mar 12, 2020
Are there any plans to add Zeek/Suricata ECS support in Logstash? |
Related issue: #11306 |
No specific effort that I'm aware of, as both the Zeek and Suricata modules referenced are implemented in Beats (not Logstash). |
yaauie
added a commit
to logstash-plugins/logstash-output-elasticsearch
that referenced
this issue
Jul 14, 2020
Adds support for ECS-compatibility mode to allow users to opt into the use of ECS-compatible templates. Part of the effort to make implicit behaviour more ECS-friendly in future releases of Logstash Related: elastic/logstash#11635 Resolves: #924
11 tasks
8 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Plugins that are bundled with Logstash need to be able to run in an ECS-Compatible mode by default in an upcoming major release of Logstash, unless explicitly configured to do otherwise.
Below is our list of bundled plugins. The list will be kept up-to-date with links issues on the individual projects, along with one of the three categories (align, conflict, undefined).
Input Plugins
Input Plugins are generally reliant on Codec Plugins to produce their event
structure, but many add metadata related to the source of the input (e.g.,
sender host info for inbound connections, file paths for discovered files, etc.),
and some include embedded Filter Plugins that must separately implement
ECS-Compatibility.
Azure Event Hubs Input - Implement ECS-Compatibility Mode logstash-plugins/logstash-input-azure_event_hubs#49Redis Input - Implement ECS-Compatibility Mode logstash-plugins/logstash-input-redis#78(no field names used except[@metadata][redis_channel]
)SQS Inputprovide (ECS) filed name defaults logstash-plugins/logstash-input-sqs#58 (we could provide ECS defaults)Codec Plugins
Codec Plugins produce Events from a sequence of Bytes, and are responsible for
the basic structure of those Events, and while some implicitly take the produced
structure verbatim from the deserialized input (e.g., JSON*), others decode the
bytes they are given into their own structure (e.g., CEF).
RubyDebug Codec(output only)Dots Codec(output only)EDN Codecevent_factory + target onlyEDN Lines Codecevent_factory + target onlyFluent Codecevent_factory + target onlyGraphite Codecevent_factory onlyMsgPack Codecevent_factory + target onlytarget => 'netflow'
by default)Collectd Codecevent_factory + target onlyFilter Plugins
Filter plugins manipulate Events by reading and writing from their fields. To be
ECS-Compatible, a Filter must not read from or write to ECS-conflicting fields
unless the field name is explicitly given in the plugin's configuration.
CIDR Filter(explicit field names required)Date Filter(implicit defaults are ECS-Compatible)Dissect Filter(explicit field names required)DNS Filter(explicit field names required)Drop Filter(no field names used)Elasticsearch Filter(explicit field names required)Memcached Filter(explicit field names required)Mutate Filter(explicit field names required)Prune Filter(explicit field names required)Ruby Filter(no implicit field names used)Sleep Filter(no field names used)Split Filter(no implicit field names used)Truncate Filter(no implicit field names used)Urldecode Filter(no conflicting implicit field names used)UUID Filter(no implicit field names used)XML Filter(no implicit field names used)Aggregate Filter(k:user-driven configuration)Anonymize Filter(k:deprecated since 2017 - replaced w fingerprint filter)'.'
, usingnested => true
could improve ECS compatibility)Throttle Filter(k:key => ...
selector is user arbitrary)Output Plugins
Output Plugins do not generally manipulate event structure, but are included in
this list for completeness as some may benefit from an ECS-Compatibility
mode (e.g. Elasticsearch's template management).
Output Plugins
Email OutputFile OutputHTTP OutputKafka Output*- Implement ECS-Compatibility Mode logstash-plugins/logstash-integration-kafka#17Redis OutputRabbitMQImplement ECS-Compatibility Mode logstash-plugins/logstash-integration-rabbitmq#28S3 OutputStdout OutputTCP OutputUDP OutputCsv OutputElastic_app_search OutputGraphite OutputLumberjack OutputNagios OutputNull OutputPipe OutputSqs Output[@metadata][thread_id]
Follow-up Work
:v8 => :v1
mappings in ECS-ified pluginsThe text was updated successfully, but these errors were encountered: