Hi Onur,
You probably hit the nail directly on the head with your comment about log unification.
The thing to remember about the Log Exporter is that it's mostly an infrastructure service feature. We take the data (logs), manipulate how it looks (without adding or subtracting data from the payload*) and forward it on.
Each blade owner (IPS, AV, APPI etc.) decides on his own how the logs are generated and updated over time.
(* - We do add headers, and if you use filters we also remove data. We also allow the use of callback functions that manipulate data. )
As for the changes between R77.30 to R80+ those are again, likely related to the changes in the logs themselves.
The logs do change over time, from either new features developed or from the desire to improve the logs themselves - their readability, and overall usefulness.
We actually have several ongoing projects to improve user experience with logs that will change things about their look and feel and sometimes even content. Most of those projects will mature and be published in future versions, and some will wither and die if we decide they don't actually improve the current state. We are always striving to improve the user experience wherever and whenever we can, and that means that logs change over time.
I can add that one of the features we are currently developing for the Log Exporter is a new optional mode called semi-unified which will combine some feature of raw mode and unified mode.
This mode actually already existed in the LEA OPSEC feature, and we are now integrating it into the Log Exporter.
Update logs will still be sent as they arrive, but will now be sent as a unified log. This will slightly increase the bandwidth (I say slightly because updates, in general, are a very small percentage of the overall number of logs) but should make the update logs more readable.
Let me give you an example of a log + update logs in raw mode vs semi-unified mode. This is probably not the most interesting example, but it's one I have on hand and makes the differences easy to understand. It's an Application Control update of an ongoing session, updating the browse time and the number of bytes (I obfuscated sensitive data, and removed some of the fields that don't really have an impact on this example):
Raw mode:
Event:
time=1504750545|hostname=hugo1-take-421|loguid={0x59b0abd1,0x19d,0x101a8c0,0xc0000000}|product=Application Control|action=Allow|origin=X.X.X.X|app_category=Computers / Internet|app_desc=Google offers a variety of tools and online services and encourages developers to use their tools' APIs. A key element in these products is data communication with Google's servers, which may be generated without an active request by the user. Supported from: R75.|app_id=60340676|app_properties=Computers / Internet, SSL Protocol, Low Risk, Search Engines / Portals|app_risk=2|app_rule_id={6999AABA-B5F8-4EA6-8959-E355723635B2}|app_sig_id=60340676:15|appi_name=Google Services|dst=X.X.X.X|matched_category=Computers / Internet|proto=17|proxy_src_ip=X.X.X.X|s_port=51580|service=443|src=X.X.X.X|
Update_1:
time=1504750556|hostname=hugo1-take-421|loguid={0x59b0abd1,0x19d,0x101a8c0,0xc0000000}|product=Application Control|action=Allow|origin=X.X.X.X|app_id=60340676|browse_time=1|bytes=52|dst=X.X.X.X|proto=17|received_bytes=0|s_port=51580|sent_bytes=52|service=443|src=X.X.X.X|suppressed_logs=4|
Update_2:
time=1504751146|hostname=hugo1-take-421|loguid={0x59b0abd1,0x19d,0x101a8c0,0xc0000000}|product=Application Control|action=Allow|origin=X.X.X.X|app_id=60340676|browse_time=10|bytes=1642|dst=X.X.X.X|proto=17|received_bytes=0|s_port=51580|sent_bytes=1642|service=443|src=X.X.X.X|suppressed_logs=4|
Semi unified:
Event:
time=1504750545|hostname=hugo1-take-421|loguid={0x59b0abd1,0x19d,0x101a8c0,0xc0000000}|product=Application Control|action=Allow|origin=X.X.X.X|app_category=Computers / Internet|app_desc=Google offers a variety of tools and online services and encourages developers to use their tools' APIs. A key element in these products is data communication with Google's servers, which may be generated without an active request by the user. Supported from: R75.|app_id=60340676|app_properties=Computers / Internet, SSL Protocol, Low Risk, Search Engines / Portals|app_risk=2|app_rule_id={6999AABA-B5F8-4EA6-8959-E355723635B2}|app_sig_id=60340676:15|appi_name=Google Services|dst=X.X.X.X|matched_category=Computers / Internet|proto=17|proxy_src_ip=X.X.X.X|s_port=51580|service=443|src=X.X.X.X|
Update_1:
time=1504750545|hostname=hugo1-take-421|loguid={0x59b0abd1,0x19d,0x101a8c0,0xc0000000}|product=Application Control|action=Allow|origin=X.X.X.X|app_category=Computers / Internet|app_desc=Google offers a variety of tools and online services and encourages developers to use their tools' APIs. A key element in these products is data communication with Google's servers, which may be generated without an active request by the user. Supported from: R75.|app_id=60340676|app_properties=Computers / Internet, SSL Protocol, Low Risk, Search Engines / Portals|app_risk=2|app_rule_id={6999AABA-B5F8-4EA6-8959-E355723635B2}|app_sig_id=60340676:15|appi_name=Google Services|browse_time=1|bytes=52|dst=X.X.X.X|lastupdatetime=1504750556|matched_category=Computers / Internet|proto=17|proxy_src_ip=X.X.X.X|received_bytes=0|s_port=51580|sent_bytes=52|service=443|src=X.X.X.X|suppressed_logs=4|
Update_2:
time=1504750545|hostname=hugo1-take-421|loguid={0x59b0abd1,0x19d,0x101a8c0,0xc0000000}|product=Application Control|action=Allow|origin=X.X.X.X|app_category=Computers / Internet|app_desc=Google offers a variety of tools and online services and encourages developers to use their tools' APIs. A key element in these products is data communication with Google's servers, which may be generated without an active request by the user. Supported from: R75.|app_id=60340676|app_properties=Computers / Internet, SSL Protocol, Low Risk, Search Engines / Portals|app_risk=2|app_rule_id={6999AABA-B5F8-4EA6-8959-E355723635B2}|app_sig_id=60340676:15|appi_name=Google Services|browse_time=10|bytes=1694|dst=X.X.X.X|lastupdatetime=1504751146|matched_category=Computers / Internet|proto=17|proxy_src_ip=X.X.X.X|received_bytes=0|s_port=51580|sent_bytes=1694|service=443|src=X.X.X.X|suppressed_logs=8|
So let's try to analyze what we're seeing here.
First off some fields that were removed from the updates have been restored. Examples of such fields in this example are 'Application Name', 'Application Category', 'Application Description' etc. - for IPS logs probably the s_port you talked about will be here as well. In the original update logs, you would have had a hard time understanding to which application the update is relevant. You would have had to use the loguid to find the original log and make the connection.
Some fields with new information had the information replaced - the browse time from 0 to 1 to 10.
Othe fields had their information updated - in the original update the bytes went from 0 to 52 to 1642, while in the new mode they went from 0 to 52 to 1694.
The original updates just show the bytes sent during the updated slice while the semi unified mode keep an accurate count of the overall current bytes.
Edit: Some fields have their values preserved - in the original mode each update has its own time, but in the new mode each update still shows the time when the event occurred (the original timestamp).
Each field has its own logic of how the update is performed based on its content.
HTH
Yonatan