ставил из исходников.
брал тут https://www.netxms.org/download/releases/2.2/2.2.13/
я уже сравнил архив и каталог где собирал. такое ощущение что я сделал make distclean. много чего не хватало
ставил из исходников.
брал тут https://www.netxms.org/download/releases/2.2/2.2.13/
я уже сравнил архив и каталог где собирал. такое ощущение что я сделал make distclean. много чего не хватало
кажется он ничего не создаёт тут.
[INFO] ------------------------------------------------------------------------
[INFO] Building NetXMS Java Agent 2.2.13
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ netxms-agent ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /root/soft/netxms-2.2.13/src/agent/subagents/java/java/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ netxms-agent ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ netxms-agent ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /root/soft/netxms-2.2.13/src/agent/subagents/java/java/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ netxms-agent ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ netxms-agent ---
[INFO] No tests to run.
[INFO] Surefire report directory: /root/soft/netxms-2.2.13/src/agent/subagents/java/java/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ netxms-agent ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /root/soft/netxms-2.2.13/src/agent/subagents/java/java/target/netxms-agent.jar
[INFO]
[INFO] --- maven-assembly-plugin:3.1.0:single (make-assembly) @ netxms-agent ---
[WARNING] Artifact: org.netxms:netxms-agent:jar:2.2.13 references the same file as the assembly destination file. Moving it to a temporary location for inclusion.
[INFO] Building jar: /root/soft/netxms-2.2.13/src/agent/subagents/java/java/target/netxms-agent.jar
[INFO]
[INFO] >>> maven-source-plugin:3.0.1:jar (attach-sources) @ netxms-agent >>>
[INFO]
[INFO] <<< maven-source-plugin:3.0.1:jar (attach-sources) @ netxms-agent <<<
[INFO]
[INFO] --- maven-source-plugin:3.0.1:jar (attach-sources) @ netxms-agent ---
[INFO] No sources in project. Archive not created.
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ netxms-agent ---
[INFO] Installing /root/soft/netxms-2.2.13/src/agent/subagents/java/java/target/archive-tmp/netxms-agent.jar to /root/.m2/repository/org/netxms/netxms-agent/2.2.13/netxms-agent-2.2.13.jar
[INFO] Installing /root/soft/netxms-2.2.13/src/agent/subagents/java/java/pom.xml to /root/.m2/repository/org/netxms/netxms-agent/2.2.13/netxms-agent-2.2.13.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.882s
[INFO] Finished at: Wed Apr 03 10:31:55 MSK 2019
[INFO] Final Memory: 16M/265M
[INFO] ------------------------------------------------------------------------
mv target/netxms-agent.jar .
2.2.13
2019.04.03 05:48:42.336 *D* Initializing Java subagent
2019.04.03 05:48:42.336 *D* JAVA: Default JVM: /usr/java/latest/jre/lib/amd64/server/libjvm.so
2019.04.03 05:48:42.336 *D* JAVA: using JVM /usr/java/latest/jre/lib/amd64/server/libjvm.so
2019.04.03 05:48:42.422 *E* JavaBridge: Could not find class org/netxms/bridge/Config
2019.04.03 05:48:42.422 *E* JavaBridge: Could not find class org/netxms/bridge/Platform
2019.04.03 05:48:42.422 *D* JavaBridge: Java VM created
2019.04.03 05:48:42.422 *E* JavaBridge: Could not find class org/netxms/agent/SubAgent
2019.04.03 05:48:42.433 *E* Registration of subagent "java.nsm" failed
SubAgent=java.nsm
[JAVA]
Jvm=/usr/java/latest/jre/lib/amd64/server/libjvm.so
Classpath=.:/srv/NETXMS/lib/netxms/*:/srv/NETXMS/lib/*
Plugin=/srv/NETXMS/lib/netxms/jmx.jar
[JMX]
Server=ActiveMQ:xxxx/[email protected]:12345
# ls -l /srv/NETXMS/lib/netxms/*.jar
-rw-r--r-- 1 root root 2002 Apr 3 05:29 /srv/NETXMS/lib/netxms/bind9.jar
-rw-r--r-- 1 root root 335042 Apr 3 05:28 /srv/NETXMS/lib/netxms/commons-codec-1.11.jar
-rw-r--r-- 1 root root 1859 Apr 3 05:29 /srv/NETXMS/lib/netxms/jmx.jar
-rw-r--r-- 1 root root 1859 Apr 3 05:29 /srv/NETXMS/lib/netxms/netxms-agent.jar
-rw-r--r-- 1 root root 2470 Apr 3 05:28 /srv/NETXMS/lib/netxms/netxms-base.jar
-rw-r--r-- 1 root root 1854 Apr 3 05:28 /srv/NETXMS/lib/netxms/netxms-java-bridge.jar
-rw-r--r-- 1 root root 389439 Apr 3 05:28 /srv/NETXMS/lib/netxms/simple-xml-2.6.4.jar
-rw-r--r-- 1 root root 1838600 Apr 3 05:29 /srv/NETXMS/lib/netxms/ubntlw.jar
в netxms-agent.jar и netxms-java-bridge.jar нету таких классов.
...и правда передаётся! и $node и $object
перед тем как писать, все варианты перепробовал!
как временное решение вполне себе подойдёт!
Можно ли как то на подобии "Wake up node" реализовать исполнение команды в контексте Interface.
Например, нужно изменить его фактическое состояние, сделать диагностику?
Или, как обходное решение, передавать входные параметры в "Server script" Tool для ручного ввода интерфейса?
Как получить Node для вновь созданного Интерфейса?
sub postInterface(interface)
{
trace(0, "'" . interface->id . "'");
trace(0, "'" . interface->node . "'");
parents = GetObjectParents(interface);
foreach(p : parents)
{
trace(0, "Parent object: id=" . p->id);
}
}
trace(0, "Hook::PostObjectCreate on object class '" . classof($object) ."'");
if (classof($object) match "Interface")
postInterface($object);
trace(0, "End");
выдаёт:
2019.03.29 11:57:28.714 *I* Hook::PostObjectCreate on object class 'Interface'
2019.03.29 11:57:28.714 *I* '50817'
2019.03.29 11:57:28.714 *I* ''
2019.03.29 11:57:28.714 *I* End
we found mistake in array index:
node_interface = node_interface_array[dci_instance[0] - 1];
We use this script for interface load threshold
dci_instance = SplitString($dci->instance, ";");
node_interface_array = GetNodeInterfaces($node);
node_interface = node_interface_array[dci_instance[0]];
interface_speed = node_interface->speed;
trace(0, "DCI instance:" . dci_instance[0] .
" threshold on " . $node->name .
" : " . ($2 * interface_speed) . "<=" . $1 .
" = " . ($2 * interface_speed)<=$1);
if (($2 * interface_speed) <= $1)
return true;
return false;
some interfaces have wrong speed = 0.000000
2019.03.25 13:02:33.767 *I* DCI instance:11 threshold on 34760 : 750000000.000000<=11931472 = 0
2019.03.25 13:02:33.787 *I* DCI instance:12 threshold on 34760 : 0.000000<=366424 = 1
2019.03.25 13:02:33.807 *I* DCI instance:14 threshold on 34760 : 0.000000<=8077080 = 1
2019.03.25 13:02:33.827 *I* DCI instance:18 threshold on 34760 : 750000000.000000<=280684232 = 0
but in database and console has correct speed:
mysql> SELECT `id`, `speed` FROM interfaces WHERE `node_id` = 34760 AND `if_index` IN (12, 14);
+-------+------------+
| id | speed |
+-------+------------+
| 34772 | 1000000000 |
| 34774 | 1000000000 |
+-------+------------+
2 rows in set

так же, перестаёт алармить, если изменить скрипт обработки.
после обновления на 2.2.2 стало алармить:
22.01.2018 16:11:28 server-service-1 Незначительная SYS_SCRIPT_ERROR Ошибка выполнения сценария (DCI::switch-core-1-1::493::TransformationScript): Error 13 in line 1: Cannot do automatic type cast
алармит только после перезагрузки узла ( в данном случае switch-core-1-1 ). если пересоздать DCI, то перестаёт до следующей перезагрузки.
Для чего используется $reason в проверке сервиса? как его увидеть, т.е. как понять с какой причиной проверка не удалась в реальном времени и\или в каком либо отчете? не могу найти что то похожее в документации.