This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote/bin/echo "Текст Аларма: %t [%S] %n (%a): %m" > $(mktemp /path/to/file-XXXXXXX)Без кириллицы создается нормально.
Quote from: Victor Kirhenshtein on March 30, 2016, 06:43:10 PMHi Viktor!
- Text2reach SMS driver improved
mbytes = $1;
inst = $dci->instance;
previous_mbytes = GetDCIValueByDescription($node,"MSSQL database mbytes size (".inst.")");
if(previous_mbytes == null)
return 0;
diffpercent = ((mbytes*100)/previous_mbytes)-100;
if(diffpercent <=-10)
return -1;
return 0;
Quote from: kozlov_ao on February 08, 2016, 10:14:06 AMтак и сделал - 2 DCi с одинаковыми запросами вытягивающие размер БД. В одном из них скрипт пересчитывает в процентный diff вытягивая из другого предыдущий размер. Очередность пулинга DCI задал жестко через шедулер. Вот такой получился костыль.
.. если надо % вычисять, то создавай еще один DCI, который будет получать общий размер БД и потом работай с ним через GetDCIValueByName и ему подобных (https://wiki.netxms.org/wiki/NXSL_Function_Reference).
Quote from: Alex Kirhenshtein on February 08, 2016, 10:40:25 AMТочно, что-то я про него и забыл. Спасибо!
Самый простой способ – использовать Encrypted password (на самом деле он obfuscated, конечно):
SubAgent = dbquery.nsm
*DBQUERY
Database = id=mystat;driver=mysql.ddr;server=10.10.0.1;dbname=mystat;login=mylogin;password=mypassword
[25-Jan-2016 14:44:39.922] [ERROR] DB Library: Unable to load database driver module "mysql.ddr": The specified module could not be found.
SubAgent = dbquery.nsm
*DBQUERY
Database = id=master;driver=mssql.ddr;server=10.10.0.2;dbname=master;login=newlogin;password=newpass
[25-Jan-2016 14:40:47.505] [WARN ] DBQUERY: cannot connect to database master ([Microsoft][SQL Server Native Client 10.0][SQL Server]Login failed for user 'newlogin'.)
rawdatetime = string($1);
if(length(rawdatetime) >= 14)
{
starttime_year = format(substr(rawdatetime,1,4),1,0);
starttime_mon = format(substr(rawdatetime,5,2),1,0);
starttime_mday = format(substr(rawdatetime,7,2),1,0);
starttime_hour = format(substr(rawdatetime,9,2),1,0);
starttime_min = format(substr(rawdatetime,11,2),1,0);
trace(0,"PHP start time is " . starttime_year . "-" . string(starttime_mon) . "-" . starttime_mday . " " . starttime_hour . ":" . starttime_min);
starttime_ts = starttime_min+(starttime_hour*60)+(starttime_mday*starttime_hour*60)+(starttime_mon*starttime_mday*starttime_hour*60)+(starttime_year*starttime_mon*starttime_mday*starttime_hour*60);
trace(0,"starttime_ts is " . starttime_ts);
now = localtime();
now_year = now->year;
now_mon = now->mon+1;
now_mday = now->mday;
now_hour = now->hour;
now_min = now->min;
trace(0,"Now time is " . now_year . "-" . now_mon . "-" . now_mday . " " . now_hour . ":" . now_min);
now_ts = now_min+(now_hour*60)+(now_mday*now_hour*60)+(now_mon*now_mday*now_hour*60)+(now_year*now_mon*now_mday*now_hour*60);
trace(0,"now_ts is " . now_ts);
delta_min = now_ts - starttime_ts;
trace(0,"delta_min is " . delta_min);
return delta_min;
}
return false;
[03-Jan-2016 12:52:39.587] [INFO ] PHP start time is 2016-1-3 10:30
[03-Jan-2016 12:52:39.587] [INFO ] starttime_ts is 3633030
[03-Jan-2016 12:52:39.587] [INFO ] Now time is 2016-1-3 12:52
[03-Jan-2016 12:52:39.587] [INFO ] now_ts is 4359652
[03-Jan-2016 12:52:39.587] [INFO ] delta_min is 726622
Quote from: Alex Kirhenshtein on January 01, 2016, 01:23:56 PMТак тоже ругался
Одна из проблем в синтаксисе:
tm_datetime<-year = int32(substr(rawdatetime,1,4));
должно быть
tm_datetime->year = int32(substr(rawdatetime,1,4));
Error 15 in line 3: Unknown object's attribute
Quote from: Alex Kirhenshtein on January 01, 2016, 01:23:56 PMточно, получается тогда пока никак.
Но основная проблема – в nxsl сейчас нет поддержки функции mktime.
WMI.Query(root\CIMV2,\"select * FROM Win32_Process WHERE Name = 'php.exe'\", CreationDate)
rawdatetime = string($1);
tm_datetime = localtime();
tm_datetime<-year = int32(substr(rawdatetime,1,4));
tm_datetime<-mon = int32(substr(rawdatetime,5,2));
tm_datetime<-mday = int32(substr(rawdatetime,7,2));
tm_datetime<-hour = int32(substr(rawdatetime,9,2));
tm_datetime<-min = int32(substr(rawdatetime,11,2));
tm_datetime<-sec = int32(substr(rawdatetime,13,2));
Error 4 in line 3: Bad arithmetic conversion