-
Notifications
You must be signed in to change notification settings - Fork 419
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
proposal for Event fields #129
Comments
For |
@ruflin off the top of my head I can think of the following commonly used "levels" (human readable severity levels):
|
Seems like the first 3 are all log related. Last one is more about scoring. I wonder if One interesting point that shows the above: The naming is very similar but lower / upper case is different which mill make correlation tricky. I think epecially between log4j, syslog there should be correlation. Should we standardise the naming? |
Imho there should be an |
There's been no follow-up on As for level, I can see the use of having one for the raw value and one that's normalized, as @ruflin points out. Should this be |
Great discussion! I love the idea of normalization from a correlation standpoint but if one of the design goals is to encourage implementations to use as many ECS fields as possible I would be careful about being overly prescriptive. I found some Symantec and Palo Alto documents that used: As a reasonable compromise - what about we ask/suggest implementations to at least use ALL CAPS for this field? |
AH YEAH I LOVE ALL CAPS. THEY REALLY MAKE THE INFORMATION POP OUT! Haha I'm joking. I do see value in being a bit more loose with how this gets normalized. But we'd have to have two prescriptions
On the other hands this is one of the rare cases where I think being prescriptive could potentially work. Just out of your comment from yesterday, I think we can already build a pretty comprehensive list:
I could see a few more being reported and ending up with a pretty complete list of 15-ish tops, no? Note that I didn't include the CVSS scoring ones for now, as it's more risk related than event criticality level. I feel this belongs more in a vulnerability part of ECS. This top level object is still to be added, but has been proposed already in #113, and the team agrees we need them, so it's part of the plan (#115) |
Heh - all lower case does look better - agreed. If we have ECS normalize
*I am not sure if anything uses |
For now I would start with only guidance on how to normalize I would also be very careful to not map words from one to another. I would rather add PG's "panic" than map it to "emergency". I would hold off for now on assigning a numeric value. Here are two reasons that come to mind:
I'm thinking this mapping to numeric could very well be useful, but for now I would leave it out of the spec. Organizations are free to attempt this, see they derive value out of this normalization, and report back their findings. Most up to date list, now including "panic":
|
Sorry I probably should have made clear my table was meant to be an example of how several implementations /might/ map their internal severity/priority to our proposed normalization in I assumed PG's use of "panic" was based on the deprecated "panic" in syslog.h given PG's lineage, but it would appear in actuality when PG emits events via syslog it maps PANIC to syslog's Critical What about |
I think we should leave I think |
Why to reinvent the wheel? Syslog defines some commonly used severities codes and names. This could be also the normalized value for other use cases. So why not to do it like this:
While event.severity.* are normalized values, name is critical, error, ... code is a number. This will not only add normalized value of event but also ECS useful fields for syslog usage. |
#439 adds |
- Added `event.code` (See elastic/beats#10333) - Added `event.sequence` (See #129, elastic/beats#10760) - Added `event.provider` (See #321) - Note: Beats modules currently put the Syslog "programname" in `process.name` which is sometimes accurate, sometimes not (e.g. "kernel"). event.provider would be a better field for this. - Explain event.module and event.dataset without mentioning Beats
Closing due to inactivity - event.severity and log.level seem to be meet most common use cases. |
I would like to propose two new event fields that I think would be useful
event.level is the human readable companion field to event.severity, essentially identical in use to log.level (which could be deprecated/removed in favor of event.level).
event.sequence is another integrity field (like event.hash) for event sources that emit events in sequence, to detect missing events and/or order events that may have time stamps based on receipt time rather than emit time (syslog over UDP comes to mind).
While I'm on the topic of the Event group, is event.id meant to be a unique id for for an instance of an event (such that two identical events would have different and unique event.id) or is it meant to handle the case where events have numeric or coded identifiers, e.g.:
%ASA-3-610001: NTP daemon interface interface_name : Packet denied from IP_address
might look something like the following in ECS 1.0
The text was updated successfully, but these errors were encountered: