NetXMS Support Forum  
July 30, 2010, 03:59:35 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Binary packages for you favorite OS / Distribution. Which OS should go first? Help us decide!
 
   Home   Help Search Tags Login Register  
Pages: [1]
  Print  
Author Topic: Использование Instance в скрипте.  (Read 418 times)
Dillinger
Newbie
*
Posts: 26


View Profile
« on: January 05, 2010, 10:02:47 am »

Подскажите пожалуйста как мне использовать значение Instance DCI в скрипте?
Пробую так:
GetDCIValue($node, FindDCIByName($node, "Disk.Total(" && %6 && ")"));
Однако получаю ошибку syntax error, unexpected '%'
Logged
Victor Kirhenshtein
Lead Developer
Administrator
Hero Member
*****
Posts: 1431


View Profile
« Reply #1 on: February 23, 2010, 11:12:17 pm »

Esli pri obrabotke sobitija, to dolzno rabotat' tak:

GetDCIValue($node, FindDCIByName($node, "Disk.Total(" . $6 . ")"));
Logged
Dillinger
Newbie
*
Posts: 26


View Profile
« Reply #2 on: March 09, 2010, 12:33:49 pm »

И в таком варианте тоже не работает. Генерируется 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 . ")"));
}



Logged
Victor Kirhenshtein
Lead Developer
Administrator
Hero Member
*****
Posts: 1431


View Profile
« Reply #3 on: March 09, 2010, 12:58:00 pm »

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.
Logged
Dillinger
Newbie
*
Posts: 26


View Profile
« Reply #4 on: March 09, 2010, 05:28:01 pm »

DCI - Collection - Data - Parameter = Disk.FreePerc(D:)
DCI - Thresholds - Instance = D:

Т.е. нужно подставить Instance чтобы получить универсальный скрипт для различных дисков/томов (C:, D:, SYS и т.д.)
Logged
Victor Kirhenshtein
Lead Developer
Administrator
Hero Member
*****
Posts: 1431


View Profile
« Reply #5 on: March 10, 2010, 10:20:29 pm »

A parametr Disk.Total(D:) sobiraetsja?
Logged
Dillinger
Newbie
*
Posts: 26


View Profile
« Reply #6 on: March 11, 2010, 09:00:31 am »

DCI Disk.Total(D:) привязан к узлу, также как и Disk.FreePerc(D:)
Logged
Tags:
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!