Sounds great
Thanks!
Best regards,
Dan
Sounds great
Thanks!
Best regards,
Dan
Hi!
It all comes down to the amount of DCI's you wish to poll and the polling intervals.
We are using the following CPU and RAM for around 800 nodes with, at the moment, about 25 - 30 DCI's per node,
1x Intel(R) Xeon(R) CPU W3520
12GB RAM
And we are not close to maximizing the resources.
Hope this helps!
Edit: We would probably be able to handle the current load with half the memory, but as you never know what the future hold, and as hardware is relative cheap, it is better to oversize, than to not be able to monitor what you need to 
Best regards,
Dan
Hi!
I am wondering about the object tools from the alarm browser.
I wish to send data by right clicking on an alarm in the browser and select object tools and then for example "create ticket", to create a ticket in the ticket system.
The idea would be to invoke either an action or some command on the netxms server which then sends for example alarm text, time when the alarm was triggered and which user that created the ticket.
Is this doable? Can I send this data from the alarm browser?
Or is it purely an "object" tool?
The reason why I wish to do this instead of an automatic creation is that otherwise the ticket system will be filled with a lot of new tickets, which is not fun to handle.
We are still trimming the system and adding more nodes and alarms so I have not had time to fix situations to remove excessive alarms, yet 
Thanks in advance!
Best regards,
Dan
Good morning!
Hm ok, not sure what the best way is, but there are some positive things that come out of having an extra instance that can be separated from the live environment.
I think that will be the way to go for me 
Thanks!
Best regards,
Dan
Hi!
Sorry if this has already been covered in the forum, but I was unable to find it.
Is there any way to limit the view for specific users, or groups, to a DCI or alarms?
I am thinking about the same way to limit the view of an object.
I have nodes with a lot of different DCI's and a lot of different users accessing the same server.
The service desk group should see all the alarms, which they do today.
But then I have a few other users that should only be able to see some of the alarms, for example if application A is down that will create a critical alarm, I would only want them to see that alarm.
If application B goes down on the same node, I don't want them to see that alarm.
It is possible to do it with another Netxms server instance and just forward the necessary alarms for those nodes to the "new" instance, but, it would be great if it was possible to do it in the same server. 
Best regards,
Dan
Sorry, it is 32 bits, it is apparently not R2, it has Service Pack 2 though!
From description:
"Windows SCHED 6.0.6002 Windows Server 2008 Build 6002 Service Pack 2 Intel IA-32"
Yes it is the 1.0.4 agent, 32-bits.
The server has also been restarted now, just to ensure that it is nothing trivial like that, but it displays the same errors, so I changed the user who runs the nxagent to the administrator, and now it works 
Not optimal, but something is not as it should with the local system account 
I think I will let some windows admin look at it.
Thanks for your help!
Best regards,
Dan
Just made sure and it is only my own specified parameters through "ExternalParameter" in the netxms agent configuration file that is now working, everything else seems to be running fine, which is a bit disturbing 
When I try to run the parameter I have specified manually it works like a charm, but not through the agent.
If it were any problems running the parameter there should be another error in the event log, or am I wrong?
Edit: I found another error message as well, this time on NetXMS, "Unable to open buffer file" in the "last values" history for the node when I clicked on it through the alarm browser.
Best regards,
Dan
The variables are set, both TMP and TEMP (and the others), I also checked the user rights and they were set as they should I guess, everything checked on "allow" and nothing on "deny".
The hard drive is not full. I have tried to stop and start the agent again.
The strange thing is that it is only on this server.
Do you have any other ideas what could be wrong?
I could suggest a reboot of the server, but not sure if that would help?
Thanks again!
Best regards,
Dan
Hi,
Thanks!
I'll check the values of the environment variables and get back asap!
The agent is running under the local system account, it's just a default install, is there anything special to consider?
Best regards,
Dan
Hello!
I have a server running Windows 2008 R2.
I have installed the netxms agent, we are currently running version 1.0.4, and is able to connect, it is stated as "Active" under the nodes "Overview".
In the netxms configuration file I have created a number of external parameters which all runs as they should from the command line, but when I try to connect and run it through NetXMS I receive the following error message: "Cannot get parameter: Communication failure".
If I look in the event viewer on the windows machine I can see that there are a number of errors related to the agent containing this error message:
"Unable to create temporary file to hold process output: The system cannot find the path specified"
I have other windows servers running with the same configuration and they are running fine.
Where is it trying to create the temporary file?
Could it be a file system access problem?
Thanks for your help!
Seems like that was the problem, the difference between %5 when using it in a threshold and a rearm event.
Thank you very much for your help!
Best regards,
Dan
Hi!
I think it is me that configured it wrong, I used %5 on my rearm, instead of %3.
I will try this first just to ensure that it is not me.
If it does not work I will try to explain my configuration 
Thank you for your answer!
Best regards,
Dan
I forgot to mention that I am using 1.0.4.
Best regards,
Dan
Hi!
I found this in the forum, which is a great way to differentiate events:
@victor said in Event Processing Policy:
Hi!
I would suggest to change alarm key in your configuration for %m (message text) to DC_%i_%5 - that would create separate alarms for different nodes, even if they have same message text. But anyway, that is not important for sending e-mails. From information you have sent it is not clear why you getting e-mail only for 1 DCI - I should see configuration and values of all 4 DCIs. Also, was it your intention to send e-mails every minute as long as there are files matching filter?
Best regards,
Victor
But, when I use it in already existing events in my event processing policy, it is blank.
If I try to set it as a text message, the macro parameter is shown as a blank, i.e null or nothing.
I configure the DCI that uses these events from a template that distributes to my nodes.
When I create a new DCI on one of my nodes, not through a template, and then test it, the macro %5 shows output, which I think is the correct one.
Could there be a problem because I use a template?
Best regards,
Dan
I thought I could share the result.
sub main() {
numImages = $1;
if ($node->name ~= "^(.*)ru[rf]([0-9]{2})1") {
plaza = $1;
lane = int64($2);
}
mlc = plaza . "mlc010";
mlcNode = FindNodeObject($node, mlc);
dciName = "Total number of transactions in Lane " . lane;
numTransactions = GetDCIValue(mlc_node, FindDCIByDescription(mlcNode,dciName));
return (numImages / numTransactions) * 100;
}
Best regards,
Dan
Hi!
Hm ok, strange.
But it works now, so maybe it was just the good ol' user error 
Thanks for your help though!
Best regards,
Dan
Hi!
The plaza variable is created like this,
if ($node->name ~= "^(.*)ru[rf]([0-9]{2})1") {
plaza = $1;
lane = int64($2);
}
I just tried changing the creation of the variable "server_name" from,
server_name = "" . plaza . ".se";
to,
server_name = plaza . ".se";
And now the following creates a node object,
server_name_node = FindNodeObject($node, server_name);
It does work now, it seems like it was my creation of the variable "server_name" that was the problem.
So I guess it was my bad code that just didn't work 
Thank you for the feedback!
But, now when I test the script the console application dies
NETXMS CONSOLE CRASH DUMP
Sat Jun 26 19:30:54 2010
EXCEPTION: C0000005 (Access violation) at 76EB1FFE
NetXMS Console Version: 1.0.1
OS Version: Windows NT 6.1 Build 7600
Processor architecture: Intel x86
Register information:
eax=00000138 ebx=0012DE20 ecx=00720000 edx=0012DE20
esi=2AA7F833 edi=0012DE18 ebp=02A9FEEC esp=02A9FEB8
cs=001B ds=0023 es=0023 ss=0023 fs=003B gs=0000 flags=00010206
Call stack:
[ntdll:76EB1FFE]: RtlFreeHeap
[ntdll:76EB1FAF]: RtlFreeHeap
[MSVCRT:756598CD]: free
[nxcon:0040B323]: (function-name not available)
[kernel32:75AF1174]: BaseThreadInitThunk
[ntdll:76EBB3F5]: RtlInitializeExceptionChain
[ntdll:76EBB3C8]: RtlInitializeExceptionChain
Adding the .mdmp file.
Hi!
I am using 1.0.1.
I found the following post very helpful,
@victor said in Action to return value:
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; }
I have tried doing this with the following code,
server_name = "" . plaza . ".se"; // this gives me the server name in the var, as this is different depending on which node that the DCI is running on
server_name_node = FindNodeObject($node, server_name);
return server_name_node;
This only gives me "null" which would indicate that the server with the server_name is non-existant.
But I have also set the node name manually, instead of using the var, which works as it should, but this means a lot of manual work and a generated name in a var is much more flexible 
So my question is, is there something I am missing, or is it just not possible to use the variable instead of a static argument?
Best regards,
Dan
It was the push DCI that was my main concern, sorry for not saying so!
This will probably solve the problem perfectly 
Thanks!
Best regards,
Dan
Hi!
I am trying to monitor if a DCI is not updated within a certain interval, like a heartbeat.
If the "monitored" DCI is not updated within a scheduled interval, then it should create the alarm.
I am thinking about using the data collection transformation for this, but I don't know if there is any built in function or any other way to check the date for the last update on a DCI?
Is this the way to go or is there a better way to create such a heartbeat monitoring?
Keep up the great work!
Best regards,
Dan