Skip to content
/ stroom Public

Stroom is a highly scalable data storage, processing and analysis platform.

License

Notifications You must be signed in to change notification settings

gchq/stroom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6a922c9 · Apr 14, 2025
Mar 31, 2025
Apr 2, 2025
Apr 19, 2024
Oct 29, 2024
Oct 3, 2023
Apr 14, 2025
Aug 12, 2021
Nov 12, 2019
Sep 28, 2022
Apr 3, 2025
Apr 14, 2025
Apr 14, 2025
Mar 21, 2025
Apr 14, 2025
Apr 3, 2025
Mar 19, 2025
Apr 3, 2025
Apr 3, 2025
Apr 14, 2025
Apr 14, 2025
Apr 14, 2025
Apr 14, 2025
Apr 3, 2025
Mar 21, 2025
Apr 3, 2025
Apr 3, 2025
Apr 14, 2025
Apr 11, 2025
Feb 19, 2025
Apr 3, 2025
Mar 13, 2025
Apr 11, 2025
Apr 3, 2025
Feb 26, 2025
Apr 14, 2025
Apr 3, 2025
Jan 30, 2025
Jan 30, 2025
Mar 19, 2025
Apr 3, 2025
Apr 3, 2025
Apr 3, 2025
Apr 3, 2025
Apr 14, 2025
Jan 30, 2025
Mar 25, 2025
Apr 14, 2025
Apr 3, 2025
Apr 11, 2025
Apr 11, 2025
Apr 11, 2025
Apr 14, 2025
Apr 11, 2025
Mar 13, 2025
Apr 14, 2025
Apr 14, 2025
Jan 30, 2025
Apr 11, 2025
Apr 3, 2025
Jan 30, 2025
Apr 3, 2025
Apr 3, 2025
Apr 14, 2025
Apr 11, 2025
Feb 19, 2025
Apr 14, 2025
Mar 25, 2025
Oct 28, 2024
Mar 8, 2024
Apr 14, 2025
Jan 5, 2022
Nov 29, 2017
Jun 5, 2023
Nov 2, 2022
Jan 28, 2019
Dec 7, 2022
Mar 18, 2025
Jul 5, 2024
Sep 1, 2020
Sep 13, 2017
Feb 1, 2019
Feb 1, 2019
Feb 1, 2019
Feb 1, 2019
Nov 28, 2024
Apr 12, 2022
Nov 29, 2023
Jan 23, 2025
Jan 5, 2021
Sep 3, 2024
Mar 20, 2019
Dec 11, 2024
Jan 15, 2024
Mar 11, 2025
Jan 29, 2025
Nov 8, 2023
Mar 31, 2023
Jan 16, 2023
Sep 14, 2018
May 18, 2022
Mar 26, 2020
Nov 26, 2019
Jan 7, 2025
Jan 29, 2021
Mar 19, 2025
Jul 12, 2024
Jul 16, 2019
Apr 14, 2025
Apr 26, 2017
May 3, 2017
Mar 11, 2021
Feb 21, 2023
Jan 16, 2023
Oct 20, 2021

Repository files navigation

Stroom

Stroom is a data processing, storage and analysis platform. It is scalable - just add more CPUs / servers for greater throughput. It is suitable for processing high volume data such as system logs, to provide valuable insights into IT performance and usage.

Stroom provides a number of powerful capabilities:

  • Data ingest. Receive and store large volumes of data such as native format logs. Ingested data is always available in its raw form.
  • Data transformation pipelines. Create sequences of XSL and text operations, in order to normalise or export data in any format. It is possible to enrich data using lookups and reference data.
  • Integrated transformation development. Easily add new data formats and debug the transformations if they don't work as expected.
  • Scalable Search. Create multiple indexes with different retention periods. These can be sharded across your cluster.
  • Dashboards. Run queries against your indexes or statistics and view the results within custom visualisations.
  • Statistics. Record counts or values of items over time, providing answers to questions such as "how many times has a specific machine provided data in the last hour/day/month?"

Get Stroom

To run Stroom in docker do the following:

# Download and extract Stroom v7.0 stack
bash <(curl -s https://gchq.github.io/stroom-resources/v7.0/get_stroom.sh)

# Navigate into the new stack directory
cd stroom_core_test/stroom_core_test*

# Start the stack
./start.sh

For more details on the commands above and any prerequisites see Single Node Docker Installation.

For the releases of the core Stroom product, see Stroom releases. For the releases of the docker application stacks, see Stroom-Resources releases.

Documentation

The Stroom application spans several repositories but we've bundled all the documentation into one Stroom Documentation site.

Contributing

If you'd like to make a contribution then the details for doing all of that are in CONTRIBUTING.md.

Repositories

Stroom and its associated libraries, services and content span several repositories:

  • stroom - The core Stroom application.
  • stroom-agent - An application for capturing and sending log files to Stroom.
  • stroom-auth - The OAuth2 authentication service used by Stroom.
  • stroom-clients - Various client libraries for sending logs to Stroom.
  • stroom-content - Packaged content packs for import into Stroom.
  • stroom-docs - Documentation for the Stroom family of products.
  • stroom-expression - An expression library used in Stroom's dashboards and query API.
  • stroom-headless - An example of how to run Stroom in headless mode from the command line.
  • stroom-proxy - An application that acts as a data receipt proxy for Stroom ( Legacy v5 only).
  • stroom-query - A library for querying Stroom's data sources.
  • stroom-resources - Configuration for orchestrating stroom in docker containers and released docker stacks.
  • stroom-stats - An application for storing and querying aggregates of event data.
  • stroom-visualisations-dev - A set of visualisations for use in Stroom.
  • event-logging-schema - An XML Schema for describing auditable events.
  • event-logging - A JAXB API for the event-logging XML Schema.