News:

We really need your input in this questionnaire

Main Menu
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 - Filipp Sudanov

#1501
No such functionality is currently implemented. It could be a valid approach, but such averages tend to look differently then original data - e.g. spikes are smoothed. It could be possible to keep 3 values - min, max and average, but then it complicated the system and requires more development effort.
Since storage is quire cheap these days, a simpler approach is just to store more data - with Postgres time scale DB it's possible to delete old data with minimal load onto the database.
#1502
General Support / Re: Linux process monitoring
April 23, 2020, 01:03:54 AM
There is Process.CountEx() metric, that should allow to filter processes by the command line that was used to launch them.
https://www.netxms.org/documentation/adminguide/appendix.html#process-countex

You can find the command line by running
px fax

Filtering is done with the help of regular expression. You can test your regular expression here: https://regex101.com/
#1503
ExternalParameter is able to search in path, but requires exact executable name with extension. On the contrary, ExternalParameterShellExec calls shell and shell is able to find an executable even without extension (but I am not sure, if it is present in 1.0.13).
#1504
General Support / Re: Linux process monitoring
April 22, 2020, 11:15:15 AM
nxagentd.service is the file name for systemd scripts, not the name of actual process. The process name is visible in command like top, ps, for netxms agent it's nxagentd.
#1505
In your log the error usually happens 1s after the connection is created, but there is one place, where it happens just few ms afterwards:
2020.04.09 13:34:04.722 *D* [                   ] SSH: created new session [email protected]:22/1
2020.04.09 13:34:05.828 *D* [comm.cs.1          ] GetListValue(): result is 500 (INTERNAL_ERROR)
--
2020.04.09 13:34:12.345 *D* [                   ] SSH: acquired existing session [email protected]:22/1
2020.04.09 13:34:13.366 *D* [comm.cs.1          ] GetListValue(): result is 500 (INTERNAL_ERROR)
--
2020.04.09 13:34:19.436 *D* [                   ] SSH: acquired existing session [email protected]:22/1
2020.04.09 13:34:19.456 *D* [comm.cs.1          ] GetListValue(): result is 500 (INTERNAL_ERROR)
--
2020.04.09 13:34:30.496 *D* [                   ] SSH: acquired existing session [email protected]:22/1
2020.04.09 13:34:31.517 *D* [comm.cs.1          ] GetListValue(): result is 500 (INTERNAL_ERROR)


Do you see anything that would correspond to these events in  /var/log/auth.log  on the Raspberry?
Can you take a tcpdump to see, if the connection is established at all when this happens?
#1506
Изображения загружаются через Configuration -> Image library. Там в контекстном меню есть пункт загрузки изображений, там же будут видны поддерживаемые форматы. Сейчас на карте используется размер 48х48, изображения большего размера могут отрисовываться некорректно.
#1507
General Support / Re: nxshell
April 07, 2020, 06:07:18 PM
Hi,

there has not been any changes since 2.2.2 that could make such dramatic change in launch time.
I would suggest to try running nxshell on a different system, preferrably clean installed to see if it makes any difference.

I believe it should be possible to make jython program that starts, connects to the api and has some sort of interprocess communication to know what commands to run.
#1508
General Support / Re: server is taking 12GB memory
April 06, 2020, 11:51:44 PM
There's a new release available not that fixes one memory leak. Please try it.
#1509
AgentTunnels.UnboundTunnelTimeoutAction defines what happens when unbound tunnel connects to the server. When it connects, server puts it into a list and does nothing. This allows to perform a manual action. Then, after a timeout (it's configurable, I think it's 1 hour by default) server performs an action
- bind to existing node - if there is an appropriate node, tunnel will be bond to it. If not, the tunnel will stay unbound.
- bind to existing or create - if no appropriate node, it will be created
- there's also option to drop tunnel - in that case agent will reconnect and after mentioned timeout process will repeat.
#1510
It depends on what you want to achieve.

If you are not interested in these interfaces at all, you can prevent them from creating - modify script "Hook::CreateInterface" in scripting library. Script is executed on configuration poll for each new interface (accessible as $1, https://www.netxms.org/documentation/nxsl-latest/#class-interface) and should return true or false. If return value is false - interface will not be created.

It's possible to use $1->ifType (interface type as defined by IANA, list of interface types available here: https://github.com/netxms/netxms/blob/master/include/nms_common.h#L908, or can be seen on the object overview tab when interface is selected).
Or you can query node via SNMP to get some data.

If you want to keep interfaces in the system, but ignore status change - simplest way is to set "Expected Interface State" to IGNORE. You can do it in configuration poll hook (Hook::ConfigurationPoll).
Sample:

for (i : $node->interfaces) {
    if (i->ifType == 131) { // tunnel
        i->setExpectedState("IGNORE");
    }
}

If you want to block events in the EPP, add rule before any alarms or notifications:
Script:
    i = $node->getInterface($5);
    if (i->ifType == 131) { // or any other filter
        return true;
    }
    return false;
Action:
    stop processing

Alternatively, add script to your alarm / notification rules and return true only if it's not dynamic interface:
    i = $node->getInterface($5);
    if (i->ifType == 131) { // or any other filter
        return true;
    }
    return false;
#1511
There could be better options, but one I can think of would be to create 2 DCIs:
- one with "Push" origin - that would be the actual DCI.
- another on that receives data via SNMP polls. You can put Retention time = 0, in that case it will not store anything to DB. In transformations script you can PushDCIData into the first DCI.
#1512
General Support / Re: server is taking 12GB memory
April 01, 2020, 02:35:29 PM
Even 5GB is way too high for installation of that size. Can you please run this script and share the results:
https://github.com/netxms/netxms/blob/master/src/server/tools/scripts/nx-collect-server-diag.cmd

There are a few things, like process list or ip addresses, that you might not want to publish, you can either send me the output in PM, or modify the .cmd file so they are not collected.
#1513
General Support / Re: server is taking 12GB memory
April 01, 2020, 12:10:57 AM
Please check "NetXMS server: physical memory used by process" DCI on NetXMS server node. How it's graph looks for a couple of days - is it stable or growing?

Memory usage depends on number of objects, number of data collection threads, etc.
Please show the output of "sh st" command executed in server console.
#1514
Hi!

One day in a future version behaviour regarding certificate expiry might change. As of 3.2 it still the same.

Normally discovered DCIs should not get lost - after rebinding server continues to perform discovery and if it gets all instances, all stays as it was. The problem could be with particular discovery method that is used.

Does it affect only some of the DCIs, not all of them? What method of instance discovery is used for these?

In server configuration there is setting InstanceRetentionTime. It defines, how long instances are retained, if they stop to get discovered. Setting this to some value will keep discovered DCIs for some time, allowing to fix problems with their discovery.
#1515
Can you give more details on what are you trying to achieve?
Do you have a node which has SNMP data for these OIDs?
Do you have any DCIs on that node?
What result of the filtering do you expect?