summaryrefslogtreecommitdiffstats
path: root/src/collectors/tc.plugin/metadata.yaml
blob: c40b5aa017f28b4cf1d711e700fd7c451b691380 (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:

              ```text
              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:

                ```text
                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