The Rookout ETL Agent is a component that can be installed within your network.
The ETL Agent is only meant for advanced deployments meeting complex network and security requirements.
Using the Rookout ETL Agent you may perform all related data processing inside your own network.
Run as Container
The easiest way to deploy the ETL Agent is as a Docker container available here.
The ETL Agent can be configured to your needs using environment variables.
To run as a Docker container, simply execute:
docker run -p 7486:7486 -e "ROOKOUT_TOKEN=[Your Rookout Token]" rookout/agent
2. Kubernetes and Helm
If you are running on Kubernetes, we recommend using our provided helm chart available here.
helm install --name rookout stable/rookout --set token=[Your Rookout Token]
Run as Daemon
The Rookout ETL Agent is also available as a Linux Daemon.
To install it using a setup script, run the following commands:
export ROOKOUT_TOKEN=[Your Rookout Token] curl -fs https://get.rookout.com | bash
Alternatively, you can download the script to disk and execute it with command line arguments (see more options below):
curl -fs https://get.rookout.com > setup.sh bash setup.sh --token=[Your Rookout Token]
Linux Daemon Configuration
The environment variables for the Linux daemon are accessible by editing the
By default, the ETL Agent listens only on localhost when running in daemon mode.
This can easily be changed by adding the following line to the configuration file:
You can also do this when installing the ETL agent:
setup.sh --token=[Your Rookout Token] --listen-all
Linux Daemon OS Support
The Linux daemon is supported in the following operating systems:
|Debian||GNU/Linux 9 (strech)|
|Ubuntu||14.04 LTS, 16.04 LTS|
|Red Hat Enterprise||Linux 6, 7|
Linux Daemon Update
The linux deamon can be updated to the latest version by rerunning the setup script:
If you would like to keep the pre-existing configuration rather than overwriting it with the flags specified now, use
curl -fs https://get.rookout.com > setup.sh bash setup.sh --keep-old-config
If you don't specify
--keep-old-config, the new version will be installed using the new settings.
Linux Daemon Restart
When modifying the configuration it is important to restart the ETL Agent using one of the following options:
systemctl restart rookout-agent
Linux Daemon Uninstall
To uninstall the linux daemon run the following command:
curl -fs https://get.rookout.com/remove_agent.sh | bash
Disable Sending Data
The ETL Agent connects to the Rookout Service to receive commands and report telemetry information.
Data collected from within the application may be sent to Rookout for interactive debugging sessions.
You may configure a local policy preventing the ETL Agent from sending application data to Rookout by adding the following line to the configuration file at
Local Breakpoint Targets
As the ETL Agent runs within your network, it allows you to direct the collected data into data sinks.
For example, debug messages can be sent to Elasticsearch or Splunk clusters.
All data received by the ETL gent undergoes a data redaction process based on the configuration set by the user.
The Rookout ETL Agent has HTTPS proxy support for advanced network configurations.
As most production systems do have automated means for proxy detection, you should configure it statically.
This can be done when installing the ETL Agent:
setup.sh --token=[Your Rookout Token] --https-proxy=[Your Proxy Server]
Or by adding the HTTPS_PROXY configuration to the ETL Agent configuration file at
export HTTPS_PROXY=[Your Proxy Server]
A single ETL Agent can handle thousands of concurrent applications connected to it, but the default configuration is optimized for about 100 concurrent applications.
The default limits include:
- The ETL Agent is restricted to use a single CPU core - to change the limit set
ROOKOUT_AGENT_MAX_CPUto the desired number of cores.
- The ETL Agent is restricted to 512MB of RAM - to change the limit set
ROOKOUT_AGENT_MAX_MEMORYto the desired memory in megabytes. Should the ETL Agent exceed that, it will exit with message similar to:
Memory limit reached (520 Mb) The limit is (512 Mb) - exiting
You can also adjust the limit when installing the ETL agent:
setup.sh --token=[Your Rookout Token] --max-mem=1024
The Rookout ETL Agent usage license may be found here: Rookout ETL Agent License