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