@cryptotaxi247 / netdata-1 / commits / f5c9d6721

eBPF ZFS monitoring (#11330)

Add new filesystem monitoring to Netdata.

thiagoftsm committed Jul 18, 2021 at 18:36 UTC f5c9d6721f082e2fdb43b4bd3c452dfa66154794
6 files changed +31 -4
collectors/ebpf.plugin/README.md
+1
@@ -329,6 +329,7 @@ filesystems are monitored.
329 ext4dist = yes
330 nfsdist = yes
331 xfsdist = yes
332 + zfsdist = yes
333 ```
334
335 The ebpf program `nfsdist` monitors only `nfs` mount points.
collectors/ebpf.plugin/ebpf.d/filesystem.conf
+1
@@ -16,3 +16,4 @@
16 ext4dist = yes
17 nfsdist = yes
18 xfsdist = yes
19 + zfsdist = yes
collectors/ebpf.plugin/ebpf_filesystem.c
+8
@@ -33,6 +33,14 @@ ebpf_filesystem_partitions_t localfs[] =
33 .flags = NETDATA_FILESYSTEM_ATTR_CHARTS,
34 .enabled = CONFIG_BOOLEAN_YES,
35 .addresses = {.function = NULL, .addr = 0}},
36 + {.filesystem = "zfs",
37 + .optional_filesystem = NULL,
38 + .family = "ZFS",
39 + .objects = NULL,
40 + .probe_links = NULL,
41 + .flags = NETDATA_FILESYSTEM_FLAG_NO_PARTITION,
42 + .enabled = CONFIG_BOOLEAN_YES,
43 + .addresses = {.function = NULL, .addr = 0}},
44 {.filesystem = NULL,
45 .optional_filesystem = NULL,
46 .family = NULL,
packaging/ebpf.checksums
+3 -3
@@ -1,3 +1,3 @@
1 -131825cfef1880b7264d8fde815026fc9326b8e1dffb515d2ac3f8e3eef9af29 netdata-kernel-collector-glibc-v0.7.3.tar.xz
2 -09d70c4000897c1ec99d41841abddf613f20c39b6e822efc838ffef3c56dda8b netdata-kernel-collector-musl-v0.7.3.tar.xz
3 -b80dfe18288103c01d5222cf122ac81d1f5a8f60f8b3f61fc86c18d7176d5f61 netdata-kernel-collector-static-v0.7.3.tar.xz
1 +d450f288dcbbc29e75ff8b6c300d4a08d7a270c44221772e2710058159bdf87a netdata-kernel-collector-glibc-v0.7.4.tar.xz
2 +e505c80e7e5a5d37814bd477904f2adbd188860ce8897dba214b7f250095dc1b netdata-kernel-collector-musl-v0.7.4.tar.xz
3 +af1a5d56cca6a88f23acfb6ee66feb8ac895dc1920c746696256fbde432a26cd netdata-kernel-collector-static-v0.7.4.tar.xz
packaging/ebpf.version
+1 -1
@@ -1 +1 @@
1 -v0.7.3
1 +v0.7.4
web/gui/dashboard_info.js
+17
@@ -3531,6 +3531,23 @@ netdataDashboard.context = {
3531 info: 'Latency is the time it takes for an event to be completed. Netdata is attaching a kprobe for when the function <code>nfs_getattr</code> is called and another for when it finishes the execution. We calculate the difference between the calling and return times, we get the logarithmic for the final result and we sum one value to the respective bin. Based on the eBPF <a href="https://github.com/iovisor/bcc/blob/master/tools/nfsdist_example.txt" target="_blank">nfsdist</a> from BCC tools.'
3532 },
3533
3534 + 'filesystem.zfs_read_latency': {
3535 + info: 'Latency is the time it takes for an event to be completed. Netdata is attaching a kprobe for when the function <code>zpl_iter_read</code> is called and another for when it finishes the execution. We calculate the difference between the calling and return times, we get the logarithmic for the final result and we sum one value to the respective bin. Based on the eBPF <a href="https://github.com/iovisor/bcc/blob/master/tools/zfsdist_example.txt" target="_blank">zfsdist</a> from BCC tools.'
3536 + },
3537 +
3538 + 'filesystem.zfs_write_latency': {
3539 + info: 'Latency is the time it takes for an event to be completed. Netdata is attaching a kprobe for when the function <code>zpl_iter_write</code> is called and another for when it finishes the execution. We calculate the difference between the calling and return times, we get the logarithmic for the final result and we sum one value to the respective bin. Based on the eBPF <a href="https://github.com/iovisor/bcc/blob/master/tools/zfsdist_example.txt" target="_blank">zfsdist</a> from BCC tools.'
3540 + },
3541 +
3542 + 'filesystem.zfs_open_latency': {
3543 + info: 'Latency is the time it takes for an event to be completed. Netdata is attaching a kprobe for when the function <code>zpl_open</code> is called and another for when it finishes the execution. We calculate the difference between the calling and return times, we get the logarithmic for the final result and we sum one value to the respective bin. Based on the eBPF <a href="https://github.com/iovisor/bcc/blob/master/tools/zfsdist_example.txt" target="_blank">zfsdist</a> from BCC tools.'
3544 + },
3545 +
3546 + 'filesystem.zfs_sync_latency': {
3547 + info: 'Latency is the time it takes for an event to be completed. Netdata is attaching a kprobe for when the function <code>zpl_fsync</code> is called and another for when it finishes the execution. We calculate the difference between the calling and return times, we get the logarithmic for the final result and we sum one value to the respective bin. Based on the eBPF <a href="https://github.com/iovisor/bcc/blob/master/tools/zfsdist_example.txt" target="_blank">zfsdist</a> from BCC tools.'
3548 + },
3549 +
3550 +
3551 // ------------------------------------------------------------------------
3552 // eBPF
3553