fstrm_capture − Receive and save Frame Streams data from a socket.
fstrm_capture -t content-type -w filename
[ -u socket-path ] [ -a IP -p port ] | ||
[ -c max-connections ] [ -b buffer-size ] | ||
[ -s seconds ] [ --gmtime ] [ --localtime ] | ||
[ -d [-d ...] ] |
fstrm_capture --type content-type --write filename
[ --unix socket-path ] [ --tcp IP --port port ] | |
[ --maxconns max-connections ] [ --buffersize buffer-size ] | |
[ --split seconds ] [ --gmtime ] [ --localtime ] | |
[ --debug [--debug ...] ] |
fstrm_capture listens on a UNIX domain or TCP socket, receives Frame Streams data, and writes the data to a file.
-w filename | --write filename
Write data to the file filename.
If the --gmtime or --localtime option is given, filename is preprocessed with strftime(). This will allow specifying a format string which includes the date and time, for example, for the created filename.
If filename is "-" and standard output is not connected to a terminal, fstrm_capture will write to standard output. Output splitting (-s) may not be used with a filename of "-".
Sending SIGHUP to fstrm_capture will flush any buffered output to the file. Sending SIGUSR1 will close and reopen the file.
-t content-type | --type content-type
Specify the content-type to receive from the socket and write to the output filename.
-u socket-path | --unix socket-path
Listen on the Unix domain socket socket-path to receive Frame Streams data. Only one of -u or -a may be given.
-a IP | --tcp IP
Listen for TCP connections on address IP to receive Frame Streams data. Only one of -u or -a may be given. Use of -a requires a port given with -p.
-p port | --port port
If -a is given, listen on TCP port port to receive Frame Streams data.
-c max-conns | --maxconns max-conns
Allow at most max-conns concurrent connections. If not specified, concurrent connections are not limited.
-b buffersize | --buffersize buffersize
Set read buffer size to buffersize bytes. Combined with -c, this can be used to limit the total memory usage of fstrm_capture. The buffersize also affects the maximum frame size which fstrm_capture will accept. Frames larger than buffersize, including the 4-byte framing overhead, will be discarded.
The default buffersize is 262144 (256KiB).
-s interval | --split interval
Reopen output file every interval seconds. Requires the use of either the --gmtime or --localtime options.
Note that this file rotation is triggered by incoming data, so it may be delayed after the interval.
--gmtime
Process the --write filename through strftime() with the current time in GMT. This --gmtime option may be used to provide a timestamped output file when starting fstrm_capture or when reopening an output file using the --split option or when receiving a SIGUSR1 signal.
--localtime
Process the --write filename through strftime() with the current time in the system local time zone. This --localtime option may be used to provide a timestamped output file when starting fstrm_capture or when reopening an output file using the --split option or when receiving a SIGUSR1 signal.
-d [ -d ... ] | --debug [ --debug ]
Increase debugging level. Without -d, fstrm_capture prints only critical error messages. Up to five -d options may be specified, after which more repetitions will have no effect.
Receive dnstap data and save to hourly rotating files (with a converted filename such as /var/log/dnstap/dnstap-2018-05-04-12:58:48.fstrm).
fstrm_capture -t protobuf:dnstap.Dnstap \ |
|||
-u /var/run/named/dnstap.sock \ | |||
-w /var/log/dnstap/dnstap-%F-%T.fstrm \ | |||
-s 3600 --gmtime |
fstrm_dump(1),
fstrm_replay(1), strftime(3),
Frame Streams C Library
https://farsightsec.github.io/fstrm