3.8 ActionShellExec - бред какой-то

Started by Akira, March 30, 2021, 01:45:51 PM

Previous topic - Next topic

Akira

не работает
ActionShellExec = restart_service:C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd
ActionShellExec = restart_service:"C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd"
ActionShellExec = restart_service:CPU_high_restart_service.cmd

работает
ActionShellExec = restart_service:echo %time% >> "C:\Program Files\NetXMS\var\CPU_high_restart_service.log"

работает но только stop
ActionShellExec = restart_service:net stop RFLvComm && net start RFLvComm

содержимое CPU_high_restart_service.cmd
echo %date% %time% >> "C:\Program Files\NetXMS\var\restart.log"
net stop RFLvComm
net start RFLvComm



Filipp Sudanov

А что в логе агента при этом на 6 уровне дебага?

Akira

Quote from: Filipp Sudanov on March 30, 2021, 06:46:51 PM
А что в логе агента при этом на 6 уровне дебага?
А как смотреть?
Я дебагом не пользовался.

Filipp Sudanov

DebugLevel=6 в конфиг агента и его перезапустить.
Ну и LogFile=C:\NetXMS\log\nxagentd удобнее поставить вместо сислога, который по умолчанию.

(а на сервере можно на лету менять - команда debug в server console)

Akira

#4
Quote from: Filipp Sudanov on March 30, 2021, 07:03:14 PM
DebugLevel=6 в конфиг агента и его перезапустить.
Ну и LogFile=C:\NetXMS\log\nxagentd удобнее поставить вместо сислога, который по умолчанию.

(а на сервере можно на лету менять - команда debug в server console)

ActionShellExec = restart_service:C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd

2021.04.01 10:11:59.488 *D* [                   ] ProcessExecutor::execute(): process "CMD.EXE /C C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd" started
2021.04.01 10:11:59.488 *D* [actions            ] Execution of external action restart_service (C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd) started
2021.04.01 10:11:59.488 *D* [actions            ] ExecuteAction(restart_service): requestId=3, RCC=0
2021.04.01 10:11:59.488 *D* [comm.cs.2          ] Sending message CMD_REQUEST_COMPLETED (ID 3; size 32; uncompressed)

ActionShellExec = restart_service:"C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd"

2021.04.01 10:15:59.023 *D* [                   ] ProcessExecutor::execute(): process "CMD.EXE /C "C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd"" started
2021.04.01 10:15:59.023 *D* [actions            ] Execution of external action restart_service ("C:\Program Files\NetXMS\var\CPU_high_restart_service.cmd") started
2021.04.01 10:15:59.023 *D* [actions            ] ExecuteAction(restart_service): requestId=3, RCC=0
2021.04.01 10:15:59.023 *D* [comm.cs.2          ] Sending message CMD_REQUEST_COMPLETED (ID 3; size 32; uncompressed)


ActionShellExec = restart_service:"net stop RFLvComm && net start RFLvComm"

2021.04.01 10:36:58.306 *D* [                   ] ProcessExecutor::execute(): process "CMD.EXE /C "net stop RFLvComm && net start RFLvComm"" started
2021.04.01 10:36:58.306 *D* [actions            ] Execution of external action restart_service ("net stop RFLvComm && net start RFLvComm") started
2021.04.01 10:36:58.306 *D* [actions            ] ExecuteAction(restart_service): requestId=3, RCC=0
2021.04.01 10:36:58.306 *D* [comm.cs.2          ] Sending message CMD_REQUEST_COMPLETED (ID 3; size 32; uncompressed)
2021.04.01 10:36:58.337 *D* [comm.cs.2          ] Communication channel closed by peer
2021.04.01 10:36:58.337 *D* [comm.cs.2          ] Session with 192.168.1.200 closed
2021.04.01 10:36:58.337 *D* [comm.cs.2          ] Session unregistered
2021.04.01 10:36:58.337 *D* [comm.cs.2          ] Receiver thread stopped
2021.04.01 10:37:00.387 *D* [actions            ] Force terminate external action "net stop RFLvComm && net start RFLvComm"

отрабатывает только net stop RFLvComm


CPU_high_restart_service.cmd
echo %date% %time% >> "C:\Program Files\NetXMS\var\restart.log"

При запуске руками ок

Netxms сервис запустается под системой.
Может в политике что-то должно быть дополнительно?



Victor Kirhenshtein

Повторил у себя. Похоже по умолчанию в агенте слишком маленький таймаут на выполнение внешних процессов. Добавил в конфиг

ExecTimeout = 30000

и рестарт сервисов заработал.