Wire Transform
The wireTransform
utility is a demonstration of a generic wire ‘transform’ concept, in which the input is taken from a
wire subscription, transformed into a different format, and either published onto a different wire, or written
to STDOUT
.
Note that the source and target wires can be located on different Volts and located anywhere on the internet.
Currently the only supported transform is from tcpdump
text output to a protobuf format matching the definition below,
and wrapped in a ProtobufSyncWrapper message suitable for input in to the protoDbSync utility.
Usage
Begin by dumping the tcpdump
command output to a wire:
The wireTransform
utility is then used (potentially on a different machine from that running the tcpdump
command) to
transform the incoming text format tcpdump
output (on wire @tcpdump-text
) into a binary protobuf format, and then publish this transformed
output onto the @tcpdump-binary
wire:
If both the source and target wires are on the same Volt you can omit the --target-config
option.
To write the transformed output to STDOUT
rather than another wire, simply omit the -t
switch:
The format of the configuration files is a plain Volt client connection format as described here.
protoDbSync integration
The wireTransform
utility transforms textual tcpdump
data into a format compatible with the protoDbSync utility.
In order to make the output available to protoDbSync
, use the volt logger command. In the example below, we run wireTransform
so that it writes the transformed data to STDOUT
, and then redirect that output into the volt logger
command.
The volt logger
command will generate the appropriate format files required by the protoDbSync
utility, according to the configuration contained in the tcpdump.logger.json
file, an example of which is shown below.
See the protoDbSync utility for more details.