Bro Logs Processing¶
- File location:
Bundled implementation:
source/client/python/remote.pyCluster implementation:
cluster/core/source/python/remote.py
Hook Mainloop¶
- remote.remote_proc()¶
A context for running processes at the background.
In bundled implementation, this function also starts both
remote_dump()andremote_logs()as new processes.In cluster implementation, this function starts
remote()as a new process.Note
Before exit, in bundled implementation, it will send
SIGUSR1signal to theremote_dump()background process andSIGUSR2signal to theremote_logs()background process; then wait for the process to gracefully exit.In cluster implementation, it will send
SIGUSR1signal to theremote_logs()background process and wait for the process to gracefully exit.
- remote.remote_logs()¶
- Availability:
bundled implementation
Runtime mainloop for Python hooks.
The function will start as an indefinite loop to fetch path to Bro logs from
const.QUEUE_LOGS, and execute registered Python hooks on them.When
JOIN_LOGSis set toTrue, the function will break from the loop and execute registered Python hooks for closing (sites.EXIT).- Raises:
HookWarning – If hook execution failed.
- remote.remote()¶
- Availability:
cluster implementation
The function will start as an indefinite loop to fetch path to Bro logs from
const.QUEUE, and execute registered Python hooks on them.When
JOINis set toTrue, the function will break from the loop and execute registered Python hooks for closing (sites.EXIT).- Raises:
HookWarning – If hook execution failed.
- hook(log_name: str)¶
Wrapper function for running registered Python hooks.
- Parameters:
log_name (str) – Root folder of Bro logs.
- wrapper_logs(args: Tuple[Callable[[str], Any], str])¶
Wrapper function for running registered Python hooks for processing (
sites.HOOK).
- wrapper_func(func: Callable[[], Any])¶
Wrapper function for running registered Python hooks for closing (
sites.EXIT).
Warnings¶
Signal Handling¶
Bundled Implementation¶
- remote.join_logs(*args, **kwargs)¶
- Availability:
bundled implementation
Toggle
JOIN_LOGStoTrue.Note
This function is registered as handler for
SIGUSR2`.
- remote.JOIN_LOGS = multiprocessing.Value('B', False)¶
- Availability:
bundled implementation
Flag to stop the
remote_logs()background process.