master
yaml 147 lines 5.16 KB
Raw
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.networking
11 icon_filename: "netdata.png"
12 related_resources:
13 integrations:
14 list: []
15 info_provided_to_referring_integrations:
16 description: ""
17 keywords: []
18 overview:
19 data_collection:
20 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."
21 method_description: "The plugin uses `tc` command to collect information about Traffic control."
22 supported_platforms:
23 include:
24 - Linux
25 exclude: []
26 multi_instance: true
27 additional_permissions:
28 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`."
29 default_behavior:
30 auto_detection:
31 description: ""
32 limits:
33 description: ""
34 performance_impact:
35 description: ""
36 setup:
37 prerequisites:
38 list:
39 - title: Create `tc-qos-helper.conf`
40 description: |
41 In order to view tc classes, you need to create the file `/etc/netdata/tc-qos-helper.conf` with content:
42
43 ```text
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
74 An example of class IDs mapped to names in that file can be:
75
76 ```text
77 2:1 Standard
78 2:8 LowPriorityData
79 2:10 HighThroughputData
80 2:16 OAM
81 2:18 LowLatencyData
82 2:24 BroadcastVideo
83 2:26 MultimediaStreaming
84 2:32 RealTimeInteractive
85 2:34 MultimediaConferencing
86 2:40 Signalling
87 2:46 Telephony
88 2:48 NetworkControl
89 ```
90
91 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).
92
93 config: |
94 [plugin:tc]
95 script to run to get tc values = /usr/libexec/netdata/plugins.d/tc-qos-helper.sh
96 enable show all classes and qdiscs for all interfaces = yes
97 troubleshooting:
98 problems:
99 list: []
100 alerts: []
101 metrics:
102 folding:
103 title: Metrics
104 enabled: false
105 description: ""
106 availability: []
107 scopes:
108 - name: network device direction
109 description: "Metrics related to QoS network device directions. Each direction (in/out) produces its own set of the following metrics."
110 labels:
111 - name: device
112 description: The network interface.
113 - name: device_name
114 description: The network interface name
115 - name: group
116 description: The device family
117 metrics:
118 - name: tc.qos
119 description: Class Usage
120 unit: "kilobits/s"
121 chart_type: stacked
122 dimensions:
123 - name: a dimension per class
124 - name: tc.qos_packets
125 description: Class Packets
126 unit: "packets/s"
127 chart_type: stacked
128 dimensions:
129 - name: a dimension per class
130 - name: tc.qos_dropped
131 description: Class Dropped Packets
132 unit: "packets/s"
133 chart_type: stacked
134 dimensions:
135 - name: a dimension per class
136 - name: tc.qos_tokens
137 description: Class Tokens
138 unit: "tokens"
139 chart_type: line
140 dimensions:
141 - name: a dimension per class
142 - name: tc.qos_ctokens
143 description: Class cTokens
144 unit: "ctokens"
145 chart_type: line
146 dimensions:
147 - name: a dimension per class