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

#6391
Версия 1.0.3 или старее?
#6392
Microsoft promises that frequency should not change between reboots :) (http://msdn.microsoft.com/en-us/library/ms644905%28VS.85%29.aspx). I choose to use performance counter because timeGetTime has much bigger call cost - but I'm not sure that this really matters in our case. I could also build libnetxms.dll with timeGetTime variant to compare. Interestin also is that on my Windows 7 machine event GetSystemTimeAsFileTime, which was used before, gives 1ms accuracy.

Best regards,
Victor

P.S. New libnetxms.dll included in 1.0.3 build, so if you upgrade agent, you will not need to download libnetxms.dll from here.
#6393
Announcements / NetXMS 1.0.3 released
July 08, 2010, 12:01:09 AM
Hi all!

NetXMS version 1.0.3 is out. Changes since 1.0.2:

- Windows console:
        - DCI thresholds, average, and trendlines can be shown on graphs
        - Fixed history graph performance issue
        - Fixed GDI resource leak
- HP-UX platform subagent improved
- New agent parameters for Linux: System.Memory.Physical.Available and System.Memory.Physical.AvailablePerc
- Agent parameters Disk.* renamed to FileSystem.* (old names still recognized by agent for backward compatibility)
- Fixed various inconsistencies in parameters between different systems
- Fixed issues: #300, #302

Best regards,
Victor
#6394
Hi!

The most generic way is the following:

1. Stop netxmsd on old server
2. Export database using nxdbmgr:


nxdbmgr export export_file


3. Install same version of NetXMS on new server
4. Create and initialize new database as usual
5. Import data using nxdbmgr:


nxdbmgr import export_file


6. Run netxmsd on new server

If you will use different IP address on new server, you must add it as master server in agent configuration files.

If you are using external database which will not be migrated, you can just install NetXMS on new server and copy netxmsd.conf from old server - it should start working with same database without problems (don't forget to stop netxmsd on old server first).

Also, if you are migrating to same database engine, using database migration tool from database engine could be more effective.

Best regards,
Victor
#6395
General Support / Re: Netxms Agent Traps
July 03, 2010, 01:34:14 PM
Hi!

Agent cannot send SNMP traps. It is capable of sending NetXMS events to server, but it's an internal mechanism, available only as API to subagents. You can also use nxevent command line tool to send events from remote system to the server.

Best regards,
Victor
#6396
It takes a bit more time :) Updated libnetxms.dll can be downloaded from here: https://www.netxms.org/download/patches/006/libnetxms.dll. It now uses QueryPerformanceCounter for time interval measurement. You can replace existing libnetxms.dll with new one and test agent.

Best regards,
Victor
#6397
We cannot change GetCurrentTimeMs in that way, because it is supposed to return current time since epoch in milliseconds, and timeGetTime returns time since system start. We need to replace call to GetCurrentTimeMs with timeGetTime or QueryPerformanceCounter inside IcmpPing function. I'll create patched libnetxms.dll this evening and post it for testing.

Best regards,
Victor
#6398
General Support / Re: Send SMS Text Alerts
June 29, 2010, 01:18:53 PM
Hi!

How do you connect your modem? Directly to the NetXMS server or to remote node? In first case, you have to load generic.sms driver on server (by setting SMSDriver server configuration parameter) and specify COM port in SMSDrvConfig server configuration parameter. If you connect modem to remote node with agent, you should load sms.nsm subagent on this node, and use nxagent.sms instead of generic.sms on the server. In that case you should set SMSDrvConfig parameter to remote node IP address.

Also, there are known problem with Huawei E220 modem - it doesn't sent messages with backslash in text. I don't know how E226 differs from E220, so maybe E226 also affected.

Best regards,
Victor
#6399
A chto pishet esli sdelat' Poll->Configuration iz konsoli?
#6400
Hi!

You code was correct, it's very strange that it was not working. Adding an empty string should not change result. I suspect bug in NXSL interpreter, but I was unable to reproduce this on my test system - both

server_name = "" . plaza . ".se";

and

server_name = plaza . ".se";

gives the same correct result in my test script.

Best regards,
Victor
#6401
Hi!

You use variable plaza in your code, but how you initialize it? If you wish to use something based on DCI's node, the only way to access node's attributes is via $node variable. So, for example, if you wish to add "-server" suffix to current node's name and find that node, you should use code like this:


server = FindNodeObject($node, $node->name . "-server");


Best regards,
Victor
#6402
Hi!

Now you can add any DCI configured on node to performance tab via DCI configuration. Open data collection editor, go to DCI properties, and on "Performance Tab" tab check "Show on performance tab" option.

Best regards,
Victor
#6403
General Support / Re: Monitor heartbeat?
June 22, 2010, 04:18:42 PM
Hi!

You can create threshold on data collection error - it will fire if DCI not being updated due to communication failure or agent error - and then process event generated in this case as usual.

If you need to monitor push DCI then you can create another DCI and use transformation script to monitor last poll time, status, or error count of first DCI. For example, if you have DCI for parameter "PushParameter", you could create second DCI with source "Internal" and parameter "Dummy" and use the following transformation script:

sub main()
{
   dci = GetDCIObject($node, FindDCIByName($node, "PushParameter"));
   return time() - dci->lastPollTime > 120;  // Replace 120 with required interval in seconds
}

And set threshold for value 1 - it will indicate that there were no new values for 120 seconds.

Alternatively, you can return difference between current time and last poll time:

return time() - dci->lastPollTime;

and specify required interval in threshold.

Best regards,
Victor
#6404
You mean to show container hierarchy in node selection dialog?

Best regards,
Victor
#6405
It is not supported yet. We planning to add this functionality, and it is partially implemented (called zoning in NetXMS). I'll think about possible workaround.

Best regards,
Victor