metadata.yaml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. plugin_name: tc.plugin
  2. modules:
  3. - meta:
  4. plugin_name: tc.plugin
  5. module_name: tc.plugin
  6. monitored_instance:
  7. name: tc QoS classes
  8. link: "https://wiki.linuxfoundation.org/networking/iproute2"
  9. categories:
  10. - data-collection.linux-systems.network-metrics
  11. icon_filename: "netdata.png"
  12. related_resources:
  13. integrations:
  14. list: []
  15. info_provided_to_referring_integrations:
  16. description: ""
  17. keywords: []
  18. most_popular: false
  19. overview:
  20. data_collection:
  21. metrics_description: "Examine tc metrics to gain insights into Linux traffic control operations. Study packet flow rates, queue lengths, and drop rates to optimize network traffic flow."
  22. method_description: "The plugin uses `tc` command to collect information about Traffic control."
  23. supported_platforms:
  24. include:
  25. - Linux
  26. exclude: []
  27. multi_instance: true
  28. additional_permissions:
  29. description: "The plugin needs to access command `tc` to get the necessary metrics. To achieve this netdata modifies permission of file `/usr/libexec/netdata/plugins.d/tc-qos-helper.sh`."
  30. default_behavior:
  31. auto_detection:
  32. description: ""
  33. limits:
  34. description: ""
  35. performance_impact:
  36. description: ""
  37. setup:
  38. prerequisites:
  39. list:
  40. - title: Create `tc-qos-helper.conf`
  41. description: |
  42. In order to view tc classes, you need to create the file `/etc/netdata/tc-qos-helper.conf` with content:
  43. ```conf
  44. tc_show="class"
  45. ```
  46. configuration:
  47. file:
  48. name: "netdata.conf"
  49. section_name: "[plugin:tc]"
  50. description: "The main configuration file."
  51. options:
  52. description: ""
  53. folding:
  54. title: "Config option"
  55. enabled: true
  56. list:
  57. - name: script to run to get tc values
  58. description: Path to script `tc-qos-helper.sh`
  59. default_value: "usr/libexec/netdata/plugins.d/tc-qos-helper.s"
  60. required: false
  61. - name: enable show all classes and qdiscs for all interfaces
  62. description: yes/no flag to control what data is presented.
  63. default_value: "yes"
  64. required: false
  65. examples:
  66. folding:
  67. enabled: false
  68. title: "Config"
  69. list:
  70. - name: Basic
  71. description: |
  72. A basic example configuration using classes defined in `/etc/iproute2/tc_cls`.
  73. An example of class IDs mapped to names in that file can be:
  74. ```conf
  75. 2:1 Standard
  76. 2:8 LowPriorityData
  77. 2:10 HighThroughputData
  78. 2:16 OAM
  79. 2:18 LowLatencyData
  80. 2:24 BroadcastVideo
  81. 2:26 MultimediaStreaming
  82. 2:32 RealTimeInteractive
  83. 2:34 MultimediaConferencing
  84. 2:40 Signalling
  85. 2:46 Telephony
  86. 2:48 NetworkControl
  87. ```
  88. You can read more about setting up the tc rules in rc.local in this [GitHub issue](https://github.com/netdata/netdata/issues/4563#issuecomment-455711973).
  89. config: |
  90. [plugin:tc]
  91. script to run to get tc values = /usr/libexec/netdata/plugins.d/tc-qos-helper.sh
  92. enable show all classes and qdiscs for all interfaces = yes
  93. troubleshooting:
  94. problems:
  95. list: []
  96. alerts: []
  97. metrics:
  98. folding:
  99. title: Metrics
  100. enabled: false
  101. description: ""
  102. availability: []
  103. scopes:
  104. - name: network device direction
  105. description: "Metrics related to QoS network device directions. Each direction (in/out) produces its own set of the following metrics."
  106. labels:
  107. - name: device
  108. description: The network interface.
  109. - name: device_name
  110. description: The network interface name
  111. - name: group
  112. description: The device family
  113. metrics:
  114. - name: tc.qos
  115. description: Class Usage
  116. unit: "kilobits/s"
  117. chart_type: stacked
  118. dimensions:
  119. - name: a dimension per class
  120. - name: tc.qos_packets
  121. description: Class Packets
  122. unit: "packets/s"
  123. chart_type: stacked
  124. dimensions:
  125. - name: a dimension per class
  126. - name: tc.qos_dropped
  127. description: Class Dropped Packets
  128. unit: "packets/s"
  129. chart_type: stacked
  130. dimensions:
  131. - name: a dimension per class
  132. - name: tc.qos_tokens
  133. description: Class Tokens
  134. unit: "tokens"
  135. chart_type: line
  136. dimensions:
  137. - name: a dimension per class
  138. - name: tc.qos_ctokens
  139. description: Class cTokens
  140. unit: "ctokens"
  141. chart_type: line
  142. dimensions:
  143. - name: a dimension per class