@cryptotaxi247 / netdata-1 / commits / 3dae7acfb

eBPF Yaml complement (#15516)

* ebpf_yaml2: Update description for process and fix organization for file descriptor. * ebpf_yaml2: Update description for disk. * ebpf_yaml2: Update description for hardirq. * ebpf_yaml2: Update description for cachestat and add missing data for previous descriptions * ebpf_yaml2: Update cgroup description * ebpf_yaml2: Update description for sync and fix typo * ebpf_yaml2: Fix typos * ebpf_yaml2: Update description for mdflush * ebpf_yaml2: Update description for swap and improve grammar for other threads. * ebpf_yaml2: Update description for oomkill and improve grammar for other threads. * ebpf_yaml2: Update description for socket and improve grammar for other threads * ebpf_yaml2: Update description for dcstat * ebpf_yaml2: Update description for filesystem * ebpf_yaml2: Update description for shm * ebpf_yaml2: Fix dupplicated wordd * ebpf_yaml2: Update description for softirq * ebpf_yaml2: Update description for mount * ebpf_yaml2: Update description for vfs and fix some typos and missing data * ebpf_yaml2: Update description for memory allocation * ebpf_yaml2: Add missing charts * xen_yaml2: Fix reported issues * xen_yaml2: Fix lenght and add supported_platform * xen_yaml2: Explain setuid better * Update collectors/ebpf.plugin/multi_metadata.yaml --------- Co-authored-by: Shyam Sreevalsan <shyam@netdata.cloud>

thiagoftsm committed Jul 27, 2023 at 19:30 UTC 3dae7acfb1e5dc71d04de453cd6072a1f5a72555
1 file changed +1165 -356
collectors/ebpf.plugin/multi_metadata.yaml
+1165 -356
@@ -1,3 +1,5 @@
1 +# yamllint disable rule:line-length
2 +---
3 plugin_name: ebpf.plugin
4 modules:
5 - meta:
@@ -28,20 +30,21 @@ modules:
30 overview:
31 data_collection:
32 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."
33 + method_description: "Attach tracing (kprobe and trampoline) to internal kernel functions according options used to compile kernel."
34 supported_platforms:
33 - include: []
35 + include:
36 + - Linux
37 exclude: []
38 multi_instance: true
39 additional_permissions:
37 - description: "The plugin needs setuid because it loads data inside kernel."
40 + description: "The plugin needs setuid because it loads data inside kernel. Netdata sets necessary permissions during installation time."
41 default_behavior:
42 auto_detection:
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."
43 + description: "The plugin 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."
44 limits:
45 description: ""
46 performance_impact:
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."
47 + description: "Depending of kernel version and frequency that files are open and close, this thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
48 setup:
49 prerequisites:
50 list:
@@ -124,7 +127,7 @@ modules:
127 availability: []
128 scopes:
129 - name: cgroup
127 - description: "These Metrics show grouped information per cgroup."
130 + description: "These Metrics show grouped information per cgroup/service."
131 labels: []
132 metrics:
133 - name: cgroup.fd_open
@@ -151,10 +154,6 @@ modules:
154 chart_type: line
155 dimensions:
156 - name: close
154 - - name: global
155 - description: "These metrics show total number of calls executed for the host."
156 - labels: []
157 - metrics:
157 - name: services.file_open
158 description: Number of open files
159 unit: "calls/s"
@@ -179,6 +178,28 @@ modules:
178 chart_type: stacked
179 dimensions:
180 - name: a dimension per systemd service
181 + - name: global
182 + description: "These metrics show total number of calls to functions inside kernel."
183 + labels: []
184 + metrics:
185 + - name: filesystem.file_descriptor
186 + description: Open and close calls
187 + unit: "calls/s"
188 + chart_type: line
189 + dimensions:
190 + - name: open
191 + - name: close
192 + - name: filesystem.file_error
193 + description: Open fails
194 + unit: "calls/s"
195 + chart_type: line
196 + dimensions:
197 + - name: open
198 + - name: close
199 + - name: apps
200 + description: "These Metrics show grouped information per apps group."
201 + labels: []
202 + metrics:
203 - name: apps.file_open
204 description: Number of open files
205 unit: "calls/s"
@@ -203,32 +224,22 @@ modules:
224 chart_type: stacked
225 dimensions:
226 - name: a dimension per app group
206 - - name: filesystem.file_descriptor
207 - description: Open and close calls
208 - unit: "calls/s"
209 - chart_type: line
210 - dimensions:
211 - - name: open
212 - - name: close
213 - - name: filesystem.file_error
214 - description: Open fails
215 - unit: "calls/s"
216 - chart_type: line
217 - dimensions:
218 - - name: open
219 - - name: close
227 - meta:
228 plugin_name: ebpf.plugin
229 module_name: processes
230 monitored_instance:
231 name: eBPF Processes
225 - link: ""
232 + link: "https://kernel.org/"
233 categories:
234 - data-collection.ebpf
235 icon_filename: "ebpf.jpg"
236 related_resources:
237 integrations:
231 - list: []
238 + list:
239 + - plugin_name: apps.plugin
240 + module_name: apps
241 + - plugin_name: cgroups.plugin
242 + module_name: cgroups
243 info_provided_to_referring_integrations:
244 description: ""
245 keywords:
@@ -240,33 +251,89 @@ modules:
251 overview:
252 data_collection:
253 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."
254 + method_description: "Attach tracing (kprobe or tracepoint, and trampoline) to internal kernel functions."
255 supported_platforms:
245 - include: []
256 + include:
257 + - Linux
258 exclude: []
259 multi_instance: true
260 additional_permissions:
249 - description: ""
261 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
262 default_behavior:
263 auto_detection:
252 - description: ""
264 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
265 limits:
266 description: ""
267 performance_impact:
256 - description: ""
268 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called."
269 setup:
270 prerequisites:
259 - list: []
271 + list:
272 + - title: Compile kernel
273 + description: |
274 + 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.
275 + 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
276 + with different names.
277 +
278 + Now follow steps:
279 + 1. Copy the configuration file to /usr/src/linux/.config.
280 + 2. Select the necessary options: make oldconfig
281 + 3. Compile your kernel image: make bzImage
282 + 4. Compile your modules: make modules
283 + 5. Copy your new kernel image for boot loader directory
284 + 6. Install the new modules: make modules_install
285 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
286 + 8. Update your boot loader
287 + - title: Debug Filesystem
288 + description: |
289 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).
290 configuration:
291 file:
262 - name: ""
263 - description: ""
292 + name: "ebpf.d/process.conf"
293 + description: "Overwrite default configuration helping to reduce memory usage. You can also select charts visible on dashboard."
294 options:
265 - description: ""
295 + description: |
296 + All options are defined inside section `[global]`.
297 folding:
267 - title: ""
298 + title: "Config options"
299 enabled: true
269 - list: []
300 + list:
301 + - name: update every
302 + description: Data collection frequency.
303 + default_value: 5
304 + required: false
305 + - name: ebpf load mode
306 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
307 + default_value: entry
308 + required: false
309 + - name: apps
310 + description: Enable or disable integration with apps.plugin
311 + default_value: no
312 + required: false
313 + - name: cgroups
314 + description: Enable or disable integration with cgroup.plugin
315 + default_value: no
316 + required: false
317 + - name: pid table size
318 + description: Number of elements stored inside hash tables used to monitor calls per PID.
319 + default_value: 32768
320 + required: false
321 + - name: ebpf type format
322 + 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)."
323 + default_value: auto
324 + required: false
325 + - name: ebpf co-re tracing
326 + 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). This plugin will always try to attach a tracepoint, so option here will impact only function used to monitor task (thread and process) creation."
327 + default_value: trampoline
328 + required: false
329 + - name: maps per core
330 + 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.
331 + default_value: yes
332 + required: false
333 + - name: lifetime
334 + description: Set default lifetime for thread when enabled by cloud.
335 + default_value: 300
336 + required: false
337 examples:
338 folding:
339 enabled: true
@@ -284,7 +351,7 @@ modules:
351 availability: []
352 scopes:
353 - name: global
287 - description: ""
354 + description: "These metrics show total number of calls to functions inside kernel."
355 labels: []
356 metrics:
357 - name: system.process_thread
@@ -312,6 +379,10 @@ modules:
379 chart_type: line
380 dimensions:
381 - name: task
382 + - name: apps
383 + description: "These Metrics show grouped information per apps group."
384 + labels: []
385 + metrics:
386 - name: apps.process_create
387 description: Process started
388 unit: "calls/s"
@@ -343,7 +414,7 @@ modules:
414 dimensions:
415 - name: a dimension per app group
416 - name: cgroup
346 - description: ""
417 + description: "These Metrics show grouped information per cgroup/service."
418 labels: []
419 metrics:
420 - name: cgroup.process_create
@@ -411,7 +482,7 @@ modules:
482 module_name: disk
483 monitored_instance:
484 name: eBPF Disk
414 - link: ""
485 + link: "https://kernel.org/"
486 categories:
487 - data-collection.ebpf
488 icon_filename: "ebpf.jpg"
@@ -431,31 +502,63 @@ modules:
502 metrics_description: "Measure latency for I/O events on disk."
503 method_description: "Attach tracepoints to internal kernel functions."
504 supported_platforms:
434 - include: []
505 + include:
506 + - Linux
507 exclude: []
508 multi_instance: true
509 additional_permissions:
438 - description: ""
510 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
511 default_behavior:
512 auto_detection:
441 - description: ""
513 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
514 limits:
515 description: ""
516 performance_impact:
445 - description: ""
517 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called."
518 setup:
519 prerequisites:
448 - list: []
520 + list:
521 + - title: Compile kernel
522 + description: |
523 + 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.
524 + 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
525 + with different names.
526 +
527 + Now follow steps:
528 + 1. Copy the configuration file to /usr/src/linux/.config.
529 + 2. Select the necessary options: make oldconfig
530 + 3. Compile your kernel image: make bzImage
531 + 4. Compile your modules: make modules
532 + 5. Copy your new kernel image for boot loader directory
533 + 6. Install the new modules: make modules_install
534 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
535 + 8. Update your boot loader
536 + - title: Debug Filesystem
537 + description: |
538 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).`
539 configuration:
540 file:
451 - name: ""
452 - description: ""
541 + name: "ebpf.d/disk.conf"
542 + description: "Overwrite default configuration reducing number of I/O events."
543 options:
454 - description: ""
544 + description: |
545 + All options are defined inside section `[global]`.
546 folding:
456 - title: ""
547 + title: "Config options"
548 enabled: true
458 - list: []
549 + list:
550 + - name: update every
551 + description: Data collection frequency.
552 + default_value: 5
553 + required: false
554 + - name: ebpf load mode
555 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
556 + default_value: entry
557 + required: false
558 + - name: lifetime
559 + description: Set default lifetime for thread when enabled by cloud.
560 + default_value: 300
561 + required: false
562 examples:
563 folding:
564 enabled: true
@@ -473,7 +576,7 @@ modules:
576 availability: []
577 scopes:
578 - name: disk
476 - description: ""
579 + description: "These metrics measure latency for I/O events on every hard disk present on host."
580 labels: []
581 metrics:
582 - name: disk.latency_io
@@ -487,7 +590,7 @@ modules:
590 module_name: hardirq
591 monitored_instance:
592 name: eBPF Hardirq
490 - link: ""
593 + link: "https://kernel.org/"
594 categories:
595 - data-collection.ebpf
596 icon_filename: "ebpf.jpg"
@@ -505,31 +608,63 @@ modules:
608 metrics_description: "Monitor latency for each HardIRQ available."
609 method_description: "Attach tracepoints to internal kernel functions."
610 supported_platforms:
508 - include: []
611 + include:
612 + - Linux
613 exclude: []
614 multi_instance: true
615 additional_permissions:
512 - description: ""
616 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
617 default_behavior:
618 auto_detection:
515 - description: ""
619 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
620 limits:
621 description: ""
622 performance_impact:
519 - description: ""
623 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called."
624 setup:
625 prerequisites:
522 - list: []
626 + list:
627 + - title: Compile kernel
628 + description: |
629 + 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.
630 + 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
631 + with different names.
632 +
633 + Now follow steps:
634 + 1. Copy the configuration file to /usr/src/linux/.config.
635 + 2. Select the necessary options: make oldconfig
636 + 3. Compile your kernel image: make bzImage
637 + 4. Compile your modules: make modules
638 + 5. Copy your new kernel image for boot loader directory
639 + 6. Install the new modules: make modules_install
640 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
641 + 8. Update your boot loader
642 + - title: Debug Filesystem
643 + description: |
644 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).
645 configuration:
646 file:
525 - name: ""
526 - description: ""
647 + name: "ebpf.d/hardirq.conf"
648 + description: "Overwrite default configuration reducing number of I/O events."
649 options:
528 - description: ""
650 + description: |
651 + All options are defined inside section `[global]`.
652 folding:
530 - title: ""
653 + title: "Config options"
654 enabled: true
532 - list: []
655 + list:
656 + - name: update every
657 + description: Data collection frequency.
658 + default_value: 5
659 + required: false
660 + - name: ebpf load mode
661 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
662 + default_value: entry
663 + required: false
664 + - name: lifetime
665 + description: Set default lifetime for thread when enabled by cloud.
666 + default_value: 300
667 + required: false
668 examples:
669 folding:
670 enabled: true
@@ -547,12 +682,12 @@ modules:
682 availability: []
683 scopes:
684 - name: global
550 - description: ""
685 + description: "These metrics show latest timestamp for each hardIRQ available on host."
686 labels: []
687 metrics:
688 - name: system.hardirq_latency
689 description: Hard IRQ latency
555 - unit: "milisecondds"
690 + unit: "milliseconds"
691 chart_type: stacked
692 dimensions:
693 - name: hardirq names
@@ -561,13 +696,17 @@ modules:
696 module_name: cachestat
697 monitored_instance:
698 name: eBPF Cachestat
564 - link: ""
699 + link: "https://kernel.org/"
700 categories:
701 - data-collection.ebpf
702 icon_filename: "ebpf.jpg"
703 related_resources:
704 integrations:
570 - list: []
705 + list:
706 + - plugin_name: apps.plugin
707 + module_name: apps
708 + - plugin_name: cgroups.plugin
709 + module_name: cgroups
710 info_provided_to_referring_integrations:
711 description: ""
712 keywords:
@@ -580,31 +719,84 @@ modules:
719 metrics_description: "Monitor Linux page cache events giving for users a general vision about how his kernel is manipulating files."
720 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
721 supported_platforms:
583 - include: []
722 + include:
723 + - Linux
724 exclude: []
725 multi_instance: true
726 additional_permissions:
587 - description: ""
727 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
728 default_behavior:
729 auto_detection:
590 - description: ""
730 + description: "The plugin 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."
731 limits:
732 description: ""
733 performance_impact:
594 - description: ""
734 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
735 setup:
736 prerequisites:
597 - list: []
737 + list:
738 + - title: Compile kernel
739 + description: |
740 + 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.
741 + 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
742 + with different names.
743 +
744 + Now follow steps:
745 + 1. Copy the configuration file to /usr/src/linux/.config.
746 + 2. Select the necessary options: make oldconfig
747 + 3. Compile your kernel image: make bzImage
748 + 4. Compile your modules: make modules
749 + 5. Copy your new kernel image for boot loader directory
750 + 6. Install the new modules: make modules_install
751 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
752 + 8. Update your boot loader
753 configuration:
754 file:
600 - name: ""
601 - description: ""
755 + name: "ebpf.d/cachestat.conf"
756 + description: "Overwrite default configuration helping to reduce memory usage. You can also select charts visible on dashboard."
757 options:
603 - description: ""
758 + description: |
759 + All options are defined inside section `[global]`.
760 folding:
605 - title: ""
761 + title: "Config options"
762 enabled: true
607 - list: []
763 + list:
764 + - name: update every
765 + description: Data collection frequency.
766 + default_value: 5
767 + required: false
768 + - name: ebpf load mode
769 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
770 + default_value: entry
771 + required: false
772 + - name: apps
773 + description: Enable or disable integration with apps.plugin
774 + default_value: no
775 + required: false
776 + - name: cgroups
777 + description: Enable or disable integration with cgroup.plugin
778 + default_value: no
779 + required: false
780 + - name: pid table size
781 + description: Number of elements stored inside hash tables used to monitor calls per PID.
782 + default_value: 32768
783 + required: false
784 + - name: ebpf type format
785 + 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)."
786 + default_value: auto
787 + required: false
788 + - name: ebpf co-re tracing
789 + 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)."
790 + default_value: trampoline
791 + required: false
792 + - name: maps per core
793 + 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.
794 + default_value: yes
795 + required: false
796 + - name: lifetime
797 + description: Set default lifetime for thread when enabled by cloud.
798 + default_value: 300
799 + required: false
800 examples:
801 folding:
802 enabled: true
@@ -622,115 +814,119 @@ modules:
814 availability: []
815 scopes:
816 - name: global
625 - description: ""
817 + description: "These metrics show total number of calls to functions inside kernel."
818 labels: []
819 metrics:
628 - - name: apps.cachestat_ratio
820 + - name: mem.cachestat_ratio
821 description: Hit ratio
822 unit: "%"
823 chart_type: line
824 dimensions:
633 - - name: a dimension per app group
634 - - name: apps.cachestat_dirties
825 + - name: ratio
826 + - name: mem.cachestat_dirties
827 description: Number of dirty pages
828 unit: "page/s"
637 - chart_type: stacked
829 + chart_type: line
830 dimensions:
639 - - name: a dimension per app group
640 - - name: apps.cachestat_hits
831 + - name: dirty
832 + - name: mem.cachestat_hits
833 description: Number of accessed files
834 unit: "hits/s"
643 - chart_type: stacked
835 + chart_type: line
836 dimensions:
645 - - name: a dimension per app group
646 - - name: apps.cachestat_misses
647 - description: Files out of page cache
837 + - name: hit
838 + - name: mem.cachestat_misses
839 + description: Files out of page cache
840 unit: "misses/s"
649 - chart_type: stacked
841 + chart_type: line
842 dimensions:
651 - - name: a dimension per app group
652 - - name: services.cachestat_ratio
843 + - name: miss
844 + - name: apps
845 + description: "These Metrics show grouped information per apps group."
846 + labels: []
847 + metrics:
848 + - name: apps.cachestat_ratio
849 description: Hit ratio
850 unit: "%"
851 chart_type: line
852 dimensions:
657 - - name: a dimension per systemd service
658 - - name: services.cachestat_dirties
853 + - name: a dimension per app group
854 + - name: apps.cachestat_dirties
855 description: Number of dirty pages
856 unit: "page/s"
661 - chart_type: line
857 + chart_type: stacked
858 dimensions:
663 - - name: a dimension per systemd service
664 - - name: services.cachestat_hits
859 + - name: a dimension per app group
860 + - name: apps.cachestat_hits
861 description: Number of accessed files
862 unit: "hits/s"
667 - chart_type: line
863 + chart_type: stacked
864 dimensions:
669 - - name: a dimension per systemd service
670 - - name: services.cachestat_misses
865 + - name: a dimension per app group
866 + - name: apps.cachestat_misses
867 description: Files out of page cache
868 unit: "misses/s"
673 - chart_type: line
869 + chart_type: stacked
870 dimensions:
675 - - name: a dimension per systemd service
676 - - name: mem.cachestat_ratio
871 + - name: a dimension per app group
872 + - name: cgroup
873 + description: ""
874 + labels: []
875 + metrics:
876 + - name: cgroup.cachestat_ratio
877 description: Hit ratio
878 unit: "%"
879 chart_type: line
880 dimensions:
881 - name: ratio
682 - - name: mem.cachestat_dirties
882 + - name: cgroup.cachestat_dirties
883 description: Number of dirty pages
884 unit: "page/s"
885 chart_type: line
886 dimensions:
887 - name: dirty
688 - - name: mem.cachestat_hits
888 + - name: cgroup.cachestat_hits
889 description: Number of accessed files
890 unit: "hits/s"
891 chart_type: line
892 dimensions:
893 - name: hit
694 - - name: mem.cachestat_misses
894 + - name: cgroup.cachestat_misses
895 description: Files out of page cache
896 unit: "misses/s"
897 chart_type: line
898 dimensions:
899 - name: miss
700 - - name: cgroup
701 - description: ""
702 - labels: []
703 - metrics:
704 - - name: cgroup.cachestat_ratio
900 + - name: services.cachestat_ratio
901 description: Hit ratio
902 unit: "%"
903 chart_type: line
904 dimensions:
709 - - name: ratio
710 - - name: cgroup.cachestat_dirties
905 + - name: a dimension per systemd service
906 + - name: services.cachestat_dirties
907 description: Number of dirty pages
908 unit: "page/s"
909 chart_type: line
910 dimensions:
715 - - name: dirty
716 - - name: cgroup.cachestat_hits
911 + - name: a dimension per systemd service
912 + - name: services.cachestat_hits
913 description: Number of accessed files
914 unit: "hits/s"
915 chart_type: line
916 dimensions:
721 - - name: hit
722 - - name: cgroup.cachestat_misses
917 + - name: a dimension per systemd service
918 + - name: services.cachestat_misses
919 description: Files out of page cache
920 unit: "misses/s"
921 chart_type: line
922 dimensions:
727 - - name: miss
923 + - name: a dimension per systemd service
924 - meta:
925 plugin_name: ebpf.plugin
926 module_name: sync
927 monitored_instance:
928 name: eBPF Sync
733 - link: ""
929 + link: "https://kernel.org/"
930 categories:
931 - data-collection.ebpf
932 icon_filename: "ebpf.jpg"
@@ -747,34 +943,114 @@ modules:
943 most_popular: false
944 overview:
945 data_collection:
750 - metrics_description: "Monitor syscalls responsible to move data from memory to storage device."
946 + metrics_description: "Monitor syscall responsible to move data from memory to storage device."
947 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
948 supported_platforms:
753 - include: []
949 + include:
950 + - Linux
951 exclude: []
952 multi_instance: true
953 additional_permissions:
757 - description: ""
954 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
955 default_behavior:
956 auto_detection:
760 - description: ""
957 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT, CONFIG_HAVE_SYSCALL_TRACEPOINTS), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
958 limits:
959 description: ""
960 performance_impact:
764 - description: ""
961 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
962 setup:
963 prerequisites:
767 - list: []
964 + list:
965 + - title: Compile kernel
966 + description: |
967 + 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.
968 + 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
969 + with different names.
970 +
971 + Now follow steps:
972 + 1. Copy the configuration file to /usr/src/linux/.config.
973 + 2. Select the necessary options: make oldconfig
974 + 3. Compile your kernel image: make bzImage
975 + 4. Compile your modules: make modules
976 + 5. Copy your new kernel image for boot loader directory
977 + 6. Install the new modules: make modules_install
978 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
979 + 8. Update your boot loader
980 + - title: Debug Filesystem
981 + description: |
982 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug`).
983 configuration:
984 file:
770 - name: ""
771 - description: ""
985 + name: "ebpf.d/sync.conf"
986 + description: "Overwrite default configuration and allows user to select charts visible on dashboard."
987 options:
773 - description: ""
988 + description: |
989 + This configuration file have two different sections. The `[global]` overwrites all default options, while `[syscalls]` allow user to select the syscall to monitor.
990 folding:
775 - title: ""
991 + title: "Config options"
992 enabled: true
777 - list: []
993 + list:
994 + - name: update every
995 + description: Data collection frequency.
996 + default_value: 5
997 + required: false
998 + - name: ebpf load mode
999 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
1000 + default_value: entry
1001 + required: false
1002 + - name: apps
1003 + description: Enable or disable integration with apps.plugin
1004 + default_value: no
1005 + required: false
1006 + - name: cgroups
1007 + description: Enable or disable integration with cgroup.plugin
1008 + default_value: no
1009 + required: false
1010 + - name: pid table size
1011 + description: Number of elements stored inside hash tables used to monitor calls per PID.
1012 + default_value: 32768
1013 + required: false
1014 + - name: ebpf type format
1015 + 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)."
1016 + default_value: auto
1017 + required: false
1018 + - name: ebpf co-re tracing
1019 + 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)."
1020 + default_value: trampoline
1021 + required: false
1022 + - name: maps per core
1023 + 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.
1024 + default_value: yes
1025 + required: false
1026 + - name: lifetime
1027 + description: Set default lifetime for thread when enabled by cloud.
1028 + default_value: 300
1029 + required: false
1030 + - name: sync
1031 + description: Enable or disable monitoring for syscall `sync`
1032 + default_value: yes
1033 + required: false
1034 + - name: msync
1035 + description: Enable or disable monitoring for syscall `msync`
1036 + default_value: yes
1037 + required: false
1038 + - name: fsync
1039 + description: Enable or disable monitoring for syscall `fsync`
1040 + default_value: yes
1041 + required: false
1042 + - name: fdatasync
1043 + description: Enable or disable monitoring for syscall `fdatasync`
1044 + default_value: yes
1045 + required: false
1046 + - name: syncfs
1047 + description: Enable or disable monitoring for syscall `syncfs`
1048 + default_value: yes
1049 + required: false
1050 + - name: sync_file_range
1051 + description: Enable or disable monitoring for syscall `sync_file_range`
1052 + default_value: yes
1053 + required: false
1054 examples:
1055 folding:
1056 enabled: true
@@ -798,7 +1074,7 @@ modules:
1074 availability: []
1075 scopes:
1076 - name: global
801 - description: ""
1077 + description: "These metrics show total number of calls to functions inside kernel."
1078 labels: []
1079 metrics:
1080 - name: mem.file_sync
@@ -832,7 +1108,7 @@ modules:
1108 module_name: mdflush
1109 monitored_instance:
1110 name: eBPF MDflush
835 - link: ""
1111 + link: "https://kernel.org/"
1112 categories:
1113 - data-collection.ebpf
1114 icon_filename: "ebpf.jpg"
@@ -851,31 +1127,60 @@ modules:
1127 metrics_description: "Monitor when flush events happen between disks."
1128 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1129 supported_platforms:
854 - include: []
1130 + include:
1131 + - Linux
1132 exclude: []
1133 multi_instance: true
1134 additional_permissions:
858 - description: ""
1135 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
1136 default_behavior:
1137 auto_detection:
861 - description: ""
1138 + description: "The plugin 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."
1139 limits:
1140 description: ""
1141 performance_impact:
865 - description: ""
1142 + description: "This thread will add overhead every time that `md_flush_request` is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
1143 setup:
1144 prerequisites:
868 - list: []
1145 + list:
1146 + - title: Compile kernel
1147 + description: |
1148 + 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.
1149 + 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
1150 + with different names.
1151 +
1152 + Now follow steps:
1153 + 1. Copy the configuration file to /usr/src/linux/.config.
1154 + 2. Select the necessary options: make oldconfig
1155 + 3. Compile your kernel image: make bzImage
1156 + 4. Compile your modules: make modules
1157 + 5. Copy your new kernel image for boot loader directory
1158 + 6. Install the new modules: make modules_install
1159 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
1160 + 8. Update your boot loader
1161 configuration:
1162 file:
871 - name: ""
872 - description: ""
1163 + name: "ebpf.d/mdflush.conf"
1164 + description: "Overwrite default configuration reducing I/O events."
1165 options:
874 - description: ""
1166 + description: |
1167 + All options are defined inside section `[global]`.
1168 folding:
876 - title: ""
1169 + title: "Config options"
1170 enabled: true
878 - list: []
1171 + list:
1172 + - name: update every
1173 + description: Data collection frequency.
1174 + default_value: 5
1175 + required: false
1176 + - name: ebpf load mode
1177 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
1178 + default_value: entry
1179 + required: false
1180 + - name: lifetime
1181 + description: Set default lifetime for thread when enabled by cloud.
1182 + default_value: 300
1183 + required: false
1184 examples:
1185 folding:
1186 enabled: true
@@ -893,7 +1198,7 @@ modules:
1198 availability: []
1199 scopes:
1200 - name: global
896 - description: ""
1201 + description: "Number of times md_flush_request was called since last time."
1202 labels: []
1203 metrics:
1204 - name: mdstat.mdstat_flush
@@ -907,13 +1212,17 @@ modules:
1212 module_name: swap
1213 monitored_instance:
1214 name: eBPF SWAP
910 - link: ""
1215 + link: "https://kernel.org/"
1216 categories:
1217 - data-collection.ebpf
1218 icon_filename: "ebpf.jpg"
1219 related_resources:
1220 integrations:
916 - list: []
1221 + list:
1222 + - plugin_name: apps.plugin
1223 + module_name: apps
1224 + - plugin_name: cgroups.plugin
1225 + module_name: cgroups
1226 info_provided_to_referring_integrations:
1227 description: ""
1228 keywords:
@@ -927,31 +1236,84 @@ modules:
1236 metrics_description: "Monitors when swap has I/O events and applications executing events."
1237 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1238 supported_platforms:
930 - include: []
1239 + include:
1240 + - Linux
1241 exclude: []
1242 multi_instance: true
1243 additional_permissions:
934 - description: ""
1244 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
1245 default_behavior:
1246 auto_detection:
937 - description: ""
1247 + description: "The plugin 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."
1248 limits:
1249 description: ""
1250 performance_impact:
941 - description: ""
1251 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
1252 setup:
1253 prerequisites:
944 - list: []
1254 + list:
1255 + - title: Compile kernel
1256 + description: |
1257 + 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.
1258 + 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
1259 + with different names.
1260 +
1261 + Now follow steps:
1262 + 1. Copy the configuration file to /usr/src/linux/.config.
1263 + 2. Select the necessary options: make oldconfig
1264 + 3. Compile your kernel image: make bzImage
1265 + 4. Compile your modules: make modules
1266 + 5. Copy your new kernel image for boot loader directory
1267 + 6. Install the new modules: make modules_install
1268 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
1269 + 8. Update your boot loader
1270 configuration:
1271 file:
947 - name: ""
948 - description: ""
1272 + name: "ebpf.d/swap.conf"
1273 + description: "Overwrite default configuration helping to reduce memory usage. You can also select charts visible on dashboard."
1274 options:
950 - description: ""
1275 + description: |
1276 + All options are defined inside section `[global]`.
1277 folding:
952 - title: ""
1278 + title: "Config options"
1279 enabled: true
954 - list: []
1280 + list:
1281 + - name: update every
1282 + description: Data collection frequency.
1283 + default_value: 5
1284 + required: false
1285 + - name: ebpf load mode
1286 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
1287 + default_value: entry
1288 + required: false
1289 + - name: apps
1290 + description: Enable or disable integration with apps.plugin
1291 + default_value: no
1292 + required: false
1293 + - name: cgroups
1294 + description: Enable or disable integration with cgroup.plugin
1295 + default_value: no
1296 + required: false
1297 + - name: pid table size
1298 + description: Number of elements stored inside hash tables used to monitor calls per PID.
1299 + default_value: 32768
1300 + required: false
1301 + - name: ebpf type format
1302 + 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)."
1303 + default_value: auto
1304 + required: false
1305 + - name: ebpf co-re tracing
1306 + 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)."
1307 + default_value: trampoline
1308 + required: false
1309 + - name: maps per core
1310 + 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.
1311 + default_value: yes
1312 + required: false
1313 + - name: lifetime
1314 + description: Set default lifetime for thread when enabled by cloud.
1315 + default_value: 300
1316 + required: false
1317 examples:
1318 folding:
1319 enabled: true
@@ -969,7 +1331,7 @@ modules:
1331 availability: []
1332 scopes:
1333 - name: cgroup
972 - description: ""
1334 + description: "These Metrics show grouped information per cgroup/service."
1335 labels: []
1336 metrics:
1337 - name: cgroup.swap_read
@@ -984,10 +1346,6 @@ modules:
1346 chart_type: line
1347 dimensions:
1348 - name: write
987 - - name: global
988 - description: ""
989 - labels: []
990 - metrics:
1349 - name: services.swap_read
1350 description: Calls to <code>swap_readpage</code>.
1351 unit: "calls/s"
@@ -1000,6 +1358,10 @@ modules:
1358 chart_type: stacked
1359 dimensions:
1360 - name: a dimension per systemd service
1361 + - name: apps
1362 + description: "These Metrics show grouped information per apps group."
1363 + labels: []
1364 + metrics:
1365 - name: apps.swap_read_call
1366 description: Calls to function <code>swap_readpage</code>.
1367 unit: "calls/s"
@@ -1012,6 +1374,10 @@ modules:
1374 chart_type: stacked
1375 dimensions:
1376 - name: a dimension per app group
1377 + - name: global
1378 + description: "These metrics show total number of calls to functions inside kernel."
1379 + labels: []
1380 + metrics:
1381 - name: system.swapcalls
1382 description: Calls to access swap memory
1383 unit: "calls/s"
@@ -1024,13 +1390,17 @@ modules:
1390 module_name: oomkill
1391 monitored_instance:
1392 name: eBPF OOMkill
1027 - link: ""
1393 + link: "https://kernel.org/"
1394 categories:
1395 - data-collection.ebpf
1396 icon_filename: "ebpf.jpg"
1397 related_resources:
1398 integrations:
1033 - list: []
1399 + list:
1400 + - plugin_name: apps.plugin
1401 + module_name: apps
1402 + - plugin_name: cgroups.plugin
1403 + module_name: cgroups
1404 info_provided_to_referring_integrations:
1405 description: ""
1406 keywords:
@@ -1042,29 +1412,49 @@ modules:
1412 metrics_description: "Monitor applications that reach out of memory."
1413 method_description: "Attach tracepoint to internal kernel functions."
1414 supported_platforms:
1045 - include: []
1415 + include:
1416 + - Linux
1417 exclude: []
1418 multi_instance: true
1419 additional_permissions:
1049 - description: ""
1420 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
1421 default_behavior:
1422 auto_detection:
1052 - description: ""
1423 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
1424 limits:
1425 description: ""
1426 performance_impact:
1056 - description: ""
1427 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called."
1428 setup:
1429 prerequisites:
1059 - list: []
1430 + list:
1431 + - title: Compile kernel
1432 + description: |
1433 + 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.
1434 + 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
1435 + with different names.
1436 +
1437 + Now follow steps:
1438 + 1. Copy the configuration file to /usr/src/linux/.config.
1439 + 2. Select the necessary options: make oldconfig
1440 + 3. Compile your kernel image: make bzImage
1441 + 4. Compile your modules: make modules
1442 + 5. Copy your new kernel image for boot loader directory
1443 + 6. Install the new modules: make modules_install
1444 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
1445 + 8. Update your boot loader
1446 + - title: Debug Filesystem
1447 + description: |
1448 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).
1449 configuration:
1450 file:
1062 - name: ""
1063 - description: ""
1451 + name: "ebpf.d/oomkill.conf"
1452 + description: "Overwrite default configuration reducing number of I/O events."
1453 options:
1065 - description: ""
1454 + description: |
1455 + Overwrite default configuration reducing number of I/O events
1456 folding:
1067 - title: ""
1457 + title: "Config options"
1458 enabled: true
1459 list: []
1460 examples:
@@ -1074,7 +1464,19 @@ modules:
1464 list: []
1465 troubleshooting:
1466 problems:
1077 - list: []
1467 + list:
1468 + - name: update every
1469 + description: Data collection frequency.
1470 + default_value: 5
1471 + required: false
1472 + - name: ebpf load mode
1473 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
1474 + default_value: entry
1475 + required: false
1476 + - name: lifetime
1477 + description: Set default lifetime for thread when enabled by cloud.
1478 + default_value: 300
1479 + required: false
1480 alerts: []
1481 metrics:
1482 folding:
@@ -1084,7 +1486,7 @@ modules:
1486 availability: []
1487 scopes:
1488 - name: cgroup
1087 - description: ""
1489 + description: "These metrics show cgroup/service that reached OOM."
1490 labels: []
1491 metrics:
1492 - name: cgroup.oomkills
@@ -1093,16 +1495,16 @@ modules:
1495 chart_type: line
1496 dimensions:
1497 - name: cgroup name
1096 - - name: global
1097 - description: ""
1098 - labels: []
1099 - metrics:
1498 - name: services.oomkills
1499 description: OOM kills. This chart is provided by eBPF plugin.
1500 unit: "kills"
1501 chart_type: line
1502 dimensions:
1503 - name: a dimension per systemd service
1504 + - name: apps
1505 + description: "These metrics show cgroup/service that reached OOM."
1506 + labels: []
1507 + metrics:
1508 - name: apps.oomkills
1509 description: OOM kills
1510 unit: "kills"
@@ -1114,13 +1516,17 @@ modules:
1516 module_name: socket
1517 monitored_instance:
1518 name: eBPF Socket
1117 - link: ""
1519 + link: "https://kernel.org/"
1520 categories:
1521 - data-collection.ebpf
1522 icon_filename: "ebpf.jpg"
1523 related_resources:
1524 integrations:
1123 - list: []
1525 + list:
1526 + - plugin_name: apps.plugin
1527 + module_name: apps
1528 + - plugin_name: cgroups.plugin
1529 + module_name: cgroups
1530 info_provided_to_referring_integrations:
1531 description: ""
1532 keywords:
@@ -1136,31 +1542,96 @@ modules:
1542 metrics_description: "Monitor bandwidth consumption per application for protocols TCP and UDP."
1543 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1544 supported_platforms:
1139 - include: []
1545 + include:
1546 + - Linux
1547 exclude: []
1548 multi_instance: true
1549 additional_permissions:
1143 - description: ""
1550 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
1551 default_behavior:
1552 auto_detection:
1146 - description: ""
1553 + description: "The plugin 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."
1554 limits:
1555 description: ""
1556 performance_impact:
1150 - description: ""
1557 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
1558 setup:
1559 prerequisites:
1153 - list: []
1560 + list:
1561 + - title: Compile kernel
1562 + description: |
1563 + 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.
1564 + 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
1565 + with different names.
1566 +
1567 + Now follow steps:
1568 + 1. Copy the configuration file to /usr/src/linux/.config.
1569 + 2. Select the necessary options: make oldconfig
1570 + 3. Compile your kernel image: make bzImage
1571 + 4. Compile your modules: make modules
1572 + 5. Copy your new kernel image for boot loader directory
1573 + 6. Install the new modules: make modules_install
1574 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
1575 + 8. Update your boot loader
1576 configuration:
1577 file:
1156 - name: ""
1157 - description: ""
1578 + name: "ebpf.d/network.conf"
1579 + description: "Overwrite default configuration helping to reduce memory usage. You can also select charts visible on dashboard."
1580 options:
1159 - description: ""
1581 + description: |
1582 + All options are defined inside section `[global]`. Options inside `network connections` are ignored for while.
1583 folding:
1161 - title: ""
1584 + title: "Config options"
1585 enabled: true
1163 - list: []
1586 + list:
1587 + - name: update every
1588 + description: Data collection frequency.
1589 + default_value: 5
1590 + required: false
1591 + - name: ebpf load mode
1592 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
1593 + default_value: entry
1594 + required: false
1595 + - name: apps
1596 + description: Enable or disable integration with apps.plugin
1597 + default_value: no
1598 + required: false
1599 + - name: cgroups
1600 + description: Enable or disable integration with cgroup.plugin
1601 + default_value: no
1602 + required: false
1603 + - name: bandwidth table size
1604 + description: Number of elements stored inside hash tables used to monitor calls per PID.
1605 + default_value: 16384
1606 + required: false
1607 + - name: ipv4 connection table size
1608 + description: Number of elements stored inside hash tables used to monitor calls per IPV4 connections.
1609 + default_value: 16384
1610 + required: false
1611 + - name: ipv6 connection table size
1612 + description: Number of elements stored inside hash tables used to monitor calls per IPV6 connections.
1613 + default_value: 16384
1614 + required: false
1615 + - name: udp connection table size
1616 + description: Number of temporary elements stored inside hash tables used to monitor UDP connections.
1617 + default_value: 4096
1618 + required: false
1619 + - name: ebpf type format
1620 + 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)."
1621 + default_value: auto
1622 + required: false
1623 + - name: ebpf co-re tracing
1624 + 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)."
1625 + default_value: trampoline
1626 + required: false
1627 + - name: maps per core
1628 + 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.
1629 + default_value: yes
1630 + required: false
1631 + - name: lifetime
1632 + description: Set default lifetime for thread when enabled by cloud.
1633 + default_value: 300
1634 + required: false
1635 examples:
1636 folding:
1637 enabled: true
@@ -1178,7 +1649,7 @@ modules:
1649 availability: []
1650 scopes:
1651 - name: global
1181 - description: ""
1652 + description: "These metrics show total number of calls to functions inside kernel."
1653 labels: []
1654 metrics:
1655 - name: ip.inbound_conn
@@ -1242,6 +1713,10 @@ modules:
1713 dimensions:
1714 - name: received
1715 - name: send
1716 + - name: apps
1717 + description: "These metrics show grouped information per apps group."
1718 + labels: []
1719 + metrics:
1720 - name: apps.outbound_conn_v4
1721 description: Calls to tcp_v4_connection
1722 unit: "connections/s"
@@ -1302,54 +1777,6 @@ modules:
1777 chart_type: stacked
1778 dimensions:
1779 - name: a dimension per systemd service
1305 - - name: services.net_conn_ipv6
1306 - description: Calls to tcp_v6_connection
1307 - unit: "connections/s"
1308 - chart_type: stacked
1309 - dimensions:
1310 - - name: a dimension per systemd service
1311 - - name: services.net_bytes_recv
1312 - description: Bytes received
1313 - unit: "kilobits/s"
1314 - chart_type: stacked
1315 - dimensions:
1316 - - name: a dimension per systemd service
1317 - - name: services.net_bytes_sent
1318 - description: Bytes sent
1319 - unit: "kilobits/s"
1320 - chart_type: stacked
1321 - dimensions:
1322 - - name: a dimension per systemd service
1323 - - name: services.net_tcp_recv
1324 - description: Calls to tcp_cleanup_rbuf.
1325 - unit: "calls/s"
1326 - chart_type: stacked
1327 - dimensions:
1328 - - name: a dimension per systemd service
1329 - - name: services.net_tcp_send
1330 - description: Calls to tcp_sendmsg.
1331 - unit: "calls/s"
1332 - chart_type: stacked
1333 - dimensions:
1334 - - name: a dimension per systemd service
1335 - - name: services.net_tcp_retransmit
1336 - description: Calls to tcp_retransmit
1337 - unit: "calls/s"
1338 - chart_type: stacked
1339 - dimensions:
1340 - - name: a dimension per systemd service
1341 - - name: services.net_udp_send
1342 - description: Calls to udp_sendmsg
1343 - unit: "calls/s"
1344 - chart_type: stacked
1345 - dimensions:
1346 - - name: a dimension per systemd service
1347 - - name: services.net_udp_recv
1348 - description: Calls to udp_recvmsg
1349 - unit: "calls/s"
1350 - chart_type: stacked
1351 - dimensions:
1352 - - name: a dimension per systemd service
1780 - name: cgroup
1781 description: ""
1782 labels: []
@@ -1408,18 +1835,70 @@ modules:
1835 chart_type: line
1836 dimensions:
1837 - name: received
1838 + - name: services.net_conn_ipv6
1839 + description: Calls to tcp_v6_connection
1840 + unit: "connections/s"
1841 + chart_type: stacked
1842 + dimensions:
1843 + - name: a dimension per systemd service
1844 + - name: services.net_bytes_recv
1845 + description: Bytes received
1846 + unit: "kilobits/s"
1847 + chart_type: stacked
1848 + dimensions:
1849 + - name: a dimension per systemd service
1850 + - name: services.net_bytes_sent
1851 + description: Bytes sent
1852 + unit: "kilobits/s"
1853 + chart_type: stacked
1854 + dimensions:
1855 + - name: a dimension per systemd service
1856 + - name: services.net_tcp_recv
1857 + description: Calls to tcp_cleanup_rbuf.
1858 + unit: "calls/s"
1859 + chart_type: stacked
1860 + dimensions:
1861 + - name: a dimension per systemd service
1862 + - name: services.net_tcp_send
1863 + description: Calls to tcp_sendmsg.
1864 + unit: "calls/s"
1865 + chart_type: stacked
1866 + dimensions:
1867 + - name: a dimension per systemd service
1868 + - name: services.net_tcp_retransmit
1869 + description: Calls to tcp_retransmit
1870 + unit: "calls/s"
1871 + chart_type: stacked
1872 + dimensions:
1873 + - name: a dimension per systemd service
1874 + - name: services.net_udp_send
1875 + description: Calls to udp_sendmsg
1876 + unit: "calls/s"
1877 + chart_type: stacked
1878 + dimensions:
1879 + - name: a dimension per systemd service
1880 + - name: services.net_udp_recv
1881 + description: Calls to udp_recvmsg
1882 + unit: "calls/s"
1883 + chart_type: stacked
1884 + dimensions:
1885 + - name: a dimension per systemd service
1886 - meta:
1887 plugin_name: ebpf.plugin
1888 module_name: dcstat
1889 monitored_instance:
1890 name: eBPF DCstat
1416 - link: ""
1891 + link: "https://kernel.org/"
1892 categories:
1893 - data-collection.ebpf
1894 icon_filename: "ebpf.jpg"
1895 related_resources:
1896 integrations:
1422 - list: []
1897 + list:
1898 + - plugin_name: apps.plugin
1899 + module_name: apps
1900 + - plugin_name: cgroups.plugin
1901 + module_name: cgroups
1902 info_provided_to_referring_integrations:
1903 description: ""
1904 keywords:
@@ -1432,31 +1911,84 @@ modules:
1911 metrics_description: "Monitor directory cache events per application given an overall vision about files on memory or storage device."
1912 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
1913 supported_platforms:
1435 - include: []
1914 + include:
1915 + - Linux
1916 exclude: []
1917 multi_instance: true
1918 additional_permissions:
1439 - description: ""
1919 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
1920 default_behavior:
1921 auto_detection:
1442 - description: ""
1922 + description: "The plugin 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."
1923 limits:
1924 description: ""
1925 performance_impact:
1446 - description: ""
1926 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
1927 setup:
1928 prerequisites:
1449 - list: []
1929 + list:
1930 + - title: Compile kernel
1931 + description: |
1932 + 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.
1933 + 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
1934 + with different names.
1935 +
1936 + Now follow steps:
1937 + 1. Copy the configuration file to /usr/src/linux/.config.
1938 + 2. Select the necessary options: make oldconfig
1939 + 3. Compile your kernel image: make bzImage
1940 + 4. Compile your modules: make modules
1941 + 5. Copy your new kernel image for boot loader directory
1942 + 6. Install the new modules: make modules_install
1943 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
1944 + 8. Update your boot loader
1945 configuration:
1946 file:
1452 - name: ""
1453 - description: ""
1947 + name: "ebpf.d/dcstat.conf"
1948 + description: "Overwrite default configuration helping to reduce memory usage. You can also select charts visible on dashboard."
1949 options:
1455 - description: ""
1950 + description: |
1951 + All options are defined inside section `[global]`.
1952 folding:
1457 - title: ""
1953 + title: "Config option"
1954 enabled: true
1459 - list: []
1955 + list:
1956 + - name: update every
1957 + description: Data collection frequency.
1958 + default_value: 5
1959 + required: false
1960 + - name: ebpf load mode
1961 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
1962 + default_value: entry
1963 + required: false
1964 + - name: apps
1965 + description: Enable or disable integration with apps.plugin
1966 + default_value: no
1967 + required: false
1968 + - name: cgroups
1969 + description: Enable or disable integration with cgroup.plugin
1970 + default_value: no
1971 + required: false
1972 + - name: pid table size
1973 + description: Number of elements stored inside hash tables used to monitor calls per PID.
1974 + default_value: 32768
1975 + required: false
1976 + - name: ebpf type format
1977 + 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)."
1978 + default_value: auto
1979 + required: false
1980 + - name: ebpf co-re tracing
1981 + 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)."
1982 + default_value: trampoline
1983 + required: false
1984 + - name: maps per core
1985 + 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.
1986 + default_value: yes
1987 + required: false
1988 + - name: lifetime
1989 + description: Set default lifetime for thread when enabled by cloud.
1990 + default_value: 300
1991 + required: false
1992 examples:
1993 folding:
1994 enabled: true
@@ -1473,8 +2005,8 @@ modules:
2005 description: ""
2006 availability: []
2007 scopes:
1476 - - name: global
1477 - description: ""
2008 + - name: apps
2009 + description: "These Metrics show grouped information per apps group."
2010 labels: []
2011 metrics:
2012 - name: apps.dc_ratio
@@ -1501,30 +2033,18 @@ modules:
2033 chart_type: stacked
2034 dimensions:
2035 - name: a dimension per app group
1504 - - name: services.dc_ratio
1505 - description: Percentage of files inside directory cache
1506 - unit: "%"
1507 - chart_type: line
1508 - dimensions:
1509 - - name: a dimension per systemd service
1510 - - name: services.dc_reference
1511 - description: Count file access
1512 - unit: "files"
1513 - chart_type: line
1514 - dimensions:
1515 - - name: a dimension per systemd service
1516 - - name: services.dc_not_cache
1517 - description: Files not present inside directory cache
1518 - unit: "files"
1519 - chart_type: line
1520 - dimensions:
1521 - - name: a dimension per systemd service
1522 - - name: services.dc_not_found
1523 - description: Files not found
2036 + - name: filesystem
2037 + description: "These metrics show total number of calls to functions inside kernel."
2038 + labels: []
2039 + metrics:
2040 + - name: filesystem.dc_reference
2041 + description: Variables used to calculate hit ratio.
2042 unit: "files"
2043 chart_type: line
2044 dimensions:
1527 - - name: a dimension per systemd service
2045 + - name: reference
2046 + - name: slow
2047 + - name: miss
2048 - name: filesystem.dc_hit_ratio
2049 description: Percentage of files inside directory cache
2050 unit: "%"
@@ -1559,24 +2079,36 @@ modules:
2079 chart_type: line
2080 dimensions:
2081 - name: miss
1562 - - name: filesystem
1563 - description: ""
1564 - labels: []
1565 - metrics:
1566 - - name: filesystem.dc_reference
1567 - description: Variables used to calculate hit ratio.
2082 + - name: services.dc_ratio
2083 + description: Percentage of files inside directory cache
2084 + unit: "%"
2085 + chart_type: line
2086 + dimensions:
2087 + - name: a dimension per systemd service
2088 + - name: services.dc_reference
2089 + description: Count file access
2090 unit: "files"
2091 chart_type: line
2092 dimensions:
1571 - - name: reference
1572 - - name: slow
1573 - - name: miss
2093 + - name: a dimension per systemd service
2094 + - name: services.dc_not_cache
2095 + description: Files not present inside directory cache
2096 + unit: "files"
2097 + chart_type: line
2098 + dimensions:
2099 + - name: a dimension per systemd service
2100 + - name: services.dc_not_found
2101 + description: Files not found
2102 + unit: "files"
2103 + chart_type: line
2104 + dimensions:
2105 + - name: a dimension per systemd service
2106 - meta:
2107 plugin_name: ebpf.plugin
2108 module_name: filesystem
2109 monitored_instance:
2110 name: eBPF Filesystem
1579 - link: ""
2111 + link: "https://kernel.org/"
2112 categories:
2113 - data-collection.ebpf
2114 icon_filename: "ebpf.jpg"
@@ -1601,31 +2133,80 @@ modules:
2133 metrics_description: "Monitor latency for main actions on filesystem like I/O events."
2134 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
2135 supported_platforms:
1604 - include: []
2136 + include:
2137 + - Linux
2138 exclude: []
2139 multi_instance: true
2140 additional_permissions:
1608 - description: ""
2141 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
2142 default_behavior:
2143 auto_detection:
1611 - description: ""
2144 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
2145 limits:
2146 description: ""
2147 performance_impact:
2148 description: ""
2149 setup:
2150 prerequisites:
1618 - list: []
2151 + list:
2152 + - title: Compile kernel
2153 + description: |
2154 + 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.
2155 + 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
2156 + with different names.
2157 +
2158 + Now follow steps:
2159 + 1. Copy the configuration file to /usr/src/linux/.config.
2160 + 2. Select the necessary options: make oldconfig
2161 + 3. Compile your kernel image: make bzImage
2162 + 4. Compile your modules: make modules
2163 + 5. Copy your new kernel image for boot loader directory
2164 + 6. Install the new modules: make modules_install
2165 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
2166 + 8. Update your boot loader
2167 configuration:
2168 file:
1621 - name: ""
1622 - description: ""
2169 + name: "ebpf.d/filesystem.conf"
2170 + description: "Overwrite default configuration and allows user to select charts visible on dashboard."
2171 options:
1624 - description: ""
2172 + description: |
2173 + This configuration file have two different sections. The `[global]` overwrites default options, while `[filesystem]` allow user to select the filesystems to monitor.
2174 folding:
1626 - title: ""
2175 + title: "Config options"
2176 enabled: true
1628 - list: []
2177 + list:
2178 + - name: update every
2179 + description: Data collection frequency.
2180 + default_value: 5
2181 + required: false
2182 + - name: ebpf load mode
2183 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
2184 + default_value: entry
2185 + required: false
2186 + - name: lifetime
2187 + description: Set default lifetime for thread when enabled by cloud.
2188 + default_value: 300
2189 + required: false
2190 + - name: btrfsdist
2191 + description: Enable or disable latency monitoring for functions associated with btrfs filesystem.
2192 + default_value: yes
2193 + required: false
2194 + - name: ext4dist
2195 + description: Enable or disable latency monitoring for functions associated with ext4 filesystem.
2196 + default_value: yes
2197 + required: false
2198 + - name: nfsdist
2199 + description: Enable or disable latency monitoring for functions associated with nfs filesystem.
2200 + default_value: yes
2201 + required: false
2202 + - name: xfsdist
2203 + description: Enable or disable latency monitoring for functions associated with xfs filesystem.
2204 + default_value: yes
2205 + required: false
2206 + - name: zfsdist
2207 + description: Enable or disable latency monitoring for functions associated with zfs filesystem.
2208 + default_value: yes
2209 + required: false
2210 examples:
2211 folding:
2212 enabled: true
@@ -1643,7 +2224,7 @@ modules:
2224 availability: []
2225 scopes:
2226 - name: filesystem
1646 - description: ""
2227 + description: "Latency charts associate with filesystem actions."
2228 labels: []
2229 metrics:
2230 - name: filesystem.read_latency
@@ -1689,13 +2270,17 @@ modules:
2270 module_name: shm
2271 monitored_instance:
2272 name: eBPF SHM
1692 - link: ""
2273 + link: "https://kernel.org/"
2274 categories:
2275 - data-collection.ebpf
2276 icon_filename: "ebpf.jpg"
2277 related_resources:
2278 integrations:
1698 - list: []
2279 + list:
2280 + - plugin_name: apps.plugin
2281 + module_name: apps
2282 + - plugin_name: cgroups.plugin
2283 + module_name: cgroups
2284 info_provided_to_referring_integrations:
2285 description: ""
2286 keywords:
@@ -1705,34 +2290,106 @@ modules:
2290 most_popular: false
2291 overview:
2292 data_collection:
1708 - metrics_description: "Monitor syscalls responsible to manipulate shared memory."
2293 + metrics_description: "Monitor syscall responsible to manipulate shared memory."
2294 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
2295 supported_platforms:
1711 - include: []
2296 + include:
2297 + - Linux
2298 exclude: []
2299 multi_instance: true
2300 additional_permissions:
1715 - description: ""
2301 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
2302 default_behavior:
2303 auto_detection:
1718 - description: ""
2304 + description: "The plugin 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."
2305 limits:
2306 description: ""
2307 performance_impact:
1722 - description: ""
2308 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
2309 setup:
2310 prerequisites:
1725 - list: []
2311 + list:
2312 + - title: Compile kernel
2313 + description: |
2314 + 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.
2315 + 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
2316 + with different names.
2317 +
2318 + Now follow steps:
2319 + 1. Copy the configuration file to /usr/src/linux/.config.
2320 + 2. Select the necessary options: make oldconfig
2321 + 3. Compile your kernel image: make bzImage
2322 + 4. Compile your modules: make modules
2323 + 5. Copy your new kernel image for boot loader directory
2324 + 6. Install the new modules: make modules_install
2325 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
2326 + 8. Update your boot loader
2327 + - title: Debug Filesystem
2328 + description: |
2329 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).`
2330 configuration:
2331 file:
1728 - name: ""
1729 - description: ""
2332 + name: "ebpf.d/shm.conf"
2333 + description: "Overwrite default configuration and allows user to select charts visible on dashboard."
2334 options:
1731 - description: ""
2335 + description: |
2336 + This configuration file have two different sections. The `[global]` overwrites all default options, while `[syscalls]` allow user to select the syscall to monitor.
2337 folding:
1733 - title: ""
2338 + title: "Config options"
2339 enabled: true
1735 - list: []
2340 + list:
2341 + - name: update every
2342 + description: Data collection frequency.
2343 + default_value: 5
2344 + required: false
2345 + - name: ebpf load mode
2346 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
2347 + default_value: entry
2348 + required: false
2349 + - name: apps
2350 + description: Enable or disable integration with apps.plugin
2351 + default_value: no
2352 + required: false
2353 + - name: cgroups
2354 + description: Enable or disable integration with cgroup.plugin
2355 + default_value: no
2356 + required: false
2357 + - name: pid table size
2358 + description: Number of elements stored inside hash tables used to monitor calls per PID.
2359 + default_value: 32768
2360 + required: false
2361 + - name: ebpf type format
2362 + 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)."
2363 + default_value: auto
2364 + required: false
2365 + - name: ebpf co-re tracing
2366 + 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)."
2367 + default_value: trampoline
2368 + required: false
2369 + - name: maps per core
2370 + 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.
2371 + default_value: yes
2372 + required: false
2373 + - name: lifetime
2374 + description: Set default lifetime for thread when enabled by cloud.
2375 + default_value: 300
2376 + required: false
2377 + - name: shmget
2378 + description: Enable or disable monitoring for syscall `shmget`
2379 + default_value: yes
2380 + required: false
2381 + - name: shmat
2382 + description: Enable or disable monitoring for syscall `shmat`
2383 + default_value: yes
2384 + required: false
2385 + - name: shmdt
2386 + description: Enable or disable monitoring for syscall `shmdt`
2387 + default_value: yes
2388 + required: false
2389 + - name: shmctl
2390 + description: Enable or disable monitoring for syscall `shmctl`
2391 + default_value: yes
2392 + required: false
2393 examples:
2394 folding:
2395 enabled: true
@@ -1750,7 +2407,7 @@ modules:
2407 availability: []
2408 scopes:
2409 - name: cgroup
1753 - description: ""
2410 + description: "These Metrics show grouped information per cgroup/service."
2411 labels: []
2412 metrics:
2413 - name: cgroup.shmget
@@ -1777,10 +2434,6 @@ modules:
2434 chart_type: line
2435 dimensions:
2436 - name: ctl
1780 - - name: global
1781 - description: ""
1782 - labels: []
1783 - metrics:
2437 - name: services.shmget
2438 description: Calls to syscall <code>shmget(2)</code>.
2439 unit: "calls/s"
@@ -1805,6 +2458,10 @@ modules:
2458 chart_type: stacked
2459 dimensions:
2460 - name: a dimension per systemd service
2461 + - name: apps
2462 + description: "These Metrics show grouped information per apps group."
2463 + labels: []
2464 + metrics:
2465 - name: apps.shmget_call
2466 description: Calls to syscall <code>shmget(2)</code>.
2467 unit: "calls/s"
@@ -1829,6 +2486,10 @@ modules:
2486 chart_type: stacked
2487 dimensions:
2488 - name: a dimension per app group
2489 + - name: global
2490 + description: "These Metrics show number of calls for specified syscall."
2491 + labels: []
2492 + metrics:
2493 - name: system.shared_memory_calls
2494 description: Calls to shared memory system calls
2495 unit: "calls/s"
@@ -1843,7 +2504,7 @@ modules:
2504 module_name: softirq
2505 monitored_instance:
2506 name: eBPF SoftIRQ
1846 - link: ""
2507 + link: "https://kernel.org/"
2508 categories:
2509 - data-collection.ebpf
2510 icon_filename: "ebpf.jpg"
@@ -1859,33 +2520,65 @@ modules:
2520 overview:
2521 data_collection:
2522 metrics_description: "Monitor latency for each SoftIRQ available."
1862 - method_description: "Attach kprobes to internal kernel functions."
2523 + method_description: "Attach kprobe to internal kernel functions."
2524 supported_platforms:
1864 - include: []
2525 + include:
2526 + - Linux
2527 exclude: []
2528 multi_instance: true
2529 additional_permissions:
1868 - description: ""
2530 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
2531 default_behavior:
2532 auto_detection:
1871 - description: ""
2533 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
2534 limits:
2535 description: ""
2536 performance_impact:
1875 - description: ""
2537 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called."
2538 setup:
2539 prerequisites:
1878 - list: []
2540 + list:
2541 + - title: Compile kernel
2542 + description: |
2543 + 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.
2544 + 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
2545 + with different names.
2546 +
2547 + Now follow steps:
2548 + 1. Copy the configuration file to /usr/src/linux/.config.
2549 + 2. Select the necessary options: make oldconfig
2550 + 3. Compile your kernel image: make bzImage
2551 + 4. Compile your modules: make modules
2552 + 5. Copy your new kernel image for boot loader directory
2553 + 6. Install the new modules: make modules_install
2554 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
2555 + 8. Update your boot loader
2556 + - title: Debug Filesystem
2557 + description: |
2558 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).`
2559 configuration:
2560 file:
1881 - name: ""
1882 - description: ""
2561 + name: "ebpf.d/softirq.conf"
2562 + description: "Overwrite default configuration reducing number of I/O events."
2563 options:
1884 - description: ""
2564 + description: |
2565 + All options are defined inside section `[global]`.
2566 folding:
1886 - title: ""
2567 + title: "Config options"
2568 enabled: true
1888 - list: []
2569 + list:
2570 + - name: update every
2571 + description: Data collection frequency.
2572 + default_value: 5
2573 + required: false
2574 + - name: ebpf load mode
2575 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
2576 + default_value: entry
2577 + required: false
2578 + - name: lifetime
2579 + description: Set default lifetime for thread when enabled by cloud.
2580 + default_value: 300
2581 + required: false
2582 examples:
2583 folding:
2584 enabled: true
@@ -1903,12 +2596,12 @@ modules:
2596 availability: []
2597 scopes:
2598 - name: global
1906 - description: ""
2599 + description: "These metrics show latest timestamp for each softIRQ available on host."
2600 labels: []
2601 metrics:
2602 - name: system.softirq_latency
2603 description: Soft IRQ latency
1911 - unit: "miliseconds"
2604 + unit: "milliseconds"
2605 chart_type: stacked
2606 dimensions:
2607 - name: soft IRQs
@@ -1917,7 +2610,7 @@ modules:
2610 module_name: mount
2611 monitored_instance:
2612 name: eBPF Mount
1920 - link: ""
2613 + link: "https://kernel.org/"
2614 categories:
2615 - data-collection.ebpf
2616 icon_filename: "ebpf.jpg"
@@ -1937,31 +2630,71 @@ modules:
2630 metrics_description: "Monitor calls for mount and umount syscall."
2631 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
2632 supported_platforms:
1940 - include: []
2633 + include:
2634 + - Linux
2635 exclude: []
2636 multi_instance: true
2637 additional_permissions:
1944 - description: ""
2638 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
2639 default_behavior:
2640 auto_detection:
1947 - description: ""
2641 + description: "The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT, CONFIG_HAVE_SYSCALL_TRACEPOINTS), files inside debugfs, and presence of BTF files to decide which eBPF program will be attached."
2642 limits:
2643 description: ""
2644 performance_impact:
1951 - description: ""
2645 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
2646 setup:
2647 prerequisites:
1954 - list: []
2648 + list:
2649 + - title: Compile kernel
2650 + description: |
2651 + 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.
2652 + 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
2653 + with different names.
2654 +
2655 + Now follow steps:
2656 + 1. Copy the configuration file to /usr/src/linux/.config.
2657 + 2. Select the necessary options: make oldconfig
2658 + 3. Compile your kernel image: make bzImage
2659 + 4. Compile your modules: make modules
2660 + 5. Copy your new kernel image for boot loader directory
2661 + 6. Install the new modules: make modules_install
2662 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
2663 + 8. Update your boot loader
2664 + - title: Debug Filesystem
2665 + description: |
2666 + This thread needs to attach a tracepoint to monitor when a process schedule an exit event. To allow this specific feaure, it is necessary to mount `debugfs` (`mount -t debugfs none /sys/kernel/debug/`).`
2667 configuration:
2668 file:
1957 - name: ""
1958 - description: ""
2669 + name: "ebpf.d/mount.conf"
2670 + description: "Overwrite default configuration."
2671 options:
1960 - description: ""
2672 + description: |
2673 + All options are defined inside section `[global]`.
2674 folding:
1962 - title: ""
2675 + title: "Config options"
2676 enabled: true
1964 - list: []
2677 + list:
2678 + - name: update every
2679 + description: Data collection frequency.
2680 + default_value: 5
2681 + required: false
2682 + - name: ebpf load mode
2683 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
2684 + default_value: entry
2685 + required: false
2686 + - name: ebpf type format
2687 + 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)."
2688 + default_value: auto
2689 + required: false
2690 + - name: ebpf co-re tracing
2691 + 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)."
2692 + default_value: trampoline
2693 + required: false
2694 + - name: lifetime
2695 + description: Set default lifetime for thread when enabled by cloud.
2696 + default_value: 300
2697 + required: false
2698 examples:
2699 folding:
2700 enabled: true
@@ -1979,7 +2712,7 @@ modules:
2712 availability: []
2713 scopes:
2714 - name: global
1982 - description: ""
2715 + description: "Calls for syscalls mount an umount."
2716 labels: []
2717 metrics:
2718 - name: mount_points.call
@@ -2001,13 +2734,17 @@ modules:
2734 module_name: vfs
2735 monitored_instance:
2736 name: eBPF VFS
2004 - link: ""
2737 + link: "https://kernel.org/"
2738 categories:
2739 - data-collection.ebpf
2740 icon_filename: "ebpf.jpg"
2741 related_resources:
2742 integrations:
2010 - list: []
2743 + list:
2744 + - plugin_name: apps.plugin
2745 + module_name: apps
2746 + - plugin_name: cgroups.plugin
2747 + module_name: cgroups
2748 info_provided_to_referring_integrations:
2749 description: ""
2750 keywords:
@@ -2022,31 +2759,84 @@ modules:
2759 metrics_description: "Monitor I/O events on Linux Virtual Filesystem."
2760 method_description: "Attach tracing (kprobe, trampoline) to internal kernel functions according options used to compile kernel."
2761 supported_platforms:
2025 - include: []
2762 + include:
2763 + - Linux
2764 exclude: []
2765 multi_instance: true
2766 additional_permissions:
2029 - description: ""
2767 + description: "The plugin needs setuid because it loads data inside kernel. Netada sets necessary permission during installation time."
2768 default_behavior:
2769 auto_detection:
2032 - description: ""
2770 + description: "The plugin 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."
2771 limits:
2772 description: ""
2773 performance_impact:
2036 - description: ""
2774 + description: "This thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ms per call on kernels that do not have BTF technology."
2775 setup:
2776 prerequisites:
2039 - list: []
2777 + list:
2778 + - title: Compile kernel
2779 + description: |
2780 + 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.
2781 + 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
2782 + with different names.
2783 +
2784 + Now follow steps:
2785 + 1. Copy the configuration file to /usr/src/linux/.config.
2786 + 2. Select the necessary options: make oldconfig
2787 + 3. Compile your kernel image: make bzImage
2788 + 4. Compile your modules: make modules
2789 + 5. Copy your new kernel image for boot loader directory
2790 + 6. Install the new modules: make modules_install
2791 + 7. Generate an initial ramdisk image (`initrd`) if it is necessary.
2792 + 8. Update your boot loader
2793 configuration:
2794 file:
2042 - name: ""
2043 - description: ""
2795 + name: "ebpf.d/vfs.conf"
2796 + description: "Overwrite default configuration helping to reduce memory usage."
2797 options:
2045 - description: ""
2798 + description: |
2799 + All options are defined inside section `[global]`.
2800 folding:
2047 - title: ""
2801 + title: "Config options"
2802 enabled: true
2049 - list: []
2803 + list:
2804 + - name: update every
2805 + description: Data collection frequency.
2806 + default_value: 5
2807 + required: false
2808 + - name: ebpf load mode
2809 + description: Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`).
2810 + default_value: entry
2811 + required: false
2812 + - name: apps
2813 + description: Enable or disable integration with apps.plugin
2814 + default_value: no
2815 + required: false
2816 + - name: cgroups
2817 + description: Enable or disable integration with cgroup.plugin
2818 + default_value: no
2819 + required: false
2820 + - name: pid table size
2821 + description: Number of elements stored inside hash tables used to monitor calls per PID.
2822 + default_value: 32768
2823 + required: false
2824 + - name: ebpf type format
2825 + 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)."
2826 + default_value: auto
2827 + required: false
2828 + - name: ebpf co-re tracing
2829 + 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)."
2830 + default_value: trampoline
2831 + required: false
2832 + - name: maps per core
2833 + 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.
2834 + default_value: yes
2835 + required: false
2836 + - name: lifetime
2837 + description: Set default lifetime for thread when enabled by cloud.
2838 + default_value: 300
2839 + required: false
2840 examples:
2841 folding:
2842 enabled: true
@@ -2064,7 +2854,7 @@ modules:
2854 availability: []
2855 scopes:
2856 - name: cgroup
2067 - description: ""
2857 + description: "These Metrics show grouped information per cgroup/service."
2858 labels: []
2859 metrics:
2860 - name: cgroup.vfs_unlink
@@ -2145,10 +2935,6 @@ modules:
2935 chart_type: line
2936 dimensions:
2937 - name: create
2148 - - name: global
2149 - description: ""
2150 - labels: []
2151 - metrics:
2938 - name: services.vfs_unlink
2939 description: Files deleted
2940 unit: "calls/s"
@@ -2227,6 +3013,10 @@ modules:
3013 chart_type: stacked
3014 dimensions:
3015 - name: a dimension per systemd service
3016 + - name: global
3017 + description: "These Metrics show grouped information per cgroup/service."
3018 + labels: []
3019 + metrics:
3020 - name: filesystem.vfs_deleted_objects
3021 description: Remove files
3022 unit: "calls/s"
@@ -2290,6 +3080,10 @@ modules:
3080 chart_type: line
3081 dimensions:
3082 - name: create
3083 + - name: apps
3084 + description: "These Metrics show grouped information per apps group."
3085 + labels: []
3086 + metrics:
3087 - name: apps.file_deleted
3088 description: Files deleted
3089 unit: "calls/s"
@@ -2373,7 +3167,7 @@ modules:
3167 module_name: process
3168 monitored_instance:
3169 name: eBPF Process
2376 - link: ""
3170 + link: "https://github.com/netdata/netdata/"
3171 categories:
3172 - data-collection.ebpf
3173 icon_filename: "ebpf.jpg"
@@ -2392,7 +3186,8 @@ modules:
3186 metrics_description: "Monitor internal memory usage."
3187 method_description: "Uses netdata internal statistic to monitor memory management by plugin."
3188 supported_platforms:
2395 - include: []
3189 + include:
3190 + - Linux
3191 exclude: []
3192 multi_instance: true
3193 additional_permissions:
@@ -2406,7 +3201,9 @@ modules:
3201 description: ""
3202 setup:
3203 prerequisites:
2409 - list: []
3204 + list:
3205 + - title: Netdata flags.
3206 + description: "To have these charts you need to compile netdata with flag `NETDATA_DEV_MODE`."
3207 configuration:
3208 file:
3209 name: ""
@@ -2434,7 +3231,7 @@ modules:
3231 availability: []
3232 scopes:
3233 - name: global
2437 - description: ""
3234 + description: "How plugin is allocating memory."
3235 labels: []
3236 metrics:
3237 - name: netdata.ebpf_aral_stat_size
@@ -2499,3 +3296,15 @@ modules:
3296 chart_type: stacked
3297 dimensions:
3298 - name: aral
3299 + - name: netdata.ebpf_hash_tables_insert_pid_elements
3300 + description: Number of times an element was inserted in a hash table.
3301 + unit: "rows"
3302 + chart_type: line
3303 + dimensions:
3304 + - name: thread
3305 + - name: netdata.ebpf_hash_tables_remove_pid_elements
3306 + description: Number of times an element was removed in a hash table.
3307 + unit: "rows"
3308 + chart_type: line
3309 + dimensions:
3310 + - name: thread