From b45d1c10127778b8373a3e6fd61948ad4b06778d Mon Sep 17 00:00:00 2001 From: beats-jenkins Date: Fri, 18 Jan 2019 15:25:41 +0100 Subject: [PATCH 01/27] Migrate Winlogbeat to ECS This PR is to kick of a discussion around Winlogbeat and ECS migration. --- winlogbeat/_meta/fields.common.yml | 24 +++++++++++++++++------- winlogbeat/eventlog/eventlog.go | 18 +++++++++--------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 46eae698f263..46127d7f7cd1 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -3,6 +3,7 @@ description: > Contains common fields available in all event types. fields: + # Is this event.type? - name: type required: true description: > @@ -31,7 +32,8 @@ activity. - name: computer_name - type: keyword + type: alias + path: host.name required: true description: > The name of the computer that generated the record. When using Windows @@ -49,7 +51,8 @@ earlier versions of Windows. - name: event_id - type: long + type: alias + path: event.id required: true description: > The event identifier. The value is specific to the source of the event. @@ -61,14 +64,17 @@ The keywords are used to classify an event. - name: log_name - type: keyword + # This does not exist yet + path: log.name + type: alias required: true description: > The name of the event log from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. - name: level - type: keyword + type: alias + path: log.level required: false description: > The level of the event. There are five levels of events that can be @@ -76,7 +82,8 @@ Failure. - name: message_error - type: keyword + type: alias + path: error.message required: false description: > The error that occurred while reading and formatting the message from @@ -116,7 +123,8 @@ the event. - name: process_id - type: long + type: alias + path: process.id required: false description: > The process_id identifies the process that generated the event. @@ -138,7 +146,8 @@ operating systems) is written to this field. - name: thread_id - type: long + type: alias + path: process.thread.id required: false description: > The thread_id identifies the thread that generated the event. @@ -152,6 +161,7 @@ `event_data`. - name: user.identifier + # Is this user.id? type: keyword required: false example: S-1-5-21-3541430928-2051711210-1391384369-1001 diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 1b6dcc475e1f..07b022d4abea 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -82,30 +82,30 @@ type Record struct { func (e Record) ToEvent() beat.Event { m := common.MapStr{ "type": e.API, - "log_name": e.Channel, - "source_name": e.Provider.Name, - "computer_name": e.Computer, "record_number": strconv.FormatUint(e.RecordID, 10), - "event_id": e.EventIdentifier.ID, } + m.Put("event.id", e.EventIdentifier.ID) + m.Put("log.name", e.Channel) + m.Put("source.name", e.Channel) + m.Put("host.name", e.Computer) addOptional(m, "xml", e.XML) addOptional(m, "provider_guid", e.Provider.GUID) addOptional(m, "version", e.Version) - addOptional(m, "level", e.Level) + addOptional(m, "log.level", e.Level) addOptional(m, "task", e.Task) addOptional(m, "opcode", e.Opcode) addOptional(m, "keywords", e.Keywords) addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) - addOptional(m, "message_error", e.RenderErr) + addOptional(m, "error.message", e.RenderErr) // Correlation addOptional(m, "activity_id", e.Correlation.ActivityID) addOptional(m, "related_activity_id", e.Correlation.RelatedActivityID) // Execution - addOptional(m, "process_id", e.Execution.ProcessID) - addOptional(m, "thread_id", e.Execution.ThreadID) + addOptional(m, "process.id", e.Execution.ProcessID) + addOptional(m, "process.thread.id", e.Execution.ThreadID) addOptional(m, "processor_id", e.Execution.ProcessorID) addOptional(m, "session_id", e.Execution.SessionID) addOptional(m, "kernel_time", e.Execution.KernelTime) @@ -139,7 +139,7 @@ func (e Record) ToEvent() beat.Event { // MapStr. func addOptional(m common.MapStr, key string, v interface{}) { if m != nil && !isZero(v) { - m[key] = v + m.Put(key) = v } } From 4337c0ac94967b7fcc387d9aba5c04af713b27f6 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Thu, 24 Jan 2019 15:15:00 -0500 Subject: [PATCH 02/27] Incorporate some of the PR feedback so far, introduce one new suggestion --- winlogbeat/_meta/fields.common.yml | 18 ++++++++-------- winlogbeat/docs/fields.asciidoc | 34 ++++++++++++++++++++++-------- winlogbeat/eventlog/eventlog.go | 11 +++++----- winlogbeat/include/fields.go | 2 +- 4 files changed, 40 insertions(+), 25 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 46127d7f7cd1..19a6a2920342 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -3,7 +3,6 @@ description: > Contains common fields available in all event types. fields: - # Is this event.type? - name: type required: true description: > @@ -33,11 +32,11 @@ - name: computer_name type: alias - path: host.name + path: host.hostname required: true description: > The name of the computer that generated the record. When using Windows - event forwarding, this name can differ from the `beat.hostname`. + event forwarding, this name can differ from `agent.hostname`. - name: event_data type: object @@ -51,8 +50,7 @@ earlier versions of Windows. - name: event_id - type: alias - path: event.id + type: long required: true description: > The event identifier. The value is specific to the source of the event. @@ -66,6 +64,7 @@ - name: log_name # This does not exist yet path: log.name + # could map to `event.origin`? ;-) type: alias required: true description: > @@ -124,13 +123,14 @@ - name: process_id type: alias - path: process.id + path: process.pid required: false description: > The process_id identifies the process that generated the event. - name: source_name - type: keyword + type: alias + path: service.name required: true description: > The source of the event log record (the application or service that @@ -161,8 +161,8 @@ `event_data`. - name: user.identifier - # Is this user.id? - type: keyword + type: alias + path: user.id required: false example: S-1-5-21-3541430928-2051711210-1391384369-1001 description: > diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index a76fb2a3c178..e2f78e421a15 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3297,11 +3297,13 @@ A globally unique identifier that identifies the current activity. The events th *`computer_name`*:: + -- -type: keyword +type: alias required: True -The name of the computer that generated the record. When using Windows event forwarding, this name can differ from the `beat.hostname`. +alias to: host.hostname + +The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. -- @@ -3345,10 +3347,12 @@ The keywords are used to classify an event. *`log_name`*:: + -- -type: keyword +type: alias required: True +alias to: log.name + The name of the event log from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. @@ -3357,10 +3361,12 @@ The name of the event log from which this record was read. This value is one of *`level`*:: + -- -type: keyword +type: alias required: False +alias to: log.level + The level of the event. There are five levels of events that can be logged: Success, Information, Warning, Error, Audit Success, and Audit Failure. @@ -3369,10 +3375,12 @@ The level of the event. There are five levels of events that can be logged: Succ *`message_error`*:: + -- -type: keyword +type: alias required: False +alias to: error.message + The error that occurred while reading and formatting the message from the log. @@ -3429,10 +3437,12 @@ A globally unique identifier that identifies the provider that logged the event. *`process_id`*:: + -- -type: long +type: alias required: False +alias to: process.pid + The process_id identifies the process that generated the event. @@ -3441,10 +3451,12 @@ The process_id identifies the process that generated the event. *`source_name`*:: + -- -type: keyword +type: alias required: True +alias to: service.name + The source of the event log record (the application or service that logged the record). @@ -3465,10 +3477,12 @@ The task defined in the event. Task and opcode are typically used to identify th *`thread_id`*:: + -- -type: long +type: alias required: False +alias to: process.thread.id + The thread_id identifies the thread that generated the event. @@ -3489,12 +3503,14 @@ The event specific data. This field is mutually exclusive with `event_data`. *`user.identifier`*:: + -- -type: keyword +type: alias example: S-1-5-21-3541430928-2051711210-1391384369-1001 required: False +alias to: user.id + The Windows security identifier (SID) of the account associated with this event. If Winlogbeat cannot resolve the SID to a name, then the `user.name`, `user.domain`, and `user.type` fields will be omitted from the event. If you discover Winlogbeat not resolving SIDs, review the log for clues as to what the problem may be. diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 07b022d4abea..86cfda8a4649 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -85,9 +85,8 @@ func (e Record) ToEvent() beat.Event { "record_number": strconv.FormatUint(e.RecordID, 10), } m.Put("event.id", e.EventIdentifier.ID) - m.Put("log.name", e.Channel) - m.Put("source.name", e.Channel) - m.Put("host.name", e.Computer) + m.Put("service.name", e.Channel) + m.Put("host.hostname", e.Computer) addOptional(m, "xml", e.XML) addOptional(m, "provider_guid", e.Provider.GUID) @@ -104,7 +103,7 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "related_activity_id", e.Correlation.RelatedActivityID) // Execution - addOptional(m, "process.id", e.Execution.ProcessID) + addOptional(m, "process.pid", e.Execution.ProcessID) addOptional(m, "process.thread.id", e.Execution.ThreadID) addOptional(m, "processor_id", e.Execution.ProcessorID) addOptional(m, "session_id", e.Execution.SessionID) @@ -114,7 +113,7 @@ func (e Record) ToEvent() beat.Event { if e.User.Identifier != "" { user := common.MapStr{ - "identifier": e.User.Identifier, + "id": e.User.Identifier, } m["user"] = user @@ -139,7 +138,7 @@ func (e Record) ToEvent() beat.Event { // MapStr. func addOptional(m common.MapStr, key string, v interface{}) { if m != nil && !isZero(v) { - m.Put(key) = v + m.Put(key, v) } } diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 25059ce355c7..ec6296c2d4d9 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From eaa3b857f5fa7309c7f64280f5c6cee721e59e25 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Tue, 29 Jan 2019 23:02:41 -0500 Subject: [PATCH 03/27] A few more suggested tweaks --- winlogbeat/_meta/fields.common.yml | 23 +++++++++++++++++------ winlogbeat/docs/fields.asciidoc | 30 ++++++++++++++++++++++++------ winlogbeat/eventlog/eventlog.go | 20 ++++++++++++++++---- winlogbeat/include/fields.go | 2 +- 4 files changed, 58 insertions(+), 17 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 19a6a2920342..1479c79f598a 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -22,6 +22,13 @@ description: > Contains data from a Windows event log record. fields: + # Candidate to add to ECS? + - name: event.code + type: keyword + required: false + description: > + The code for this log message (Windows event ID). + - name: activity_id type: keyword required: false @@ -61,11 +68,16 @@ description: > The keywords are used to classify an event. + - name: channel + + - name: provider_name + - name: log_name - # This does not exist yet - path: log.name - # could map to `event.origin`? ;-) - type: alias + type: keyword + # # This does not exist yet + # path: log.name + # # could map to `event.origin`? ;-) + # type: alias required: true description: > The name of the event log from which this record was read. This value is @@ -129,8 +141,7 @@ The process_id identifies the process that generated the event. - name: source_name - type: alias - path: service.name + type: keyword required: true description: > The source of the event log record (the application or service that diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index e2f78e421a15..cba659d1777e 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3282,6 +3282,18 @@ Contains data from a Windows event log record. +*`event.code`*:: ++ +-- +type: keyword + +required: False + +The code for this log message (Windows event ID). + + +-- + *`activity_id`*:: + -- @@ -3344,15 +3356,23 @@ The keywords are used to classify an event. -- +*`channel`*:: ++ +-- +-- + +*`provider_name`*:: ++ +-- +-- + *`log_name`*:: + -- -type: alias +type: keyword required: True -alias to: log.name - The name of the event log from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. @@ -3451,12 +3471,10 @@ The process_id identifies the process that generated the event. *`source_name`*:: + -- -type: alias +type: keyword required: True -alias to: service.name - The source of the event log record (the application or service that logged the record). diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 86cfda8a4649..339439427244 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -22,7 +22,9 @@ import ( "fmt" "reflect" "strconv" + "strings" "syscall" + "time" "github.com/elastic/beats/libbeat/beat" "github.com/elastic/beats/libbeat/common" @@ -84,15 +86,25 @@ func (e Record) ToEvent() beat.Event { "type": e.API, "record_number": strconv.FormatUint(e.RecordID, 10), } - m.Put("event.id", e.EventIdentifier.ID) - m.Put("service.name", e.Channel) + + m.Put("event.kind", "event") + m.Put("event.dataset", fmt.Sprintf("%v.%v", e.API, strings.ToLower(e.Channel))) + m.Put("log_name", e.Channel) + m.Put("source_name", e.Provider.Name) + // Why not keep the Windows naming for those? + m.Put("channel", e.Channel) + m.Put("provider_name", e.Provider.Name) + m.Put("event.code", e.EventIdentifier.ID) + addOptional(m, "event.action", e.Task) + m.Put("host.hostname", e.Computer) + m.Put("event.created", time.Now()) addOptional(m, "xml", e.XML) addOptional(m, "provider_guid", e.Provider.GUID) addOptional(m, "version", e.Version) - addOptional(m, "log.level", e.Level) - addOptional(m, "task", e.Task) + addOptional(m, "log.level", strings.ToLower(e.Level)) + addOptional(m, "task", e.Task) addOptional(m, "opcode", e.Opcode) addOptional(m, "keywords", e.Keywords) addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index ec6296c2d4d9..993354954837 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 85b422b79291f1f0725f12554d90f07cc995a694 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Tue, 29 Jan 2019 23:10:45 -0500 Subject: [PATCH 04/27] A lost Rubyist tries dig into event_data --- winlogbeat/_meta/fields.common.yml | 4 ++++ winlogbeat/docs/fields.asciidoc | 9 +++++++++ winlogbeat/eventlog/eventlog.go | 17 ++++++++++++++++- winlogbeat/include/fields.go | 2 +- winlogbeat/sys/event.go | 1 + 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 1479c79f598a..84430b606348 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -22,6 +22,10 @@ description: > Contains data from a Windows event log record. fields: + - name: user_dbg + type: object + required: false + # Candidate to add to ECS? - name: event.code type: keyword diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index cba659d1777e..96ce74d6562d 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3282,6 +3282,15 @@ Contains data from a Windows event log record. +*`user_dbg`*:: ++ +-- +type: object + +required: False + +-- + *`event.code`*:: + -- diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 339439427244..6f1985546524 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -104,7 +104,7 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "provider_guid", e.Provider.GUID) addOptional(m, "version", e.Version) addOptional(m, "log.level", strings.ToLower(e.Level)) - addOptional(m, "task", e.Task) + addOptional(m, "task", e.Task) addOptional(m, "opcode", e.Opcode) addOptional(m, "keywords", e.Keywords) addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) @@ -123,6 +123,21 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "user_time", e.Execution.UserTime) addOptional(m, "processor_time", e.Execution.ProcessorTime) + // debugf("EventData field inspection %v", e.EventData.TargetUserName) + // debugf("EventData inspection full %v", e.EventData) + // addOptional(m, "user_dbg.name", e.EventData.TargetUserName) + + // Additional mapping ideas + // user.id + // - event_data.TargetUserSid (S-1-5-21-3541430928-2051711210-1391384369-1001) + // - event_data.SubjectUserSid (S-1-5-18) + // user.name + // - event_data.TargetUserName (vagrant) + // - event_data.SubjectUserName (VAGRANT-2012-R2$, vagrant) + // source.ip: event_data.IpAddress + // source.port: event_data.IpPort + // process.executable: event_data.ProcessName + if e.User.Identifier != "" { user := common.MapStr{ "id": e.User.Identifier, diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 993354954837..173c8fe6cd95 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/winlogbeat/sys/event.go b/winlogbeat/sys/event.go index f113ba87f582..a0428b2a4dc7 100644 --- a/winlogbeat/sys/event.go +++ b/winlogbeat/sys/event.go @@ -133,6 +133,7 @@ func (t *TimeCreated) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error // EventData contains the event data. The EventData section is used if the // message provider template does not contain a UserData section. type EventData struct { + // TargetUserName string `xml:"TargetUserName,attr"` Pairs []KeyValue `xml:",any"` } From 48ca9f82f71049b5fda8772de7cab8bfb6fd1d00 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Thu, 31 Jan 2019 22:52:08 -0500 Subject: [PATCH 05/27] Radical update: - Nest everything windows event log specific under `winlog.` - Define all the appropriate fields - Take absolutely no care in creating aliases (this comes later) - Keep the ECS mappings we had done so far --- winlogbeat/_meta/fields.common.yml | 376 ++++++++++---------- winlogbeat/docs/fields.asciidoc | 539 +++++++++++++---------------- winlogbeat/eventlog/eventlog.go | 85 ++--- winlogbeat/include/fields.go | 2 +- 4 files changed, 468 insertions(+), 534 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 84430b606348..3be10b979f9e 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -3,19 +3,180 @@ description: > Contains common fields available in all event types. fields: - - name: type - required: true - description: > - The event log API type used to read the record. The possible values are - "wineventlog" for the Windows Event Log API or "eventlogging" for the - Event Logging API. - - The Event Logging API was designed for Windows Server 2003 - or Windows 2000 operating systems. In Windows Vista, the event logging - infrastructure was redesigned. On Windows Vista or later operating - systems, the Windows Event Log API is used. Winlogbeat automatically - detects which API to use for reading event logs. - + - name: winlog + type: group + description: > + All fields specific to the Windows Event Log are defined here. + fields: + + - name: channel + type: keyword + required: true + description: > + The name of the channel from which this record was read. This value is + one of the names from the `event_logs` collection in the configuration. + + - name: type + required: true + description: > + The event log API type used to read the record. The possible values are + "wineventlog" for the Windows Event Log API or "eventlogging" for the + Event Logging API. + + The Event Logging API was designed for Windows Server 2003 + or Windows 2000 operating systems. In Windows Vista, the event logging + infrastructure was redesigned. On Windows Vista or later operating + systems, the Windows Event Log API is used. Winlogbeat automatically + detects which API to use for reading event logs. + + - name: activity_id + type: keyword + required: false + description: > + A globally unique identifier that identifies the current activity. The + events that are published with this identifier are part of the same + activity. + + - name: event_data + type: object + object_type: keyword + required: false + description: > + The event-specific data. This field is mutually exclusive with + `user_data`. If you are capturing event data on versions prior + to Windows Vista, the parameters in `event_data` are named `param1`, + `param2`, and so on, because event log parameters are unnamed in + earlier versions of Windows. + + - name: event.id + type: keyword + required: true + description: > + The event identifier. The value is specific to the source of the event. + + - name: keywords + type: keyword + required: false + description: > + The keywords are used to classify an event. + + - name: computer_name + type: keyword + required: true + description: > + The name of the computer that generated the record. When using Windows + event forwarding, this name can differ from `agent.hostname`. + + - name: record_number + type: keyword + required: true + description: > + The record number of the event log record. The first record written + to an event log is record number 1, and other records are numbered + sequentially. If the record number reaches the maximum value (2^32^ + for the Event Logging API and 2^64^ for the Windows Event Log API), + the next record number will be 0. + + - name: related_activity_id + type: keyword + required: false + description: > + A globally unique identifier that identifies the activity to which + control was transferred to. The related events would then have this + identifier as their `activity_id` identifier. + + - name: opcode + type: keyword + required: false + description: > + The opcode defined in the event. Task and opcode are typically used to + identify the location in the application from where the event was + logged. + + - name: provider_guid + type: keyword + required: false + description: > + A globally unique identifier that identifies the provider that logged + the event. + + - name: provider_name + type: keyword + required: true + description: > + The source of the event log record (the application or service that + logged the record). + + - name: task + type: keyword + required: false + description: > + The task defined in the event. Task and opcode are typically used to + identify the location in the application from where the event was + logged. The category used by the Event Logging API (on pre Windows Vista + operating systems) is written to this field. + + - name: user_data + type: object + object_type: keyword + required: false + description: > + The event specific data. This field is mutually exclusive with + `event_data`. + + - name: user.identifier + type: keyword + required: false + example: S-1-5-21-3541430928-2051711210-1391384369-1001 + description: > + The Windows security identifier (SID) of the account associated with + this event. + + + If Winlogbeat cannot resolve the SID to a name, then the `user.name`, + `user.domain`, and `user.type` fields will be omitted from the event. + If you discover Winlogbeat not resolving SIDs, review the log for + clues as to what the problem may be. + + - name: user.domain + type: keyword + required: false + description: > + The domain that the account associated with this event is a member of. + + - name: user.type + type: keyword + required: false + description: > + The type of account associated with this event. + + - name: version + type: long + required: false + description: The version number of the event's definition. + + - name: xml + type: text + required: false + description: > + The raw XML representation of the event obtained from Windows. This + field is only available on operating systems supporting the Windows + Event Log API (Microsoft Windows Vista and newer). This field is not + included by default and must be enabled by setting `include_xml: true` + as a configuration option for an individual event log. + + + The XML representation of the event is useful for troubleshooting + purposes. The data in the fields reported by Winlogbeat can be compared + to the data in the XML to diagnose problems. + + - name: execution.process.pid + type: long + required: false + + - name: execution.process.thread.id + type: long + required: false - key: eventlog title: Event log record @@ -32,192 +193,3 @@ required: false description: > The code for this log message (Windows event ID). - - - name: activity_id - type: keyword - required: false - description: > - A globally unique identifier that identifies the current activity. The - events that are published with this identifier are part of the same - activity. - - - name: computer_name - type: alias - path: host.hostname - required: true - description: > - The name of the computer that generated the record. When using Windows - event forwarding, this name can differ from `agent.hostname`. - - - name: event_data - type: object - object_type: keyword - required: false - description: > - The event-specific data. This field is mutually exclusive with - `user_data`. If you are capturing event data on versions prior - to Windows Vista, the parameters in `event_data` are named `param1`, - `param2`, and so on, because event log parameters are unnamed in - earlier versions of Windows. - - - name: event_id - type: long - required: true - description: > - The event identifier. The value is specific to the source of the event. - - - name: keywords - type: keyword - required: false - description: > - The keywords are used to classify an event. - - - name: channel - - - name: provider_name - - - name: log_name - type: keyword - # # This does not exist yet - # path: log.name - # # could map to `event.origin`? ;-) - # type: alias - required: true - description: > - The name of the event log from which this record was read. This value is - one of the names from the `event_logs` collection in the configuration. - - - name: level - type: alias - path: log.level - required: false - description: > - The level of the event. There are five levels of events that can be - logged: Success, Information, Warning, Error, Audit Success, and Audit - Failure. - - - name: message_error - type: alias - path: error.message - required: false - description: > - The error that occurred while reading and formatting the message from - the log. - - - name: record_number - type: keyword - required: true - description: > - The record number of the event log record. The first record written - to an event log is record number 1, and other records are numbered - sequentially. If the record number reaches the maximum value (2^32^ - for the Event Logging API and 2^64^ for the Windows Event Log API), - the next record number will be 0. - - - name: related_activity_id - type: keyword - required: false - description: > - A globally unique identifier that identifies the activity to which - control was transferred to. The related events would then have this - identifier as their `activity_id` identifier. - - - name: opcode - type: keyword - required: false - description: > - The opcode defined in the event. Task and opcode are typically used to - identify the location in the application from where the event was - logged. - - - name: provider_guid - type: keyword - required: false - description: > - A globally unique identifier that identifies the provider that logged - the event. - - - name: process_id - type: alias - path: process.pid - required: false - description: > - The process_id identifies the process that generated the event. - - - name: source_name - type: keyword - required: true - description: > - The source of the event log record (the application or service that - logged the record). - - - name: task - type: keyword - required: false - description: > - The task defined in the event. Task and opcode are typically used to - identify the location in the application from where the event was - logged. The category used by the Event Logging API (on pre Windows Vista - operating systems) is written to this field. - - - name: thread_id - type: alias - path: process.thread.id - required: false - description: > - The thread_id identifies the thread that generated the event. - - - name: user_data - type: object - object_type: keyword - required: false - description: > - The event specific data. This field is mutually exclusive with - `event_data`. - - - name: user.identifier - type: alias - path: user.id - required: false - example: S-1-5-21-3541430928-2051711210-1391384369-1001 - description: > - The Windows security identifier (SID) of the account associated with - this event. - - - If Winlogbeat cannot resolve the SID to a name, then the `user.name`, - `user.domain`, and `user.type` fields will be omitted from the event. - If you discover Winlogbeat not resolving SIDs, review the log for - clues as to what the problem may be. - - - name: user.domain - type: keyword - required: false - description: > - The domain that the account associated with this event is a member of. - - - name: user.type - type: keyword - required: false - description: > - The type of account associated with this event. - - - name: version - type: long - required: false - description: The version number of the event's definition. - - - name: xml - type: text - required: false - description: > - The raw XML representation of the event obtained from Windows. This - field is only available on operating systems supporting the Windows - Event Log API (Microsoft Windows Vista and newer). This field is not - included by default and must be enabled by setting `include_xml: true` - as a configuration option for an individual event log. - - - The XML representation of the event is useful for troubleshooting - purposes. The data in the fields reported by Winlogbeat can be compared - to the data in the XML to diagnose problems. diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 96ce74d6562d..882fa87f66e7 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -171,7 +171,26 @@ Contains common fields available in all event types. -*`type`*:: +[float] +== winlog fields + +All fields specific to the Windows Event Log are defined here. + + + +*`winlog.channel`*:: ++ +-- +type: keyword + +required: True + +The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. + + +-- + +*`winlog.type`*:: + -- required: True @@ -180,6 +199,233 @@ The event log API type used to read the record. The possible values are "wineven The Event Logging API was designed for Windows Server 2003 or Windows 2000 operating systems. In Windows Vista, the event logging infrastructure was redesigned. On Windows Vista or later operating systems, the Windows Event Log API is used. Winlogbeat automatically detects which API to use for reading event logs. +-- + +*`winlog.activity_id`*:: ++ +-- +type: keyword + +required: False + +A globally unique identifier that identifies the current activity. The events that are published with this identifier are part of the same activity. + + +-- + +*`winlog.event_data`*:: ++ +-- +type: object + +required: False + +The event-specific data. This field is mutually exclusive with `user_data`. If you are capturing event data on versions prior to Windows Vista, the parameters in `event_data` are named `param1`, `param2`, and so on, because event log parameters are unnamed in earlier versions of Windows. + + +-- + +*`winlog.event.id`*:: ++ +-- +type: keyword + +required: True + +The event identifier. The value is specific to the source of the event. + + +-- + +*`winlog.keywords`*:: ++ +-- +type: keyword + +required: False + +The keywords are used to classify an event. + + +-- + +*`winlog.computer_name`*:: ++ +-- +type: keyword + +required: True + +The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. + + +-- + +*`winlog.record_number`*:: ++ +-- +type: keyword + +required: True + +The record number of the event log record. The first record written to an event log is record number 1, and other records are numbered sequentially. If the record number reaches the maximum value (2^32^ for the Event Logging API and 2^64^ for the Windows Event Log API), the next record number will be 0. + + +-- + +*`winlog.related_activity_id`*:: ++ +-- +type: keyword + +required: False + +A globally unique identifier that identifies the activity to which control was transferred to. The related events would then have this identifier as their `activity_id` identifier. + + +-- + +*`winlog.opcode`*:: ++ +-- +type: keyword + +required: False + +The opcode defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. + + +-- + +*`winlog.provider_guid`*:: ++ +-- +type: keyword + +required: False + +A globally unique identifier that identifies the provider that logged the event. + + +-- + +*`winlog.provider_name`*:: ++ +-- +type: keyword + +required: True + +The source of the event log record (the application or service that logged the record). + + +-- + +*`winlog.task`*:: ++ +-- +type: keyword + +required: False + +The task defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. The category used by the Event Logging API (on pre Windows Vista operating systems) is written to this field. + + +-- + +*`winlog.user_data`*:: ++ +-- +type: object + +required: False + +The event specific data. This field is mutually exclusive with `event_data`. + + +-- + +*`winlog.user.identifier`*:: ++ +-- +type: keyword + +example: S-1-5-21-3541430928-2051711210-1391384369-1001 + +required: False + +The Windows security identifier (SID) of the account associated with this event. + +If Winlogbeat cannot resolve the SID to a name, then the `user.name`, `user.domain`, and `user.type` fields will be omitted from the event. If you discover Winlogbeat not resolving SIDs, review the log for clues as to what the problem may be. + + +-- + +*`winlog.user.domain`*:: ++ +-- +type: keyword + +required: False + +The domain that the account associated with this event is a member of. + + +-- + +*`winlog.user.type`*:: ++ +-- +type: keyword + +required: False + +The type of account associated with this event. + + +-- + +*`winlog.version`*:: ++ +-- +type: long + +required: False + +The version number of the event's definition. + +-- + +*`winlog.xml`*:: ++ +-- +type: text + +required: False + +The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows Event Log API (Microsoft Windows Vista and newer). This field is not included by default and must be enabled by setting `include_xml: true` as a configuration option for an individual event log. + +The XML representation of the event is useful for troubleshooting purposes. The data in the fields reported by Winlogbeat can be compared to the data in the XML to diagnose problems. + + +-- + +*`winlog.execution.process.pid`*:: ++ +-- +type: long + +required: False + +-- + +*`winlog.execution.process.thread.id`*:: ++ +-- +type: long + +required: False + -- [[exported-fields-docker-processor]] @@ -3301,297 +3547,6 @@ required: False The code for this log message (Windows event ID). --- - -*`activity_id`*:: -+ --- -type: keyword - -required: False - -A globally unique identifier that identifies the current activity. The events that are published with this identifier are part of the same activity. - - --- - -*`computer_name`*:: -+ --- -type: alias - -required: True - -alias to: host.hostname - -The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. - - --- - -*`event_data`*:: -+ --- -type: object - -required: False - -The event-specific data. This field is mutually exclusive with `user_data`. If you are capturing event data on versions prior to Windows Vista, the parameters in `event_data` are named `param1`, `param2`, and so on, because event log parameters are unnamed in earlier versions of Windows. - - --- - -*`event_id`*:: -+ --- -type: long - -required: True - -The event identifier. The value is specific to the source of the event. - - --- - -*`keywords`*:: -+ --- -type: keyword - -required: False - -The keywords are used to classify an event. - - --- - -*`channel`*:: -+ --- --- - -*`provider_name`*:: -+ --- --- - -*`log_name`*:: -+ --- -type: keyword - -required: True - -The name of the event log from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. - - --- - -*`level`*:: -+ --- -type: alias - -required: False - -alias to: log.level - -The level of the event. There are five levels of events that can be logged: Success, Information, Warning, Error, Audit Success, and Audit Failure. - - --- - -*`message_error`*:: -+ --- -type: alias - -required: False - -alias to: error.message - -The error that occurred while reading and formatting the message from the log. - - --- - -*`record_number`*:: -+ --- -type: keyword - -required: True - -The record number of the event log record. The first record written to an event log is record number 1, and other records are numbered sequentially. If the record number reaches the maximum value (2^32^ for the Event Logging API and 2^64^ for the Windows Event Log API), the next record number will be 0. - - --- - -*`related_activity_id`*:: -+ --- -type: keyword - -required: False - -A globally unique identifier that identifies the activity to which control was transferred to. The related events would then have this identifier as their `activity_id` identifier. - - --- - -*`opcode`*:: -+ --- -type: keyword - -required: False - -The opcode defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. - - --- - -*`provider_guid`*:: -+ --- -type: keyword - -required: False - -A globally unique identifier that identifies the provider that logged the event. - - --- - -*`process_id`*:: -+ --- -type: alias - -required: False - -alias to: process.pid - -The process_id identifies the process that generated the event. - - --- - -*`source_name`*:: -+ --- -type: keyword - -required: True - -The source of the event log record (the application or service that logged the record). - - --- - -*`task`*:: -+ --- -type: keyword - -required: False - -The task defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. The category used by the Event Logging API (on pre Windows Vista operating systems) is written to this field. - - --- - -*`thread_id`*:: -+ --- -type: alias - -required: False - -alias to: process.thread.id - -The thread_id identifies the thread that generated the event. - - --- - -*`user_data`*:: -+ --- -type: object - -required: False - -The event specific data. This field is mutually exclusive with `event_data`. - - --- - -*`user.identifier`*:: -+ --- -type: alias - -example: S-1-5-21-3541430928-2051711210-1391384369-1001 - -required: False - -alias to: user.id - -The Windows security identifier (SID) of the account associated with this event. - -If Winlogbeat cannot resolve the SID to a name, then the `user.name`, `user.domain`, and `user.type` fields will be omitted from the event. If you discover Winlogbeat not resolving SIDs, review the log for clues as to what the problem may be. - - --- - -*`user.domain`*:: -+ --- -type: keyword - -required: False - -The domain that the account associated with this event is a member of. - - --- - -*`user.type`*:: -+ --- -type: keyword - -required: False - -The type of account associated with this event. - - --- - -*`version`*:: -+ --- -type: long - -required: False - -The version number of the event's definition. - --- - -*`xml`*:: -+ --- -type: text - -required: False - -The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows Event Log API (Microsoft Windows Vista and newer). This field is not included by default and must be enabled by setting `include_xml: true` as a configuration option for an individual event log. - -The XML representation of the event is useful for troubleshooting purposes. The data in the fields reported by Winlogbeat can be compared to the data in the XML to diagnose problems. - - -- [[exported-fields-host-processor]] diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 6f1985546524..e37eac34aae1 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -82,46 +82,68 @@ type Record struct { // ToMapStr returns a new MapStr containing the data from this Record. func (e Record) ToEvent() beat.Event { + // Windows Log Specific data + win := common.MapStr{ + "channel": e.Channel, + "event.id": e.EventIdentifier.ID, + "provider_name": e.Provider.Name, + "record_number": strconv.FormatUint(e.RecordID, 10), + "task": e.Task, + "type": e.API, + } + addOptional(win, "kernel_time", e.Execution.KernelTime) + addOptional(win, "keywords", e.Keywords) + addOptional(win, "opcode", e.Opcode) + addOptional(win, "processor_id", e.Execution.ProcessorID) + addOptional(win, "processor_time", e.Execution.ProcessorTime) + addOptional(win, "provider_guid", e.Provider.GUID) + addOptional(win, "session_id", e.Execution.SessionID) + addOptional(win, "task", e.Task) + addOptional(win, "user_time", e.Execution.UserTime) + addOptional(win, "version", e.Version) + // Correlation + addOptional(win, "activity_id", e.Correlation.ActivityID) + addOptional(win, "related_activity_id", e.Correlation.RelatedActivityID) + // Execution + addOptional(win, "execution.process.pid", e.Execution.ProcessID) + addOptional(win, "execution.process.thread.id", e.Execution.ThreadID) + + if e.User.Identifier != "" { + user := common.MapStr{ + "id": e.User.Identifier, + } + win["user"] = user + addOptional(user, "name", e.User.Name) + addOptional(user, "domain", e.User.Domain) + addOptional(user, "type", e.User.Type.String()) + } + + addPairs(win, "event_data", e.EventData.Pairs) + userData := addPairs(win, "user_data", e.UserData.Pairs) + addOptional(userData, "xml_name", e.UserData.Name.Local) + + addOptional(win, "xml", e.XML) + m := common.MapStr{ - "type": e.API, - "record_number": strconv.FormatUint(e.RecordID, 10), + "winlog": win, } + // ECS data m.Put("event.kind", "event") m.Put("event.dataset", fmt.Sprintf("%v.%v", e.API, strings.ToLower(e.Channel))) - m.Put("log_name", e.Channel) - m.Put("source_name", e.Provider.Name) - // Why not keep the Windows naming for those? - m.Put("channel", e.Channel) - m.Put("provider_name", e.Provider.Name) m.Put("event.code", e.EventIdentifier.ID) addOptional(m, "event.action", e.Task) m.Put("host.hostname", e.Computer) m.Put("event.created", time.Now()) - addOptional(m, "xml", e.XML) - addOptional(m, "provider_guid", e.Provider.GUID) - addOptional(m, "version", e.Version) addOptional(m, "log.level", strings.ToLower(e.Level)) - addOptional(m, "task", e.Task) - addOptional(m, "opcode", e.Opcode) - addOptional(m, "keywords", e.Keywords) addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) addOptional(m, "error.message", e.RenderErr) - // Correlation - addOptional(m, "activity_id", e.Correlation.ActivityID) - addOptional(m, "related_activity_id", e.Correlation.RelatedActivityID) - // Execution - addOptional(m, "process.pid", e.Execution.ProcessID) - addOptional(m, "process.thread.id", e.Execution.ThreadID) - addOptional(m, "processor_id", e.Execution.ProcessorID) - addOptional(m, "session_id", e.Execution.SessionID) - addOptional(m, "kernel_time", e.Execution.KernelTime) - addOptional(m, "user_time", e.Execution.UserTime) - addOptional(m, "processor_time", e.Execution.ProcessorTime) + // addOptional(m, "process.pid", e.Execution.ProcessID) + // addOptional(m, "process.thread.id", e.Execution.ThreadID) // debugf("EventData field inspection %v", e.EventData.TargetUserName) // debugf("EventData inspection full %v", e.EventData) @@ -138,21 +160,6 @@ func (e Record) ToEvent() beat.Event { // source.port: event_data.IpPort // process.executable: event_data.ProcessName - if e.User.Identifier != "" { - user := common.MapStr{ - "id": e.User.Identifier, - } - m["user"] = user - - addOptional(user, "name", e.User.Name) - addOptional(user, "domain", e.User.Domain) - addOptional(user, "type", e.User.Type.String()) - } - - addPairs(m, "event_data", e.EventData.Pairs) - userData := addPairs(m, "user_data", e.UserData.Pairs) - addOptional(userData, "xml_name", e.UserData.Name.Local) - return beat.Event{ Timestamp: e.TimeCreated.SystemTime, Fields: m, diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 173c8fe6cd95..8a1b9ba0d1d6 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 1a0444f0f9b4c71093adade4d56ff878b12449f8 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Thu, 31 Jan 2019 23:25:04 -0500 Subject: [PATCH 06/27] Update my comment for a few other things we can grab --- winlogbeat/eventlog/eventlog.go | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index e37eac34aae1..ad757b4fbe92 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -141,24 +141,17 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) addOptional(m, "error.message", e.RenderErr) - // Execution - // addOptional(m, "process.pid", e.Execution.ProcessID) - // addOptional(m, "process.thread.id", e.Execution.ThreadID) - - // debugf("EventData field inspection %v", e.EventData.TargetUserName) - // debugf("EventData inspection full %v", e.EventData) - // addOptional(m, "user_dbg.name", e.EventData.TargetUserName) - - // Additional mapping ideas - // user.id - // - event_data.TargetUserSid (S-1-5-21-3541430928-2051711210-1391384369-1001) - // - event_data.SubjectUserSid (S-1-5-18) - // user.name - // - event_data.TargetUserName (vagrant) - // - event_data.SubjectUserName (VAGRANT-2012-R2$, vagrant) - // source.ip: event_data.IpAddress - // source.port: event_data.IpPort - // process.executable: event_data.ProcessName + // Additional field mappings, when available + // What about the old windows (nested under user_data instead of event_data)? + + // Is this always the remote address? + // winlog.event_data.IpAddress => ? + // winlog.event_data.IpPort => ? + + // winlog.event_data.ProcessId => process.pid (hex to numeric) + // winlog.event_data.ProcessName => process.executable + // winlog.event_data.TargetUserSid => user.id + // winlog.event_data.TargetUserName => user.name return beat.Event{ Timestamp: e.TimeCreated.SystemTime, From 0f322b63c943ab63842e8cb746d358ac44efa52e Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 13:51:13 -0500 Subject: [PATCH 07/27] This should be roughly the final shape of the event. Next: aliases. --- winlogbeat/eventlog/eventlog.go | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index ad757b4fbe92..b8cf17f87bb0 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -85,12 +85,14 @@ func (e Record) ToEvent() beat.Event { // Windows Log Specific data win := common.MapStr{ "channel": e.Channel, - "event.id": e.EventIdentifier.ID, + "event": common.MapStr{"id":e.EventIdentifier.ID}, "provider_name": e.Provider.Name, - "record_number": strconv.FormatUint(e.RecordID, 10), + "record_id": e.RecordID, "task": e.Task, - "type": e.API, + "api": e.API, } + addOptional(win, "computer", e.Computer) + addOptional(win, "level", e.Level) addOptional(win, "kernel_time", e.Execution.KernelTime) addOptional(win, "keywords", e.Keywords) addOptional(win, "opcode", e.Opcode) @@ -122,8 +124,6 @@ func (e Record) ToEvent() beat.Event { userData := addPairs(win, "user_data", e.UserData.Pairs) addOptional(userData, "xml_name", e.UserData.Name.Local) - addOptional(win, "xml", e.XML) - m := common.MapStr{ "winlog": win, } @@ -141,17 +141,7 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) addOptional(m, "error.message", e.RenderErr) - // Additional field mappings, when available - // What about the old windows (nested under user_data instead of event_data)? - - // Is this always the remote address? - // winlog.event_data.IpAddress => ? - // winlog.event_data.IpPort => ? - - // winlog.event_data.ProcessId => process.pid (hex to numeric) - // winlog.event_data.ProcessName => process.executable - // winlog.event_data.TargetUserSid => user.id - // winlog.event_data.TargetUserName => user.name + addOptional(m, "event.original", e.XML) return beat.Event{ Timestamp: e.TimeCreated.SystemTime, From cc7e4d5eb706f44195211040bc8ba4e26e2c8bac Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 14:22:17 -0500 Subject: [PATCH 08/27] go fmt yourself --- winlogbeat/eventlog/eventlog.go | 14 +++++++------- winlogbeat/sys/event.go | 1 - 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index b8cf17f87bb0..9573bbd95b48 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -84,12 +84,12 @@ type Record struct { func (e Record) ToEvent() beat.Event { // Windows Log Specific data win := common.MapStr{ - "channel": e.Channel, - "event": common.MapStr{"id":e.EventIdentifier.ID}, - "provider_name": e.Provider.Name, - "record_id": e.RecordID, - "task": e.Task, - "api": e.API, + "channel": e.Channel, + "event": common.MapStr{"id": e.EventIdentifier.ID}, + "provider_name": e.Provider.Name, + "record_id": e.RecordID, + "task": e.Task, + "api": e.API, } addOptional(win, "computer", e.Computer) addOptional(win, "level", e.Level) @@ -125,7 +125,7 @@ func (e Record) ToEvent() beat.Event { addOptional(userData, "xml_name", e.UserData.Name.Local) m := common.MapStr{ - "winlog": win, + "winlog": win, } // ECS data diff --git a/winlogbeat/sys/event.go b/winlogbeat/sys/event.go index a0428b2a4dc7..f113ba87f582 100644 --- a/winlogbeat/sys/event.go +++ b/winlogbeat/sys/event.go @@ -133,7 +133,6 @@ func (t *TimeCreated) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error // EventData contains the event data. The EventData section is used if the // message provider template does not contain a UserData section. type EventData struct { - // TargetUserName string `xml:"TargetUserName,attr"` Pairs []KeyValue `xml:",any"` } From 2b1fd374bf0394581a42747b2d13b09d4c6268fe Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 14:49:13 -0500 Subject: [PATCH 09/27] Small field name adjustments, improving consistency --- winlogbeat/_meta/fields.common.yml | 31 ++++++++---------------------- winlogbeat/eventlog/eventlog.go | 7 +++---- 2 files changed, 11 insertions(+), 27 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 3be10b979f9e..a8eb1c2e2988 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -1,7 +1,7 @@ -- key: common - title: "Common Winlogbeat" +- key: winlog + title: "Windows Event Log fields" description: > - Contains common fields available in all event types. + Fields from the Windows Event Log. fields: - name: winlog type: group @@ -48,7 +48,7 @@ `param2`, and so on, because event log parameters are unnamed in earlier versions of Windows. - - name: event.id + - name: event_id type: keyword required: true description: > @@ -67,11 +67,11 @@ The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. - - name: record_number + - name: record_id type: keyword required: true description: > - The record number of the event log record. The first record written + The record ID of the event log record. The first record written to an event log is record number 1, and other records are numbered sequentially. If the record number reaches the maximum value (2^32^ for the Event Logging API and 2^64^ for the Windows Event Log API), @@ -155,26 +155,11 @@ required: false description: The version number of the event's definition. - - name: xml - type: text - required: false - description: > - The raw XML representation of the event obtained from Windows. This - field is only available on operating systems supporting the Windows - Event Log API (Microsoft Windows Vista and newer). This field is not - included by default and must be enabled by setting `include_xml: true` - as a configuration option for an individual event log. - - - The XML representation of the event is useful for troubleshooting - purposes. The data in the fields reported by Winlogbeat can be compared - to the data in the XML to diagnose problems. - - - name: execution.process.pid + - name: process.pid type: long required: false - - name: execution.process.thread.id + - name: process.thread.id type: long required: false diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 9573bbd95b48..1186da3e084c 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -85,14 +85,13 @@ func (e Record) ToEvent() beat.Event { // Windows Log Specific data win := common.MapStr{ "channel": e.Channel, - "event": common.MapStr{"id": e.EventIdentifier.ID}, + "event_id": e.EventIdentifier.ID, "provider_name": e.Provider.Name, "record_id": e.RecordID, "task": e.Task, "api": e.API, } addOptional(win, "computer", e.Computer) - addOptional(win, "level", e.Level) addOptional(win, "kernel_time", e.Execution.KernelTime) addOptional(win, "keywords", e.Keywords) addOptional(win, "opcode", e.Opcode) @@ -107,8 +106,8 @@ func (e Record) ToEvent() beat.Event { addOptional(win, "activity_id", e.Correlation.ActivityID) addOptional(win, "related_activity_id", e.Correlation.RelatedActivityID) // Execution - addOptional(win, "execution.process.pid", e.Execution.ProcessID) - addOptional(win, "execution.process.thread.id", e.Execution.ThreadID) + addOptional(win, "process.pid", e.Execution.ProcessID) + addOptional(win, "process.thread.id", e.Execution.ThreadID) if e.User.Identifier != "" { user := common.MapStr{ From 97db4659d40d7f20f6268d2f36066765bf486134 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 15:03:09 -0500 Subject: [PATCH 10/27] Add all the aliases we can --- winlogbeat/_meta/fields.common.yml | 117 +++++ winlogbeat/docs/fields.asciidoc | 712 ++++++++++++++++++----------- winlogbeat/include/fields.go | 2 +- 3 files changed, 564 insertions(+), 267 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index a8eb1c2e2988..87662ea06149 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -178,3 +178,120 @@ required: false description: > The code for this log message (Windows event ID). + +# Aliases for the old fields + - name: type + type: alias + path: winlog.type + migration: true + + - name: activity_id + type: alias + path: winlog.activity_id + migration: true + + - name: computer_name + type: alias + path: winlog.computer_name + migration: true + + - name: event_id + type: alias + path: winlog.event_id + migration: true + + - name: keywords + type: alias + path: winlog.keywords + migration: true + + - name: log_name + type: alias + path: winlog.channel + migration: true + + - name: message_error + type: alias + path: error.message + migration: true + + - name: record_number + type: alias + path: winlog.record_id + migration: true + + - name: related_activity_id + type: alias + path: winlog.related_activity_id + migration: true + + - name: opcode + type: alias + path: winlog.opcode + migration: true + + - name: provider_guid + type: alias + path: winlog.provider_guid + migration: true + + - name: process_id + type: alias + path: winlog.process.pid + migration: true + + - name: source_name + type: alias + path: winlog.provider_name + migration: true + + - name: task + type: alias + path: winlog.task + migration: true + + - name: thread_id + type: alias + path: winlog.process.thread.id + migration: true + + - name: user_data + type: alias + path: winlog.user_data + migration: true + + - name: user.identifier + type: alias + path: winlog.user.identifier + migration: true + + - name: user.domain + type: alias + path: winlog.user.domain + migration: true + + - name: user.type + type: alias + path: winlog.user.type + migration: true + + - name: version + type: alias + path: winlog.version + migration: true + + - name: xml + type: alias + path: event.original + migration: true + description: > + The raw XML representation of the event obtained from Windows. This + field is only available on operating systems supporting the Windows + Event Log API (Microsoft Windows Vista and newer). This field is not + included by default and must be enabled by setting `include_xml: true` + as a configuration option for an individual event log. + + + The XML representation of the event is useful for troubleshooting + purposes. The data in the fields reported by Winlogbeat can be compared + to the data in the XML to diagnose problems. diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 882fa87f66e7..a71d0df46a32 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -14,13 +14,13 @@ grouped in the following categories: * <> * <> -* <> * <> * <> * <> * <> * <> * <> +* <> -- [[exported-fields-beat]] @@ -164,270 +164,6 @@ alias to: cloud.region -- -[[exported-fields-common]] -== Common Winlogbeat fields - -Contains common fields available in all event types. - - - -[float] -== winlog fields - -All fields specific to the Windows Event Log are defined here. - - - -*`winlog.channel`*:: -+ --- -type: keyword - -required: True - -The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. - - --- - -*`winlog.type`*:: -+ --- -required: True - -The event log API type used to read the record. The possible values are "wineventlog" for the Windows Event Log API or "eventlogging" for the Event Logging API. -The Event Logging API was designed for Windows Server 2003 or Windows 2000 operating systems. In Windows Vista, the event logging infrastructure was redesigned. On Windows Vista or later operating systems, the Windows Event Log API is used. Winlogbeat automatically detects which API to use for reading event logs. - - --- - -*`winlog.activity_id`*:: -+ --- -type: keyword - -required: False - -A globally unique identifier that identifies the current activity. The events that are published with this identifier are part of the same activity. - - --- - -*`winlog.event_data`*:: -+ --- -type: object - -required: False - -The event-specific data. This field is mutually exclusive with `user_data`. If you are capturing event data on versions prior to Windows Vista, the parameters in `event_data` are named `param1`, `param2`, and so on, because event log parameters are unnamed in earlier versions of Windows. - - --- - -*`winlog.event.id`*:: -+ --- -type: keyword - -required: True - -The event identifier. The value is specific to the source of the event. - - --- - -*`winlog.keywords`*:: -+ --- -type: keyword - -required: False - -The keywords are used to classify an event. - - --- - -*`winlog.computer_name`*:: -+ --- -type: keyword - -required: True - -The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. - - --- - -*`winlog.record_number`*:: -+ --- -type: keyword - -required: True - -The record number of the event log record. The first record written to an event log is record number 1, and other records are numbered sequentially. If the record number reaches the maximum value (2^32^ for the Event Logging API and 2^64^ for the Windows Event Log API), the next record number will be 0. - - --- - -*`winlog.related_activity_id`*:: -+ --- -type: keyword - -required: False - -A globally unique identifier that identifies the activity to which control was transferred to. The related events would then have this identifier as their `activity_id` identifier. - - --- - -*`winlog.opcode`*:: -+ --- -type: keyword - -required: False - -The opcode defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. - - --- - -*`winlog.provider_guid`*:: -+ --- -type: keyword - -required: False - -A globally unique identifier that identifies the provider that logged the event. - - --- - -*`winlog.provider_name`*:: -+ --- -type: keyword - -required: True - -The source of the event log record (the application or service that logged the record). - - --- - -*`winlog.task`*:: -+ --- -type: keyword - -required: False - -The task defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. The category used by the Event Logging API (on pre Windows Vista operating systems) is written to this field. - - --- - -*`winlog.user_data`*:: -+ --- -type: object - -required: False - -The event specific data. This field is mutually exclusive with `event_data`. - - --- - -*`winlog.user.identifier`*:: -+ --- -type: keyword - -example: S-1-5-21-3541430928-2051711210-1391384369-1001 - -required: False - -The Windows security identifier (SID) of the account associated with this event. - -If Winlogbeat cannot resolve the SID to a name, then the `user.name`, `user.domain`, and `user.type` fields will be omitted from the event. If you discover Winlogbeat not resolving SIDs, review the log for clues as to what the problem may be. - - --- - -*`winlog.user.domain`*:: -+ --- -type: keyword - -required: False - -The domain that the account associated with this event is a member of. - - --- - -*`winlog.user.type`*:: -+ --- -type: keyword - -required: False - -The type of account associated with this event. - - --- - -*`winlog.version`*:: -+ --- -type: long - -required: False - -The version number of the event's definition. - --- - -*`winlog.xml`*:: -+ --- -type: text - -required: False - -The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows Event Log API (Microsoft Windows Vista and newer). This field is not included by default and must be enabled by setting `include_xml: true` as a configuration option for an individual event log. - -The XML representation of the event is useful for troubleshooting purposes. The data in the fields reported by Winlogbeat can be compared to the data in the XML to diagnose problems. - - --- - -*`winlog.execution.process.pid`*:: -+ --- -type: long - -required: False - --- - -*`winlog.execution.process.thread.id`*:: -+ --- -type: long - -required: False - --- - [[exported-fields-docker-processor]] == Docker fields @@ -3549,7 +3285,201 @@ The code for this log message (Windows event ID). -- -[[exported-fields-host-processor]] +*`type`*:: ++ +-- +type: alias + +alias to: winlog.type + +-- + +*`activity_id`*:: ++ +-- +type: alias + +alias to: winlog.activity_id + +-- + +*`computer_name`*:: ++ +-- +type: alias + +alias to: winlog.computer_name + +-- + +*`event_id`*:: ++ +-- +type: alias + +alias to: winlog.event_id + +-- + +*`keywords`*:: ++ +-- +type: alias + +alias to: winlog.keywords + +-- + +*`log_name`*:: ++ +-- +type: alias + +alias to: winlog.channel + +-- + +*`message_error`*:: ++ +-- +type: alias + +alias to: error.message + +-- + +*`record_number`*:: ++ +-- +type: alias + +alias to: winlog.record_id + +-- + +*`related_activity_id`*:: ++ +-- +type: alias + +alias to: winlog.related_activity_id + +-- + +*`opcode`*:: ++ +-- +type: alias + +alias to: winlog.opcode + +-- + +*`provider_guid`*:: ++ +-- +type: alias + +alias to: winlog.provider_guid + +-- + +*`process_id`*:: ++ +-- +type: alias + +alias to: winlog.process.pid + +-- + +*`source_name`*:: ++ +-- +type: alias + +alias to: winlog.provider_name + +-- + +*`task`*:: ++ +-- +type: alias + +alias to: winlog.task + +-- + +*`thread_id`*:: ++ +-- +type: alias + +alias to: winlog.process.thread.id + +-- + +*`user_data`*:: ++ +-- +type: alias + +alias to: winlog.user_data + +-- + +*`user.identifier`*:: ++ +-- +type: alias + +alias to: winlog.user.identifier + +-- + +*`user.domain`*:: ++ +-- +type: alias + +alias to: winlog.user.domain + +-- + +*`user.type`*:: ++ +-- +type: alias + +alias to: winlog.user.type + +-- + +*`version`*:: ++ +-- +type: alias + +alias to: winlog.version + +-- + +*`xml`*:: ++ +-- +type: alias + +alias to: event.original + +The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows Event Log API (Microsoft Windows Vista and newer). This field is not included by default and must be enabled by setting `include_xml: true` as a configuration option for an individual event log. + +The XML representation of the event is useful for troubleshooting purposes. The data in the fields reported by Winlogbeat can be compared to the data in the XML to diagnose problems. + + +-- + +[[exported-fields-host-processor]] == Host fields Info collected for the host machine. @@ -3660,3 +3590,253 @@ alias to: process.executable -- +[[exported-fields-winlog]] +== Windows Event Log fields fields + +Fields from the Windows Event Log. + + + +[float] +== winlog fields + +All fields specific to the Windows Event Log are defined here. + + + +*`winlog.channel`*:: ++ +-- +type: keyword + +required: True + +The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. + + +-- + +*`winlog.type`*:: ++ +-- +required: True + +The event log API type used to read the record. The possible values are "wineventlog" for the Windows Event Log API or "eventlogging" for the Event Logging API. +The Event Logging API was designed for Windows Server 2003 or Windows 2000 operating systems. In Windows Vista, the event logging infrastructure was redesigned. On Windows Vista or later operating systems, the Windows Event Log API is used. Winlogbeat automatically detects which API to use for reading event logs. + + +-- + +*`winlog.activity_id`*:: ++ +-- +type: keyword + +required: False + +A globally unique identifier that identifies the current activity. The events that are published with this identifier are part of the same activity. + + +-- + +*`winlog.event_data`*:: ++ +-- +type: object + +required: False + +The event-specific data. This field is mutually exclusive with `user_data`. If you are capturing event data on versions prior to Windows Vista, the parameters in `event_data` are named `param1`, `param2`, and so on, because event log parameters are unnamed in earlier versions of Windows. + + +-- + +*`winlog.event_id`*:: ++ +-- +type: keyword + +required: True + +The event identifier. The value is specific to the source of the event. + + +-- + +*`winlog.keywords`*:: ++ +-- +type: keyword + +required: False + +The keywords are used to classify an event. + + +-- + +*`winlog.computer_name`*:: ++ +-- +type: keyword + +required: True + +The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. + + +-- + +*`winlog.record_id`*:: ++ +-- +type: keyword + +required: True + +The record ID of the event log record. The first record written to an event log is record number 1, and other records are numbered sequentially. If the record number reaches the maximum value (2^32^ for the Event Logging API and 2^64^ for the Windows Event Log API), the next record number will be 0. + + +-- + +*`winlog.related_activity_id`*:: ++ +-- +type: keyword + +required: False + +A globally unique identifier that identifies the activity to which control was transferred to. The related events would then have this identifier as their `activity_id` identifier. + + +-- + +*`winlog.opcode`*:: ++ +-- +type: keyword + +required: False + +The opcode defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. + + +-- + +*`winlog.provider_guid`*:: ++ +-- +type: keyword + +required: False + +A globally unique identifier that identifies the provider that logged the event. + + +-- + +*`winlog.provider_name`*:: ++ +-- +type: keyword + +required: True + +The source of the event log record (the application or service that logged the record). + + +-- + +*`winlog.task`*:: ++ +-- +type: keyword + +required: False + +The task defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. The category used by the Event Logging API (on pre Windows Vista operating systems) is written to this field. + + +-- + +*`winlog.user_data`*:: ++ +-- +type: object + +required: False + +The event specific data. This field is mutually exclusive with `event_data`. + + +-- + +*`winlog.user.identifier`*:: ++ +-- +type: keyword + +example: S-1-5-21-3541430928-2051711210-1391384369-1001 + +required: False + +The Windows security identifier (SID) of the account associated with this event. + +If Winlogbeat cannot resolve the SID to a name, then the `user.name`, `user.domain`, and `user.type` fields will be omitted from the event. If you discover Winlogbeat not resolving SIDs, review the log for clues as to what the problem may be. + + +-- + +*`winlog.user.domain`*:: ++ +-- +type: keyword + +required: False + +The domain that the account associated with this event is a member of. + + +-- + +*`winlog.user.type`*:: ++ +-- +type: keyword + +required: False + +The type of account associated with this event. + + +-- + +*`winlog.version`*:: ++ +-- +type: long + +required: False + +The version number of the event's definition. + +-- + +*`winlog.process.pid`*:: ++ +-- +type: long + +required: False + +-- + +*`winlog.process.thread.id`*:: ++ +-- +type: long + +required: False + +-- + diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 8a1b9ba0d1d6..58ef798a6658 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 8f79d97dd6ad96a6df042c68c6c45c83e94873c2 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 15:03:35 -0500 Subject: [PATCH 11/27] Reorder field defs for easier diffing --- winlogbeat/_meta/fields.common.yml | 40 ++++++++-------- winlogbeat/docs/fields.asciidoc | 74 ++++++++++++++---------------- winlogbeat/include/fields.go | 2 +- 3 files changed, 54 insertions(+), 62 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 87662ea06149..db91021dc915 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -9,13 +9,6 @@ All fields specific to the Windows Event Log are defined here. fields: - - name: channel - type: keyword - required: true - description: > - The name of the channel from which this record was read. This value is - one of the names from the `event_logs` collection in the configuration. - - name: type required: true description: > @@ -60,6 +53,13 @@ description: > The keywords are used to classify an event. + - name: channel + type: keyword + required: true + description: > + The name of the channel from which this record was read. This value is + one of the names from the `event_logs` collection in the configuration. + - name: computer_name type: keyword required: true @@ -100,6 +100,13 @@ A globally unique identifier that identifies the provider that logged the event. + - name: process.pid + type: long + required: false + description: > + The process_id of the Client Server Runtime Process. + + - name: provider_name type: keyword required: true @@ -116,6 +123,10 @@ logged. The category used by the Event Logging API (on pre Windows Vista operating systems) is written to this field. + - name: process.thread.id + type: long + required: false + - name: user_data type: object object_type: keyword @@ -155,14 +166,6 @@ required: false description: The version number of the event's definition. - - name: process.pid - type: long - required: false - - - name: process.thread.id - type: long - required: false - - key: eventlog title: Event log record description: > @@ -182,7 +185,7 @@ # Aliases for the old fields - name: type type: alias - path: winlog.type + path: winlog.api migration: true - name: activity_id @@ -255,11 +258,6 @@ path: winlog.process.thread.id migration: true - - name: user_data - type: alias - path: winlog.user_data - migration: true - - name: user.identifier type: alias path: winlog.user.identifier diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index a71d0df46a32..4c66d3a123c3 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3290,7 +3290,7 @@ The code for this log message (Windows event ID). -- type: alias -alias to: winlog.type +alias to: winlog.api -- @@ -3420,15 +3420,6 @@ alias to: winlog.process.thread.id -- -*`user_data`*:: -+ --- -type: alias - -alias to: winlog.user_data - --- - *`user.identifier`*:: + -- @@ -3604,18 +3595,6 @@ All fields specific to the Windows Event Log are defined here. -*`winlog.channel`*:: -+ --- -type: keyword - -required: True - -The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. - - --- - *`winlog.type`*:: + -- @@ -3673,6 +3652,18 @@ required: False The keywords are used to classify an event. +-- + +*`winlog.channel`*:: ++ +-- +type: keyword + +required: True + +The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. + + -- *`winlog.computer_name`*:: @@ -3733,6 +3724,18 @@ required: False A globally unique identifier that identifies the provider that logged the event. +-- + +*`winlog.process.pid`*:: ++ +-- +type: long + +required: False + +The process_id of the Client Server Runtime Process. + + -- *`winlog.provider_name`*:: @@ -3757,6 +3760,15 @@ required: False The task defined in the event. Task and opcode are typically used to identify the location in the application from where the event was logged. The category used by the Event Logging API (on pre Windows Vista operating systems) is written to this field. +-- + +*`winlog.process.thread.id`*:: ++ +-- +type: long + +required: False + -- *`winlog.user_data`*:: @@ -3822,21 +3834,3 @@ The version number of the event's definition. -- -*`winlog.process.pid`*:: -+ --- -type: long - -required: False - --- - -*`winlog.process.thread.id`*:: -+ --- -type: long - -required: False - --- - diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 58ef798a6658..ed7b4721071a 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 2103a8aaacf40228d26de4900aef71b735a537a2 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 15:11:55 -0500 Subject: [PATCH 12/27] Move nest message_error, not actually sure it maps to ECS --- winlogbeat/_meta/fields.common.yml | 11 +++++++++-- winlogbeat/docs/fields.asciidoc | 16 ++++++++++++++-- winlogbeat/eventlog/eventlog.go | 2 +- winlogbeat/include/fields.go | 2 +- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index db91021dc915..be8cbe5dd937 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -1,5 +1,5 @@ - key: winlog - title: "Windows Event Log fields" + title: "Windows Event Log fields emitted by Winlogbeat" description: > Fields from the Windows Event Log. fields: @@ -67,6 +67,13 @@ The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. + - name: message_error + type: keyword + required: false + description: > + The error that occurred while reading and formatting the message from + the log. + - name: record_id type: keyword required: true @@ -215,7 +222,7 @@ - name: message_error type: alias - path: error.message + path: winlog.message_error migration: true - name: record_number diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 4c66d3a123c3..7594a79362b6 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3344,7 +3344,7 @@ alias to: winlog.channel -- type: alias -alias to: error.message +alias to: winlog.message_error -- @@ -3582,7 +3582,7 @@ alias to: process.executable -- [[exported-fields-winlog]] -== Windows Event Log fields fields +== Windows Event Log fields emitted by Winlogbeat fields Fields from the Windows Event Log. @@ -3676,6 +3676,18 @@ required: True The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. +-- + +*`winlog.message_error`*:: ++ +-- +type: keyword + +required: False + +The error that occurred while reading and formatting the message from the log. + + -- *`winlog.record_id`*:: diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 1186da3e084c..3222afa83a2f 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -102,6 +102,7 @@ func (e Record) ToEvent() beat.Event { addOptional(win, "task", e.Task) addOptional(win, "user_time", e.Execution.UserTime) addOptional(win, "version", e.Version) + addOptional(win, "message_error", e.RenderErr) // Correlation addOptional(win, "activity_id", e.Correlation.ActivityID) addOptional(win, "related_activity_id", e.Correlation.RelatedActivityID) @@ -138,7 +139,6 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "log.level", strings.ToLower(e.Level)) addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) - addOptional(m, "error.message", e.RenderErr) addOptional(m, "event.original", e.XML) diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index ed7b4721071a..575306123a25 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From a67512877843c448445c94b44a0977bd1f54dcb5 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 16:05:31 -0500 Subject: [PATCH 13/27] Adjust the tests to the new field names Also fix small inconsistencies revealed by the tests --- winlogbeat/eventlog/eventlog.go | 4 +- winlogbeat/tests/system/test_eventlogging.py | 6 +- winlogbeat/tests/system/test_wineventlog.py | 59 ++++++++++---------- winlogbeat/tests/system/winlogbeat.py | 33 +++++------ 4 files changed, 52 insertions(+), 50 deletions(-) diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 3222afa83a2f..068c90ac23b1 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -91,7 +91,7 @@ func (e Record) ToEvent() beat.Event { "task": e.Task, "api": e.API, } - addOptional(win, "computer", e.Computer) + addOptional(win, "computer_name", e.Computer) addOptional(win, "kernel_time", e.Execution.KernelTime) addOptional(win, "keywords", e.Keywords) addOptional(win, "opcode", e.Opcode) @@ -112,7 +112,7 @@ func (e Record) ToEvent() beat.Event { if e.User.Identifier != "" { user := common.MapStr{ - "id": e.User.Identifier, + "identifier": e.User.Identifier, } win["user"] = user addOptional(user, "name", e.User.Name) diff --git a/winlogbeat/tests/system/test_eventlogging.py b/winlogbeat/tests/system/test_eventlogging.py index 2cc635bdc4e8..111cd2941f84 100644 --- a/winlogbeat/tests/system/test_eventlogging.py +++ b/winlogbeat/tests/system/test_eventlogging.py @@ -61,7 +61,7 @@ def test_read_unknown_event_id(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], eventID=event_id) - self.assertEqual(evts[0]["message_error"].lower(), + self.assertEqual(evts[0]["winlog.message_error"].lower(), ("The system cannot find message text for message " "number 1111 in the message file for " "C:\\Windows\\system32\\EventCreate.exe.").lower()) @@ -88,7 +88,7 @@ def test_fields_under_root(self): self.write_event_log(msg) evts = self.read_events(config={ "tags": ["global"], - "fields": {"global": "field", "env": "prod", "level": "overwrite"}, + "fields": {"global": "field", "env": "prod", "log.level": "overwrite"}, "fields_under_root": True, "event_logs": [ { @@ -151,7 +151,7 @@ def test_ignore_older(self): ] }, expected_events=1) self.assertTrue(len(evts), 1) - self.assertEqual(evts[0]["event_id"], 10) + self.assertEqual(evts[0]["winlog.event_id"], 10) def test_unknown_eventlog_config(self): """ diff --git a/winlogbeat/tests/system/test_wineventlog.py b/winlogbeat/tests/system/test_wineventlog.py index fc71c9d1693d..b3a26b928c18 100644 --- a/winlogbeat/tests/system/test_wineventlog.py +++ b/winlogbeat/tests/system/test_wineventlog.py @@ -30,8 +30,8 @@ def test_read_one_event(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", }) def test_resume_reading_events(self): @@ -43,8 +43,8 @@ def test_resume_reading_events(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", }) # remove the output file, otherwise there is a race condition @@ -57,8 +57,8 @@ def test_resume_reading_events(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", }) def test_read_unknown_event_id(self): @@ -71,11 +71,11 @@ def test_read_unknown_event_id(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], eventID=event_id, extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", }) # Oddly, no rendering error is being given. - self.assertTrue("message_error" not in evts[0]) + self.assertTrue("winlog.message_error" not in evts[0]) def test_read_unknown_sid(self): """ @@ -90,8 +90,8 @@ def test_read_unknown_sid(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, sid=accountIdentifier, extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", }) def test_fields_under_root(self): @@ -102,7 +102,7 @@ def test_fields_under_root(self): self.write_event_log(msg) evts = self.read_events(config={ "tags": ["global"], - "fields": {"global": "field", "env": "prod", "level": "overwrite"}, + "fields": {"global": "field", "env": "prod", "log.level": "overwrite"}, "fields_under_root": True, "event_logs": [ { @@ -116,8 +116,8 @@ def test_fields_under_root(self): }) self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, level="overwrite", extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", "global": "field", "env": "dev", "local": "field", @@ -142,8 +142,8 @@ def test_fields_not_under_root(self): }) self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, extra={ - "keywords": ["Classic"], - "opcode": "Info", + "winlog.keywords": ["Classic"], + "winlog.opcode": "Info", "fields.global": "field", "fields.env": "dev", "fields.level": "overwrite", @@ -169,9 +169,10 @@ def test_include_xml(self): }) self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg) - self.assertTrue("xml" in evts[0]) - self.assertTrue(evts[0]["xml"].endswith(''), - 'xml value: "{}"'.format(evts[0]["xml"])) + self.assertTrue("event.original" in evts[0]) + original = evts[0]["event.original"] + self.assertTrue(original.endswith(''), + 'xml value: "{}"'.format(original)) def test_query_event_id(self): """ @@ -195,10 +196,10 @@ def test_query_event_id(self): ] }, expected_events=4) self.assertTrue(len(evts), 4) - self.assertEqual(evts[0]["event_id"], 50) - self.assertEqual(evts[1]["event_id"], 100) - self.assertEqual(evts[2]["event_id"], 175) - self.assertEqual(evts[3]["event_id"], 200) + self.assertEqual(evts[0]["winlog.event_id"], 50) + self.assertEqual(evts[1]["winlog.event_id"], 100) + self.assertEqual(evts[2]["winlog.event_id"], 175) + self.assertEqual(evts[3]["winlog.event_id"], 200) def test_query_level_single(self): """ @@ -220,7 +221,7 @@ def test_query_level_single(self): ] }) self.assertTrue(len(evts), 1) - self.assertEqual(evts[0]["level"], "Warning") + self.assertEqual(evts[0]["log.level"], "warning") def test_query_level_multiple(self): """ @@ -244,8 +245,8 @@ def test_query_level_multiple(self): ] }, expected_events=2) self.assertTrue(len(evts), 2) - self.assertEqual(evts[0]["level"], "Error") - self.assertEqual(evts[1]["level"], "Warning") + self.assertEqual(evts[0]["log.level"], "error") + self.assertEqual(evts[1]["log.level"], "warning") def test_query_ignore_older(self): """ @@ -264,11 +265,11 @@ def test_query_ignore_older(self): ] }) self.assertTrue(len(evts), 1) - self.assertEqual(evts[0]["event_id"], 10) + self.assertEqual(evts[0]["winlog.event_id"], 10) def test_query_provider(self): """ - wineventlog - Query by provider (event source) + wineventlog - Query by provider name """ self.write_event_log("selected", source=self.otherAppName) self.write_event_log("filtered") @@ -282,7 +283,7 @@ def test_query_provider(self): ] }) self.assertTrue(len(evts), 1) - self.assertEqual(evts[0]["source_name"], self.otherAppName) + self.assertEqual(evts[0]["winlog.provider_name"], self.otherAppName) def test_query_multi_param(self): """ diff --git a/winlogbeat/tests/system/winlogbeat.py b/winlogbeat/tests/system/winlogbeat.py index 3c278e6399e1..c2526748fddc 100644 --- a/winlogbeat/tests/system/winlogbeat.py +++ b/winlogbeat/tests/system/winlogbeat.py @@ -128,34 +128,35 @@ def read_registry(self, requireBookmark=False): return event_logs def assert_common_fields(self, evt, msg=None, eventID=10, sid=None, - level="Information", extra=None): + level="information", extra=None): - assert host_name(evt["computer_name"]).lower() == host_name(platform.node()).lower() - assert "record_number" in evt + print("EVT: {}\n", evt) + assert host_name(evt["winlog.computer_name"]).lower() == host_name(platform.node()).lower() + assert "winlog.record_id" in evt self.assertDictContainsSubset({ - "event_id": eventID, - "level": level, - "log_name": self.providerName, - "source_name": self.applicationName, - "type": self.api, + "winlog.event_id": eventID, + "log.level": level.lower(), + "winlog.channel": self.providerName, + "winlog.provider_name": self.applicationName, + "winlog.api": self.api, }, evt) if msg == None: assert "message" not in evt else: self.assertEquals(evt["message"], msg) - self.assertDictContainsSubset({"event_data.param1": msg}, evt) + self.assertDictContainsSubset({"winlog.event_data.param1": msg}, evt) if sid == None: - self.assertEquals(evt["user.identifier"], self.get_sid_string()) - self.assertEquals(evt["user.name"].lower(), + self.assertEquals(evt["winlog.user.identifier"], self.get_sid_string()) + self.assertEquals(evt["winlog.user.name"].lower(), win32api.GetUserName().lower()) - self.assertEquals(evt["user.type"], "User") - assert "user.domain" in evt + self.assertEquals(evt["winlog.user.type"], "User") + assert "winlog.user.domain" in evt else: - self.assertEquals(evt["user.identifier"], sid) - assert "user.name" not in evt - assert "user.type" not in evt + self.assertEquals(evt["winlog.user.identifier"], sid) + assert "winlog.user.name" not in evt + assert "winlog.user.type" not in evt if extra != None: self.assertDictContainsSubset(extra, evt) From 77dc2d474011bc7042f9b55f50b07f2c305eecef Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 1 Feb 2019 16:34:30 -0500 Subject: [PATCH 14/27] Minor improvements --- winlogbeat/tests/system/test_eventlogging.py | 2 ++ winlogbeat/tests/system/test_wineventlog.py | 6 ++++-- winlogbeat/tests/system/winlogbeat.py | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/winlogbeat/tests/system/test_eventlogging.py b/winlogbeat/tests/system/test_eventlogging.py index 111cd2941f84..d8b2f9a76376 100644 --- a/winlogbeat/tests/system/test_eventlogging.py +++ b/winlogbeat/tests/system/test_eventlogging.py @@ -126,6 +126,7 @@ def test_fields_not_under_root(self): }) self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, extra={ + "log.level": "information", "fields.global": "field", "fields.env": "dev", "fields.level": "overwrite", @@ -152,6 +153,7 @@ def test_ignore_older(self): }, expected_events=1) self.assertTrue(len(evts), 1) self.assertEqual(evts[0]["winlog.event_id"], 10) + self.assertEqual(evts[0]["event.code"], 10) def test_unknown_eventlog_config(self): """ diff --git a/winlogbeat/tests/system/test_wineventlog.py b/winlogbeat/tests/system/test_wineventlog.py index b3a26b928c18..cdfb205de413 100644 --- a/winlogbeat/tests/system/test_wineventlog.py +++ b/winlogbeat/tests/system/test_wineventlog.py @@ -142,6 +142,7 @@ def test_fields_not_under_root(self): }) self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], msg=msg, extra={ + "log.level": "information", "winlog.keywords": ["Classic"], "winlog.opcode": "Info", "fields.global": "field", @@ -172,7 +173,7 @@ def test_include_xml(self): self.assertTrue("event.original" in evts[0]) original = evts[0]["event.original"] self.assertTrue(original.endswith(''), - 'xml value: "{}"'.format(original)) + 'xml value should end with : "{}"'.format(original)) def test_query_event_id(self): """ @@ -266,10 +267,11 @@ def test_query_ignore_older(self): }) self.assertTrue(len(evts), 1) self.assertEqual(evts[0]["winlog.event_id"], 10) + self.assertEqual(evts[0]["event.code"], 10) def test_query_provider(self): """ - wineventlog - Query by provider name + wineventlog - Query by provider name (event source) """ self.write_event_log("selected", source=self.otherAppName) self.write_event_log("filtered") diff --git a/winlogbeat/tests/system/winlogbeat.py b/winlogbeat/tests/system/winlogbeat.py index c2526748fddc..6d84f851358b 100644 --- a/winlogbeat/tests/system/winlogbeat.py +++ b/winlogbeat/tests/system/winlogbeat.py @@ -135,6 +135,7 @@ def assert_common_fields(self, evt, msg=None, eventID=10, sid=None, assert "winlog.record_id" in evt self.assertDictContainsSubset({ "winlog.event_id": eventID, + "event.code": eventID, "log.level": level.lower(), "winlog.channel": self.providerName, "winlog.provider_name": self.applicationName, From 3351e81603d72c5749242c9deba40ca5c60eb1d6 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 15:34:14 -0500 Subject: [PATCH 15/27] Remove debugging statement, remove host.hostname and dataset from events --- winlogbeat/eventlog/eventlog.go | 2 -- winlogbeat/tests/system/winlogbeat.py | 1 - 2 files changed, 3 deletions(-) diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 068c90ac23b1..18659232f867 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -130,11 +130,9 @@ func (e Record) ToEvent() beat.Event { // ECS data m.Put("event.kind", "event") - m.Put("event.dataset", fmt.Sprintf("%v.%v", e.API, strings.ToLower(e.Channel))) m.Put("event.code", e.EventIdentifier.ID) addOptional(m, "event.action", e.Task) - m.Put("host.hostname", e.Computer) m.Put("event.created", time.Now()) addOptional(m, "log.level", strings.ToLower(e.Level)) diff --git a/winlogbeat/tests/system/winlogbeat.py b/winlogbeat/tests/system/winlogbeat.py index 6d84f851358b..abf31a7ec59c 100644 --- a/winlogbeat/tests/system/winlogbeat.py +++ b/winlogbeat/tests/system/winlogbeat.py @@ -130,7 +130,6 @@ def read_registry(self, requireBookmark=False): def assert_common_fields(self, evt, msg=None, eventID=10, sid=None, level="information", extra=None): - print("EVT: {}\n", evt) assert host_name(evt["winlog.computer_name"]).lower() == host_name(platform.node()).lower() assert "winlog.record_id" in evt self.assertDictContainsSubset({ From 8bbebdd3f697c595bb9066603dbba24a0c729d08 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 15:46:08 -0500 Subject: [PATCH 16/27] Make sur all fields defined in same order, for diffing purposes --- winlogbeat/_meta/fields.common.yml | 14 +++++++------- winlogbeat/docs/fields.asciidoc | 24 ++++++++++++------------ winlogbeat/include/fields.go | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index be8cbe5dd937..7a265396344e 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -30,6 +30,13 @@ events that are published with this identifier are part of the same activity. + - name: computer_name + type: keyword + required: true + description: > + The name of the computer that generated the record. When using Windows + event forwarding, this name can differ from `agent.hostname`. + - name: event_data type: object object_type: keyword @@ -60,13 +67,6 @@ The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. - - name: computer_name - type: keyword - required: true - description: > - The name of the computer that generated the record. When using Windows - event forwarding, this name can differ from `agent.hostname`. - - name: message_error type: keyword required: false diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 7594a79362b6..75cf86379954 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3616,6 +3616,18 @@ required: False A globally unique identifier that identifies the current activity. The events that are published with this identifier are part of the same activity. +-- + +*`winlog.computer_name`*:: ++ +-- +type: keyword + +required: True + +The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. + + -- *`winlog.event_data`*:: @@ -3664,18 +3676,6 @@ required: True The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. --- - -*`winlog.computer_name`*:: -+ --- -type: keyword - -required: True - -The name of the computer that generated the record. When using Windows event forwarding, this name can differ from `agent.hostname`. - - -- *`winlog.message_error`*:: diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 575306123a25..3a8053237521 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 1e37c2ef4a30a8b46eb2fbedfb0d8183a9c0bd20 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 15:54:06 -0500 Subject: [PATCH 17/27] Remove field defs used for debugging --- winlogbeat/_meta/fields.common.yml | 4 ---- winlogbeat/docs/fields.asciidoc | 9 --------- winlogbeat/include/fields.go | 2 +- 3 files changed, 1 insertion(+), 14 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 7a265396344e..dda8a7ba6f4e 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -178,10 +178,6 @@ description: > Contains data from a Windows event log record. fields: - - name: user_dbg - type: object - required: false - # Candidate to add to ECS? - name: event.code type: keyword diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 75cf86379954..70674bdb8073 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3264,15 +3264,6 @@ Contains data from a Windows event log record. -*`user_dbg`*:: -+ --- -type: object - -required: False - --- - *`event.code`*:: + -- diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 3a8053237521..6043818c2b96 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 8d311f10af7c2768188b2a516f57cd25178d396e Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 16:26:49 -0500 Subject: [PATCH 18/27] Changelog --- CHANGELOG.next.asciidoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index fea0d7d09ef3..9dd6da9bec0f 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -133,6 +133,8 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d *Winlogbeat* +- Adjust Winlogbeat fields to map to ECS. {pull}10333[10333] + *Functionbeat* - Correctly normalize Cloudformation resource name. {issue}10087[10087] From b917cbb1e332ce3a0807984922d1ca8cd2badfb5 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 16:41:46 -0500 Subject: [PATCH 19/27] Improve how event.code and event.original are defined in fields.yml --- winlogbeat/_meta/fields.common.yml | 39 +++++++++++++++--------------- winlogbeat/docs/fields.asciidoc | 38 ++++++++++++++++------------- winlogbeat/include/fields.go | 2 +- 3 files changed, 42 insertions(+), 37 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index dda8a7ba6f4e..43e960e4d387 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -3,6 +3,25 @@ description: > Fields from the Windows Event Log. fields: + # Candidate to add to ECS + - name: event.code + type: keyword + required: false + description: > + The code for this log message (Windows event ID). + + - name: event.original + description: > + The raw XML representation of the event obtained from Windows. This + field is only available on operating systems supporting the Windows + Event Log API (Microsoft Windows Vista and newer). This field is not + included by default and must be enabled by setting `include_xml: true` + as a configuration option for an individual event log. + + The XML representation of the event is useful for troubleshooting + purposes. The data in the fields reported by Winlogbeat can be compared + to the data in the XML to diagnose problems. + - name: winlog type: group description: > @@ -173,19 +192,12 @@ required: false description: The version number of the event's definition. +# Aliases for the old fields - key: eventlog title: Event log record description: > Contains data from a Windows event log record. fields: - # Candidate to add to ECS? - - name: event.code - type: keyword - required: false - description: > - The code for this log message (Windows event ID). - -# Aliases for the old fields - name: type type: alias path: winlog.api @@ -285,14 +297,3 @@ type: alias path: event.original migration: true - description: > - The raw XML representation of the event obtained from Windows. This - field is only available on operating systems supporting the Windows - Event Log API (Microsoft Windows Vista and newer). This field is not - included by default and must be enabled by setting `include_xml: true` - as a configuration option for an individual event log. - - - The XML representation of the event is useful for troubleshooting - purposes. The data in the fields reported by Winlogbeat can be compared - to the data in the XML to diagnose problems. diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 70674bdb8073..0ee2e1ecb6a8 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3264,18 +3264,6 @@ Contains data from a Windows event log record. -*`event.code`*:: -+ --- -type: keyword - -required: False - -The code for this log message (Windows event ID). - - --- - *`type`*:: + -- @@ -3454,11 +3442,6 @@ type: alias alias to: event.original -The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows Event Log API (Microsoft Windows Vista and newer). This field is not included by default and must be enabled by setting `include_xml: true` as a configuration option for an individual event log. - -The XML representation of the event is useful for troubleshooting purposes. The data in the fields reported by Winlogbeat can be compared to the data in the XML to diagnose problems. - - -- [[exported-fields-host-processor]] @@ -3579,6 +3562,27 @@ Fields from the Windows Event Log. +*`event.code`*:: ++ +-- +type: keyword + +required: False + +The code for this log message (Windows event ID). + + +-- + +*`event.original`*:: ++ +-- +The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows Event Log API (Microsoft Windows Vista and newer). This field is not included by default and must be enabled by setting `include_xml: true` as a configuration option for an individual event log. +The XML representation of the event is useful for troubleshooting purposes. The data in the fields reported by Winlogbeat can be compared to the data in the XML to diagnose problems. + + +-- + [float] == winlog fields diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 6043818c2b96..8b82c3cf0dc9 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 7ca07a8a48980fbbf7e3e6fd06a80314f9d2d35e Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 16:42:40 -0500 Subject: [PATCH 20/27] Document all field migrations in ecs-migration.yml --- dev-tools/ecs-migration.yml | 115 ++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/dev-tools/ecs-migration.yml b/dev-tools/ecs-migration.yml index 5f7f578c7a55..9ae18aa26389 100644 --- a/dev-tools/ecs-migration.yml +++ b/dev-tools/ecs-migration.yml @@ -2032,3 +2032,118 @@ to: event.created alias: true beat: journalbeat + +## Winlogbeat + +# Alias to ECS fields + +- from: xml + to: event.original + alias: true + beat: winlogbeat + +- from: level + to: log.level + alias: true + beat: winlogbeat + +# Move fields to winlog.* section, to reduce chances of top level field name conflicts. + +# renames to match Windows Event Log naming + +- from: type + to: winlog.api + alias: true + beat: winlogbeat + +- from: log_name + to: winlog.channel + alias: true + beat: winlogbeat + +- from: record_number + to: winlog.record_id + alias: true + beat: winlogbeat + +- from: process_id + to: winlog.process.pid + alias: true + beat: winlogbeat + +- from: source_name + to: winlog.provider_name + alias: true + beat: winlogbeat + +- from: thread_id + to: winlog.process.thread.id + alias: true + beat: winlogbeat + +# Fields moved without adjusting the name + +- from: activity_id + to: winlog. + alias: true + beat: winlogbeat + +- from: computer_name + to: winlog.computer_name + alias: true + beat: winlogbeat + +- from: event_id + to: winlog.event_id + alias: true + beat: winlogbeat + +- from: keywords + to: winlog.keywords + alias: true + beat: winlogbeat + +- from: message_error + to: winlog.message_error + alias: true + beat: winlogbeat + +- from: related_activity_id + to: winlog.related_activity_id + alias: true + beat: winlogbeat + +- from: opcode + to: winlog.opcode + alias: true + beat: winlogbeat + +- from: provider_guid + to: winlog.provider_guid + alias: true + beat: winlogbeat + +- from: task + to: winlog.task + alias: true + beat: winlogbeat + +- from: user.identifier + to: winlog.user.identifier + alias: true + beat: winlogbeat + +- from: user.domain + to: winlog.user.domain + alias: true + beat: winlogbeat + +- from: user.type + to: winlog.user.type + alias: true + beat: winlogbeat + +- from: version + to: winlog.version + alias: true + beat: winlogbeat From bf2a668dee44b40402225b4e8a5c98176ceeef53 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 16:48:09 -0500 Subject: [PATCH 21/27] Modify documentation to match field names now emitted by Winlogbeat --- winlogbeat/docs/winlogbeat-filtering.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winlogbeat/docs/winlogbeat-filtering.asciidoc b/winlogbeat/docs/winlogbeat-filtering.asciidoc index 08248b9e0b11..c6fd80e2250b 100644 --- a/winlogbeat/docs/winlogbeat-filtering.asciidoc +++ b/winlogbeat/docs/winlogbeat-filtering.asciidoc @@ -9,7 +9,7 @@ For example, the following filter configuration drops a few fields that are rare ----------------------------------------------------- processors: - drop_fields: - fields: [provider_guid, process_id, thread_id, version, event_data.ErrorSourceTable] + fields: [winlog.provider_guid, winlog.process.pid, winlog.process.thread.id, winlog.version, winlog.event_data.ErrorSourceTable] ----------------------------------------------------- include::{libbeat-dir}/docs/processors-using.asciidoc[] From 8125638a6deea427d6310ed520ce45154dbd7586 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 16:51:49 -0500 Subject: [PATCH 22/27] Space. The final frontier. --- winlogbeat/_meta/fields.common.yml | 1 - winlogbeat/include/fields.go | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 43e960e4d387..0d2589a5d9a9 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -132,7 +132,6 @@ description: > The process_id of the Client Server Runtime Process. - - name: provider_name type: keyword required: true diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 8b82c3cf0dc9..97f87073c46b 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 798b0f86827e11fe38bd6f552f48ee405e7a6c5b Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 16:59:11 -0500 Subject: [PATCH 23/27] Set overwrite:true on the re-definition of event.original. --- winlogbeat/_meta/fields.common.yml | 1 + winlogbeat/include/fields.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index 0d2589a5d9a9..cc0286d183ff 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -11,6 +11,7 @@ The code for this log message (Windows event ID). - name: event.original + overwrite: true description: > The raw XML representation of the event obtained from Windows. This field is only available on operating systems supporting the Windows diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index 97f87073c46b..f249c7375c0a 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } From 0e5b0b959088659f8308f4fcdbab1ddf661543a7 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 22:05:52 -0500 Subject: [PATCH 24/27] Migrate message_error to error.message. Populate error.code (new) --- dev-tools/ecs-migration.yml | 2 +- winlogbeat/_meta/fields.common.yml | 9 +-------- winlogbeat/docs/fields.asciidoc | 14 +------------- winlogbeat/eventlog/eventlog.go | 4 +++- winlogbeat/eventlog/wineventlog.go | 2 +- winlogbeat/include/fields.go | 2 +- winlogbeat/tests/system/test_eventlogging.py | 2 +- winlogbeat/tests/system/test_wineventlog.py | 2 +- 8 files changed, 10 insertions(+), 27 deletions(-) diff --git a/dev-tools/ecs-migration.yml b/dev-tools/ecs-migration.yml index 9ae18aa26389..62f3400b83d8 100644 --- a/dev-tools/ecs-migration.yml +++ b/dev-tools/ecs-migration.yml @@ -2104,7 +2104,7 @@ beat: winlogbeat - from: message_error - to: winlog.message_error + to: error.message alias: true beat: winlogbeat diff --git a/winlogbeat/_meta/fields.common.yml b/winlogbeat/_meta/fields.common.yml index cc0286d183ff..f5d129a8ac0c 100644 --- a/winlogbeat/_meta/fields.common.yml +++ b/winlogbeat/_meta/fields.common.yml @@ -87,13 +87,6 @@ The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. - - name: message_error - type: keyword - required: false - description: > - The error that occurred while reading and formatting the message from - the log. - - name: record_id type: keyword required: true @@ -230,7 +223,7 @@ - name: message_error type: alias - path: winlog.message_error + path: error.message migration: true - name: record_number diff --git a/winlogbeat/docs/fields.asciidoc b/winlogbeat/docs/fields.asciidoc index 0ee2e1ecb6a8..b7003f99662f 100644 --- a/winlogbeat/docs/fields.asciidoc +++ b/winlogbeat/docs/fields.asciidoc @@ -3323,7 +3323,7 @@ alias to: winlog.channel -- type: alias -alias to: winlog.message_error +alias to: error.message -- @@ -3671,18 +3671,6 @@ required: True The name of the channel from which this record was read. This value is one of the names from the `event_logs` collection in the configuration. --- - -*`winlog.message_error`*:: -+ --- -type: keyword - -required: False - -The error that occurred while reading and formatting the message from the log. - - -- *`winlog.record_id`*:: diff --git a/winlogbeat/eventlog/eventlog.go b/winlogbeat/eventlog/eventlog.go index 18659232f867..8d3ed476afcf 100644 --- a/winlogbeat/eventlog/eventlog.go +++ b/winlogbeat/eventlog/eventlog.go @@ -102,7 +102,6 @@ func (e Record) ToEvent() beat.Event { addOptional(win, "task", e.Task) addOptional(win, "user_time", e.Execution.UserTime) addOptional(win, "version", e.Version) - addOptional(win, "message_error", e.RenderErr) // Correlation addOptional(win, "activity_id", e.Correlation.ActivityID) addOptional(win, "related_activity_id", e.Correlation.RelatedActivityID) @@ -137,6 +136,9 @@ func (e Record) ToEvent() beat.Event { addOptional(m, "log.level", strings.ToLower(e.Level)) addOptional(m, "message", sys.RemoveWindowsLineEndings(e.Message)) + // Errors + addOptional(m, "error.code", e.RenderErrorCode) + addOptional(m, "error.message", e.RenderErr) addOptional(m, "event.original", e.XML) diff --git a/winlogbeat/eventlog/wineventlog.go b/winlogbeat/eventlog/wineventlog.go index 6a5417849120..b43981924cdd 100644 --- a/winlogbeat/eventlog/wineventlog.go +++ b/winlogbeat/eventlog/wineventlog.go @@ -243,7 +243,7 @@ func (l *winEventLog) buildRecordFromXML(x []byte, recoveredErr error) (Record, if e.RenderErrorCode != 0 { // Convert the render error code to an error message that can be - // included in the "message_error" field. + // included in the "error.message" field. e.RenderErr = syscall.Errno(e.RenderErrorCode).Error() } else if recoveredErr != nil { e.RenderErr = recoveredErr.Error() diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index f249c7375c0a..6a4821f55ac3 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/winlogbeat/tests/system/test_eventlogging.py b/winlogbeat/tests/system/test_eventlogging.py index d8b2f9a76376..455d154ecc01 100644 --- a/winlogbeat/tests/system/test_eventlogging.py +++ b/winlogbeat/tests/system/test_eventlogging.py @@ -61,7 +61,7 @@ def test_read_unknown_event_id(self): evts = self.read_events() self.assertTrue(len(evts), 1) self.assert_common_fields(evts[0], eventID=event_id) - self.assertEqual(evts[0]["winlog.message_error"].lower(), + self.assertEqual(evts[0]["error.message"].lower(), ("The system cannot find message text for message " "number 1111 in the message file for " "C:\\Windows\\system32\\EventCreate.exe.").lower()) diff --git a/winlogbeat/tests/system/test_wineventlog.py b/winlogbeat/tests/system/test_wineventlog.py index cdfb205de413..df649fd14532 100644 --- a/winlogbeat/tests/system/test_wineventlog.py +++ b/winlogbeat/tests/system/test_wineventlog.py @@ -75,7 +75,7 @@ def test_read_unknown_event_id(self): "winlog.opcode": "Info", }) # Oddly, no rendering error is being given. - self.assertTrue("winlog.message_error" not in evts[0]) + self.assertTrue("error.message" not in evts[0]) def test_read_unknown_sid(self): """ From 58c08c5846330a442775e7264ce114e0c0157888 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 23:22:03 -0500 Subject: [PATCH 25/27] Update dashboard to the new field names --- .../7/dashboard/Winlogbeat-overview.json | 532 ++++++------------ 1 file changed, 175 insertions(+), 357 deletions(-) diff --git a/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json b/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json index 21f3e80cc866..820183d2ed82 100644 --- a/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json +++ b/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json @@ -1,366 +1,184 @@ { - "objects": [ + "objects": [ + { + "attributes": { + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\": [{\"query\": {\"query_string\": {\"analyze_wildcard\": true, \"query\": \"*\"}}}]}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"size_x\":9,\"size_y\":4,\"panelIndex\":1,\"col\":4,\"row\":1,\"panelRefName\":\"panel_0\"},{\"size_x\":3,\"size_y\":4,\"panelIndex\":3,\"col\":1,\"row\":1,\"panelRefName\":\"panel_1\"},{\"size_x\":4,\"size_y\":4,\"panelIndex\":4,\"col\":5,\"row\":5,\"panelRefName\":\"panel_2\"},{\"size_x\":4,\"size_y\":4,\"panelIndex\":5,\"col\":9,\"row\":5,\"panelRefName\":\"panel_3\"},{\"size_x\":4,\"size_y\":4,\"panelIndex\":6,\"col\":1,\"row\":5,\"panelRefName\":\"panel_4\"}]", + "timeRestore": false, + "title": "Winlogbeat Dashboard", + "uiStateJSON": "{}", + "version": 1 + }, + "id": "Winlogbeat-Dashboard", + "migrationVersion": { + "dashboard": "7.0.0" + }, + "references": [ { - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "index": "winlogbeat-*", - "query": { - "query_string": { - "analyze_wildcard": true, - "query": "*" - } - } - } - }, - "title": "Number of Events Over Time By Event Log", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "id": "2", - "params": { - "customInterval": "2h", - "extended_bounds": {}, - "field": "@timestamp", - "interval": "auto", - "min_doc_count": 1 - }, - "schema": "segment", - "type": "date_histogram" - }, - { - "id": "3", - "params": { - "field": "log_name", - "order": "desc", - "orderBy": "1", - "size": 6 - }, - "schema": "group", - "type": "terms" - } - ], - "listeners": {}, - "params": { - "addLegend": true, - "addTimeMarker": false, - "addTooltip": true, - "defaultYExtents": false, - "mode": "stacked", - "scale": "linear", - "setYExtents": false, - "shareYAxis": true, - "times": [], - "yAxis": {} - }, - "type": "histogram" - } - }, - "id": "Number-of-Events-Over-Time-By-Event-Log", - "type": "visualization", - "version": 1 - }, + "id": "Number-of-Events-Over-Time-By-Event-Log", + "name": "panel_0", + "type": "visualization" + }, { - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "index": "winlogbeat-*", - "query": { - "query_string": { - "analyze_wildcard": true, - "query": "*" - } - } - } - }, - "title": "Number of Events", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - } - ], - "listeners": {}, - "params": { - "fontSize": 60 - }, - "type": "metric" - } - }, - "id": "Number-of-Events", - "type": "visualization", - "version": 1 - }, + "id": "Number-of-Events", + "name": "panel_1", + "type": "visualization" + }, { - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "index": "winlogbeat-*", - "query": { - "query_string": { - "analyze_wildcard": true, - "query": "*" - } - } - } - }, - "title": "Top Event IDs", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "id": "2", - "params": { - "field": "event_id", - "order": "desc", - "orderBy": "1", - "size": 5 - }, - "schema": "bucket", - "type": "terms" - } - ], - "listeners": {}, - "params": { - "perPage": 10, - "showMeticsAtAllLevels": false, - "showPartialRows": false - }, - "type": "table" - } - }, - "id": "Top-Event-IDs", - "type": "visualization", - "version": 1 - }, + "id": "Top-Event-IDs", + "name": "panel_2", + "type": "visualization" + }, { - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "index": "winlogbeat-*", - "query": { - "query_string": { - "analyze_wildcard": true, - "query": "*" - } - } - } - }, - "title": "Event Levels", - "uiStateJSON": { - "vis": { - "params": { - "sort": { - "columnIndex": null, - "direction": null - } - } - } - }, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "level", - "order": "desc", - "orderBy": "1", - "size": 5 - }, - "schema": "bucket", - "type": "terms" - } - ], - "listeners": {}, - "params": { - "perPage": 10, - "showMeticsAtAllLevels": false, - "showPartialRows": false, - "showTotal": false, - "sort": { - "columnIndex": null, - "direction": null - }, - "totalFunc": "sum" - }, - "title": "Event Levels", - "type": "table" - } - }, - "id": "Event-Levels", - "type": "visualization", - "version": 1 - }, + "id": "Event-Levels", + "name": "panel_3", + "type": "visualization" + }, { - "attributes": { - "description": "", - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [], - "index": "winlogbeat-*", - "query": { - "query_string": { - "analyze_wildcard": true, - "query": "*" - } - } - } - }, - "title": "Sources", - "uiStateJSON": {}, - "version": 1, - "visState": { - "aggs": [ - { - "enabled": true, - "id": "1", - "params": {}, - "schema": "metric", - "type": "count" - }, - { - "enabled": true, - "id": "2", - "params": { - "field": "source_name", - "order": "desc", - "orderBy": "1", - "size": 7 - }, - "schema": "segment", - "type": "terms" - } - ], - "listeners": {}, - "params": { - "addLegend": true, - "addTooltip": true, - "isDonut": false, - "legendPosition": "right", - "shareYAxis": true - }, - "title": "Sources", - "type": "pie" - } - }, - "id": "Sources", - "type": "visualization", - "version": 1 - }, + "id": "Sources", + "name": "panel_4", + "type": "visualization" + } + ], + "type": "dashboard", + "updated_at": "2019-02-05T03:54:42.903Z", + "version": 4 + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + }, + "title": "Number of Events Over Time By Event Log", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\n \"type\": \"histogram\",\n \"listeners\": {},\n \"params\": {\n \"scale\": \"linear\",\n \"yAxis\": {},\n \"addTimeMarker\": false,\n \"addLegend\": true,\n \"shareYAxis\": true,\n \"mode\": \"stacked\",\n \"defaultYExtents\": false,\n \"setYExtents\": false,\n \"addTooltip\": true,\n \"times\": []\n },\n \"aggs\": [\n {\n \"type\": \"count\",\n \"params\": {},\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"type\": \"date_histogram\",\n \"params\": {\n \"customInterval\": \"2h\",\n \"field\": \"@timestamp\",\n \"interval\": \"auto\",\n \"min_doc_count\": 1,\n \"extended_bounds\": {}\n },\n \"id\": \"2\",\n \"schema\": \"segment\"\n },\n {\n \"type\": \"terms\",\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"winlog.channel\",\n \"order\": \"desc\",\n \"size\": 6\n },\n \"id\": \"3\",\n \"schema\": \"group\"\n }\n ]\n}" + }, + "id": "Number-of-Events-Over-Time-By-Event-Log", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "winlogbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2019-02-05T03:58:41.768Z", + "version": 6 + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" + }, + "title": "Number of Events", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"fontSize\": 60}, \"aggs\": [{\"type\": \"count\", \"params\": {}, \"id\": \"1\", \"schema\": \"metric\"}]}" + }, + "id": "Number-of-Events", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "winlogbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2019-02-05T03:54:42.903Z", + "version": 4 + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + }, + "title": "Top Event IDs", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\n \"type\": \"table\",\n \"listeners\": {},\n \"params\": {\n \"perPage\": 10,\n \"showPartialRows\": false,\n \"showMeticsAtAllLevels\": false\n },\n \"aggs\": [\n {\n \"type\": \"count\",\n \"params\": {},\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"type\": \"terms\",\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"winlog.event_id\",\n \"order\": \"desc\",\n \"size\": 5\n },\n \"id\": \"2\",\n \"schema\": \"bucket\"\n }\n ]\n}" + }, + "id": "Top-Event-IDs", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "winlogbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2019-02-05T03:59:03.182Z", + "version": 6 + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + }, + "title": "Event Levels", + "uiStateJSON": "{\n \"vis\": {\n \"params\": {\n \"sort\": {\n \"columnIndex\": null,\n \"direction\": null\n }\n }\n }\n}", + "version": 1, + "visState": "{\n \"type\": \"table\",\n \"listeners\": {},\n \"params\": {\n \"sort\": {\n \"columnIndex\": null,\n \"direction\": null\n },\n \"perPage\": 10,\n \"showPartialRows\": false,\n \"totalFunc\": \"sum\",\n \"showTotal\": false,\n \"showMeticsAtAllLevels\": false\n },\n \"aggs\": [\n {\n \"params\": {},\n \"type\": \"count\",\n \"enabled\": true,\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"log.level\",\n \"order\": \"desc\",\n \"size\": 5\n },\n \"type\": \"terms\",\n \"enabled\": true,\n \"id\": \"2\",\n \"schema\": \"bucket\"\n }\n ],\n \"title\": \"Event Levels\"\n}" + }, + "id": "Event-Levels", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ + { + "id": "winlogbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "visualization", + "updated_at": "2019-02-05T03:59:20.669Z", + "version": 6 + }, + { + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + }, + "title": "Sources", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\n \"type\": \"pie\",\n \"listeners\": {},\n \"params\": {\n \"legendPosition\": \"right\",\n \"isDonut\": false,\n \"addTooltip\": true,\n \"shareYAxis\": true,\n \"addLegend\": true\n },\n \"aggs\": [\n {\n \"params\": {},\n \"type\": \"count\",\n \"enabled\": true,\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"winlog.provider_name\",\n \"order\": \"desc\",\n \"size\": 7\n },\n \"type\": \"terms\",\n \"enabled\": true,\n \"id\": \"2\",\n \"schema\": \"segment\"\n }\n ],\n \"title\": \"Sources (Provider Names)\"\n}" + }, + "id": "Sources", + "migrationVersion": { + "visualization": "7.0.0" + }, + "references": [ { - "attributes": { - "description": "", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": { - "filter": [ - { - "query": { - "query_string": { - "analyze_wildcard": true, - "query": "*" - } - } - } - ] - } - }, - "optionsJSON": { - "darkTheme": false - }, - "panelsJSON": [ - { - "col": 4, - "id": "Number-of-Events-Over-Time-By-Event-Log", - "panelIndex": 1, - "row": 1, - "size_x": 9, - "size_y": 4, - "type": "visualization" - }, - { - "col": 1, - "id": "Number-of-Events", - "panelIndex": 3, - "row": 1, - "size_x": 3, - "size_y": 4, - "type": "visualization" - }, - { - "col": 5, - "id": "Top-Event-IDs", - "panelIndex": 4, - "row": 5, - "size_x": 4, - "size_y": 4, - "type": "visualization" - }, - { - "col": 9, - "id": "Event-Levels", - "panelIndex": 5, - "row": 5, - "size_x": 4, - "size_y": 4, - "type": "visualization" - }, - { - "col": 1, - "id": "Sources", - "panelIndex": 6, - "row": 5, - "size_x": 4, - "size_y": 4, - "type": "visualization" - } - ], - "timeRestore": false, - "title": "Winlogbeat Dashboard", - "uiStateJSON": {}, - "version": 1 - }, - "id": "Winlogbeat-Dashboard", - "type": "dashboard", - "version": 1 + "id": "winlogbeat-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" } - ], - "version": "6.0.0-alpha3-SNAPSHOT" + ], + "type": "visualization", + "updated_at": "2019-02-05T03:59:46.560Z", + "version": 6 + } + ], + "version": "7.0.0-SNAPSHOT" } \ No newline at end of file From 0c397a63dd35e5f5b05f83933c89371bde68f65a Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 23:35:38 -0500 Subject: [PATCH 26/27] Adjust text labels on dashboard to better match the new field names --- .../7/dashboard/Winlogbeat-overview.json | 51 +++++++++---------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json b/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json index 820183d2ed82..ac6f17f62468 100644 --- a/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json +++ b/winlogbeat/_meta/kibana/7/dashboard/Winlogbeat-overview.json @@ -5,13 +5,12 @@ "description": "", "hits": 0, "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"filter\": [{\"query\": {\"query_string\": {\"analyze_wildcard\": true, \"query\": \"*\"}}}]}" + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" }, - "optionsJSON": "{\"darkTheme\": false}", - "panelsJSON": "[{\"size_x\":9,\"size_y\":4,\"panelIndex\":1,\"col\":4,\"row\":1,\"panelRefName\":\"panel_0\"},{\"size_x\":3,\"size_y\":4,\"panelIndex\":3,\"col\":1,\"row\":1,\"panelRefName\":\"panel_1\"},{\"size_x\":4,\"size_y\":4,\"panelIndex\":4,\"col\":5,\"row\":5,\"panelRefName\":\"panel_2\"},{\"size_x\":4,\"size_y\":4,\"panelIndex\":5,\"col\":9,\"row\":5,\"panelRefName\":\"panel_3\"},{\"size_x\":4,\"size_y\":4,\"panelIndex\":6,\"col\":1,\"row\":5,\"panelRefName\":\"panel_4\"}]", + "optionsJSON": "{\"darkTheme\":false}", + "panelsJSON": "[{\"gridData\":{\"h\":20,\"i\":\"1\",\"w\":36,\"x\":12,\"y\":0},\"panelIndex\":\"1\",\"version\":\"7.0.0-SNAPSHOT\",\"panelRefName\":\"panel_0\"},{\"gridData\":{\"h\":20,\"i\":\"3\",\"w\":12,\"x\":0,\"y\":0},\"panelIndex\":\"3\",\"version\":\"7.0.0-SNAPSHOT\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"gridData\":{\"h\":20,\"i\":\"4\",\"w\":16,\"x\":16,\"y\":20},\"panelIndex\":\"4\",\"version\":\"7.0.0-SNAPSHOT\",\"panelRefName\":\"panel_2\"},{\"gridData\":{\"h\":20,\"i\":\"5\",\"w\":16,\"x\":32,\"y\":20},\"panelIndex\":\"5\",\"version\":\"7.0.0-SNAPSHOT\",\"panelRefName\":\"panel_3\"},{\"gridData\":{\"h\":20,\"i\":\"6\",\"w\":16,\"x\":0,\"y\":20},\"panelIndex\":\"6\",\"version\":\"7.0.0-SNAPSHOT\",\"panelRefName\":\"panel_4\"}]", "timeRestore": false, "title": "Winlogbeat Dashboard", - "uiStateJSON": "{}", "version": 1 }, "id": "Winlogbeat-Dashboard", @@ -46,19 +45,19 @@ } ], "type": "dashboard", - "updated_at": "2019-02-05T03:54:42.903Z", - "version": 4 + "updated_at": "2019-02-05T04:31:28.874Z", + "version": 5 }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"*\",\"language\":\"lucene\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" }, - "title": "Number of Events Over Time By Event Log", + "title": "Number of Events Over Time By Channel", "uiStateJSON": "{}", "version": 1, - "visState": "{\n \"type\": \"histogram\",\n \"listeners\": {},\n \"params\": {\n \"scale\": \"linear\",\n \"yAxis\": {},\n \"addTimeMarker\": false,\n \"addLegend\": true,\n \"shareYAxis\": true,\n \"mode\": \"stacked\",\n \"defaultYExtents\": false,\n \"setYExtents\": false,\n \"addTooltip\": true,\n \"times\": []\n },\n \"aggs\": [\n {\n \"type\": \"count\",\n \"params\": {},\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"type\": \"date_histogram\",\n \"params\": {\n \"customInterval\": \"2h\",\n \"field\": \"@timestamp\",\n \"interval\": \"auto\",\n \"min_doc_count\": 1,\n \"extended_bounds\": {}\n },\n \"id\": \"2\",\n \"schema\": \"segment\"\n },\n {\n \"type\": \"terms\",\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"winlog.channel\",\n \"order\": \"desc\",\n \"size\": 6\n },\n \"id\": \"3\",\n \"schema\": \"group\"\n }\n ]\n}" + "visState": "{\"title\":\"Number of Events Over Time By Channel\",\"type\":\"histogram\",\"params\":{\"scale\":\"linear\",\"yAxis\":{},\"addTimeMarker\":false,\"addLegend\":true,\"shareYAxis\":true,\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"times\":[],\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\",\"setYExtents\":false,\"defaultYExtents\":false},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\"}],\"legendPosition\":\"right\",\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD HH:mm\"}},\"params\":{\"date\":true,\"interval\":43200000,\"format\":\"YYYY-MM-DD HH:mm\",\"bounds\":{\"min\":\"2019-01-21T04:30:25.961Z\",\"max\":\"2019-02-05T04:30:25.961Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"timeRange\":{\"from\":\"now-15d\",\"to\":\"now\",\"mode\":\"relative\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"time_zone\":\"America/Montreal\",\"drop_partials\":false,\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"winlog.channel\",\"size\":6,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Channel\"}}]}" }, "id": "Number-of-Events-Over-Time-By-Event-Log", "migrationVersion": { @@ -72,8 +71,8 @@ } ], "type": "visualization", - "updated_at": "2019-02-05T03:58:41.768Z", - "version": 6 + "updated_at": "2019-02-05T04:30:57.063Z", + "version": 9 }, { "attributes": { @@ -105,12 +104,12 @@ "attributes": { "description": "", "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" }, "title": "Top Event IDs", - "uiStateJSON": "{}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", "version": 1, - "visState": "{\n \"type\": \"table\",\n \"listeners\": {},\n \"params\": {\n \"perPage\": 10,\n \"showPartialRows\": false,\n \"showMeticsAtAllLevels\": false\n },\n \"aggs\": [\n {\n \"type\": \"count\",\n \"params\": {},\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"type\": \"terms\",\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"winlog.event_id\",\n \"order\": \"desc\",\n \"size\": 5\n },\n \"id\": \"2\",\n \"schema\": \"bucket\"\n }\n ]\n}" + "visState": "{\"title\":\"Top Event IDs\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"dimensions\":{\"metrics\":[{\"accessor\":1,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"buckets\":[{\"accessor\":0,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"winlog.event_id\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Event IDs\"}}]}" }, "id": "Top-Event-IDs", "migrationVersion": { @@ -124,19 +123,19 @@ } ], "type": "visualization", - "updated_at": "2019-02-05T03:59:03.182Z", - "version": 6 + "updated_at": "2019-02-05T04:29:29.657Z", + "version": 7 }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" }, "title": "Event Levels", - "uiStateJSON": "{\n \"vis\": {\n \"params\": {\n \"sort\": {\n \"columnIndex\": null,\n \"direction\": null\n }\n }\n }\n}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", "version": 1, - "visState": "{\n \"type\": \"table\",\n \"listeners\": {},\n \"params\": {\n \"sort\": {\n \"columnIndex\": null,\n \"direction\": null\n },\n \"perPage\": 10,\n \"showPartialRows\": false,\n \"totalFunc\": \"sum\",\n \"showTotal\": false,\n \"showMeticsAtAllLevels\": false\n },\n \"aggs\": [\n {\n \"params\": {},\n \"type\": \"count\",\n \"enabled\": true,\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"log.level\",\n \"order\": \"desc\",\n \"size\": 5\n },\n \"type\": \"terms\",\n \"enabled\": true,\n \"id\": \"2\",\n \"schema\": \"bucket\"\n }\n ],\n \"title\": \"Event Levels\"\n}" + "visState": "{\"title\":\"Event Levels\",\"type\":\"table\",\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMetricsAtAllLevels\":false,\"dimensions\":{\"metrics\":[{\"accessor\":1,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"buckets\":[{\"accessor\":0,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"log.level\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Levels\"}}]}" }, "id": "Event-Levels", "migrationVersion": { @@ -150,19 +149,19 @@ } ], "type": "visualization", - "updated_at": "2019-02-05T03:59:20.669Z", - "version": 6 + "updated_at": "2019-02-05T04:29:58.730Z", + "version": 7 }, { "attributes": { "description": "", "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\"\n }\n },\n \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\"\n}" + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" }, - "title": "Sources", + "title": "Sources (Provider Names)", "uiStateJSON": "{}", "version": 1, - "visState": "{\n \"type\": \"pie\",\n \"listeners\": {},\n \"params\": {\n \"legendPosition\": \"right\",\n \"isDonut\": false,\n \"addTooltip\": true,\n \"shareYAxis\": true,\n \"addLegend\": true\n },\n \"aggs\": [\n {\n \"params\": {},\n \"type\": \"count\",\n \"enabled\": true,\n \"id\": \"1\",\n \"schema\": \"metric\"\n },\n {\n \"params\": {\n \"orderBy\": \"1\",\n \"field\": \"winlog.provider_name\",\n \"order\": \"desc\",\n \"size\": 7\n },\n \"type\": \"terms\",\n \"enabled\": true,\n \"id\": \"2\",\n \"schema\": \"segment\"\n }\n ],\n \"title\": \"Sources (Provider Names)\"\n}" + "visState": "{\"title\":\"Sources (Provider Names)\",\"type\":\"pie\",\"params\":{\"legendPosition\":\"right\",\"isDonut\":false,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true,\"type\":\"pie\",\"labels\":{\"show\":false,\"values\":true,\"last_level\":true,\"truncate\":100}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"winlog.provider_name\",\"size\":7,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}]}" }, "id": "Sources", "migrationVersion": { @@ -176,8 +175,8 @@ } ], "type": "visualization", - "updated_at": "2019-02-05T03:59:46.560Z", - "version": 6 + "updated_at": "2019-02-05T04:28:30.544Z", + "version": 7 } ], "version": "7.0.0-SNAPSHOT" From 7d26f799c31c8b498d4a5dae6558c1cf7fa27c6c Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Mon, 4 Feb 2019 23:51:11 -0500 Subject: [PATCH 27/27] Fix entry in ecs-mig.yml --- dev-tools/ecs-migration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-tools/ecs-migration.yml b/dev-tools/ecs-migration.yml index 62f3400b83d8..75c83602ee1a 100644 --- a/dev-tools/ecs-migration.yml +++ b/dev-tools/ecs-migration.yml @@ -2084,7 +2084,7 @@ # Fields moved without adjusting the name - from: activity_id - to: winlog. + to: winlog.activity_id alias: true beat: winlogbeat