tcp_listen.conf 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #
  2. # There are two queues involved when incoming TCP connections are handled
  3. # (both at the kernel):
  4. #
  5. # SYN queue
  6. # The SYN queue tracks TCP handshakes until connections are fully established.
  7. # It overflows when too many incoming TCP connection requests hang in the
  8. # half-open state and the server is not configured to fall back to SYN cookies.
  9. # Overflows are usually caused by SYN flood DoS attacks (i.e. someone sends
  10. # lots of SYN packets and never completes the handshakes).
  11. #
  12. # Accept queue
  13. # The accept queue holds fully established TCP connections waiting to be handled
  14. # by the listening application. It overflows when the server application fails
  15. # to accept new connections at the rate they are coming in.
  16. #
  17. #
  18. # -----------------------------------------------------------------------------
  19. # tcp accept queue (at the kernel)
  20. alarm: 1m_tcp_accept_queue_overflows
  21. on: ip.tcp_accept_queue
  22. class: Workload
  23. type: System
  24. component: Network
  25. os: linux
  26. hosts: *
  27. lookup: average -60s unaligned absolute of ListenOverflows
  28. units: overflows
  29. every: 10s
  30. warn: $this > 1
  31. crit: $this > (($status == $CRITICAL) ? (1) : (5))
  32. delay: up 0 down 5m multiplier 1.5 max 1h
  33. summary: System TCP accept queue overflows
  34. info: Average number of overflows in the TCP accept queue over the last minute
  35. to: silent
  36. # THIS IS TOO GENERIC
  37. # CHECK: https://github.com/netdata/netdata/issues/3234#issuecomment-423935842
  38. alarm: 1m_tcp_accept_queue_drops
  39. on: ip.tcp_accept_queue
  40. class: Workload
  41. type: System
  42. component: Network
  43. os: linux
  44. hosts: *
  45. lookup: average -60s unaligned absolute of ListenDrops
  46. units: drops
  47. every: 10s
  48. warn: $this > 1
  49. crit: $this > (($status == $CRITICAL) ? (1) : (5))
  50. delay: up 0 down 5m multiplier 1.5 max 1h
  51. summary: System TCP accept queue dropped packets
  52. info: Average number of dropped packets in the TCP accept queue over the last minute
  53. to: silent
  54. # -----------------------------------------------------------------------------
  55. # tcp SYN queue (at the kernel)
  56. # When the SYN queue is full, either TcpExtTCPReqQFullDoCookies or
  57. # TcpExtTCPReqQFullDrop is incremented, depending on whether SYN cookies are
  58. # enabled or not. In both cases this probably indicates a SYN flood attack,
  59. # so i guess a notification should be sent.
  60. alarm: 1m_tcp_syn_queue_drops
  61. on: ip.tcp_syn_queue
  62. class: Workload
  63. type: System
  64. component: Network
  65. os: linux
  66. hosts: *
  67. lookup: average -60s unaligned absolute of TCPReqQFullDrop
  68. units: drops
  69. every: 10s
  70. warn: $this > 1
  71. crit: $this > (($status == $CRITICAL) ? (0) : (5))
  72. delay: up 10 down 5m multiplier 1.5 max 1h
  73. summary: System TCP SYN queue drops
  74. info: Average number of SYN requests was dropped due to the full TCP SYN queue over the last minute \
  75. (SYN cookies were not enabled)
  76. to: silent
  77. alarm: 1m_tcp_syn_queue_cookies
  78. on: ip.tcp_syn_queue
  79. class: Workload
  80. type: System
  81. component: Network
  82. os: linux
  83. hosts: *
  84. lookup: average -60s unaligned absolute of TCPReqQFullDoCookies
  85. units: cookies
  86. every: 10s
  87. warn: $this > 1
  88. crit: $this > (($status == $CRITICAL) ? (0) : (5))
  89. delay: up 10 down 5m multiplier 1.5 max 1h
  90. summary: System TCP SYN queue cookies
  91. info: Average number of sent SYN cookies due to the full TCP SYN queue over the last minute
  92. to: silent