Здравствуйте!
Скажите пожалуйста, можно-ли реализовать такую задачу:
Нужно проверять размер файлов в определенной папке, и если любой файл становится больше определенного значения - сигнализировать об этом.
Я только начинаю использовать NetXMS - может быть что то пропустил в документации ???
			
			
			
				Агент такого параметра не представляет, но можно добавить свой:
Пример скрипта:
#!/bin/sh
[ -z $1 ] && echo ERROR && exit
ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1
Добавить в nxagentd.conf:
ExternalParameter = CheckDirSize(*):/path/to/sizeOfLargestFileInDir.sh $1
В принципе, можно даже сделать без внешнего скрипта:
ExternalParameter = CheckDirSize(*):ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1
CheckDirSize — произвольное название, (*) означает, что у этого параметра есть аргументы, после двоеточия — команда, которая будет запущена через шелл
Аналогичный скрипт можно сделать и для Windows машин.
			
			
			
				Quote from: Alex Kirhenshtein on October 26, 2009, 11:10:16 AM
Агент такого параметра не представляет, но можно добавить свой:
Пример скрипта:
#!/bin/sh
[ -z $1 ] && echo ERROR && exit
ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1
Добавить в nxagentd.conf:
ExternalParameter = CheckDirSize(*):/path/to/sizeOfLargestFileInDir.sh $1
В принципе, можно даже сделать без внешнего скрипта:
ExternalParameter = CheckDirSize(*):ls -l $1 | grep '^-' | awk '{ print $5; }'|sort -g -r | head -n1
CheckDirSize — произвольное название, (*) означает, что у этого параметра есть аргументы, после двоеточия — команда, которая будет запущена через шелл
Аналогичный скрипт можно сделать и для Windows машин.
Edit: Забыл сказать, что список параметров сервер забирает с агента при configuration poll-е, по умолчанию — раз в час. Configuration poll можно сделать принудительно, из консоли — правый клик на ноде, poll -> configuration.
			
 
			
			
				Большое спасибо, однако мне необходимо осуществлять мониторинг размера файлов в папках на серверах Novell Netware.
Видимо придется делать map дисков на Windows машину и через нее осуществлять данную операцию.
			
			
			
				Dlja NetWare toze est' agent, i on podderzivaet parametri File.Size i File.Count. V novoj versii pojavitsja takze parametr File.Count s viborkoj po razmeru i vremeni modifikacii.
			
			
			
				Quote from: Victor Kirhenshtein on October 27, 2009, 10:16:57 PM
V novoj versii pojavitsja takze parametr File.Count s viborkoj po razmeru i vremeni modifikacii.
Это очень хорошо - буду ждать. Спасибо.
			
 
			
			
				Добавил такую возможность в 0.2.31. Теперь полный формат File.Count и File.Size выглядит так:
File.Count(path, pattern, recursive, size, age)
где:
path        Путь к файлу или каталогу
pattern    Маска для выборки файлов
recursive  Индикатор рекурсии - если выставлен в 1, то агент будет искать файлы в подкаталогах, если 0 - то нет
size         Фильтр по размеру; если 0 - фильтра нет, если < 0 - берутся файлы с размером меньше abs(size) байт, если > 0 - берутся файлы с размером больше size байт
age         Фильтр по возрасту файла;  если 0 - фильтра нет, если < 0 - берутся файлы со временем изменения меньше чем abs(size) секунд назад, если > 0 - берутся файлы со временем изменения больше чем abs(size) секунд назад
Например:
File.Count(C:\TEMP, *.dat, 0, 0, 600) - количество файлов с расширением .dat в каталоге C:\TEMP, измененных раньше, чем 10 минут назад, без учета файлов в подкаталогах.
File.Count(C:\TEMP, *.dat, 1, -1000) - количество файлов с расширением .dat и размером меньше 1000 байт в каталоге C:\TEMP и подкаталогах.