summaryrefslogtreecommitdiffstats
path: root/health/guides/udp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /health/guides/udp
parentInitial commit. (diff)
downloadnetdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz
netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'health/guides/udp')
-rw-r--r--health/guides/udp/1m_ipv4_udp_receive_buffer_errors.md65
-rw-r--r--health/guides/udp/1m_ipv4_udp_send_buffer_errors.md43
2 files changed, 108 insertions, 0 deletions
diff --git a/health/guides/udp/1m_ipv4_udp_receive_buffer_errors.md b/health/guides/udp/1m_ipv4_udp_receive_buffer_errors.md
new file mode 100644
index 00000000..a100ebbb
--- /dev/null
+++ b/health/guides/udp/1m_ipv4_udp_receive_buffer_errors.md
@@ -0,0 +1,65 @@
+### Understand the alert
+
+In both Linux and FreeBSD variants, the kernel allocates buffers to serve the UDP protocol operations. Packets after reception from a network interface are forwarded to these buffers to be processed by the UDP protocol stack in a system's socket.
+
+The Netdata Agent monitors the average number of UDP receive buffer errors over the last minute. Receiving this alert means that your system is dropping incoming UDP packets. This may indicate that the UDP receive buffer queue is full. This alert is triggered in warning state when the number of UDP receive buffer errors over the last minute is more than 10.
+
+In general, issues with buffers that allocated dynamically are correlated with the kernel memory, you must always be aware of memory pressure events. This can cause buffer errors.
+
+### Troubleshoot the alert (Linux)
+
+- Increase the net.core.rmem_default and net.core.rmem_max values
+
+1. Try to increase them, RedHat suggests the value of 262144 bytes
+ ```
+ sysctl -w net.core.rmem_default=262144
+ sysctl -w net.core.rmem_max=262144
+ ```
+
+2. Verify the change and test with the same workload that triggered the alarm originally.
+ ```
+ sysctl net.core.rmem_default net.core.rmem_max
+ net.core.rmem_default=262144
+ net.core.rmem_max=262144
+ ```
+
+3. If this change works for your system, you could make it permanently.
+
+ Bump these `net.core.rmem_default=262144` & `net.core.rmem_max=262144` entries under `/etc/sysctl.conf`.
+
+4. Reload the sysctl settings.
+
+ ```
+ sysctl -p
+ ```
+
+### Troubleshoot the alert (FreeBSD)
+
+- Increase the kern.ipc.maxsockbuf value
+
+1. Try to set this value to at least 16MB for 10GE overall
+ ```
+ sysctl -w kern.ipc.maxsockbuf=16777216
+ ```
+
+2. Verify the change and test with the same workload that triggered the alarm originally.
+ ```
+ sysctl kern.ipc.maxsockbuf
+ kern.ipc.maxsockbuf=16777216
+ ```
+
+3. If this change works for your system, you could make it permanently.
+
+ Bump this `kern.ipc.maxsockbuf=16777216` entry under `/etc/sysctl.conf`.
+
+4. Reload the sysctl settings.
+ ```
+ /etc/rc.d/sysctl reload
+ ```
+
+### Useful resources
+
+1. [UDP definition on wikipedia](https://en.wikipedia.org/wiki/User_Datagram_Protocol)
+2. [Man page of UDP protocol](https://man7.org/linux/man-pages/man7/udp.7.html)
+3. [Redhat networking tuning guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/tuning_and_optimizing_red_hat_enterprise_linux_for_oracle_9i_and_10g_databases/sect-oracle_9i_and_10g_tuning_guide-adjusting_network_settings-changing_network_kernel_settings)
+4. [UDP on freebsd (blog)](https://awasihba.wordpress.com/2008/10/13/udp-on-freebsd/)
diff --git a/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md b/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md
new file mode 100644
index 00000000..7d0411e3
--- /dev/null
+++ b/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md
@@ -0,0 +1,43 @@
+### Understand the alert
+
+The linux kernel allocates buffers to serve the UDP protocol operations. Data is written into sockets that utilize UDP to send data to an another system/subsystem.
+
+The Netdata Agent monitors the average number of UDP send buffer errors over the last minute. This alert indicates that the UDP send buffer is full or no kernel memory available. Receiving this alert
+means that your system is dropping outgoing UDP packets. This alert is triggered in warning state when the number of UDP send buffer errors over the last minute is more than 10.
+
+In general, issues with buffers that allocated dynamically are correlated with the kernel memory, you must always be aware of memory pressure events. This can cause buffer errors.
+
+### Troubleshooting section:
+
+- Increase the net.core.wmem_default and net.core.wmem_max values
+
+1. Try to increase them, RedHat suggests the value of 262144 bytes
+
+ ```
+ sysctl -w net.core.wmem_default=262144
+ sysctl -w net.core.wmem_max=262144
+ ```
+
+2. Verify the change and test with the same workload that triggered the alarm originally.
+
+ ```
+ sysctl net.core.wmem_default net.core.wmem_max
+ net.core.wmem_default=262144
+ net.core.wmem_max=262144
+ ```
+
+3. If this change works for your system, you could make it permanently.
+
+ Bump these `net.core.wmem_default=262144` & `net.core.wmem_max=262144` entries under `/etc/sysctl.conf`.
+
+4. Reload the sysctl settings.
+
+ ```
+ sysctl -p
+ ```
+
+### Useful resources
+
+1. [UDP definition on wikipedia](https://en.wikipedia.org/wiki/User_Datagram_Protocol)
+2. [Man page of UDP protocol](https://man7.org/linux/man-pages/man7/udp.7.html)
+3. [Redhat networking tuning guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/tuning_and_optimizing_red_hat_enterprise_linux_for_oracle_9i_and_10g_databases/sect-oracle_9i_and_10g_tuning_guide-adjusting_network_settings-changing_network_kernel_settings)