The loggen manual page
loggen --- Generate syslog messages at a specified rate
SYNOPSIS
loggen [options]
target [port]
DESCRIPTION
NOTE: The loggen application is distributed with the syslog-ng OSE system logging application, and is usually part of the syslog-ng OSE package. The latest version of the syslog-ng OSE application is available at the syslog-ng OSE page.
This manual page is only an abstract.
The loggen application is a tool to test and stress-test your syslog server and the connection to the server. It can send syslog messages to the server at a specified rate using a number of connection types and protocols, including TCP, UDP, and unix domain sockets. The messages can be generated automatically (repeating the PADDstring over and over), or read from a file or the standard input.
When loggen finishes sending the messages, it displays the following statistics:
-
average rate: The average rate of the sent messages in messages/second.
-
count: The total number of messages sent.
-
time: The time required to send the messages in seconds.
-
average message size: The average size of the sent messages in bytes.
-
bandwidth: The average bandwidth used for sending the messages in kilobytes/second.
OPTIONS
--active-connections <number-of-connections>
Number of connections loggen will use to send messages to the
<a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#destination" class="nav-link content-tooltip">destination</a>. This option is usable only when using TCP or <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#tls" class="nav-link content-tooltip">TLS</a>
connections to the <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#destination" class="nav-link content-tooltip">destination</a>. Default value: 1
The loggen utility waits until every connection is established
before starting to send messages. See also the `--idle-connections`
option.
--csv or -C
Send the statistics of the sent messages to stdout as CSV. This can
be used for plotting the message rate.
--dgram or -D
Use datagram socket (UDP or unix-dgram) to send the messages to the
target. Requires the \--inet option as well.
--dont-parse or -d
Do not parse the lines read from the input files, send them as
received.
--help or -h
Display a brief help message.
--idle-connection <number-of-connections>
Number of idle connections loggen will establish to the <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#destination" class="nav-link content-tooltip">destination</a>.
Note that loggen will not send any messages on idle connections, but
the connection is kept open using keep-alive messages. This option
is usable only when using TCP or <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#tls" class="nav-link content-tooltip">TLS</a> connections to the <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#destination" class="nav-link content-tooltip">destination</a>.
See also the --active-connections option. Default value: 0
--inet or -i
Use the TCP (by default) or UDP (when used together with the
\--dgram option) protocol to send the messages to the target.
--interval <seconds> or -I <seconds>
The number of seconds loggen will run. Default value: 10
NOTE: When `--interval` and `--number` are used together, loggen will
send messages until the period set in `--interval` expires or the
amount of messages set in `--number` is reached, whichever happens
first.
--ipv6 or -6
Specify the <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#destination" class="nav-link content-tooltip">destination</a> using its IPv6 address. Note that the
<a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#destination" class="nav-link content-tooltip">destination</a> must have a real IPv6 address.
--loop-reading or -l
Read the file specified in `--read-file` option in loop: loggen will
start reading from the beginning of the file when it reaches the end
of the file.
--number <number-of-messages> or -n <number-of-messages>
Number of messages to generate.
NOTE: When `--interval` and `--number` are used together, loggen will
send messages until the period set in `--interval` expires or the
amount of messages set in `--number` is reached, whichever happens
first.
--no-framing or -F
Do not use the framing of the <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#ietf-syslog-protocol" class="nav-link content-tooltip">IETF-syslog protocol</a> style, even if
the `--syslog-proto` option is set.
--quiet or -Q
Display statistics only when loggen is finished. If not set, the
statistics are displayed every second.
--permanent or -T
Keep sending logs indefinitely, without time limit.
--rate <message/second> or -r <message/second>
The number of messages generated per second for every active
connection. Default value: 1000
If you want to change the message rate while loggen is running, send
SIGUSR1 to double the message rate, or SIGUSR2 to halve it:
kill `-USR1 <loggen-pid>kill` `-USR2 <loggen-pid>`
--read-file <filename> or -R <filename>
Read the messages from a file and send them to the target. See also
the `--skip-tokens` option.
Specify - as the input file to read messages from the standard input
(stdio). Note that when reading messages from the standard input,
loggen can only use a single thread. The -R -parameters must be
placed at end of command, like: loggen 127.0.0.1 1061 `--read-file` -
--sdata <data-to-send> or -p <data-to-send>
Send the argument of the `--sdata` option as the `SDATA` part of
<a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#ietf-syslog-protocol" class="nav-link content-tooltip">IETF-syslog</a> (<a href="https://tools.ietf.org/html/rfc5424" class="nav-link content-tooltip" target="_blank">RFC-5424</a> formatted) messages. Use it together with the
`--syslog-proto` option.
For example:
```config
--sdata "[test name=\"value\"]
```
--size <message-size> or -s <message-size>
The size of a syslog message in bytes. Default value: 256. Minimum
value: 127 bytes, maximum value: 8192 bytes.
--skip-tokens <number>
Skip the specified number of space-separated tokens (words) at the
beginning of every line. For example, if the messages in the file
look like foo bar message, --skip-tokens 2 skips the foo bar part
of the line, and sends only the message part. Works only when used
together with the --read-file parameter. Default value: 0
--stream or -S
Use a stream socket (TCP or unix-stream) to send the messages to the
target.
--syslog-proto or -P
Use the new <a href="https://tools.ietf.org/html/rfc5424#page-8" class="nav-link content-tooltip" target="_blank">IETF-syslog message format</a>. By
default, loggen uses the <a href="https://tools.ietf.org/html/rfc3164#section-4.1" class="nav-link content-tooltip" target="_blank">legacy BSD-syslog message format</a>.
See also the \--no-framing option.
--unix </path/to/socket> or -x </path/to/socket>
Use a <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#unix-domain-socket" class="nav-link content-tooltip">UNIX domain socket</a> to send the messages to the target.
--use-ssl or -U
Use an SSL-encrypted channel to send the messages to the target.
Note that it is not possible to check the <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#certificate" class="nav-link content-tooltip">certificate</a> of the target,
or to perform mutual <a href="/syslog-ng.github.io/admin-guide/200_About/002_Glossary#authentication" class="nav-link content-tooltip">authentication</a>.
--version or -V
Display version number of syslog-ng.
EXAMPLES:
The following command generates 100 messages per second for ten minutes, and sends them to port 2010 of the localhost via TCP. Each message is 300 bytes long.
loggen --size 300 --rate 100 --interval 600 127.0.0.1 2010
The following command is similar to the one above, but uses the UDP protocol.
loggen --inet --dgram --size 300 --rate 100 --interval 600 127.0.0.1 2010
Send a single message on TCP6 to the ::1 IPv6 address, port 1061:
loggen --ipv6 --number 1 ::1 1061
Send a single message on UDP6 to the ::1 IPv6 address, port 1061:
loggen --ipv6 --dgram --number 1 ::1 1061
Send a single message using a unix domain-socket:
loggen --unix --stream --number 1 </path/to/socket>
Read messages from the standard input (stdio) and send them to the localhost:
loggen 127.0.0.1 1061 --read-file -
FILES
/opt/syslog-ng/bin/loggen
NOTE: If you experience any problems or need help with syslog-ng OSE, see the syslog-ng OSE Administration Guide[1], or visit the syslog-ng OSE mailing list[2]. For news and notifications about syslog-ng OSE, visit the syslog-ng OSE blogs[3].
AUTHOR
This manual page was generated from the syslog-ng OSE Administration Guide[1], which was written by several contributors to whom we’d like to extend our sincere thanks.
COPYRIGHT
NOTES
[1] syslog-ng OSE Administration Guide
https://syslog-ng.github.io/admin-guide/README
[2] syslog-ng OSE mailing list
https://lists.balabit.hu/mailman/listinfo/syslog-ng
[3] syslog-ng OSE blogs
https://syslog-ng.com/blog/