[ 
https://issues.apache.org/jira/browse/NIFI-13328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Jeffrey Hindmarch updated NIFI-13328:
---------------------------------------------
    Summary: WindowsEventLogReader should parse RenderingInfo  (was: 
WindowsEventLogRecordReader should parse RenderingInfo)

> WindowsEventLogReader should parse RenderingInfo
> ------------------------------------------------
>
>                 Key: NIFI-13328
>                 URL: https://issues.apache.org/jira/browse/NIFI-13328
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>    Affects Versions: 1.24.0
>         Environment: Docker
>            Reporter: Stephen Jeffrey Hindmarch
>            Priority: Major
>
> If windows events are extracted from the windows event collector they will 
> include a "RenderingInfo" tag. However, this tag is not expected by the 
> WindowsEventLogReader and will throw an error and pass the flow file into the 
> failure relationship if the event contains the tag. This tag should be 
> supported as it is a legitimate part of the Windows Event XML schema.
> See 
> [https://learn.microsoft.com/en-us/windows/win32/wes/eventschema-renderingtype-complextype]
>  and 
> [https://learn.microsoft.com/en-us/windows/win32/wec/windows-event-collector] 
> . In this particular use case, events are being collected from field 
> technicians' laptops to perform a cybersecurity audit after they have 
> plugging their laptops into customer networks.
> When these events are processed through a WindowsEventLogReader, the reader 
> throws the following error.
> {noformat}
> ConvertRecord[id=7b99392f-2b54-139e-8791-349e930904cd] Failed to process 
> FlowFile[filename=ffca2ea2-edd5-4ad1-8380-2bc4c8dae1ac]; will route to 
> failure: org.apache.nifi.processor.exception.ProcessException: Could not 
> parse incoming data
> - Caused by: org.apache.nifi.serialization.MalformedRecordException: Error 
> reading records to determine the FlowFile's RecordSchema
> - Caused by: javax.xml.stream.XMLStreamException: Expecting <Event> tag but 
> found unknown/invalid tag RenderingInfo{noformat}
> An example of the event record might be
> {noformat}
> <Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event";>
>   <System>
>     <Provider Name="Service Control Manager" 
> Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service 
> Control Manager"/>
>     <EventID Qualifiers="16384">7036</EventID>
>     <Version>0</Version>
>     <Level>4</Level>
>     <Task>0</Task>
>     <Opcode>0</Opcode>
>     <Keywords>0x8080000000000000</Keywords>
>     <TimeCreated SystemTime="2016-06-10T22:28:53.905233700Z"/>
>     <EventRecordID>34153</EventRecordID>
>     <Correlation/>
>     <Execution ProcessID="684" ThreadID="3504"/>
>     <Channel>System</Channel>
>     <Computer>WIN-O05CNUCF16M.hdf.local</Computer>
>     <Security/>
>   </System>
>   <EventData>
>     <Data Name="param1">Smart Card Device Enumeration Service</Data>
>     <Data>param2</Data>
>     
> <Binary>5300630044006500760069006300650045006E0075006D002F0034000000</Binary>
>   </EventData>
>   <RenderingInfo Culture="en-US">
>     <Message>This is a message</Message>
>   </RenderingInfo>
> </Event>{noformat}
> Removing the tag allows the event to be processed as normal.
> One possible workaround is to use a ReplaceText processor to remove the tag 
> before reading, but this then involves either discarding the tag contents, or 
> using an enrichment fork to find some other way of processing it. Another 
> workaround is to use the XMLReader service, but this is a generic parser and 
> has a its own problems.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to