Running Data Prepper requires JDK 8 and above.
Running the integration tests requires JDK 14 or 15.
The assemble task will build the Jar files without running the integration tests. You can use these jar files for running DataPrepper. If you are just looking to use DataPrepper and modify it, this build is faster than running the integration test suite and only requires JDK 8+.
To build the project from source, run
./gradlew assemble
from the project root.
Running the build command will assemble the Jar files needed for running DataPrepper. It will also run the integration test suite.
To build, run
./gradlew build
from the project root.
After building, the project can be run from the executable JAR data-prepper-core-$VERSION found in the build/libs directory of the data-prepper-core subproject. The executable JAR takes two arguments:
- A Pipeline configuration file
- A Data Prepper configuration file
See configuration docs for more information.
Example java command:
java -jar data-prepper-core-$VERSION.jar pipelines.yaml data-prepper-config.yaml
Optionally add "-Dlog4j.configurationFile=config/log4j2.properties"
to the command if you would like to pass a custom log4j2 properties file. If no properties file is provided, Data Prepper will default to the log4j2.properties file in the shared-config directory.
Running the project locally will expose a server on port 4900 by default. The following APIs are available:
- /list
- lists running pipelines
- /shutdown
- starts a graceful shutdown of the Data Prepper
- /metrics/prometheus
- returns a scrape of the Data Prepper metrics in Prometheus text format. This API is available provided
metricsRegistries
parameter in data prepper configuration filedata-prepper-config.yaml
hasPrometheus
as one of the registry
- returns a scrape of the Data Prepper metrics in Prometheus text format. This API is available provided
- /metrics/sys
- returns JVM metrics in Prometheus text format. This API is available provided
metricsRegistries
parameter in data prepper configuration filedata-prepper-config.yaml
hasPrometheus
as one of the registry
- returns JVM metrics in Prometheus text format. This API is available provided
To run the example app against your local changes, use the docker found here