eBPF Yaml (#15474)
thiagoftsm committed
Jul 24, 2023 at 18:40 UTC
7c1f4cf63309be0533d5b87297c66ec8c0d565ba
1 file changed
+222
-100
collectors/ebpf.plugin/multi_metadata.yaml
+222
-100
@@ -4,48 +4,109 @@ modules:
4
plugin_name: ebpf.plugin
5
module_name: filedescriptor
6
monitored_instance:
7
- name: ebpf filedescriptor
8
- link: ""
7
+ name: eBPF Filedescriptor
8
+ link: "https://kernel.org/"
9
categories:
10
- data-collection.ebpf
11
- icon_filename: ""
11
+ icon_filename: "ebpf.jpg"
12
related_resources:
13
integrations:
14
- list: []
14
+ list:
15
+ - plugin_name: apps.plugin
16
+ module_name: apps
17
+ - plugin_name: cgroups.plugin
18
+ module_name: cgroups
19
info_provided_to_referring_integrations:
20
description: ""
17
- keywords: []
21
+ keywords:
22
+ - file
23
+ - eBPF
24
+ - fd
25
+ - open
26
+ - close
27
most_popular: false
28
overview:
29
data_collection:
21
- metrics_description: ""
22
- method_description: ""
30
+ metrics_description: "Monitor calls for functions responsible to open or close a file descriptor and possible errors."
31
+ method_description: "Attach tracing (kprobes and trampoline) to internal kernel functions according options used to compile kernel."
32
supported_platforms:
33
include: []
34
exclude: []
35
multi_instance: true
36
additional_permissions:
28
- description: ""
37
+ description: "The plugin needs setuid because it loads data inside kernel."
38
default_behavior:
39
auto_detection:
31
- description: ""
40
+ description: "It checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT) and presence of BTF files to decide which eBPF program will be attached."
41
limits:
42
description: ""
43
performance_impact:
35
- description: ""
44
+ description: "Depending of kernel version and frequency that files are open and close, this thread will add overhead everytime that an internal kernel function is called. The estimated additional period of time is at between 90-200ms per call on kernels that do not have BTF technology."
45
setup:
46
prerequisites:
38
- list: []
47
+ list:
48
+ - title: Compile kernel
49
+ description: |
50
+ Check if your kernel was compiled with necessary options (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT) in `/proc/config.gz` or inside /boot/config file. Some cited names can be different accoring preferences of Linux distributions.
51
+ When you do not have options set, it is necessary to get the kernel source code from https://kernel.org or a kernel package from your distribution, this last is preferred. The kernel compilation has a well definedd pattern, but distributions can deliver their configuration files
52
+ with different names.
53
+
54
+ Now follow steps:
55
+ 1. Copy the configuration file to /usr/src/linux/.config.
56
+ 2. Select the necessary options: make oldconfig
57
+ 3. Compile your kernel image: make bzImage
58
+ 4. Compile your modules: make modules
59
+ 5. Copy your new kernel image for boot loader directory
60
+ 6. Install the new modules: make modules_install
61
+ 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
62
+ 8. Update your boot loader
63
configuration:
64
file:
41
- name: ""
42
- description: ""
65
+ name: "ebpf.d/fd.conf"
66
+ description: "Overwrite default configuration helping to reduce memory usage. You can also select charts visible on dashboard."
67
options:
44
- description: ""
68
+ description: |
69
+ All options are defined inside section `[global]`.
70
folding:
46
- title: ""
71
+ title: "Config options"
72
enabled: true
48
- list: []
73
+ list:
74
+ - name: update every
75
+ description: Data collection frequency.
76
+ default_value: 5
77
+ required: false
78
+ - name: ebpf load mode
79
+ description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
80
+ default_value: entry
81
+ required: false
82
+ - name: apps
83
+ description: Enable or disable integration with apps.plugin
84
+ default_value: no
85
+ required: false
86
+ - name: cgroups
87
+ description: Enable or disable integration with cgroup.plugin
88
+ default_value: no
89
+ required: false
90
+ - name: pid table size
91
+ description: Number of elements stored inside hash tables used to monitor calls per PID.
92
+ default_value: 32768
93
+ required: false
94
+ - name: ebpf type format
95
+ description: "Define the file type to load an eBPF program. Three options are available: `legacy` (Attach only `kprobe`), `co-re` (Plugin tries to use `trampoline` when available), and `auto` (plugin check OS configuration before to load)."
96
+ default_value: auto
97
+ required: false
98
+ - name: ebpf co-re tracing
99
+ description: "Select the attach method used by plugin when `co-re` is defined in previous option. Two options are available: `trampoline` (Option with lowest overhead), and `probe` (the same of legacy code)."
100
+ default_value: trampoline
101
+ required: false
102
+ - name: maps per core
103
+ description: Define how plugin will load their hash maps. When enabled (`yes`) plugin will load one hash table per core, instead to have centralized information.
104
+ default_value: yes
105
+ required: false
106
+ - name: lifetime
107
+ description: Set default lifetime for thread when enabled by cloud.
108
+ default_value: 300
109
+ required: false
110
examples:
111
folding:
112
enabled: true
@@ -63,7 +124,7 @@ modules:
124
availability: []
125
scopes:
126
- name: cgroup
66
- description: ""
127
+ description: "These Metrics show grouped information per cgroup."
128
labels: []
129
metrics:
130
- name: cgroup.fd_open
@@ -91,7 +152,7 @@ modules:
152
dimensions:
153
- name: close
154
- name: global
94
- description: ""
155
+ description: "These metrics show total number of calls executed for the host."
156
labels: []
157
metrics:
158
- name: services.file_open
@@ -160,22 +221,26 @@ modules:
221
plugin_name: ebpf.plugin
222
module_name: processes
223
monitored_instance:
163
- name: ebpf processes
224
+ name: eBPF Processes
225
link: ""
226
categories:
227
- data-collection.ebpf
167
- icon_filename: ""
228
+ icon_filename: "ebpf.jpg"
229
related_resources:
230
integrations:
231
list: []
232
info_provided_to_referring_integrations:
233
description: ""
173
- keywords: []
234
+ keywords:
235
+ - thread
236
+ - fork
237
+ - process
238
+ - eBPF
239
most_popular: false
240
overview:
241
data_collection:
177
- metrics_description: ""
178
- method_description: ""
242
+ metrics_description: "Monitor calls for function creating tasks (threads and processes) inside Linux kernel."
243
+ method_description: "Attach tracing (kprobes and tracepoint) to internal kernel functions."
244
supported_platforms:
245
include: []
246
exclude: []
@@ -345,22 +410,26 @@ modules:
410
plugin_name: ebpf.plugin
411
module_name: disk
412
monitored_instance:
348
- name: ebpf disk
413
+ name: eBPF Disk
414
link: ""
415
categories:
416
- data-collection.ebpf
352
- icon_filename: ""
417
+ icon_filename: "ebpf.jpg"
418
related_resources:
419
integrations:
420
list: []
421
info_provided_to_referring_integrations:
422
description: ""
358
- keywords: []
423
+ keywords:
424
+ - hard Disk
425
+ - eBPF
426
+ - latency
427
+ - partition
428
most_popular: false
429
overview:
430
data_collection:
362
- metrics_description: ""
363
- method_description: ""
431
+ metrics_description: "Measure latency for I/O events on disk."
432
+ method_description: "Attach tracepoints to internal kernel functions."
433
supported_platforms:
434
include: []
435
exclude: []
@@ -417,22 +486,24 @@ modules:
486
plugin_name: ebpf.plugin
487
module_name: hardirq
488
monitored_instance:
420
- name: ebpf hardirq
489
+ name: eBPF Hardirq
490
link: ""
491
categories:
492
- data-collection.ebpf
424
- icon_filename: ""
493
+ icon_filename: "ebpf.jpg"
494
related_resources:
495
integrations:
496
list: []
497
info_provided_to_referring_integrations:
498
description: ""
430
- keywords: []
499
+ keywords:
500
+ - HardIRQ
501
+ - eBPF
502
most_popular: false
503
overview:
504
data_collection:
434
- metrics_description: ""
435
- method_description: ""
505
+ metrics_description: "Monitor latency for each HardIRQ available."
506
+ method_description: "Attach tracepoints to internal kernel functions."
507
supported_platforms:
508
include: []
509
exclude: []
@@ -480,7 +551,7 @@ modules:
551
labels: []
552
metrics:
553
- name: system.hardirq_latency
483
- description: Hardware IRQ latency
554
+ description: Hard IRQ latency
555
unit: "milisecondds"
556
chart_type: stacked
557
dimensions:
@@ -489,22 +560,25 @@ modules:
560
plugin_name: ebpf.plugin
561
module_name: cachestat
562
monitored_instance:
492
- name: ebpf cachestat
563
+ name: eBPF Cachestat
564
link: ""
565
categories:
566
- data-collection.ebpf
496
- icon_filename: ""
567
+ icon_filename: "ebpf.jpg"
568
related_resources:
569
integrations:
570
list: []
571
info_provided_to_referring_integrations:
572
description: ""
502
- keywords: []
573
+ keywords:
574
+ - Page cache
575
+ - Hit ratio
576
+ - eBPF
577
most_popular: false
578
overview:
579
data_collection:
506
- metrics_description: ""
507
- method_description: ""
580
+ metrics_description: "Monitor Linux page cache events giving for users a general vision about how his kernel is manipulating files."
581
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
582
supported_platforms:
583
include: []
584
exclude: []
@@ -655,22 +729,26 @@ modules:
729
plugin_name: ebpf.plugin
730
module_name: sync
731
monitored_instance:
658
- name: ebpf sync
732
+ name: eBPF Sync
733
link: ""
734
categories:
735
- data-collection.ebpf
662
- icon_filename: ""
736
+ icon_filename: "ebpf.jpg"
737
related_resources:
738
integrations:
739
list: []
740
info_provided_to_referring_integrations:
741
description: ""
668
- keywords: []
742
+ keywords:
743
+ - syscall
744
+ - eBPF
745
+ - hard disk
746
+ - memory
747
most_popular: false
748
overview:
749
data_collection:
672
- metrics_description: ""
673
- method_description: ""
750
+ metrics_description: "Monitor syscalls responsible to move data from memory to storage device."
751
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
752
supported_platforms:
753
include: []
754
exclude: []
@@ -753,22 +831,25 @@ modules:
831
plugin_name: ebpf.plugin
832
module_name: mdflush
833
monitored_instance:
756
- name: ebpf mdflush
834
+ name: eBPF MDflush
835
link: ""
836
categories:
837
- data-collection.ebpf
760
- icon_filename: ""
838
+ icon_filename: "ebpf.jpg"
839
related_resources:
840
integrations:
841
list: []
842
info_provided_to_referring_integrations:
843
description: ""
766
- keywords: []
844
+ keywords:
845
+ - MD
846
+ - RAID
847
+ - eBPF
848
most_popular: false
849
overview:
850
data_collection:
770
- metrics_description: ""
771
- method_description: ""
851
+ metrics_description: "Monitor when flush events happen between disks."
852
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
853
supported_platforms:
854
include: []
855
exclude: []
@@ -825,22 +906,26 @@ modules:
906
plugin_name: ebpf.plugin
907
module_name: swap
908
monitored_instance:
828
- name: ebpf swap
909
+ name: eBPF SWAP
910
link: ""
911
categories:
912
- data-collection.ebpf
832
- icon_filename: ""
913
+ icon_filename: "ebpf.jpg"
914
related_resources:
915
integrations:
916
list: []
917
info_provided_to_referring_integrations:
918
description: ""
838
- keywords: []
919
+ keywords:
920
+ - SWAP
921
+ - memory
922
+ - eBPF
923
+ - Hard Disk
924
most_popular: false
925
overview:
926
data_collection:
842
- metrics_description: ""
843
- method_description: ""
927
+ metrics_description: "Monitors when swap has I/O events and applications executing events."
928
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
929
supported_platforms:
930
include: []
931
exclude: []
@@ -938,22 +1023,24 @@ modules:
1023
plugin_name: ebpf.plugin
1024
module_name: oomkill
1025
monitored_instance:
941
- name: ebpf oomkill
1026
+ name: eBPF OOMkill
1027
link: ""
1028
categories:
1029
- data-collection.ebpf
945
- icon_filename: ""
1030
+ icon_filename: "ebpf.jpg"
1031
related_resources:
1032
integrations:
1033
list: []
1034
info_provided_to_referring_integrations:
1035
description: ""
951
- keywords: []
1036
+ keywords:
1037
+ - application
1038
+ - memory
1039
most_popular: false
1040
overview:
1041
data_collection:
955
- metrics_description: ""
956
- method_description: ""
1042
+ metrics_description: "Monitor applications that reach out of memory."
1043
+ method_description: "Attach tracepoint to internal kernel functions."
1044
supported_platforms:
1045
include: []
1046
exclude: []
@@ -1026,22 +1113,28 @@ modules:
1113
plugin_name: ebpf.plugin
1114
module_name: socket
1115
monitored_instance:
1029
- name: ebpf socket
1116
+ name: eBPF Socket
1117
link: ""
1118
categories:
1119
- data-collection.ebpf
1033
- icon_filename: ""
1120
+ icon_filename: "ebpf.jpg"
1121
related_resources:
1122
integrations:
1123
list: []
1124
info_provided_to_referring_integrations:
1125
description: ""
1039
- keywords: []
1126
+ keywords:
1127
+ - TCP
1128
+ - UDP
1129
+ - bandwidth
1130
+ - server
1131
+ - connection
1132
+ - socket
1133
most_popular: false
1134
overview:
1135
data_collection:
1043
- metrics_description: ""
1044
- method_description: ""
1136
+ metrics_description: "Monitor bandwidth consumption per application for protocols TCP and UDP."
1137
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1138
supported_platforms:
1139
include: []
1140
exclude: []
@@ -1319,22 +1412,25 @@ modules:
1412
plugin_name: ebpf.plugin
1413
module_name: dcstat
1414
monitored_instance:
1322
- name: ebpf dcstat
1415
+ name: eBPF DCstat
1416
link: ""
1417
categories:
1418
- data-collection.ebpf
1326
- icon_filename: ""
1419
+ icon_filename: "ebpf.jpg"
1420
related_resources:
1421
integrations:
1422
list: []
1423
info_provided_to_referring_integrations:
1424
description: ""
1332
- keywords: []
1425
+ keywords:
1426
+ - Directory Cache
1427
+ - File system
1428
+ - eBPF
1429
most_popular: false
1430
overview:
1431
data_collection:
1336
- metrics_description: ""
1337
- method_description: ""
1432
+ metrics_description: "Monitor directory cache events per application given an overall vision about files on memory or storage device."
1433
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1434
supported_platforms:
1435
include: []
1436
exclude: []
@@ -1479,22 +1575,31 @@ modules:
1575
plugin_name: ebpf.plugin
1576
module_name: filesystem
1577
monitored_instance:
1482
- name: ebpf filesystem
1578
+ name: eBPF Filesystem
1579
link: ""
1580
categories:
1581
- data-collection.ebpf
1486
- icon_filename: ""
1582
+ icon_filename: "ebpf.jpg"
1583
related_resources:
1584
integrations:
1585
list: []
1586
info_provided_to_referring_integrations:
1587
description: ""
1492
- keywords: []
1588
+ keywords:
1589
+ - Filesystem
1590
+ - ext4
1591
+ - btrfs
1592
+ - nfs
1593
+ - xfs
1594
+ - zfs
1595
+ - eBPF
1596
+ - latency
1597
+ - I/O
1598
most_popular: false
1599
overview:
1600
data_collection:
1496
- metrics_description: ""
1497
- method_description: ""
1601
+ metrics_description: "Monitor latency for main actions on filesystem like I/O events."
1602
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1603
supported_platforms:
1604
include: []
1605
exclude: []
@@ -1583,22 +1688,25 @@ modules:
1688
plugin_name: ebpf.plugin
1689
module_name: shm
1690
monitored_instance:
1586
- name: ebpf shm
1691
+ name: eBPF SHM
1692
link: ""
1693
categories:
1694
- data-collection.ebpf
1590
- icon_filename: ""
1695
+ icon_filename: "ebpf.jpg"
1696
related_resources:
1697
integrations:
1698
list: []
1699
info_provided_to_referring_integrations:
1700
description: ""
1596
- keywords: []
1701
+ keywords:
1702
+ - syscall
1703
+ - shared memory
1704
+ - eBPF
1705
most_popular: false
1706
overview:
1707
data_collection:
1600
- metrics_description: ""
1601
- method_description: ""
1708
+ metrics_description: "Monitor syscalls responsible to manipulate shared memory."
1709
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1710
supported_platforms:
1711
include: []
1712
exclude: []
@@ -1734,22 +1842,24 @@ modules:
1842
plugin_name: ebpf.plugin
1843
module_name: softirq
1844
monitored_instance:
1737
- name: ebpf softirq
1845
+ name: eBPF SoftIRQ
1846
link: ""
1847
categories:
1848
- data-collection.ebpf
1741
- icon_filename: ""
1849
+ icon_filename: "ebpf.jpg"
1850
related_resources:
1851
integrations:
1852
list: []
1853
info_provided_to_referring_integrations:
1854
description: ""
1747
- keywords: []
1855
+ keywords:
1856
+ - SoftIRQ
1857
+ - eBPF
1858
most_popular: false
1859
overview:
1860
data_collection:
1751
- metrics_description: ""
1752
- method_description: ""
1861
+ metrics_description: "Monitor latency for each SoftIRQ available."
1862
+ method_description: "Attach kprobes to internal kernel functions."
1863
supported_platforms:
1864
include: []
1865
exclude: []
@@ -1797,7 +1907,7 @@ modules:
1907
labels: []
1908
metrics:
1909
- name: system.softirq_latency
1800
- description: Software IRQ latency
1910
+ description: Soft IRQ latency
1911
unit: "miliseconds"
1912
chart_type: stacked
1913
dimensions:
@@ -1806,22 +1916,26 @@ modules:
1916
plugin_name: ebpf.plugin
1917
module_name: mount
1918
monitored_instance:
1809
- name: ebpf mount
1919
+ name: eBPF Mount
1920
link: ""
1921
categories:
1922
- data-collection.ebpf
1813
- icon_filename: ""
1923
+ icon_filename: "ebpf.jpg"
1924
related_resources:
1925
integrations:
1926
list: []
1927
info_provided_to_referring_integrations:
1928
description: ""
1819
- keywords: []
1929
+ keywords:
1930
+ - mount
1931
+ - umount
1932
+ - device
1933
+ - eBPF
1934
most_popular: false
1935
overview:
1936
data_collection:
1823
- metrics_description: ""
1824
- method_description: ""
1937
+ metrics_description: "Monitor calls for mount and umount syscall."
1938
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1939
supported_platforms:
1940
include: []
1941
exclude: []
@@ -1886,22 +2000,27 @@ modules:
2000
plugin_name: ebpf.plugin
2001
module_name: vfs
2002
monitored_instance:
1889
- name: ebpf vfs
2003
+ name: eBPF VFS
2004
link: ""
2005
categories:
2006
- data-collection.ebpf
1893
- icon_filename: ""
2007
+ icon_filename: "ebpf.jpg"
2008
related_resources:
2009
integrations:
2010
list: []
2011
info_provided_to_referring_integrations:
2012
description: ""
1899
- keywords: []
2013
+ keywords:
2014
+ - virtual
2015
+ - filesystem
2016
+ - eBPF
2017
+ - I/O
2018
+ - files
2019
most_popular: false
2020
overview:
2021
data_collection:
1903
- metrics_description: ""
1904
- method_description: ""
2022
+ metrics_description: "Monitor I/O events on Linux Virtual Filesystem."
2023
+ method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
2024
supported_platforms:
2025
include: []
2026
exclude: []
@@ -2253,22 +2372,25 @@ modules:
2372
plugin_name: ebpf.plugin
2373
module_name: process
2374
monitored_instance:
2256
- name: ebpf process
2375
+ name: eBPF Process
2376
link: ""
2377
categories:
2378
- data-collection.ebpf
2260
- icon_filename: ""
2379
+ icon_filename: "ebpf.jpg"
2380
related_resources:
2381
integrations:
2382
list: []
2383
info_provided_to_referring_integrations:
2384
description: ""
2266
- keywords: []
2385
+ keywords:
2386
+ - Memory
2387
+ - plugin
2388
+ - eBPF
2389
most_popular: false
2390
overview:
2391
data_collection:
2270
- metrics_description: ""
2271
- method_description: ""
2392
+ metrics_description: "Monitor internal memory usage."
2393
+ method_description: "Uses netdata internal statistic to monitor memory management by plugin."
2394
supported_platforms:
2395
include: []
2396
exclude: []