<?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[Мониторинг с помощью ServiceCheck.Х]]></title><description><![CDATA[<p dir="auto">На всякий случай создаю более общую тему, нежли чем в прошлый раз (только по HTTP).</p>
<p dir="auto">Вопрос: каков правильный синтаксис (для поля Data \ Parameter) для всех текущих запросов типа "ServiceCheck.X" ? С "HTTP" мы уже <a href="https://www.netxms.org/forum/index.php/topic,406.0.html" rel="nofollow ugc">разобрались</a>. А что насчёт:</p>
<p dir="auto">ServiceCheck.POP3<br />
ServiceCheck.SMTP<br />
ServiceCheck.SSH<br />
ServiceCheck.TELNET</p>
<p dir="auto">...?</p>
<p dir="auto">Вопрос опять же относится к случаю, когда всё указанное нужно мониторить с одной ноды (Сервер NXMS) на другой (удалённый сервер, без возможности установки агента).</p>
<p dir="auto">Виктор, нельзя ли привести хотя бы по одному максимально функциональному примеру на каждый из случаев? А то в Документации (<a href="https://www.netxms.org/documentation/common_parameters.html" rel="nofollow ugc">https://www.netxms.org/documentation/common_parameters.html</a>) сей вопрос (ServiceCheck) вообще никак не освещён... =(</p>
<p dir="auto">Спасибо.</p>
]]></description><link>https://forum.netxms.org/topic/472/мониторинг-с-помощью-servicecheck.х</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 20:43:02 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/472.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Sep 2008 09:56:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.Х on Wed, 01 Oct 2008 08:37:33 GMT]]></title><description><![CDATA[<p dir="auto">ОГРОМНОЕ спасибо! <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f603.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--smiley" style="height:1.4em;width:auto;vertical-align:middle" title="=)" alt="😃" /></p>
]]></description><link>https://forum.netxms.org/post/2357</link><guid isPermaLink="true">https://forum.netxms.org/post/2357</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 01 Oct 2008 08:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.Х on Tue, 30 Sep 2008 22:35:06 GMT]]></title><description><![CDATA[<p dir="auto">Легенда:</p>
<p dir="auto">*) Коды ошибок:</p>
<pre><code>	PC_ERR_NONE         = 0 - всё хорошо
	PC_ERR_BAD_PARAMS   = 1 - кривые параметры запроса, на данный момент так отвечает только HTTP - если regexp неправильный
	PC_ERR_CONNECT      = 2 - не смогли подключится к host:port
	PC_ERR_HANDSHAKE    = 3 - ответ проверяемого сервера не совпал с ожидаемым
</code></pre>
<p dir="auto">*) "-&gt;" - отсылаем данные на проверяемый хост<br />
*) "&lt;-" - получаем данные от проверяемого хоста</p>
<hr />
<p dir="auto">На данный момент port checker subagent поддерживает 6 DCI:</p>
<p dir="auto"><strong>ServiceCheck.POP3</strong></p>
<p dir="auto">Пытаемся залогинится на указанный POP3 сервер.</p>
<p dir="auto">Принимает 3 параметра: host, login, password.<br />
(только что обнаружил, что через DCI нельзя проверять произвольный порт - только через service object)</p>
<p dir="auto">Пример: <code>ServiceCheck.POP3(mail.netxms.org,testuser,testpassword)</code></p>
<p dir="auto">Как проходит проверка:</p>
<pre><code>** Подключаемся на mail.netxms.org:110
&lt;- +OK
-&gt; USER testuser
&lt;- +OK
-&gt; PASS testpassword
&lt;- +OK
** Отключаемся
</code></pre>
<p dir="auto"><strong>ServiceCheck.SMTP</strong></p>
<p dir="auto">Пытаемся отослать email через указанный SMTP на указанные email.</p>
<p dir="auto">Принимает 2 параметра: host, адрес_куда_посылаем_письмо.</p>
<p dir="auto">Пример: <code>ServiceCheck.SMTP(mail.netxms.org,spamme@netxms.org)</code></p>
<p dir="auto">Как проходит проверка:</p>
<pre><code>** Подключаемся на mail.netxms.org:25
&lt;- 220-mail server banner line 1
&lt;- 220-mail server banner line 2
&lt;- 220 mail server banner line 3
-&gt; HELO netxms-portcheck
&lt;- 250 ...
-&gt; MAIL FROM noreply@netxms-portcheck
&lt;- 250 ...
-&gt; RCPT TO: spamme@netxms.org
&lt;- 250 ...
-&gt; DATA
&lt;- 354 ...
-&gt; From: &lt;noreply@netxms-portcheck&gt;
-&gt; To: spamme@netxms.org
-&gt; Subject: NetXMS test mail
-&gt; Date: ...
-&gt;
-&gt; NetXMS test mail
-&gt; .
&lt;- 250 ...
-&gt; QUIT
&lt;- 221 ...
** Отключаемся
</code></pre>
<p dir="auto">Имя "netxms-portcheck" используется если вызов gethostname() вернул ошибку, иначе - имя хоста на котором работает агент.</p>
<p dir="auto"><strong>ServiceCheck.SSH</strong></p>
<p dir="auto">Пытаемся проверить наличие SSH демона</p>
<p dir="auto">Принимает 2 параметра: host, port.</p>
<p dir="auto">Пример: <code>ServiceCheck.SSH(www.netxms.org,22)</code></p>
<p dir="auto">Порт по умолчанию: 22</p>
<p dir="auto">Как проходит проверка:</p>
<pre><code>** Подключаемся на mail.netxms.org:22
&lt;- SSH-major.minor-...
-&gt; SSH-major.minor-NetXMS
** Отключаемся
</code></pre>
<p dir="auto">Major и minor - версия протокола которую поддерживает ssh сервер. Такой handshake нужен чтоб sshd не ругался в логи.</p>
<p dir="auto"><strong>ServiceCheck.HTTP</strong></p>
<p dir="auto">Проверяем результат http запроса на соответствие regexp-у.</p>
<p dir="auto">Развернутое описание есть тут: <a href="https://www.netxms.org/forum/index.php/topic,406.0.html" rel="nofollow ugc">https://www.netxms.org/forum/index.php/topic,406.0.html</a></p>
<p dir="auto">Принимает 5 параметров: host, port, URI, host_header, regexp</p>
<p dir="auto">Пример 1: <code>ServiceCheck.HTTP(www.netxms.org,80,/,www.netxms.org,^HTTP/1\.[01] 200.*)</code></p>
<p dir="auto">Порт по умолчанию: 80<br />
regexp по умолчанию: "^HTTP/1.[01] 200 .*" (т.е. проверка на то, что страница найдена на сервере)</p>
<p dir="auto">Пример 2 (идентичен примеру 1): <code>ServiceCheck.HTTP(www.netxms.org,,/,www.netxms.org)</code></p>
<p dir="auto">Как проходит проверка:</p>
<pre><code>** Подключаемся на www.netxms.org:80
-&gt; GET / HTTP/1.1
-&gt; Connection: close
-&gt; Host: www.netxms.org
-&gt;
&lt;- HTTP/1.1 200 OK
&lt;- Content-type: ...
&lt;- ...
** Отключаемся
** Сравниваем полученные данные с regexp-ом
</code></pre>
<p dir="auto"><strong>ServiceCheck.Custom</strong></p>
<p dir="auto">На данный момент проверяет только возможность подключения к удаленному хосту (т.е. с другой стороны порт слушают и принимают соединения).</p>
<p dir="auto">Принимает два параметра: host, port</p>
<p dir="auto">Пример: <code>ServiceCheck.Custom(www.netxms.org,3306)</code> - проверяем наличие mysql на <a href="http://www.netxms.org" rel="nofollow ugc">www.netxms.org</a></p>
<p dir="auto">Как проходит проверка:</p>
<pre><code>** Подключаемся на www.netxms.org:3306
** Отключаемся
</code></pre>
<p dir="auto"><strong>ServiceCheck.Telnet</strong></p>
<p dir="auto">Проверяет наличие telnet сервера на host:port и правильность handshake-а.</p>
<p dir="auto">Принимает два параметра: host, port</p>
<p dir="auto">Порт по умолчанию: 23</p>
<p dir="auto">Пример: <code>ServiceCheck.Telnet(www.netxms.org,23)</code><br />
Пример: <code>ServiceCheck.Telnet(www.netxms.org)</code></p>
<p dir="auto">Как проходит проверка:</p>
<pre><code>** Подключаемся на www.netxms.org:23
** тут бинарный протокол, я не буду его описывать.
** Отключаемся
</code></pre>
<p dir="auto">    </p>
<hr />
<p dir="auto">Примерно так.</p>
]]></description><link>https://forum.netxms.org/post/2356</link><guid isPermaLink="true">https://forum.netxms.org/post/2356</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Tue, 30 Sep 2008 22:35:06 GMT</pubDate></item></channel></rss>