1
+# yamllint disable rule:line-length
2
+---
3
plugin_name: ebpf.plugin
4
modules:
5
- meta:
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:
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
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"
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"
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:
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
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
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"
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
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"
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
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
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"
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
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
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:
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
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"
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
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
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"
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
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
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:
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
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
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"
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"
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"
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:
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:
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:
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
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"
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:
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
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
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"
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: []
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:
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
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
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: "%"
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"
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
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
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:
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
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
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"
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"
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"
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"
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
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
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"
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
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
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:
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
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
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"
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"
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"
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"
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:
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: ""
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
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