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

#1216
Да, конечно исправим.
#1217
Hi,

this is bug in agent cache mode - agent ignores custom schedule and use fixed collection interval. We will fix that.

Best regards,
Victor
#1218
Depending on how you are using server it could be commit 3ab06f4e1c ("fixed server deadlock after action configuration import", 2019-06-19).

Best regards,
Victor
#1219
Quote from: Akira on August 09, 2019, 09:52:04 AM
Quote from: Victor Kirhenshtein on August 09, 2019, 09:50:31 AM
Похоже на 2019 проблема с доступом к PDH, System.Uptime берется оттуда-же.
это можно поправить?
Наверняка можно. Надо будет ставить Server 2019 и смотреть что там.
#1220
Quote from: Akira on August 09, 2019, 09:51:25 AM
Quote from: Victor Kirhenshtein on August 09, 2019, 09:49:35 AM
System.IO.Devices - это список, его не будет в списке параметров. Если сделать

nxget -l ip_address System.IO.Devices

с Server 2019, что он выдаст?
выдает 0
как кстати идентифицировать какой номер диска, соответствует какому физическому?
Значит там один диск, с номером 0. Можно посмотреть таблицу Hardware.StorageDevices, будет что-то такое:

victor@netxms:~$ nxget -T fin Hardware.StorageDevices
| NUMBER | TYPE | TYPE_DESCRIPTION | BUS_TYPE | REMOVABLE | SIZE        | MANUFACTURER | PRODUCT          | REVISION | SERIAL                           |
| 0      | 0    | Direct-access    | SAS      | 0         | 85899345920 | VMware       | Virtual disk     | 1.0      | 6000c298b14cbc6f88a1e26bb24a8cd8 |

#1221
Feature Requests / Re: Dashboard Templates
August 09, 2019, 10:04:55 AM
Hi,

no updates yet. Closest thing we have now is graph templates - can help in some situations.

Best regards,
Victor
#1222
General Support / Re: switch port search for down node
August 09, 2019, 10:03:29 AM
Yes, it is there for some time already: https://track.radensolutions.com/issue/NX-593.

Best regards,
Victor
#1223
Hi,

flag names didn't change since 2.2, just moved to separate "state" attribute. Runtime flag names from 2.2:

#define NDF_QUEUED_FOR_STATUS_POLL     0x000001
#define NDF_QUEUED_FOR_CONFIG_POLL     0x000002
#define NDF_UNREACHABLE                0x000004
#define NDF_AGENT_UNREACHABLE          0x000008
#define NDF_SNMP_UNREACHABLE           0x000010
#define NDF_QUEUED_FOR_DISCOVERY_POLL  0x000020
#define NDF_FORCE_STATUS_POLL          0x000040
#define NDF_FORCE_CONFIGURATION_POLL   0x000080
#define NDF_QUEUED_FOR_ROUTE_POLL      0x000100
#define NDF_CPSNMP_UNREACHABLE         0x000200
#define NDF_RECHECK_CAPABILITIES       0x000400
#define NDF_POLLING_DISABLED           0x000800
#define NDF_CONFIGURATION_POLL_PASSED  0x001000
#define NDF_QUEUED_FOR_TOPOLOGY_POLL   0x002000
#define NDF_DELETE_IN_PROGRESS         0x004000
#define NDF_NETWORK_PATH_PROBLEM       0x008000
#define NDF_QUEUED_FOR_INSTANCE_POLL   0x010000
#define NDF_CACHE_MODE_NOT_SUPPORTED   0x020000
#define NDF_NEW_TUNNEL_BIND            0x040000

In both 2.2 and 3.0 "unreachable" means that NetXMS server cannot reach the node for any reason. NETWORK_PATH_PROBLEM is an additional indicator to show that most likely node cannot be reached because of network problem on the path between NetXMS server and node (router down. etc.). Server reads routing tables from intermediate routers and builds path between itself and each node, so there is only one such path, and it either has problem or not. If there is redundant link routing eventually changes and node became reachable again, so both "unreachable" and "network path problem" flags will be cleared. NETWORK_PATH_PROBLEM flag determines what event will be generated - SYS_NODE_DOWN (if not set) or SYS_NODE_UNREACHABLE (if set).
To detect problems with non-working links you have interface objects and corresponding events.

Best regards,
Victor

#1224
Hi,

you should go to data collection configuration on the node, then edit DCI object - then you will see "Thresholds" page. You can also post some screenshots.

Best regards,
Victor
#1225
Похоже на 2019 проблема с доступом к PDH, System.Uptime берется оттуда-же.
#1226
System.IO.Devices - это список, его не будет в списке параметров. Если сделать

nxget -l ip_address System.IO.Devices

с Server 2019, что он выдаст?
#1227
It is now available in "state" attribute (not yet added to documentation). Possible flag values are:

UNREACHABLE = 0x00000001
NETWORK_PATH_PROBLEM = 0x00000002
AGENT_UNREACHABLE  = 0x00010000
SNMP_UNREACHABLE  = 0x00020000
CACHE_MODE_NOT_SUPPORTED  = 0x00080000

Best regards,
Victor
#1228
Сделал I/O параметры в субагенте WinNT (WinPerf теперь не нужен для этого). Поддерживаемые параметры:

System.IO.ReadRate
System.IO.ReadRate(*)
System.IO.WriteRate
System.IO.WriteRate(*)
System.IO.BytesReadRate
System.IO.BytesReadRate(*)
System.IO.BytesWriteRate
System.IO.BytesWriteRate(*)
System.IO.DiskQueue
System.IO.DiskQueue(*)
System.IO.DiskReadTime
System.IO.DiskReadTime(*)
System.IO.DiskTime
System.IO.DiskTime(*)
System.IO.DiskWriteTime
System.IO.DiskWriteTime(*)

В качестве инстанса передается номер диска. Список доступных дисков возвращает список System.IO.Devices.

Агент для тестов: https://cloud.netxms.org/index.php/s/sHxi8pcjhVWY0JU
#1229
I recommend using runtimeFlags field to determine that node is completely unreachable, like this:


if (($node->icmpresponse & 4) != 0)
   // state is "down"


Also few comments on script itself - purely style/clarity, not functionality:

1. You may use direct comparison instead of regexp match if you are loking for exact match, i.e.

(newstate == "Down")

instead of

(newstate imatch "Down")

2. No need for checking status twice, just can just use else:

if ($node->icmpresponse == "no") {
}
else {
}


Best regards,
Victor
#1230
Quote from: paul on July 19, 2019, 07:24:18 AM
Now, a container for those nodes that communication is down - which is not one of the available status codes - that is going to be tricky.

You can use runtimeFlags field of Node object - if it has bit 2 set then node in unreachable. Script to match can looks like this:

return ($node->runtimeFlags & 4) != 0;

Please note thoug that meaning of this field is changed in version 3.0.

Alternative approach is to catch SYS_NODE_DOWN event and in action script call BindObject to put node into container, and catch SYS_NODE_UP and use UnbindObject to remove node from container.

Best regards,
Victor