Menu

Show posts

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 Menu

Messages - Victor Kirhenshtein

#4516
Hi!

This feature seems interesting. I have added it to our issue tracker as feature request (https://www.radensolutions.com/chiliproject/issues/290). As for accessing AD from NetXMS server, on UNIX/Linux we probably can use LDAP.
Also, it is possible now to create Python script for nxshell (http://wiki.netxms.org/wiki/Using_nxshell_to_automate_bulk_operations) which will use LDAP to access AD and NetXMS API to create appropriate objects under infrastructure services tree. This will not be simple script though.

Best regards,
Victor
#4517
Hi!

You pass $1 to GetNodeInterfaces. It's a first argument of the script. It depends on context, but it's unlikely that it will be node object. If you want to work with "current" node (i.e. owner node of DCI in transformation script), you can use built-in variable $node. In other cases, you can use FindNodeObject function to obtain reference to node object you are interested in.

Best regards,
Victor
#4518
Hi!

Yes, this is the way to go - create hierarchy of DCIs with source Internal/Dummy and transformation script reading average value from previous DCI in hierarchy. For example, for System.CPU.Usage parameter transformation script to calculate 10-minutes average will look like this:


now = time();
return GetAvgDCIValue($node, FindDCIByName("System.CPU.Usage"), now - 600, now);  // 600 is number of seconds


Best regards,
Victor
#4519
С UTF-8 работать нормально не будет. Надо либо ставить CP1251, или делать UNICODE сборку. Ну и не забыть проверить, что в базе с кодировкой все в порядке.
#4520
Also, on what OS your server is running? I'll build a patched driver for you.
#4521
You right about configured and adopted lists. I think I should change the driver to read both configured and adopted radios, and change status of APs/radios if they not found in adopted list. Can you send me full SNMP walk dumps of .1.3.6.1.4.1.388.14.3.2.1.11.5 and .1.3.6.1.4.1.388.14.3.2.1.11.11? I don't have instant access to the device, so I cannot get this information for testing. Btw, when I design wireless monitoring part, I was also thinking about putting radios as interface objects below access point objects. Do you think it could be useful?

Best regards,
Victor
#4522
That's the problem, server expects correct response here. Is there any standard MIBs this device supports? Anything under .1.3.6.1.2.1.1 or .1.3.6.1.2.1.2?

Best regards,
Victor
#4523
Another possible problem could be if device does not support standard MIBs. NetXMS server tries to retrieve OIDs .1.3.6.1.2.1.1.2.0 and .1.3.6.1.2.1.1.1.0 to check if device can respond to SNMP. If device does not support system MIB for some reason then server will not be able to detect SNMP agent on it. Can you check that device responds to these OIDs?

Best regards,
Victor
#4524
Can you please get event history for this host and send it to me? (You can export log viewer content to CSV file in 1.2.7).

Best regards,
Victor
#4525
Can you please do configuration poll on that device from console and send me the output?

Best regards,
Victor
#4526
General Support / Re: DNS Service monitor
June 06, 2013, 02:32:35 PM
You should set a threshold on your DCI (with condition "last values equals 0"), and add rule in event processing policy to generate an alarm. Here is a tutorial for a similar task: http://wiki.netxms.org/wiki/How_to_send_e-mail_notification_when_disk_space_is_low - it should help you understand the concept.

Best regards,
Victor
#4527
Hi!

To use exysting SYMBOL-WS driver, device must support the following OIDs: .1.3.6.1.4.1.388.14.3.2.1.9.2.1 (adopted access points), .1.3.6.1.4.1.388.14.3.2.1.9.4.1 (unadopted access points), .1.3.6.1.4.1.388.14.3.2.1.12.3.1 (mobile units). Please check that they are supported, and if yes, send me walk results of .1.3.6.1.2.1.1 - I'll add device ID to the list of supported by driver.

Best regards,
Victor
#4528
Quote from: sperlm on June 05, 2013, 04:50:34 PM
1) "$1" means "{instance}" then, are there other parameters or just this one?

Yes, in instance filtering script first parameter ($1) is current instance value, same value that will be substituted for {instance}. There are also two predefined global variables - $node, which points to current node object, and $dci, which points to current DCI object.

Quote from: sperlm on June 05, 2013, 04:50:34 PM
2) Can I call scripts in the filter? Is it the "script:name" function?
(I am trying calling scripts now but cant get results yet)
Reason is obvious - to be able to change the filter for more DCIs at once than just one.
I am thinking about forwarding parameters to the script too.

Yes, you can call scripts from the library. You should specify library scripts you will be calling with use operator, then you'll be able to call functions from these scripts. For example, you have script in a library named Transformations:


sub bytesToBits(bytes)
{
   return bytes * 8;
}

sub butsToBytes(bits)
{
   return bits / 8;
}


Then, if you want to use function bytesToBits in another script, you can do:


use Transformations;

return bytesToBits($1);


Quote from: sperlm on June 05, 2013, 04:50:34 PM
3) Running configuration poll doesnt seem to work for me, I have to wait really long time to see the results. Is there a setting which disables this?

As there are internal locks on data collection configuration, it is important to close data collection editor view before doing configuration poll.

Quote from: sperlm on June 05, 2013, 04:50:34 PM
4) By the way, in the properties of OID there are no fields called name or instance so I am a bit confused as to where "script:name" functionality can be used.

Sorry, I didn't understand the question.

Quote from: sperlm on June 05, 2013, 04:50:34 PM
5) I already found "ApplyDCIFromTemplateToDisabledDCI" and set it back to old behaviour (1) so this means every change in DCI starts "reapplying" process and all I need is just wait or there is some static time (like 30 minutes) in which templates check if their nodes have actual OIDs?
I found ConfigurationPollingInterval (3600), not sure if it is correct information to look at though.

Instance discovery and templates are different processes. Template being applied to nodes as soon as you close data collection editor for template. Instance discovery, on the other hand, is an automated process - check for new instances occurs at each configuration poll, once per hour by default. And yes, you're right - it is controlled by ConfigurationPollingInterval  configuration parameter.

Quote from: sperlm on June 05, 2013, 04:50:34 PM
6) FindObject() function can be omitted in scripts if I dont need the safety function of returning null when the node is unknown/denied?

Most of the scripts (transformation, filtering, etc.) always have global variable $node set at startup. This variable points to current node (i.e. node owning DCI or source of event). You only need FindObject when you need access to another node object.

Best regards,
Victor
#4529
Отдельного автоматического опроса имен интерфейсов нет, это делается в рамках configuration poll. Периодичность опроса конфигурации задается через параметры сервера (меню Configuration -> Server Configuration в консоли), параметр ConfigurationPollingInterval (в секундах).
#4530
Да, как-то я не подумал, что можно просто несколько правил с разными фильтрами сделать :)
По PostEvent похоже действительно ничего нет на форуме, только описание в wiki.