I am doing a Zabbix POC, and initially most of the machines are using SNMP (because it is already enabled), but I am also testing the zabbix-agent2 on a bunch of boxes.
For Linux SNMP, I am running into an issue where zabbix is picking up thousands of Kubernetes transient virtual mounts:
/var/lib/docker/*
/var/lib/kubelet/*
Examples:
/var/lib/docker/containers/88f7a781c55a265587422a8771ab04da2a2a810ccf5f55b443 9048420852e402/mounts/shm
/var/lib/docker/overlay2/e30b6bc019e6d9e0a34d7a1ed80e88efcc27f4d9c4e9a75d18 71ed7bf203ea2c/merged
/var/lib/kubelet/pods/71a4dd88-51a2-4612-aa87-e3ab05dd7708/volumes/kubernetes.io~secret/redacted
/var/lib/docker/containers/72e9032a72850e222a0f8296f087cb6b5aa4aed05c65d798d7 a63727d9a86f2e/mounts/shm
Upon digging around in the templates, it seems that {$VFS.FS.FSNAME.NOT_MATCHES} can be used to exclude filesystems with a regex.
I tried extending the existing {$VFS.FS.FSNAME.NOT_MATCHES} by adding "|/var/lib/docker/.+|/var/lib/kubelet/.+", but they are still popping up.
I did the following:
Administration -> General -> Macros -> {$VFS.FS.FSNAME.NOT_MATCHES} = ^(/dev|/sys|/run|/proc|.+/shm$|/var/lib/docker/.+|/var/lib/kubelet/.+)
Is {$VFS.FS.FSNAME.NOT_MATCHES} the proper way to filter out unwanted? How do I set it globally? Otherwise what is the proper way to filter filesystem names?
Thanks!
For Linux SNMP, I am running into an issue where zabbix is picking up thousands of Kubernetes transient virtual mounts:
/var/lib/docker/*
/var/lib/kubelet/*
Examples:
/var/lib/docker/containers/88f7a781c55a265587422a8771ab04da2a2a810ccf5f55b443 9048420852e402/mounts/shm
/var/lib/docker/overlay2/e30b6bc019e6d9e0a34d7a1ed80e88efcc27f4d9c4e9a75d18 71ed7bf203ea2c/merged
/var/lib/kubelet/pods/71a4dd88-51a2-4612-aa87-e3ab05dd7708/volumes/kubernetes.io~secret/redacted
/var/lib/docker/containers/72e9032a72850e222a0f8296f087cb6b5aa4aed05c65d798d7 a63727d9a86f2e/mounts/shm
Upon digging around in the templates, it seems that {$VFS.FS.FSNAME.NOT_MATCHES} can be used to exclude filesystems with a regex.
I tried extending the existing {$VFS.FS.FSNAME.NOT_MATCHES} by adding "|/var/lib/docker/.+|/var/lib/kubelet/.+", but they are still popping up.
I did the following:
Administration -> General -> Macros -> {$VFS.FS.FSNAME.NOT_MATCHES} = ^(/dev|/sys|/run|/proc|.+/shm$|/var/lib/docker/.+|/var/lib/kubelet/.+)
Is {$VFS.FS.FSNAME.NOT_MATCHES} the proper way to filter out unwanted? How do I set it globally? Otherwise what is the proper way to filter filesystem names?
Thanks!
Comment