<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Выполнение скриптов (программ) и перезапуск сервисов на стороне Клиента]]></title><description><![CDATA[<p dir="auto"><a href="https://www.netxms.org/forum/index.php/topic,204.0.html" rel="nofollow ugc">https://www.netxms.org/forum/index.php/topic,204.0.html</a><br />
Опираясь на эти данные, можно конечно попробовать создать actions, но...</p>
<p dir="auto">Вот какой вопрос возник: предположим я хочу создать простой скрипт, перезапускающий сервис в случае сбоя (остановки или приостановки). Как мне этот сервис идентифицировать в скрипте перезапуска?</p>
<p dir="auto">Предположим ситуацию:</p>
<p dir="auto">Есть сервис w3svc, я мониторю его состояние. Для этого созданы Event'ы (Normal и Warning). настроен Event Processing Policy (давайте его уже для простоты называть EPP ;)). Создан Action типа "Execute action on remote agent" с привязкой к скрипту rezet_svc.cmd в каталоге c:\NetXMS\var\ на стороне машины с Агентом (это правильное место для скрипта?)</p>
<p dir="auto">содержимое rezet_svc.cmd:</p>
<p dir="auto">@echo off<br />
net stop w3svc<br />
net start w3svc</p>
<p dir="auto">А вот теперь собственно вопрос: в данном конкретном примере у меня скрипт жёстко привязан к сервису w3svc. А можно ли сделать его (скрипт) универсальным? Ведь при мониторинге сервиса мы имеем %1 как название сервиса. Можно ли это как-то использовать в выполняемых скриптах?</p>
<p dir="auto">Например: net stop %1 &amp; net start %1</p>
<p dir="auto">&amp; - ждём выполнения предыдущей команды</p>
<p dir="auto">Или же всё-таки можно в поле Action (при создании реакции типа "Execute command on management server") указать именно эту команду?</p>
<p dir="auto">Странно немного....</p>
<p dir="auto">По сути 90% выполняемых на Windows-серверах команд- именно CMD-команды (на Unix- соответственно shell-команды). Так может быть имеет смысл немного подтюнить данную возможность...? Например, изменить формат ввода и хранения команд?</p>
<p dir="auto">Сейчас это поле "Action", в которой указывается только алиас команды, и собственно сконфигурированная в конфиге клиента команда.</p>
<p dir="auto">Я если честно не совсем понимаю, зачем всё сделано именно так, ведь по логике вещей в 90% случаев используется именно перезапуск служб, и скрипт перезапуска вполне достаточно хранить (типа того что я привёл) на самом сервере. А с сервера перезапуск служб выполнять при помощи <strong>sc.exe</strong> (стандартный компонент любой Винды). Так же удалённо можно выполнять команды на стороне Агента при помощи <strong>psexec</strong>. На случай если права Сервера отличаются от прав Агента вполне ж можно приделать окно для ввода и последующего хранения логина с паролем. Насколько мне известно именно это - общепринятая практика...</p>
<p dir="auto">Если так сделать, то больше не понадобится усложнять себе жизнь копированием на разные машины разных скриптов. Все скрипты будут лежать в едином репозитарии и именно из него сервер будет их брать для выполнения (причём они вполне могут храниться в текстовом виде в базе и извлекаться от туда по мере необходимости).</p>
<p dir="auto">Кстати, было бы неплохо привязать Actions к Tools. Чтобы ими тоже можно было пользоваться интерактивно.</p>
<p dir="auto">И не будет нужды в разделении команд на выполняемые на Сервере и на Агенте.<br />
В общем я думаю что это позволит упростить и сделать систему Реагирования более стройной и понятной. Потому что сейчас если честно весьма непросто понять логику использования внешних программ и скриптов.</p>
<p dir="auto">Документация по практическому применению возможностей субагентов NetXMS отсутствует как класс (простите, Виктор, но это так, я уже несколько раз перечитал официальное руководство и даже написал собственное, практическое: текущая документация не даёт почти никакого представления о ПРАКТИЧЕСКОМ применении всех возможностей NetXMS и при реализации мониторинга остаётся только догадываться, что и как из настроек и фич должно использоваться. Не хватает именно документации по параметрам субагентов).</p>
]]></description><link>https://forum.netxms.org/topic/446/выполнение-скриптов-программ-и-перезапуск-сервисов-на-стороне-клиента</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 23:19:05 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/446.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Aug 2008 15:09:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Выполнение скриптов (программ) и перезапуск сервисов на стороне Клиента on Wed, 27 May 2009 06:13:08 GMT]]></title><description><![CDATA[<p dir="auto">UP</p>
<p dir="auto">тема всё ещё актуальна. как можно создать универсальный рестартер сервисов? что бы не прописывать имя сбойнувшего сервиса в скрипте рестарта в явном виде?</p>
]]></description><link>https://forum.netxms.org/post/3000</link><guid isPermaLink="true">https://forum.netxms.org/post/3000</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 27 May 2009 06:13:08 GMT</pubDate></item></channel></rss>