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

#4546
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
#4547
Can you please do configuration poll on that device from console and send me the output?

Best regards,
Victor
#4548
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
#4549
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
#4550
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
#4551
Отдельного автоматического опроса имен интерфейсов нет, это делается в рамках configuration poll. Периодичность опроса конфигурации задается через параметры сервера (меню Configuration -> Server Configuration в консоли), параметр ConfigurationPollingInterval (в секундах).
#4552
Да, как-то я не подумал, что можно просто несколько правил с разными фильтрами сделать :)
По PostEvent похоже действительно ничего нет на форуме, только описание в wiki.
#4553
General Support / Re: DNS Service monitor
June 05, 2013, 02:38:53 PM
Hi!

It's possible only with external tools. You can define external parameter on any agent like this:

ExternalParameter = DNS.Check(*):/usr/bin/dig +noall +short @$1 $2 A | grep $3 | wc -l

You'll get new agant parameter DNS.Check, which accepts 3 arguments: DNS server address, DNS name to test, expected IP address. It will return 1 for successful test and 0 for failed. For example, in my network I can call it like

DNS.Check(172.30.30.1,www.netxms.org,5.9.19.37)

to check that my local DNS server at 172.30.30.1 resolves DNS name www.netxms.org to correct IP address (5.9.19.37).

Best regards,
Victor

#4554
Btw, how many nodes you are monitoring? And what kind of nodes (more switches/routers or servers)? Could it be that you have network devices with very large MAC tables or routing tables?

Best regards,
Victor
#4555
Hi!

When node will be shown as down again, try to run status poll from console and post it's output. Also, check log of agents running as proxy - they could exceed maximum number of allowed connections, so you may need to increase it.

Best regards,
Victor
#4556
Hi!

You actually thinking in right direction - you can use SNMPGet function to read value of each instance and determine to include it or not. Below is a working example of such approach. I use OID .1.3.6.1.2.1.2.2.1.16 (ifOutOctets) as a base. I use

Port traffic: {instance}

as description and

.1.3.6.1.2.1.2.2.1.16.{instance}

as parameter name. Correct parameter name is important, because {instance} will be the part after base OID you configure on instance discovery page, not the full OID.

Then, on instance discovery page, I set discovery method to "SNMP Walk - OIDs", set base OID to .1.3.6.1.2.1.2.2.1.16, and use the following filtering script:

snmp = CreateSNMPTransport($node);
return SNMPGetValue(snmp, ".1.3.6.1.2.1.2.2.1.16." . $1) != 0;

Now just close data collection configuration for the node and run configuration poll. You should get DCIs for all OIDs with non-zero value.

Best regards,
Victor
#4557
Поменять приоритет события из скрипта нельзя. Что можно сделать - генерировать новые события функцией PostEvent, и из них уже делать алармы. Где-то на форуме уже был пример использования PostEvent.
#4558
That's strange indeed. I'm not sure if this real source of you problem, but we should try :) Attached is updated pgsql.ddr. It will also log SQL state code in error message, so if error will repeat, please send me new error messages.

Best regards,
Victor
#4559
General Support / Re: Colour of Status Indicator
June 03, 2013, 11:55:00 PM
Hi!

It was designed that way - we had a request for exactly two-state status indicator. I can add an option to switch it to usual status color mode.

Best regards,
Victor
#4560
Just send them to [email protected], preferably with some comments on where to look for information about VLANs and physical ports.

Best regards,
Victor