-
Problem report
-
Resolution: Fixed
-
Trivial
-
3.4.14
-
None
-
Debian 9
-
Sprint 43, Sprint 44, Sprint 45, Sprint 46, Nov 2018, Sprint 47, Dec 2018, Sprint 74 (Mar 2021)
-
3
I'm trying to get size of specified directory but exclude size of one subdirectory and files inside it. Directory structure looks like this:
logs/ archive/ 01.log 02.log 01.log 02.log
I want to exclude whole 'archive' folder and all files in it. Based on documentation regex_excl is what I need.
regex_excl - regex describing the file, directory and symbolic link name pattern for exclusion (don't exclude any if empty; empty string is default value)
But using regex_excl with directory name only excludes size of directory file itself (i.e. 4096 bytes) but not whole subtree size.
Steps to reproduce:
- Create test directory structure like described above.
- Query size from Zabbix Agent
# zabbix_get -s servername -k "vfs.dir.size[/tmp/logs]" 3347012 # du -bcs /tmp/logs 3347012 /tmp/logs 3347012 total # zabbix_get -s servername -k "vfs.dir.size[/tmp/logs,,archive]" 3342916 # du --exclude=archive -bcs /tmp/logs 1850526 /tmp/logs 1850526 total # zabbix_get -s servername -k "vfs.dir.size[/tmp/logs,,\.log]" 8192 # du --exclude=*log -bcs /tmp/logs 8192 /tmp/logs 8192 total
Result:
- With first request we get size of all files in target folder (/tmp/logs). du return same size.
- With second request we get size of all files excluding size of 'archive' directory file (3347012 - 3342916 = 4096 bytes). 'du' returns different result because it does not count size of files in 'archive' directory.****
- 3-rd request returns only size of 2 directory files: 'logs' and 'archive' all '*.log' files are excluded.
Expected:
Based on documentation description I expect regex_excl operate same way as --exclude key of du utility, but it behaves in different, unpredictable way.
- caused by
-
ZBXNEXT-491 new item key: directory size
- Closed