Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Мониторинг с помощью ServiceCheck.HTTP

Мониторинг с помощью ServiceCheck.HTTP

Scheduled Pinned Locked Moved Support (Russian)
29 Posts 4 Posters 180.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    A
    Anth0ny
    wrote on last edited by
    #19

    прошу прощения за настойчивость, но предыдущий вопрос всё ещё актуален.

    UP.

    1 Reply Last reply
    0
    • V
      V
      Victor Kirhenshtein
      wrote on last edited by
      #20

      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.

      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.

      1 Reply Last reply
      0
      • A
        A
        Anth0ny
        wrote on last edited by
        #21

        Виктор, спасибо! 😃
        Усиленно ждём 0.2.22.

        1 Reply Last reply
        0
        • A
          A
          Anth0ny
          wrote on last edited by
          #22

          Виктор, приветствую!

          Возникла следующая проблема.

          Есть 4 одинаковых web-сервера. На них одинаковая ОС и набор софта. Задача: нужно через ServiceCheck.HTTP мониторить на всех 4ёх серверах один и тот же файл, находящийся у всех серверов в одном и том же месте и называющийся одинаково для всех серверов.

          примерно так:

          сервера: www01.test.local, www02.test.local, www03.test.local и www04.test.local
          файл: /load/test.xml

          используемый regexp (для www01.test.local):

          ServiceCheck.HTTP(10.101.123.1,80,/load/test.xml,www01.test.local,"^HTTP/1\.[01] 200.*<?xml.*/cross-domain-policy.*")
          

          содержимое страницы (текст):

          <?xml version="1.0"?>
          <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
          <cross-domain-policy>
                      <allow-access-from domain="testdom.local" />
                      <allow-access-from domain="site.dmz.off" />
          	<allow-access-from domain="*" />
          </cross-domain-policy>
          

          HTTP-заголовок:

          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
          

          Собственно проблема в следующем: на 2 серверах данный запрос получает и обрабатывает данные корректно, а на ещё 2ух- нет. Разницы как я уже сказал между серверами нет. Программно и аппаратно они идентичны.

          Не понятно ещё вот что: если regexp на 2ух странных серверах урезать до определения только статуса ответа HTTP (200), то тогда запрос на них работает (получаем "0"). Но как только в запрос добавляется поиск слов в тексте страницы - всё, начинаем получать "3". И никакие ухищрения не помогают =(. Пока есть текст в запросе- запрос всегда выдаёт "3", убираем текст (остаётся только проверка на HTTP-ответ, ищем 200) - всё отлично, "0"...

          Повторяюсь: на 2ух серверах полный запрос работает прекрасно!

          Виктор, не можем понять что происходит.

          Написали скрипт на Unix-сервере, что бы проверить код regexp'а:

          if($response=~/^HTTP\/1\.[01] 200.*<?xml.*\/cross-domain-policy.*/s) {
          
                  print "Match!\n";
          
          }
          

          Скрипт говорит что с нашим запросом всё в порядке: полученный от сервера ответ содержит всё необходимое.

          Просим помощи...  ???

          1 Reply Last reply
          0
          • A
            A
            Alex Kirhenshtein
            wrote on last edited by
            #23

            Я посмотрел в коде - да, есть такая бага. Сейчас несколько переделаю субагента и выложу дифф.

            1 Reply Last reply
            0
            • A
              A
              Anth0ny
              wrote on last edited by
              #24

              спасибо, ждём-с 😃
              а можно рекомпильнуть субагента?

              1 Reply Last reply
              0
              • A
                A
                Alex Kirhenshtein
                wrote on last edited by
                #25

                Файл в аттаче. Надо положить в корень дистрибутива (e.g. netxms-0.2.22/) и запустить:

                patch -p0 < /путь/к/portcheck.diff
                

                Я погонял на файлах разного размера и с разных серверов - вроде проблем нету.

                Про сборку только субагента - если не чистили каталог из которого делали make install - то можно после патча пойти в src/agent/subagents/portCheck и сделать оттуда make install - субагент должен пересобраться и поставиться. Если из чистого дистрибутива - то для ускорения можно сделать configure --with-agent, сборка пройдет быстрее (но foundation libraries и core agent тоже будут собраны - как зависимости).


                portcheck.diff

                1 Reply Last reply
                0
                • A
                  A
                  Anth0ny
                  wrote on last edited by
                  #26

                  аа.. эээ... а если у меня сервер Win32...?
                  я так вижу что имеется ввиду *nix...

                   ???

                  1 Reply Last reply
                  0
                  • A
                    A
                    Alex Kirhenshtein
                    wrote on last edited by
                    #27

                    Мда, это я не подумал.

                    Виктор в ближайшее время выложит новый бинарник субагента.

                    1 Reply Last reply
                    0
                    • V
                      V
                      Victor Kirhenshtein
                      wrote on last edited by
                      #28

                      Peresobrannij subagent dlja Windows.


                      portcheck.nsm

                      1 Reply Last reply
                      0
                      • A
                        A
                        Anth0ny
                        wrote on last edited by
                        #29

                        Спасибо! Залито и проверено- работает так как должно.

                        1 Reply Last reply
                        0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        Powered by NodeBB Contributors
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups