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

#6541
General Support / Re: Action to return value
February 25, 2010, 06:40:53 PM
In 1.0.0-rc1 I have added new NXSL function FindNodeObject. It takes two arguments: current node object and ID or name of node of interest. It can be used as following:


sub main()
{
   // Search for node named "gateway"
   gw_node = FindNodeObject($node, "gateway");
   
   if (gw_node == null)
      return 0;   // No such node or access denied

   // from here, gw_node can be used in a same way as $node, for example:
   status = GetDCIValue(gw_node, FindDCIByDescription(gw_node, "Status"));

   return 1;
}


Best regards,
Victor
#6542
Announcements / NetXMS 1.0.0-rc1 released
February 25, 2010, 06:34:56 PM
Hi all!

Version 1.0.0-rc1 is out. It's a release candidate for stable 1.0.0 branch. If it works fine, we release 1.0.0 and focus on active development of 1.1.0 branch, where lot of changes are planned. Also, preview of new Eclipse-based management console from 1.1.0 branch, compatible with current 1.0.0 branch, will be released soon.

Changes in 1.0.0-rc1 compared to 0.2.23:

- System configuration (events, SNMP traps, templates, event processing rules) can be exported and imported in XML format - this solves various problems with old NXMP files
- NXSL improvements:
   - New functions: GetDCIObject, GetInterfaceName, FindNodeObject, trace
   - Added built-in constants TRUE and FALSE
- Added support for encrypted DB passwords in netxmsd.conf
- Improved SNMPv3 support
- Fixed issues: #62, #278

Best regards,
Victor
#6543
По умолчанию на событие SNMP_LINK_DOWN аларм не создается. Надо добавить в event processing policy правило для генерации аларма по этому событию.
#6544
There are two parameters for disk space on UNIX: Disk.Free (or Disk.FreePerc) and Disk.Avail (or Disk.AvailPerc). First shows total amount of free space, including reserved blocks. Second shows free space available to non-root users - free space without reserved blocks. You should compare Disk.Avail results with df output.

Best regards,
Victor
#6545
Esli pri obrabotke sobitija, to dolzno rabotat' tak:

GetDCIValue($node, FindDCIByName($node, "Disk.Total(" . $6 . ")"));
#6546
General Support / Re: Pocket PC binary installer
February 23, 2010, 11:09:19 PM
Unfortunately, PocketPC version is long forgotten. Probably I could rebuild it to work with current server version, but it has very limited functionality. You can:
- Browse object tree
- Work with alarms: see list, acknowledge and terminate
- View last collected values for DCIs
- View graphs for DCIs

If such functionality is interesting for you, I could try to rebuild PocketPC client.

Best regards,
Victor
#6547
It's I/O error on server - most likely server cannot access MIB file (netxms.mib). Did you compile MIBs?

Best regards,
Victor
#6548
General Support / Re: Data collection - Graph/history
February 23, 2010, 11:05:09 PM
Very strange. I can create a graph for a one year for example. Is there anything in server logs? Also, could you please run server with -D 9 for a moment, try to create graph for long period, and send logs to me (at [email protected])?

Best regards,
Victor
#6549
He probably mean menu in SQLite Database Browser, not in NetXMS console.

Best regards,
Victor
#6550
General Support / Re: How to add a script to the template
February 23, 2010, 10:59:48 PM
What do you mean by that? There are various places where scripts could be used - autobinding, data transformation, event processing, etc. What do you want to achieve?

Best regards,
Victor
#6551
General Support / Re: How to create a Event
February 23, 2010, 10:58:19 PM
Hi!

You should create separate events (for example, DISK_SPACE_WARNING, DISK_SPACE_CRITICAL) for each level you wish to have. Then add appropriate thresholds and set your custom events as activation events. For example, for threshold "> 50" set  DISK_SPACE_WARNING as event, and for threshold "> 90" set DISK_SPACE_CRITICAL as event. Don't forget to order thresholds properly - in case with disk space, you should start with "> 90", then "> 75", then "> 50". See data collection section in manual for explanation. Add appropriate processing to event processing policy.

Best regards,
Victor
#6552
General Support / Re: Monitoring Disk Space
February 23, 2010, 10:54:50 PM
You have to options:
1. Convert DCI values to MB on collection time via transformation script;
2. Create separate event for disk space threshold violation, and instead of %4 macro (which is expanded into actual values) call script which will convert this value to MBs.

Best regards,
Victor
#6553
General Support / Re: Status Alert for every hour
February 23, 2010, 10:52:28 PM
Hi!

If you really need alert every hour for every host, you can create two thresholds for "Status" DCI covering all possible values (for example, one for "equals 0", other for "not equals 0"), configure it to send same event on activation, and set repeat interval to 3600 seconds. Then add processing for generated event as usual. You will have this event generated every hour.

Best regards,
Victor
#6554
General Support / Re: Report Generating
February 23, 2010, 10:48:05 PM
Hi!

It's not possible with current GUI. Currently your only option is to write your own reporting tool using NetXMS API or directly accessing database.

Best regards,
Victor
#6555
General Support / Re: Action to return value
February 23, 2010, 07:21:54 PM
Hi!

Quote from: borislavl on February 22, 2010, 06:43:08 AM
1. Is it possible when we have multiple Thresholds i.e. for values 1, 2, 3, .. N, to run only one Event in case that the Condition is true and NOT having to run an Event when the Condition is false (i.e. 2, 3, .. N)?
In other words to have a Threshold with only one Event (true) and not having Event for false (or having None in case of false)?

You cannot create threshold without rearm event. However, you can create template for "normal" severity event, call it NONE, uncheck "Write to event log" option, and use it whenever you don't need rearm event. It will not affect server performance, and will not leave any traces, unless you run server with debug level 5 or above - in that case you'll get some debug messages in the log.


Quote from: borislavl on February 22, 2010, 06:43:08 AM
2. In the FindDCIByDescription($node, "DCI_Desc") can we specify the node (other than the current one)?

3. How the option "Proxy node" in the DCI works? If I select other node on which there is agent and server, the data collection stops. Is the idea to receive values from the NetXMS agent on the proxy node or it is used as proxy but you are receiving the values from the node for which the DCI is set?

Answers to these questions are related, so I will start with answering question 3.
To make proxy node works, you should do one of the following: add node owning DCI with proxy node set to proxy node's "Trusted Nodes" list, or set serevr's configuration variable "CheckTrustedNodes" to 0. Reason for this is security - without trusted nodes check, user with write access to only one node could potentially collect data from all nodes in the system, just by setting them as proxy nodes. Accessing DCIs of other nodes from within transformation script disables for the same reason. However, as I types this answer, I realize that is is possible to add some NXSL function which will search for node and return node object, if current node is listed as trusted for node being searched. So I'll add it :)

Quote from: borislavl on February 22, 2010, 06:43:08 AM
4. Is nxget the only way for collecting values from other nodes' agents?

If you mean "the only command line tool" - yes. But you can use libnxsrv library to write your own tools if needed (using nxget's source code as reference). Another way is to get value from agent via server using client API (either C or Java).

Quote from: borislavl on February 22, 2010, 06:43:08 AM
5. When using ExternalParameter which returns a string – it is captured to the first interval " ". Is there a way the entire string to be captured and to be specified what length to be returned?

Looks like a bug. I'll check it.

Best regards,
Victor