Подскажите пожалуйста как мне использовать значение Instance DCI в скрипте?
Пробую так:
GetDCIValue($node, FindDCIByName($node, "Disk.Total(" && %6 && ")"));
Однако получаю ошибку syntax error, unexpected '%'
			
			
			
				Esli pri obrabotke sobitija, to dolzno rabotat' tak:
GetDCIValue($node, FindDCIByName($node, "Disk.Total(" . $6 . ")"));
			
			
			
				И в таком варианте тоже не работает. Генерируется Minor Alarm на сервере NETXMS c полем Message: Script (LS::P1) execution error: Error 5 in line 3: Invalid operation with NULL value.
Вообще у меня стоит задача сформировать и послать по email сообщение, генерируемое по treshold DCI "Percentage of free disk space".
условие treshold: Percentage of free disk space < 10%
event: _VOL_SPACE_LOW
message: Warning! %2 is %4%% (%[LS::P1]). Please free some space!
скрипт LS::P1
sub main()
{
   return GetDCIValue($node, FindDCIByName($node, "Disk.Total(" . $6 . ")"));
}
			
			
			
				A kak vigljadit parametr Disk.Total i chto propisano v pole "instance" dlja parametra so skriptom? Problema pohoze v tom, chto formiruetsja nepravil'noe imja parametra, i FindDCIByName vozvraschaet NULL.
			
			
			
				DCI - Collection - Data - Parameter = Disk.FreePerc(D:)
DCI - Thresholds - Instance = D:
Т.е. нужно подставить Instance чтобы получить универсальный скрипт для различных дисков/томов (C:, D:, SYS и т.д.)
			
			
			
				A parametr Disk.Total(D:) sobiraetsja? 
			
			
			
				DCI Disk.Total(D:) привязан к узлу, также как и Disk.FreePerc(D:)