NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: vitabios on February 28, 2015, 04:53:33 PM

Title: Преобразование значения.
Post by: vitabios on February 28, 2015, 04:53:33 PM
Дописал в конфиг агента парамерт, измеряющий размер папки для linux:
ExternalParameter = FolderSize(*):cd "$1" && du -sh -b

Получаю вот такое значение:
1640657413056.

Т.е. на конце точка. Как можно преобразовать данное значение в целое?
Пытался вывести без точки, на вкладке "Преобразование данных" написал следующее:
a = length($1)-1;
b = left($1,a);
c = abs(b);
return c;


Тест вроде бы успешно проходит, но значение метрики не выводится.
Как правильно получить значение?
Title: Re: Преобразование значения.
Post by: kozlov_ao on March 01, 2015, 09:11:04 AM
Измени скрипт получения данных на такой:
ExternalParameter = FolderSize(*):cd "$1" && du -sh -b | awk '{print($$1)}'
в настройках метрики, выставляй тип данных как Int, ну или UInt...

$$ - не ошибка, иначе NX воспримет его как передаваемый параметр.
Title: Re: Преобразование значения.
Post by: vitabios on March 01, 2015, 04:52:31 PM
Спасибо, но получаю значение 857884057, но оно не соответсвует действительности.
Папка весит 1 640 666 413 056 байт
Title: Re: Преобразование значения.
Post by: kozlov_ao on March 01, 2015, 11:36:25 PM
1. А если запустить скрипт из консоли?
2. Какой тип данных выбирается? Указанное число выходит за пределы типа int.
3. Действительно нужен размер в байтах?Возможно имеет смысл конвертить сразу в мегабайты, etc.
Title: Re: Преобразование значения.
Post by: vitabios on March 02, 2015, 08:43:03 AM
Если из putty выполнить команду то пустой ответ. Тип данных пробовал разный и целое и 64бит целое. Можно и в мегабайтах,  главное чтобы только число
Title: Re: Преобразование значения.
Post by: kozlov_ao on March 02, 2015, 08:47:05 AM
Сорри, не акцентировал внимание сразу... надо выполнить du -sh -b | awk '{print($1)}' (т.е. не $$)
Title: Re: Преобразование значения.
Post by: vitabios on March 02, 2015, 09:01:34 AM
Спасибо,  получилось.  Но только с навели.  Вместо awk указал gawk.
Title: Re: Преобразование значения.
Post by: vitabios on March 02, 2015, 09:57:15 AM
Рано обрадовался.  В консоли выполняется а в netxms возвращает пустое значение