@cryptotaxi247 / netdata-1 / commits / 7c1f4cf63

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: []