This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

rate-limit()

Synopsis: rate-limit(key($HOST) rate(5000))

Description: Limits messages rate based on arbitrary keys in each message. The key will be resolved using the key() option. Each resolution will be allowed to have the number of messages each second, set by the rate() option. For example if key($HOST) and rate(5000) are set, and there are 2 hosts sending messages to AxoSyslog, a total of 10000 messages will be allowed by the rate-limit() filter, 5000 from the first and 5000 from the second host. If key() was not set instead, then 5000 messages would be allowed each second, regardless of their content.

Example: Using the rate-limit() filter

The following example depicts the scenario described in the description part of this section.

   filter f_rate_limit {
                    rate-limit(
                    key("$HOST")
                    rate(5000)
                    );
                };

1 - Options of rate-limit() filter

The rate-limit() filter has the following options.

key()

Type: template
Default: empty string

Description: The resolved template, that will be used to create unique rate-limit token buckets. In AxoSyslog version 4.4 and earlier, the name of this option was template().

rate()

Type: number
Default: N/A
Mandatory: yes

Description: The number of messages for each unique macro resolution, that will be let through (matched) by the filter each second.