Skip to content
Merged
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 26 additions & 20 deletions administration/networking.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,19 +56,25 @@

The following table describes the network configuration properties available and their usage in optimizing performance or adjusting configuration needs for plugins that rely on networking I/O:

| Property | Description | Default |
| :------- |:------------|:--------|
| `net.connect_timeout` | Set maximum time expressed in seconds to wait for a TCP connection to be established, including the TLS handshake time. | `10` |
| `net.connect_timeout_log_error` | On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message. | `true` |
| `net.dns.mode` | Select the primary DNS connection type (TCP or UDP). Can be set in the `[SERVICE]` section and overridden on a per plugin basis if desired. | _none_ |
| `net.dns.prefer_ipv4` | Prioritize IPv4 DNS results when trying to establish a connection. | `false` |
| `net.dns.resolver`| Select the primary DNS resolver type (`LEGACY` or `ASYNC`). | _none_ |
| `net.keepalive` | Enable or disable connection keepalive support. Accepts a Boolean value: `on` or `off`.  | `on` |
| `net.keepalive_idle_timeout` | Set maximum time expressed in seconds for an idle keepalive connection. | `30` |
| `net.keepalive_max_recycle` | Set maximum number of times a keepalive connection can be used before it's retired. | `2000` |
| `net.max_worker_connections` | Set maximum number of TCP connections that can be established per worker. | `0` (unlimited) |
| `net.source_address` | Specify network address to bind for data traffic. | _none_ |
| `net.backlog` | Set the maximum number of pending connections for listening sockets. This option requires Fluent Bit version 4.0.4 or later. | `128` |
| Property | Description | Default |
|:--------------------------------|:-------------------------------------------------------------------------------------------------------------------|:--------|
| `net.connect_timeout` | Set maximum time allowed to establish a connection, this time includes the TLS handshake. | `10s` |
| `net.connect_timeout_log_error` | On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message. | `true` |
| `net.io_timeout` | Set maximum time a connection can stay idle while assigned. | `0s` |
| `net.keepalive` | Enable or disable connection keepalive support. | `true` |
| `net.keepalive_idle_timeout` | Set maximum time expressed in seconds for an idle keepalive connection. | `30s` |
| `net.dns.mode` | Select the primary DNS connection type (`TCP` or `UDP`). | _none_ |
| `net.dns.prefer_ipv4` | Prioritize IPv4 DNS results when trying to establish a connection. | `false` |
| `net.dns.prefer_ipv6` | Prioritize IPv6 DNS results when trying to establish a connection. | `false` |
| `net.dns.resolver` | Select the primary DNS resolver type (`LEGACY` or `ASYNC`). | _none_ |
| `net.keepalive_max_recycle` | Set maximum number of times a keepalive connection can be used before it's retired. | `2000` |
| `net.max_worker_connections` | Set maximum number of TCP connections that can be established per worker. | `0` |
| `net.proxy_env_ignore` | Ignore the environment variables `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` when set. | `false` |
| `net.tcp_keepalive` | Enable or disable Keepalive support. | `off` |
| `net.tcp_keepalive_time` | Interval between the last data packet sent and the first TCP keepalive probe. | `-1` |
| `net.tcp_keepalive_interval` | Interval between TCP keepalive probes when no response is received on a keepidle probe. | `-1` |

Check warning on line 75 in administration/networking.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'keepidle'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'keepidle'?", "location": {"path": "administration/networking.md", "range": {"start": {"line": 75, "column": 109}}}, "severity": "INFO"}
| `net.tcp_keepalive_probes` | Number of unacknowledged probes to consider a connection dead. | `-1` |
| `net.source_address` | Specify network address to bind for data traffic. | _none_ |

## Example

Expand Down Expand Up @@ -97,10 +103,10 @@
format: json_lines
# Networking Setup
net.dns.mode: TCP
net.connect_timeout: 5
net.connect_timeout: 5s
net.source_address: 127.0.0.1
net.keepalive: on
net.keepalive_idle_timeout: 10
net.keepalive: true
net.keepalive_idle_timeout: 10s
```
{% endtab %}
Expand All @@ -123,10 +129,10 @@
format json_lines
# Networking Setup
net.dns.mode TCP
net.connect_timeout 5
net.connect_timeout 5s
net.source_address 127.0.0.1
net.keepalive on
net.keepalive_idle_timeout 10
net.keepalive true
net.keepalive_idle_timeout 10s
```

{% endtab %}
Expand All @@ -152,4 +158,4 @@

If the `net.keepalive` option isn't enabled, Fluent Bit closes the TCP connection and netcat quits.

After the five records arrive, the connection idles. After 10 seconds, the connection closes due to `net.keepalive_idle_timeout`.
After the five records arrive, the connection idles. After 10 seconds, the connection closes due to `net.keepalive_idle_timeout`.