Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

S

slako

@slako
Unfollow Follow
About
Posts
17
Topics
3
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Исчезновение кириллицы при выполнении действия: выполнение команды на сервере
    S slako
    Support (Russian)

    Вдогонку, если текст сообщения эвента содержит кавычки то результат будет такой.

    Отправляем

    `1` '2' "3"
    

    Получаем

     '2' 3
    

    то есть пропадает полностью 1 с кавычками и парные кавычки вокруг 3


  • Исчезновение кириллицы при выполнении действия: выполнение команды на сервере
    S slako
    Support (Russian)

    В моем случае файл вообще не создается если в команде есть кириллица

    /bin/echo "Текст Аларма: %t [%S] %n (%a): %m" > $(mktemp /path/to/file-XXXXXXX)

    Без кириллицы создается нормально.
    В шелле работает и так и так.
    Локаль ru_RU.UTF-8


  • NetXMS 2.0.3 released
    S slako
    Announcements

    @victor said in NetXMS 2.0.3 released:

    • Text2reach SMS driver improved

    Hi Viktor!
    It's by design now that driver doing 3 posts to service?
    I using this driver for my selfwritten local SMS service (not for the real Text2reach service), and I see now each SMS coming at 3 times.

    PS Nevermind, I have checked driver sources and adapted my SMS service according to.
    JFYI: nxmc 'Send SMS' tool always returns 'SMS sent successfully' response, even when driver has detected an error from service.


  • Что-то типа GetEventObjectByName?
    S slako
    Support (Russian)

    Ага, спасибо, так и выкрутился!


  • Что-то типа GetEventObjectByName?
    S slako
    Support (Russian)

    Есть DCI у которого в порогах прописан скрипт который высчитывает % между предыдущим и новым значением и в зависимости от полученного значения возвращает маркер для создания эвента когда это необходимо. Все нормально работает. Но вот хотелось бы как-то еще передавать предыдущее значение в сообщение эвента.  Не нашел ничего похожего на что-то типа GetEventObjectByName чтобы в скрипте нужному эвенту подменить сообщение через SetEventParameter.
    Пороговый скрипт такой:

    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;
    

  • Непонятки в dbquery.nsm
    S slako
    Support (Russian)

    @kozlov_ao said in Непонятки в dbquery.nsm:

    .. если надо % вычисять, то создавай еще один DCI, который будет получать общий размер БД и потом работай с ним через GetDCIValueByName и ему подобных (https://wiki.netxms.org/wiki/NXSL_Function_Reference).

    так и сделал - 2 DCi с одинаковыми запросами вытягивающие размер БД. В одном из них скрипт пересчитывает в процентный diff вытягивая из другого предыдущий размер. Очередность пулинга DCI задал жестко через шедулер. Вот такой получился костыль.

    @alk said in Непонятки в dbquery.nsm:

    Самый простой способ – использовать Encrypted password (на самом деле он obfuscated, конечно):

    Точно, что-то я про него и забыл. Спасибо!


  • Непонятки в dbquery.nsm
    S slako
    Support (Russian)

    Попутно еще один вопрос.
    В DCI складываю текущий размер какой-либо базы данных в MBytes. Необходимо установить diff threshold который бы отслеживал порог увеличения в процентах от предыдущего значения. Как лучше это сделать?
    Есть ли в Transformation возможность получить предыдущее значение?


  • Непонятки в dbquery.nsm
    S slako
    Support (Russian)

    Разобрался с проблемой 2 - в реале значение mypassword (см выше) содержало символ решетки #, и видать поэтому пароль обрезался при чтении такого полиси, поскольку тут это знак коммента.
    Отсюда вопрос - как экранировать такой символ в полиси?


  • Непонятки в dbquery.nsm
    S slako
    Support (Russian)

    Проблема 1 (mysql) ушла на 2.0.2.
    Проблема 2 без изменений.


  • Непонятки в dbquery.nsm
    S slako
    Support (Russian)

    Имеем 2.0.1 сервер и агент. Оба виндовые( сервер win2003, агент win7sp1).
    Задача - складывать в DCI размер определенной базы данных.

    1. Конфиг агента подгружаем с сервера плюс добавляем полиси подгрузки нужного субагента:
    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.
    

    При этом <папка агента>\bin\mysql.ddr на месте.
    Почемуто - не видит этот модуль.

    1. Эксперимент с другой (MSSQL 2005) базой через другой полиси:
    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'.)
    

    при этом такой юзер в базе прописан и без проблем доступается через студио.


  • перевод строки в time
    S slako
    Support (Russian)

    Спасибо, работает!


  • перевод строки в time
    S slako
    Support (Russian)

    А как при такой формуле определить делту в минутах?
    Чего-то у меня значения дельты получаются не верны.
    Скрипт такой

    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
    

    Или это абстрактная величина, которая будет едина для интервала?  К примеру мне нужно генерить эвент когда дельта больше 60 реальных минут.


  • перевод строки в time
    S slako
    Support (Russian)

    @alk said in перевод строки в time:

    Одна из проблем в синтаксисе:

    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
    

    @alk said in перевод строки в time:

    Но основная проблема – в nxsl сейчас нет поддержки функции mktime.

    точно, получается тогда пока никак.  😞


  • перевод строки в time
    S slako
    Support (Russian)

    Задача отлавливать подвисшие CLI php скрипты работающих на Win2003.
    Process.CPUTime не подошел - если скрипт подвис и ничего не делает, то возвращаются значения 0.
    Решил попробовать через

    WMI.Query(root\CIMV2,\"select * FROM Win32_Process WHERE Name = 'php.exe'\", CreationDate)
    

    Столкнулся с проблемой как сконвертировать значения этого запроса в объект time чтобы потом просчитать количество секунд которое прошло с начала старта? Значения приходят в виде 20160101235959.123123

    Пробовал парсить как строку

    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
    

  • NetXMS 2.0-RC2 released
    S slako
    Announcements

    No, thank you! Happy New Year!


  • How to find out the event parameters?
    S slako
    Support

    @victor said in How to find out the event parameters?:

    ...so for example you can replace %4 with %{currentValue} in threshold violation event processing.

    just some clarification -  correct format is %<currentValue>


  • NetXMS 2.0-RC2 released
    S slako
    Announcements

    missed kannel.sms driver on Windows installation. Checked fresh install on windows7 and windows 2003
    No such file in bin directory

    upd: dummy.sms is absent too

    upd2: Can anyone attach missed files here?

  • Login

  • Don't have an account? Register

  • Login or register to search.
Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups