|
| 1 | +## 4.3.0 |
| 2 | + |
| 3 | +With **4.3.0** we're introducing a new set of pattern definitions compliant with Elastic Common Schema (ECS), on numerous |
| 4 | +places patterns are capturing names prescribed by the schema or use custom namespaces that do not conflict with ECS ones. |
| 5 | + |
| 6 | +Changes are backwards compatible as much as possible and also include improvements to some of the existing patterns. |
| 7 | + |
| 8 | +Besides fields having new names, values for numeric (integer or floating point) types are usually converted to their |
| 9 | +numeric representation to ease further event processing (e.g. `http.response.status_code` is now stored as an integer). |
| 10 | + |
| 11 | +NOTE: to leverage the new ECS pattern set in Logstash a grok filter upgrade to version >= 4.4.0 is required. |
| 12 | + |
| 13 | +- **aws** |
| 14 | + * in ECS mode we dropped the (incomplete) attempt to capture `rawrequest` from `S3_REQUEST_LINE` |
| 15 | + * `S3_ACCESS_LOG` will handle up-to-date S3 access-log formats (6 'new' field captures at the end) |
| 16 | + Host Id -> Signature Version -> Cipher Suite -> Authentication Type -> Host Header -> TLS version |
| 17 | + * `ELB_ACCESS_LOG` will handle optional (`-`) in legacy mode |
| 18 | + * null values such as `-` or `-1` time values (e.g. `ELB_ACCESS_LOG`'s `request_processing_time`) |
| 19 | + are not captured in ECS mode |
| 20 | + |
| 21 | +- **bacula** |
| 22 | + - Fix: improve matching of `BACULA_HOST` as `HOSTNAME` |
| 23 | + - Fix: legacy `BACULA_` patterns to handle (optional) spaces |
| 24 | + - Fix: handle `BACULA_LOG` 'Job Id: X' prefix as optional |
| 25 | + - Fix: legacy matching of BACULA fatal error lines |
| 26 | + |
| 27 | +- **bind** |
| 28 | + - `BIND9`'s legacy `querytype` was further split into multiple fields as: |
| 29 | + `dns.question.type` and `bind.log.question.flags` |
| 30 | + - `BIND9` patterns (legacy as well) were adjusted to handle Bind9 >= 9.11 compatibility |
| 31 | + - `BIND9_QUERYLOGBASE` was introduced for potential re-use |
| 32 | + |
| 33 | +- **bro** |
| 34 | + * `BRO_` patterns are stricter in ECS mode - won't mistakenly match newer BRO/Zeek formats |
| 35 | + * place holders such as `(empty)` tags and `-` null values won't be captured |
| 36 | + * each `BRO_` pattern has a newer `ZEEK_` variant that supports latest Zeek 3.x versions |
| 37 | + e.g. `ZEEK_HTTP` as a replacement for `BRO_HTTP` (in ECS mode only), |
| 38 | + there's a new file **zeek** where all of the `ZEEK_XXX` pattern variants live |
| 39 | + |
| 40 | +- **exim** |
| 41 | + * introduced `EXIM` (`EXIM_MESSAGE_ARRIVAL`) to match message arrival log lines - in ECS mode! |
| 42 | + |
| 43 | +- **firewalls** |
| 44 | + * introduced `IPTABLES` pattern which is re-used within `SHOREWALL` and `SFW2` |
| 45 | + * `SHOREWALL` now supports IPv6 addresses (in ECS mode - due `IPTABLES` pattern) |
| 46 | + * `timestamp` fields will be captured for `SHOREWALL` and `SFW2` in legacy mode as well |
| 47 | + * `SHOREWALL` became less strict in containing the `kernel:` sub-string |
| 48 | + * `NETSCREENSESSIONLOG` properly handles optional `session_id=... reason=...` suffix |
| 49 | + * `interval` and `xlate_type` (legacy) CISCO fields are not captured in ECS mode |
| 50 | + |
| 51 | +- **core** (grok-patterns) |
| 52 | + * `SYSLOGFACILITY` type casts facility code and priority in ECS mode |
| 53 | + * `SYSLOGTIMESTAMP` will be captured (from `SYSLOGBASE`) as `timestamp` |
| 54 | + * Fix: e-mail address's local part to match according to RFC (#273) |
| 55 | + |
| 56 | +- **haproxy** |
| 57 | + * several ECS-ified fields will be type-casted to integer in ECS mode e.g. *haproxy.bytes_read* |
| 58 | + * fields containing null value (`-`) are no longer captured |
| 59 | + (e.g. in legacy mode `captured_request_cookie` gets captured even if `"-"`) |
| 60 | + |
| 61 | +- **httpd** |
| 62 | + * optional fields (e.g. `http.request.referrer` or `user_agent`) are only captured when not null (`-`) |
| 63 | + * `source.port` (`clientport` in legacy mode) is considered optional |
| 64 | + * dropped raw data (`rawrequest` legacy field) in ECS mode |
| 65 | + * Fix: HTTPD_ERRORLOG should match when module missing (#299) |
| 66 | + |
| 67 | +- **java** |
| 68 | + * `JAVASTACKTRACEPART`'s matched line number will be converted to an integer |
| 69 | + * `CATALINALOG` matching was updated to handle Tomcat 7/8/9 logging format |
| 70 | + * `TOMCATLOG` handles the default Tomcat 7/8/9 logging format |
| 71 | + * old (custom) legacy TOMCAT format is handled by the added `TOMCATLEGACY_LOG` |
| 72 | + * `TOMCATLOG` and `TOMCAT_DATESTAMP` still match the legacy format, |
| 73 | + however this might change at a later point - if you rely on the old format use `TOMCATLEGACY_` patterns |
| 74 | + |
| 75 | +- **junos** |
| 76 | + * integer fields (e.g. `juniper.srx.elapsed_time`) are captured as integer values |
| 77 | + |
| 78 | +- **linux-syslog** |
| 79 | + * `SYSLOG5424LINE` captures (overwrites) the `message` field instead of using a custom field name |
| 80 | + * regardless of the format used, in ECS mode, timestamps are always captured as `timestamp` |
| 81 | + * fields such as `log.syslog.facility.code` and `process.pid` are converted to integers |
| 82 | + |
| 83 | +- **mcollective** |
| 84 | + * *mcollective-patterns* file was removed, it's all one *mcollective* in ECS mode |
| 85 | + * `MCOLLECTIVE`'s `process.pid` (`pid` previously) is not type-casted to an integer |
| 86 | + |
| 87 | +- **nagios** |
| 88 | + * numeric fields such as `nagios.log.attempt` are converted to integer values in ECS mode |
| 89 | + |
| 90 | +- **rails** |
| 91 | + * request duration times from `RAILS3` log will be converted to floating point values |
| 92 | + |
| 93 | +- **squid** |
| 94 | + * `SQUID3`'s `duration` http.response `status_code` and `bytes` are type-casted to int |
| 95 | + * `SQUID3` pattern won't capture null ('-') `user.name` or `squid.response.content_type` |
| 96 | + * Fix: allow to parse SQUID log with status 0 (#298) |
| 97 | + * Fix: handle optional server address (#298) |
| 98 | + |
1 | 99 | ## 4.2.0 |
2 | 100 | - Fix: Java stack trace's JAVAFILE to better match generated names |
3 | 101 | - Fix: match Information/INFORMATION in LOGLEVEL [#274](https://github.com/logstash-plugins/logstash-patterns-core/pull/274) |
|
0 commit comments