<?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.HTTP]]></title><description><![CDATA[<p dir="auto">Приветствую!</p>
<p dir="auto">Возникло некоторое непонимание с "ServiceCheck.HTTP".<br />
Действовал согласно 2 части <a href="https://www.netxms.org/forum/index.php/topic,28.0.html" rel="nofollow ugc">инструкции</a>.</p>
<p dir="auto">Привожу свою русскую интерпретацию (это не перевод):</p>
<blockquote>
<p dir="auto">Мониторинг web-сервера возможен без добавления его в базу NetXMS как ноды (возможно, предполагается мониторить ресурс: на котором нет клиента NetXMS, который находится вне вашей сети или который находится не в вашем подчинении).</p>
<ol>
<li>Для уже существующего в базе объекта-ноды (это может быть например сам сервер NetXMS) необходимо создать DCI (источник - агент NetXMS):</li>
</ol>
<p dir="auto">DCI: <strong>ServiceCheck.HTTP(server_ip_address,port,uri,host_header,response)</strong></p>
<p dir="auto">Замечание: При использовании метода "ServiceCheck.HTTP" невозможно использование URL, обязательно должен использоваться URI (в том числе для запроса к корню сайта), т.е.:</p>
<p dir="auto"><a href="http://www.google.com" rel="nofollow ugc">www.google.com</a> - не правильно<br />
<a href="http://www.google.com" rel="nofollow ugc">www.google.com</a><img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f615.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--confused" style="height:1.4em;width:auto;vertical-align:middle" title=":/" alt="😕" /> - правильно</p>
<p dir="auto">Далее в примерах вместо DNS-имени используется ip-адрес, но суть ограничения от этого не меняется.</p>
<p dir="auto"><strong>Пример использования 1</strong> (запрос к корню web-сервера):<br />
ServiceCheck.HTTP(209.85.135.147,80,/,<a href="http://www.google.com" rel="nofollow ugc">www.google.com</a>,"^HTTP/1\.[01] 200.*")</p>
<p dir="auto"><strong>Пример использования 2</strong> (запрос к файлу test.html в корне сервера, файл должен существовать!):<br />
ServiceCheck.HTTP(209.85.135.147,80,/test.html,<a href="http://www.google.com" rel="nofollow ugc">www.google.com</a>,"^HTTP/1\.[01] 200.*")</p>
<p dir="auto"><strong>Пример использования 3</strong> (запрос к файлу test.html в корне сервера, файл должен существовать, ищем на полученной странице слово "maps"):<br />
ServiceCheck.HTTP(209.85.135.147,80,/test.html,<a href="http://www.google.com" rel="nofollow ugc">www.google.com</a>,"^HTTP/1\.[01] 200.*maps*")</p>
<p dir="auto">Данный запрос может вернуть несколько значений:</p>
<p dir="auto"><strong>0</strong> - удача (соединение с сервером установлено и получен ожидаемый ответ)<br />
<strong>1</strong> - использованы неверные аргументы (в основном если неправильно написан RegExp)<br />
<strong>2</strong> - невозможно соединиться с сервером<br />
<strong>3</strong> - получен неправильный ответ сервера</p>
<p dir="auto">Для процессинга ответов DCI, отличных от "0", можно создать threshold'ы.</p>
<p dir="auto">Для сведения: для использования данного вида опросов на сервере NetXMS (если опрос идёт именно с него) требуется наличие субагента "portchecker". В случае с платформой Windows данный субагент уже присутствует и загружен по умолчанию. В случае с платформой UNIX вам нужно убедиться, что в конфиге агента NetXMS присутствует что-то вроде этого:</p>
<p dir="auto">SubAgent = /usr/local/lib/libnsm_portCheck.so</p>
</blockquote>
<p dir="auto">А теперь вопрос: при условии что я всё правильно понял (см. мою интерпретацию) у меня в процессе тестирования данного метода мониторинга возникла проблема с обнаружением на странице нужных мне слов.</p>
<p dir="auto">Тут всё просто: мой web-сервер в процессе работы генерирует статическую страничку со списком пунктов, на которой html-тегами типа &lt;red&gt; и &lt;green&gt; (для пущей наглядности проверяющему) помечаются проблемы в работе сайта, существующие на момент генерации этого статического html-файла. И мне была поставлена задача в автоматическом режиме обнаруживать на этой страничке слово &lt;red&gt; средствами мониторинга NetXMS. Вроде судя по описанию, задачка проста.</p>
<p dir="auto">Однако не тут-то было. Как я не изгалялся, получить адекватный результат мне так и не удалось. DCI всегда возвращает "0". Всегда, как бы не менялось содержимое проверяемой странички!</p>
<p dir="auto">Мой DCI:</p>
<p dir="auto">ServiceCheck.HTTP(10.200.1.100,80,/worktest.html,www.intwww.local,"^HTTP/1\.[01] 200.*red*")</p>
<p dir="auto">Есть на странице слово "red" - получаю "0".<br />
Нет на странице "red" - тоже получаю "0".</p>
<p dir="auto">Складывается впечатление, что DCI возвращает не указанные ранее 4 значения, а просто отчёт о состоянии DCI (0 - выполнено успешно). Я ведь правильно понял, что в случае, если DCI не находит искомое слово на странице, я должен получить значение "3" (получен неправильный ответ сервера)?</p>
<p dir="auto">Или как DCI должна отчитываться, что ответ от сервера отличается от заданного в RegExp'е запроса?</p>
<p dir="auto">Прошу помочь разобраться с проблемой.</p>
]]></description><link>https://forum.netxms.org/topic/406/мониторинг-с-помощью-servicecheck.http</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 20:43:07 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/406.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Jun 2008 07:30:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 10 Sep 2008 10:36:48 GMT]]></title><description><![CDATA[<p dir="auto">Спасибо! Залито и проверено- работает так как должно.</p>
]]></description><link>https://forum.netxms.org/post/2324</link><guid isPermaLink="true">https://forum.netxms.org/post/2324</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 10 Sep 2008 10:36:48 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 10 Sep 2008 10:04:33 GMT]]></title><description><![CDATA[<p dir="auto">Peresobrannij subagent dlja Windows.</p>
<hr />
<p dir="auto"><a href="/assets/uploads/files/smf/0000000000176-portcheck.nsm">portcheck.nsm</a></p>
]]></description><link>https://forum.netxms.org/post/2323</link><guid isPermaLink="true">https://forum.netxms.org/post/2323</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Wed, 10 Sep 2008 10:04:33 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 10 Sep 2008 09:57:15 GMT]]></title><description><![CDATA[<p dir="auto">Мда, это я не подумал.</p>
<p dir="auto">Виктор в ближайшее время выложит новый бинарник субагента.</p>
]]></description><link>https://forum.netxms.org/post/2322</link><guid isPermaLink="true">https://forum.netxms.org/post/2322</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 10 Sep 2008 09:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 10 Sep 2008 08:21:48 GMT]]></title><description><![CDATA[<p dir="auto">аа.. эээ... а если у меня сервер Win32...?<br />
я так вижу что имеется ввиду *nix...</p>
<p dir="auto"> ???</p>
]]></description><link>https://forum.netxms.org/post/2321</link><guid isPermaLink="true">https://forum.netxms.org/post/2321</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 10 Sep 2008 08:21:48 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Tue, 09 Sep 2008 12:52:15 GMT]]></title><description><![CDATA[<p dir="auto">Файл в аттаче. Надо положить в корень дистрибутива (e.g. netxms-0.2.22/) и запустить:</p>
<pre><code>patch -p0 &lt; /путь/к/portcheck.diff
</code></pre>
<p dir="auto">Я погонял на файлах разного размера и с разных серверов - вроде проблем нету.</p>
<p dir="auto">Про сборку только субагента - если не чистили каталог из которого делали make install - то можно после патча пойти в src/agent/subagents/portCheck и сделать оттуда make install - субагент должен пересобраться и поставиться. Если из чистого дистрибутива - то для ускорения можно сделать configure --with-agent, сборка пройдет быстрее (но foundation libraries и core agent тоже будут собраны - как зависимости).</p>
<hr />
<p dir="auto"><a href="/assets/uploads/files/smf/0000000000175-portcheck.diff">portcheck.diff</a></p>
]]></description><link>https://forum.netxms.org/post/2320</link><guid isPermaLink="true">https://forum.netxms.org/post/2320</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Tue, 09 Sep 2008 12:52:15 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Tue, 09 Sep 2008 10:58:13 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="😃" /><br />
а можно рекомпильнуть субагента?</p>
]]></description><link>https://forum.netxms.org/post/2318</link><guid isPermaLink="true">https://forum.netxms.org/post/2318</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Tue, 09 Sep 2008 10:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Tue, 09 Sep 2008 09:31:11 GMT]]></title><description><![CDATA[<p dir="auto">Я посмотрел в коде - да, есть такая бага. Сейчас несколько переделаю субагента и выложу дифф.</p>
]]></description><link>https://forum.netxms.org/post/2317</link><guid isPermaLink="true">https://forum.netxms.org/post/2317</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Tue, 09 Sep 2008 09:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Mon, 08 Sep 2008 14:38:14 GMT]]></title><description><![CDATA[<p dir="auto">Виктор, приветствую!</p>
<p dir="auto">Возникла следующая проблема.</p>
<p dir="auto">Есть 4 одинаковых web-сервера. На них одинаковая ОС и набор софта. Задача: нужно через ServiceCheck.HTTP мониторить на всех 4ёх серверах один и тот же файл, находящийся у всех серверов в одном и том же месте и называющийся одинаково для всех серверов.</p>
<p dir="auto">примерно так:</p>
<p dir="auto">сервера: www01.test.local, www02.test.local, www03.test.local и www04.test.local<br />
файл: /load/test.xml</p>
<p dir="auto">используемый regexp (для www01.test.local):</p>
<pre><code>ServiceCheck.HTTP(10.101.123.1,80,/load/test.xml,www01.test.local,"^HTTP/1\.[01] 200.*&lt;?xml.*/cross-domain-policy.*")
</code></pre>
<p dir="auto">содержимое страницы (текст):</p>
<pre><code>&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"&gt;
&lt;cross-domain-policy&gt;
            &lt;allow-access-from domain="testdom.local" /&gt;
            &lt;allow-access-from domain="site.dmz.off" /&gt;
	&lt;allow-access-from domain="*" /&gt;
&lt;/cross-domain-policy&gt;
</code></pre>
<p dir="auto">HTTP-заголовок:</p>
<pre><code>http://www01.test.local/load/test.xml

GET /load/test.xml HTTP/1.1
Host: www01.test.local
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
If-Modified-Since: Fri, 05 Sep 2008 07:15:29 GMT
Cache-Control: max-age=0

HTTP/1.1 200 OK
Via: 1.1 PROXY
Content-Length: 314
Date: Mon, 08 Sep 2008 05:05:30 GMT
Content-Type: text/xml
Server: nginx/0.5.33
Last-Modified: Fri, 05 Sep 2008 07:15:29 GMT
Accept-Ranges: bytes
</code></pre>
<p dir="auto">Собственно проблема в следующем: на 2 серверах данный запрос получает и обрабатывает данные корректно, а на ещё 2ух- нет. Разницы как я уже сказал между серверами нет. Программно и аппаратно они идентичны.</p>
<p dir="auto">Не понятно ещё вот что: если regexp на 2ух странных серверах урезать до определения только статуса ответа HTTP (200), то тогда запрос на них работает (получаем "0"). Но как только в запрос добавляется поиск слов в тексте страницы - всё, начинаем получать "3". И никакие ухищрения не помогают =(. Пока есть текст в запросе- запрос всегда выдаёт "3", убираем текст (остаётся только проверка на HTTP-ответ, ищем 200) - всё отлично, "0"...</p>
<p dir="auto">Повторяюсь: на 2ух серверах полный запрос работает прекрасно!</p>
<p dir="auto">Виктор, не можем понять что происходит.</p>
<p dir="auto">Написали скрипт на Unix-сервере, что бы проверить код regexp'а:</p>
<pre><code>if($response=~/^HTTP\/1\.[01] 200.*&lt;?xml.*\/cross-domain-policy.*/s) {

        print "Match!\n";

}
</code></pre>
<p dir="auto">Скрипт говорит что с нашим запросом всё в порядке: полученный от сервера ответ содержит всё необходимое.</p>
<p dir="auto">Просим помощи...  ???</p>
]]></description><link>https://forum.netxms.org/post/2315</link><guid isPermaLink="true">https://forum.netxms.org/post/2315</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Mon, 08 Sep 2008 14:38:14 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Fri, 18 Jul 2008 06:27:52 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="😃" /><br />
Усиленно ждём 0.2.22.</p>
]]></description><link>https://forum.netxms.org/post/2050</link><guid isPermaLink="true">https://forum.netxms.org/post/2050</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Fri, 18 Jul 2008 06:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Thu, 17 Jul 2008 18:44:27 GMT]]></title><description><![CDATA[<p dir="auto">V alarm timeout'ah dejstvitel'no bil bag, i ne odin: vo pervih, timeout ne sobljudalsja i srabatival nemedlenno, vo vtorih - vsegda posilalsja event SYS_ALARM_TIMEOUT. Vrode vse ispravil, rabotaet kak nado.</p>
<p dir="auto">Chto kasaetsja alarmov, kotorie ostajutsja na node, to mozno ved' sdelat' avtomaticheskij terminate cherez kljuchi - ja tak ponjal chto u vas tak i sdelano, chto WWW_OK avtomaticheski terminiruet alarm, sozdannij po WWW_NOK. Pri zelanii vi mozete sdelat' toze-samoe i po WWW_WARN, esli ne hotite chtobi alarm ostavalsja aktivnim posle otsilki meila.</p>
]]></description><link>https://forum.netxms.org/post/2049</link><guid isPermaLink="true">https://forum.netxms.org/post/2049</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Thu, 17 Jul 2008 18:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 16 Jul 2008 08:01:09 GMT]]></title><description><![CDATA[<p dir="auto">прошу прощения за настойчивость, но предыдущий вопрос всё ещё актуален.</p>
<p dir="auto">UP.</p>
]]></description><link>https://forum.netxms.org/post/2032</link><guid isPermaLink="true">https://forum.netxms.org/post/2032</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 16 Jul 2008 08:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Thu, 10 Jul 2008 10:48:31 GMT]]></title><description><![CDATA[<p dir="auto">UP</p>
<p dir="auto">Виктор, нужна Ваша помощь...</p>
]]></description><link>https://forum.netxms.org/post/2029</link><guid isPermaLink="true">https://forum.netxms.org/post/2029</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Thu, 10 Jul 2008 10:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 09 Jul 2008 09:57:24 GMT]]></title><description><![CDATA[<p dir="auto">с предыдущей проблемой разобрались: при внимательном осмотре нашего файла в коде был замечен regexp. очевидно NetXMS на может завернуть один regexp в другой (согласен- это очень-очень частный случай, не баг). и изза этого не отрабатывает как положено. пофиксили, убрав из кода страницы лишние элементы (указанные regexp'ы). всё отлично работает.</p>
<p dir="auto">но в процессе дальнейшего углублённого тестирования столкнулись со следующей проблемой (правда, может это и не проблема а наш собственный косяк, но тогда нужен совет Мастера):</p>
<ol>
<li>
<p dir="auto">мы мониторим веб-страницу при помощи запроса<br />
ServiceCheck.HTTP(10.200.1.100,80,/worktest.html,www.intwww.local,"^HTTP/1\.[01] 200.*&lt;html.*red.*")</p>
</li>
<li>
<p dir="auto">для обработки ответов сервера на DCI созданы Event'ы, WWW_NOK (Not OK, слово "red" обнаружено, нода переводится в статус Warning) и WWW_OK (слово "red" не обнаружено, нода переводится в статус Normal).</p>
</li>
</ol>
<p dir="auto">и у нас возникла проблема с процессингом:</p>
<p dir="auto">условия:</p>
<ul>
<li>
<p dir="auto">при мониторинге 1 раз в минуту время от времени на запрашиваемой монитором странице проявляются ошибки, которые носят случайный (а не систематический) характер. но увеличивать интервал между опросам мы не можем (нас 1 минута устраивает)</p>
</li>
<li>
<p dir="auto">мы НЕ ХОТИМ реагировать на кратковременные ошибки-всплески (в общем случае, при следующем обращении к тестовой странице на ней уже всё хорошо)</p>
</li>
<li>
<p dir="auto">мы НЕ ХОТИМ, чтобы почта отправлялась сразу же после обнаружения на странице слова "red" и перевода ноды в статус Warning (Event = NOK)</p>
</li>
</ul>
<p dir="auto"><em>(между прочим, данная ситуация характерна не только для этого конкретного случая. как я уже писал, данную стратегию можно использовать при любых запросах, связанных с текущими показателями производительности, которые имеют обыкновение также <strong>скочкообразно и кратковременно</strong> возрастать при увеличении нагрузки)</em></p>
<p dir="auto">в соответствии с документацией, мы решили задействовать поле <em><strong>Timeout</strong></em> в <strong>Processing Policy</strong> и решить данную задачу с его помошью.</p>
<p dir="auto">для этого мы:</p>
<ul>
<li>
<p dir="auto">создали ещё один Event, WWW_WARN (статус - Normal), и прописали его в Procrssing Policy, где для этого Event'а мы указали в Action акцию "mailto" (заранее созданная операция по отправке почтового извещения оператору).</p>
</li>
<li>
<p dir="auto">для Event'а WWW_NOK в поле Seconds ставим значение 300 а в поле Event мы выбираем WWW_WARN</p>
</li>
</ul>
<p dir="auto">я ведь правильно понимаю, что указав в поле Seconds "300" и указав в поле Event наше событие "WWW_WARN" мы должны получить тот эффект, что при наступлении события WWW_NOK наш DCI с запросом помечается как проблемный, почта отправлена не будет (для WWW_NOK не указана Action), а вот при истечении указанных 300 секунд должно быть обработано событие WWW_WARN и тогда почта будет отправлена?</p>
<p dir="auto">соответственно, мы должны получить нужный эффект: если в течение указанных 300 секунд статус DCI вернётся к состоянию Normal при помощи события "WWW_OK" , то почта о сбое вообще не будет отправлена, так как согласно нашей логике срабатывание на ошибку будет выглядеть как СЛУЧАЙНОЕ срабатывание на кратковременную проблему (пиковую загрузку) и ошибка сама рассосалась в пределах 300 секунд. Соответственно, ручное вмешательство оператора не требуется. но в логах обнаружение проблемы будет отмечено.</p>
<p dir="auto">мм... надеюсь понятно объясняю... да-с.</p>
<p dir="auto">так вот. а что мы имеем на самом деле?</p>
<ol>
<li>
<p dir="auto">при задании в поле Seconds любого значения, не равного "0" срабатывание происходит мгновенно, без указанной отсрочки.</p>
</li>
<li>
<p dir="auto">какой бы Event мы бы не указывали в поле Event, ВСЕГДА в Event Log'е появляется сообщение, что сработало событие именно SYS_ALARM_TIMEOUIT. и как я уже сказал- срабатывание происходит мгновенно, без учёта поля Seconds.</p>
</li>
</ol>
<p dir="auto">складывается впечатление, что не срабатывают поля:<br />
Seconds- не даёт отсрочки по запуску ДОПОЛНИТЕЛЬНОГО Event'а<br />
Event - не запускает указанное в нём событие на обработку</p>
<p dir="auto">соответственно, мы не можем добиться нужного эффекта "ОТЛОЖЕННОГО" извещения (которое не будет выслано, если проблема сама рассосалась в указанные временные рамки в поле Seconds).</p>
<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>
<p dir="auto">пробовал привязать отправку сообщения к этому событию SYS_ALARM_TIMEOUIT, но опять же получаю мгновенную отправку сообщения, а не отложенную на 300 секунд.</p>
<p dir="auto"><em>кроме того, прошу обратить внимание на то, что для использования поля Timeout обязательно необходимо включить в Alarm'е поле "generate New Alarm", а тогда нода помечается как Outstanding. вопрос в том, как потом ВЫВЕСТИ её из этого состояния? ведь нам нужна только операция по запуску дополнительного события, а не пометка ноды, как сбойной...</em></p>
<p dir="auto"><em>А так же есть проблема с ALARM_TIMEOUT: этот Event помечает ноду как Outstanding, а вот автоматического способа вернуть ноду из Outstanding в состояние Normal для этого Event'а мы не нашли...</em></p>
<p dir="auto">Прошу помочь разобраться, в чём именно моя ошибка и каким образом можно добиться эффекта "Отложенного" извещения, которое высылается только если проблема не рассосалась в течение указанных 300 секунд...</p>
]]></description><link>https://forum.netxms.org/post/2016</link><guid isPermaLink="true">https://forum.netxms.org/post/2016</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 09 Jul 2008 09:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Mon, 07 Jul 2008 11:15:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/victor" aria-label="Profile: victor">@<bdi>victor</bdi></a> said:</p>
<blockquote>
<p dir="auto">^HTTP/1\.[01] 200.*&lt;html.*red.* - togda mi budem iskat' slovo red tol'ko posle taga &lt;html&gt;.</p>
</blockquote>
<p dir="auto">Виктор, вопрос:<br />
ServiceCheck.HTTP(10.200.1.100,80,/worktest.html,www.intwww.local,"^HTTP/1\.[01] 200.*<strong>&lt;body</strong>.*red.*")</p>
<p dir="auto">я правильно понял Вашу мысль?<br />
будет такой запрос искать слово red начиная с тега <strong>&lt;body id="popup"&gt;</strong> ?</p>
<p dir="auto">возникла следующая проблема: запрос не работает если страница, к которой он обращается, выглядит следующим образом (это исходник полученной страницы).</p>
<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:x="http://www.w3.org/1999/xhtml" xml:space="x"&gt;
	&lt;head&gt;
		&lt;link rel="stylesheet" type="text/css" href="/css/firefox/main.css" media="screen"/&gt;
		&lt;link rel="stylesheet" type="text/css" href="/css/firefox/popup.css" media="screen"/&gt;
		&lt;link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /&gt;
		&lt;script type="text/javascript" src="/MonoRail/Files/AjaxScripts.visp"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="/MonoRail/Files/BehaviourScripts.visp"&gt;&lt;/script&gt;
&lt;!-- Behaviours --&gt;
&lt;script type="text/javascript"&gt;
	&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
		function writeX( parNode, elem, val)
		{
            var par = document.getElementById(parNode);
            if( val &amp;&amp; par)
            {
                var p = document.createElement( elem);
                try
                {
                    p.innerHTML = val;
                    par.appendChild(p);
                }
                catch(e){}
            }
        }

		document.write = function (s)
        {
            writeX( "counters", "span", s);
        }

        function addSpyLog()
        {
            writeX( 'counters', 'span', '&lt;a href="http://u10123.54.spylog.com/cnt?cid=1012354&amp;amp;f=3&amp;amp;p=0" onclick="window.open(this.href); return false;"&gt;&lt;img src="http://u10123.54.spylog.com/cnt?cid=1012354&amp;amp;p=0" alt="SpyLOG" border="0" width="88" height="31"/&gt;&lt;/a&gt;');
        }

		function validateMail( mail)
		{
			var pattern = new RegExp("[\.\-_A-Za-z0-9]+@([\.\-_A-Za-z0-9]+)+(\.[A-Za-z0-9]{2,6})+");
			return pattern.test(mail);
		}





			function getElementsByClass(searchClass,node,tag)
		{
			var classElements = new Array();
			if (node == null) node = document;
			if (tag == null) tag = '*';
			var els = node.getElementsByTagName(tag);
			var elsLen = els.length;
			var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
			for (i = 0, j = 0; i &lt; elsLen; i++)
			{
				if (pattern.test(els[i].className) )
				{
					classElements[j] = els[i];
					j++;
    			}
 			 }
			return classElements;
		}

		function setCursorPosition(oInput,oStart,oEnd)
	    {
	        if (oInput.setSelectionRange)
	        {
	        	oInput.setSelectionRange(oStart,oEnd);
	        }
	        else if (oInput.createTextRange)
	        {
                range = oInput.createTextRange();
                range.collapse(true);
                range.moveEnd('character', oEnd);
                range.moveStart('character',oStart);
                range.select();
	        }
	    }

		function focusSearch()
		{
			var elem = getElementsByClass('textformFields',null,'input');
			if (elem.length &gt; 0)
			{
				elem[0].focus();
				setCursorPosition(elem[0], elem[0].value.length, elem[0].value.length);
    		}
			return true ;
		}

		function focusFirstField()
		{
  			var elem = document.getElementsByName("focusField");
  			if (elem.length &gt; 0)
  			{
	  			var el = elem[0];
				el.focus();
			}
     		return false;
		}

		function bannerPublicView()
        {
			var publicBanner = document.getElementById('publicBanner');
      		                if(publicBanner)
				{publicBanner.style.display = "none";}
   			      	}

        function onloadDefault()
		{
			focusSearch();
   			bannerPublicView();
   			addSpyLog();
		}

    	function supportEMailView()
		{
			var oFrame = $('mailframe');
   			if (oFrame)
   			{
   				var frmHeight = window.innerHeight;
   				var frTop = (frmHeight/2-260);
				oFrame.style.display = 'block';
				oFrame.style.height = '520px';
				oFrame.style.width = '520px';
				oFrame.style.top = frTop +'px';
				oFrame.src="/support/supportframe.visp";
			}
			return false;
		}

	//--&gt;&lt;!]]&gt;
&lt;/script&gt;
	&lt;/head&gt;
	&lt;body id="popup"&gt;

			&lt;h1&gt;Монитор работоспособности ресурса IQLib&lt;/h1&gt;

&lt;h2&gt;Получение файлов из хранилища фондов&lt;/h2&gt;
&lt;div class='green'&gt;&lt;b&gt;Успешно&lt;/b&gt;&lt;/div&gt;

&lt;h2&gt;Получение файлов из хранилища баннеров&lt;/h2&gt;
&lt;div class='green'&gt;&lt;b&gt;Успешно&lt;/b&gt;&lt;/div&gt;

&lt;h2&gt;Соединение с SQL-сервером&lt;/h2&gt;
&lt;div&gt;&lt;b&gt;&lt;span class='red'&gt;IQLib.Site: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;IQLib.Site.Sys: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;IQLib.Users: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;IQLib.Statistic.Raw: OK&lt;/span&gt;&lt;br/&gt;&lt;/b&gt;&lt;/div&gt;

&lt;h2&gt;Выполнение запросов к поисковой системе и получение документов&lt;/h2&gt;
&lt;div&gt;&lt;b&gt;&lt;span class='green'&gt;IQLib.XBook: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;IQLib.XRef: OK&lt;/span&gt;&lt;br/&gt;&lt;/b&gt;&lt;/div&gt;

&lt;h2&gt;Выполнение распределенной транзакции SQL-сервером&lt;/h2&gt;
&lt;div class='green'&gt;&lt;b&gt;Успешно&lt;/b&gt;&lt;/div&gt;

&lt;h2&gt;Тестирование сервисов на сервере приложений&lt;/h2&gt;
&lt;div&gt;&lt;b&gt;&lt;span class='green'&gt;Job: [Days] Garbage Collector: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;Job: [Days] Publishing Remove: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;Job: [Hours] Publishing Add: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;Job: [Hours] Statistic Collector: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;Job: [Minutes] Statistic Collector: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;Job: [Weeks] Statistic Collector: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;Send Message Service: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;User Query Execute Service: OK&lt;/span&gt;&lt;br/&gt;&lt;span class='green'&gt;User Query Notify Service: OK&lt;/span&gt;&lt;br/&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;p&gt;
&lt;strong&gt;Дата выполнения теста:&lt;/strong&gt; 07.07.2008 10:33:01
&lt;/p&gt;

&lt;div class="more green" title="Повторить тест"&gt;&lt;a href="/monitor/view.visp"&gt;Повторить тест&lt;/a&gt;&lt;/div&gt;

	&lt;/body&gt;
&lt;/html&gt;
</code></pre>
<p dir="auto">Как только убираю всё, что завёрнуто в <strong>&lt;HEAD&gt;</strong>, так запрос начинает работать нормально и обнаруживает слово red на этой странице. В чём может быть проблема, не подскажете?</p>
<p dir="auto">Я собственно потому и спросил выше, можно ли начать просмотр с тега &lt;body&gt; а не с &lt;html&gt;. Чтобы не парсить заголовок.</p>
]]></description><link>https://forum.netxms.org/post/2006</link><guid isPermaLink="true">https://forum.netxms.org/post/2006</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Mon, 07 Jul 2008 11:15:31 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Fri, 04 Jul 2008 06:53:18 GMT]]></title><description><![CDATA[<p dir="auto">2 Виктор: удачи! очень надеемся что время всё же будет. и Вы реализуете всё что запланировали. и даже больше.  <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--wink" style="height:1.4em;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
<p dir="auto">2 Isherim: нуу.. в общем да, ты прав.<br />
было бы здОрово иметь эти возможности.</p>
<p dir="auto">хотя, в принципе, что касаемо сортировки и фильтрации давно минувших событий то тут я не уверен, что это сильно нужно. как опция- да. не не как самоцель. так как мониторинг в первую очередь интересен своей оперативностью и информативностью. а копаться в старом белье... имхо не так уже это и важно. важнее то, что происходит с контролируемыми нодами здесь и сейчас.</p>
<p dir="auto">и поэтому реакция на SysLog очень даже интересна.<br />
тут полностью согласен.</p>
]]></description><link>https://forum.netxms.org/post/2002</link><guid isPermaLink="true">https://forum.netxms.org/post/2002</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Fri, 04 Jul 2008 06:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Fri, 04 Jul 2008 02:33:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/anth0ny" aria-label="Profile: anth0ny">@<bdi>anth0ny</bdi></a> said in <a href="/post/1998">Мониторинг с помощью ServiceCheck.HTTP</a>:</p>
<blockquote>
<p dir="auto">Вот ещё реализуете работу с логами windows и тогда вообще уже практически нечего будет желать =).</p>
</blockquote>
<p dir="auto">Есть чего желать. И даже больше виндовых логов. Очень актуальна возможность фильтрации и сортировки событий за произвольный период. И реакция на события сислога.</p>
]]></description><link>https://forum.netxms.org/post/2001</link><guid isPermaLink="true">https://forum.netxms.org/post/2001</guid><dc:creator><![CDATA[isherim]]></dc:creator><pubDate>Fri, 04 Jul 2008 02:33:10 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Thu, 03 Jul 2008 10:42:23 GMT]]></title><description><![CDATA[<p dir="auto">Esli so vremenem vse budet ok, to na sledujuschej nedele.<br />
Poka izmenenija takie:</p>
<p dir="auto">V sobitijah, alarmah i actionah mozno budet ispol'zovat' skripti dlja formirovanija teksta (v vide macro %[script_name]);<br />
Skripti v event processing policy poluchat dostup k attributam nodi i samogo sobitija cherez peremennie $node i $event;<br />
Dobavlena podderzka custom attributes dlja ob'ektov (t.e. mozno opredelit' svoj attribut skazem u nodi i potom ispol'zovat' v skriptah;<br />
Dobavlena vozmoznost' kodirovki NXCP soobschenij v XML i utilita nxcptest;<br />
Ispravleni zaregistrirovannie bugi #196, #201, #216, #220, #221.</p>
<p dir="auto">Sobirajus' esche poispravljat' bagov i realizavat' koe-chto iz feature requests.</p>
]]></description><link>https://forum.netxms.org/post/2000</link><guid isPermaLink="true">https://forum.netxms.org/post/2000</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Thu, 03 Jul 2008 10:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Thu, 03 Jul 2008 10:00:29 GMT]]></title><description><![CDATA[<p dir="auto">Вот ещё реализуете работу с логами windows и тогда вообще уже практически нечего будет желать =).</p>
<p dir="auto">offtop: что там насчёт 0.2.22? <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="😃" /><br />
когда нам ожидать (примерно) и что нового будет в релизе?</p>
]]></description><link>https://forum.netxms.org/post/1998</link><guid isPermaLink="true">https://forum.netxms.org/post/1998</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Thu, 03 Jul 2008 10:00:29 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 02 Jul 2008 20:49:43 GMT]]></title><description><![CDATA[<p dir="auto">Pozalujsta <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /> Mne toze prijatno chto rezul'tati moej raboti komu-to nuzni <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://forum.netxms.org/post/1997</link><guid isPermaLink="true">https://forum.netxms.org/post/1997</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Wed, 02 Jul 2008 20:49:43 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 02 Jul 2008 12:43:58 GMT]]></title><description><![CDATA[<p dir="auto">ещё раз <strong>ОГРОМНОЕ спасибо</strong> за помощь и проявленное при этом нечеловеческое терпение.</p>
]]></description><link>https://forum.netxms.org/post/1994</link><guid isPermaLink="true">https://forum.netxms.org/post/1994</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 02 Jul 2008 12:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 02 Jul 2008 12:30:14 GMT]]></title><description><![CDATA[<p dir="auto"><s>просто получается, что найдя искомое, Threshold пометит хост в соответствии со значением, заданным ему при помощи Event'а. А как же перевести его в обратное состояние, в то, которое предшествовало новому?</s></p>
<p dir="auto"><s>т.е. как в данном случае в автоматическом режиме пометить хост как нормальный, если искомое не обнаруживается при следующем опросе?</s></p>
<p dir="auto"><s><em>я даже проверил поиск абстрактным словом "^HTTP/1\.[01] 200.*blablablabla.*"<br />
не получается. если условия настроены так как сказано выше (при ответе = 0 -&gt; проблема), то при каждом запросе получаю именно состояние "Проблема".</em></s></p>
<p dir="auto">а всё-таки Вы оказались правы!</p>
<p dir="auto">если я ищу слово blablablabla а его нет на странице, я получаю ответ "3"!<br />
если добавляю- получаю 0 - и хост помечается проблемным.<br />
если снова убираю- хост помечается как нормальный.</p>
<p dir="auto"><strong>соответственно прошу меня извинить, был не прав.  :-<br />
усиленно бью челом.<br />
всё работает так как заявлено.</strong></p>
]]></description><link>https://forum.netxms.org/post/1993</link><guid isPermaLink="true">https://forum.netxms.org/post/1993</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 02 Jul 2008 12:30:14 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 02 Jul 2008 11:47:53 GMT]]></title><description><![CDATA[<p dir="auto">вот ответ моего тестового сайта:</p>
<blockquote>
<p dir="auto"><a href="http://www.intwww.local/worktest.html" rel="nofollow ugc">http://www.intwww.local/worktest.html</a></p>
<p dir="auto">GET /worktest.html HTTP/1.1<br />
Host: www.intwww.local<br />
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14<br />
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5<br />
Accept-Language: en-us,ru;q=0.5<br />
Accept-Encoding: gzip,deflate<br />
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7<br />
Keep-Alive: 300<br />
Connection: keep-alive<br />
If-Modified-Since: Wed, 02 Jul 2008 10:12:27 GMT<br />
If-None-Match: "b17d7e212cdcc81:c90"</p>
<p dir="auto">HTTP/1.x 304 Not Modified<br />
Server: Microsoft-IIS/5.1<br />
Date: Wed, 02 Jul 2008 11:41:16 GMT<br />
X-Powered-By: <a href="http://ASP.NET" rel="nofollow ugc">ASP.NET</a><br />
Etag: "b17d7e212cdcc81:c90"<br />
Content-Length: 0</p>
</blockquote>
<p dir="auto">хмм.. тоже присутствует X-Powered-By<br />
а как же тогда быть?<br />
как заставить искать только конкретное слово, БЕЗ совпадений?</p>
]]></description><link>https://forum.netxms.org/post/1992</link><guid isPermaLink="true">https://forum.netxms.org/post/1992</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 02 Jul 2008 11:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 02 Jul 2008 11:28:41 GMT]]></title><description><![CDATA[<p dir="auto">Виктор, спасибо за быстрый ответ!</p>
<p dir="auto">О проблеме: моя тестовая страница совершенно пуста. там вообще нет тегов. это просто текстовый файл с расширением html и одним-единственным тестовым словом. вообще, как мне кажется, дело тут не в том, что находит-ли искомое regexp или не находит, а в том, что в ответ на запрос с regexp'ом всегда возвращается "0".</p>
<p dir="auto">Нашёл? = 0<br />
Не нашёл? = 0</p>
<p dir="auto">Моё условие Вы уже видели: если на странице встречается слово "red" - должно быть зафиксировано событие (Event), что слово "red" найдено. Затем запускается процессинг, который отсылает мне извещение, что слово на странице найдено.</p>
<p dir="auto">И всё бы хорошо, да только у Threshold'а, который использует этот regexp, нет другого возвращаемого состояния, кроме как "0". А это значит, что DCI не в состоянии отличить состояние "найдено" <strong>last()=0</strong> от "не найдено" <strong>last()l=0</strong>.</p>
<p dir="auto">И соответственно я не могу создать условие-терминатор, которое бы тоже опиралось на возвращаемое состояние и заканчивало бы обработку данного эвента (помечало DCI как нормально рабюотающий). Не на что опираться, потому что всегда получаем 0.</p>
<p dir="auto">применительно к моему тестированию: ищем слово red, если находим- проблема, если нет- всё ок.</p>
<p dir="auto">Threshold Configuration<br />
----------------------<br />
Condition</p>
<p dir="auto">Will be "Equal"<br />
Than "0"<br />
----------------------<br />
Event</p>
<p dir="auto">Condition TRUE<br />
Site test Filed!</p>
<p dir="auto">Condition FALSE<br />
Site test OK!<br />
----------------------</p>
<p dir="auto">Я собственно вот о чём...<br />
<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>
<p dir="auto">Нужно ввести возвратные коды для такого рода Threshold'ов.<br />
0 - условие regexp'а полностью выполнено (искомое найдено).<br />
1 - условие regexp'а не выполнено (искомое не найдено)</p>
<p dir="auto">Это возможно? А то невозможно понять что вообще происходит...<br />
<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/1991</link><guid isPermaLink="true">https://forum.netxms.org/post/1991</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Wed, 02 Jul 2008 11:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Мониторинг с помощью ServiceCheck.HTTP on Wed, 02 Jul 2008 10:50:28 GMT]]></title><description><![CDATA[<p dir="auto">Regexp proverjaet ne tol'ko content stranici, no i header'i. Vot otvet moego web-saita:</p>
<p dir="auto">HTTP/1.1 200 OK<br />
Date: Fri, 04 Jul 2008 08:05:22 GMT<br />
Server: Apache<br />
X-Powered-By: PHP/4.4.0-pl1-gentoo<br />
Set-Cookie: supraLang=en; expires=Sun, 19 Jul 2009 13:05:23 GMT; path=/<br />
Set-Cookie: PHPSESSID=afa2bbc5cdf668e7db85c92b04cfea2d; path=/<br />
Expires: Thu, 19 Nov 1981 08:52:00 GMT<br />
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0<br />
Pragma: no-cache<br />
Content-Length: 7658<br />
Connection: close<br />
Content-Type: text/html; charset=UTF-8</p>
<p dir="auto">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow ugc">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;<br />
&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow ugc">http://www.w3.org/1999/xhtml</a>"&gt;<br />
&lt;head&gt;</p>
<p dir="auto">i dal'she idet content</p>
<p dir="auto">zagolovok <strong>X-Powered-By: PHP/4.4.0-pl1-gentoo</strong> prekrasno matchitsja regexpom .*red.*. Vozmozno v vashem headere chto-to podobnoe. Mozno poprobovat'</p>
<p dir="auto">^HTTP/1\.[01] 200.*&lt;html.*red.* - togda mi budem iskat' slovo red tol'ko posle taga &lt;html&gt;.</p>
]]></description><link>https://forum.netxms.org/post/1990</link><guid isPermaLink="true">https://forum.netxms.org/post/1990</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Wed, 02 Jul 2008 10:50:28 GMT</pubDate></item></channel></rss>