# The loggen manual page

loggen

1 4.8

loggen

Generate syslog messages at a specified rate

            loggen
            options
            target
            port

### Description

NOTE: The loggen application is distributed with the syslog-ng system logging application, and is usually part of the syslog-ng package. The latest version of the syslog-ng application is available at the official syslog-ng website.

This manual page is only an abstract, for the complete documentation of syslog-ng, see The syslog-ng Administrator Guide.

The `loggen` application is 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 `PADD`string 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: Average rate the messages were sent 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 destination. This option is usable only when using TCP or TLS connections to the destination. 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-connections <number-of-connections>`

- Number of idle connections `loggen` will establish to the destination. 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 TLS connections to the destination. 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 that when the `--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 destination using its IPv6 address. Note that the destination 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 that when the `--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 IETF-syslog protocol style, even if the `syslog-proto` option is set.

`--quiet` or `-Q`

- Output statistics only when the execution of `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

`--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 IETF-syslog (RFC5424 formatted) messages. Use it together with the `--syslog-proto` option. For example: `--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>`

- Skips 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 IETF-syslog message format as specified in RFC5424. By default, loggen uses the legacy BSD-syslog message format (as described in RFC3164). See also the `--no-framing` option.

`--unix </path/to/socket>` or `-x </path/to/socket>`

- Use a UNIX domain socket 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 certificate of the target, or to perform mutual authentication.

`--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 --stream --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`

### See also

`syslog-ng.conf`(5)

For the detailed documentation of see `The 4.8 Administrator Guide`

If you experience any problems or need help with syslog-ng, visit the `syslog-ng mailing list`.

For news and notifications about of syslog-ng, visit the `syslog-ng blogs`.

### Author

This manual page was written by the Balabit Documentation Team <documentation@balabit.com>.

### Copyright