-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #278 from gravwell/dev
Dev->master
- Loading branch information
Showing
10 changed files
with
162 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Changelog for version 4.2.2 | ||
|
||
### Released Sept 10 2021 | ||
|
||
## Frontend Changes | ||
* Various UI/UX cleanup. | ||
* Improved contrast of highlighting in Query Studio. | ||
* Improved table renderer on Query Studio. | ||
* Fixed issue where some investigative dashboards were not cleaning up queries quickly when completed. | ||
* Improved query cleanup logic on Query Studio. | ||
* Fixed issue where System Hardware stats stop updating when an indexer is down. | ||
* Fixed issue where history from Query Studio was logging expanded query and stripping formatting. | ||
* Improved time locking and zoom when user has custom timeframes defined. | ||
* Improved kit refresh after kit install. | ||
* Fixed issue where some point2point renderer images were not properly displaying lines. | ||
* Improved default info handling when adding new users. | ||
* Improved overview stats so that bucketing lines up on zoom. | ||
* Improved date detection when zooming on overview chart. | ||
|
||
## Backend Changes | ||
* Fixed issue where some large queries could cause windowing errors in overview chart. | ||
* Improved webserver compression on HTTP requests. | ||
* Reduced memory usage when distributing very large resources between webserver and indexers. | ||
* Fixed issue where the `limit` module was not generating accurate stats. | ||
* Added version handshake between datastore and webservers. | ||
* Added validation of backup file when generated by the CLI. | ||
* Fixed response code when templates are not found. | ||
* Added `-asc` flag to the [nosort](#!search/nosort/nosort.md) module. | ||
* Fixed issue where extremely large storage blocks could cause queries to stall in cluster mode. | ||
* Fixed issue where syslog was not dropping entries with missing `Message` fields when a filter was applied. | ||
* Improved default charting logic when in `chart` renderer when no operators are specified. | ||
* Fixed issue in `syslog` module where `]` characters were not escaped properly. | ||
* Improved efficiency of startup when using replication. | ||
* Added log in `gravwell` tag when a notification is fired. | ||
* Improved corrupted block recovery when using userland compression. | ||
* Fixed issue where large web uploads were not cleaning up temporary files when completed. | ||
* Fixed issue where internal logs were exceeding the 32 character limit for MsgID in RFC5424. | ||
* Fixed issue where table renderer was not reporting an error when it failed to save a resource. | ||
* Improved timeout on queries that cover very long time ranges. | ||
|
||
## Ingester, CLI, and Library Changes | ||
* Improved config file error logs to include line number containing the error. | ||
* Fixed shell installers to appropriately detect docker containers in Debian 11. | ||
|
||
## Notes | ||
|
||
Beginning with version 4.2.2 the webservers and the datastore are version locked. When upgrading you may see notifications and errors indicating that the version handshake failed until both the webservers and datastore have been upgraded. Webservers will continue to attempt to connect to the datastore until the version handshake succeeds. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
## Entropy | ||
|
||
The `entropy` module calculates the entropy of field values over time. Specifying `entropy` without any arguments will generate the entropy of all entries DATA fields across the search range. The `entropy` module supports temporal search mode allowing for charting of entropy over time. `entropy` can also operate on enumerated values and group by enumerated values. Output values are between 0 and 1. | ||
|
||
Syntax: | ||
|
||
``` | ||
entropy [enumerated value] [by ...] [over <duration>] | ||
``` | ||
|
||
The `entropy` module syntax allows for specifying an enumerated value to calculate entropy over. If not specified, `entropy` will calculate entropy over the entire DATA field. The module also supports specifying one or more arguments to group by, using the `by` keyword. For example, to calcaulte entropy on the enumerated value `foo`, grouped by `bar` and `baz`: | ||
|
||
``` | ||
tag=gravwell entropy foo by bar baz | ||
``` | ||
|
||
Queries can be temporally grouped over arbitrary time windows using the `over` keyword: | ||
|
||
``` | ||
tag=gravwell entropy over 10m | ||
``` | ||
|
||
All arguments are optional. | ||
|
||
### Supported Options | ||
|
||
`entropy` has no flags. | ||
|
||
### Examples | ||
|
||
This query calculates and charts the entropy of TCP packet payloads based on port: | ||
|
||
``` | ||
tag=pcap packet tcp.Port tcp.Payload | entropy Payload by Port | chart entropy by Port | ||
``` | ||
|
||
An example query which calculates the entropy of URLS by host and sorts the list based on highest entropy value: | ||
|
||
``` | ||
tag=pcap packet tcp.Port==80 ipv4.IP !~ 10.0.0.0/8 tcp.Payload | grep -e Payload GET PUT HEAD POST | regex -e Payload "[A-Z]+\s(?P<url>\S+)\sHTTP\/" | entropy url by IP | table IP entropy | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
## Nosort | ||
|
||
By default, everything in the Gravwell search pipeline is temporally sorted (when appropriate). This means that if you execute the query `tag=gravwell` Gravwell will automatically insert a `sort by time desc` so that the data you see is strictly sorted. | ||
|
||
However, there may be times where the extra overhead from the sort may not be required or explicitly not wanted; this is where `nosort` comes into play. The `nosort` module does nothing but inform Gravwell that you explicitly do not want the data sorted at any stage, it basically turns off the `sort by time` injection. | ||
|
||
The `nosort` module is purely for query optimization and is never required, don't use it unless you really know what you are doing. The `nosort` module has a single optional flag `-asc` that tells Gravwell that you don not care about explicit time sorting but you would like the data read from oldest to newest (roughly). The `-asc` flag is useful on big aggregate queries because it means that we will likely pull data in the order it was ingested which means the disks are probably moving in a more or less linear pattern. | ||
|
||
### Examples | ||
|
||
`tag=syslog nosort` | ||
|
||
Show syslog entries in a rough ordering, do not strictly sort them by time. | ||
|
||
`tag=syslog nosort -asc` | ||
|
||
Show syslog entries in a rough ordering from oldest to newest, do not strictly sort them by time. | ||
|
||
Note: The `nosort` module collapses the pipeline, this means that if you are running on a cluster environment it may actually reduce the query performance if you place it in the wrong location. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters