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. Cluster (кластер). Прошу помочь разобраться.

Cluster (кластер). Прошу помочь разобраться.

Scheduled Pinned Locked Moved Support (Russian)
21 Posts 2 Posters 32.2k 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
    #8

    Виктор, спасибо за помощь!

    А по порядку - это правильно, так проще 😃

    1. Записал в feature requests (https://www.netxms.org/forum/index.php/topic,414.0.html).

    2. А усилять и расширять мониторинг кластеров не планируется? Кстати большое Вам спасибо за то, что уже реализовано!

    А можно поподробнее о SYS_ALARM_TIMEOUT? я уже отписал в теме по монитрингу HTTP, что получаю чрезвычайно странный результат при использовании данного параметра а также параметра Timeout. Может быть я их просто неправильно использую? Подскажите... 😃

    Запустить/остановить процесс - имелось ввиду Event Processing (запуск процессинга эвента и остановка процессинга эвента).

    1. Т.е. если я правильно понял, то ресурсы, которые входят в кластерную группу, можно мониторить ровно точно так же, как и обычные ресурсы, находящиеся на одиночной ноде? Но в таком случае на каком уровне нужно создавать DCI'и? На уровне кластера? Или на уровне каждой из нод? Прошу подсказать =).

    2. Не работает, однозначно =).

    По крайней мере с опросом дисков.

    Если вопрос о последовательности создания кластера, то всё делалось по Вашему описанию, точь-в-точь. Если имеется ввиду создание DCI на уровне Кластера, то тут всё было сделано абсолютно точно также, как для обычной ноды.

    Создал DCI типа Disk.FreePerc. Пробовал и для диска 😄 (есть на обеих нодах, понятное дело) и для диска S: (есть только на одной из нод). Обе ноды кластера- активные.

    После создания (интервал опроса- 60 секунд) DCI ничего не получает. При попытке посмотреть данные через Data Collection -> Show Data получаю ошибку: Unable to retrievecollected data: Database failure.

    И в таблице Collected Data в поле Value получаю единственную запись: ERROR LOADING DATA FROM SERVER.

    Прошу помочь советом.

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

      UP

      Нужна подсказка...  😕

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

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

        UP.

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

          Proshu proshenija za bol'shie zaderzki s otvetami, bil ochen' bol'shoj zaval na rabote. Sejchas postarajus' v techenii dnja otvetit' na vse voprosi na forume.

          @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

          1. А усилять и расширять мониторинг кластеров не планируется? Кстати большое Вам спасибо за то, что уже реализовано!

          Eto bilo-bi interesno, no ja poka ploho predstavljaju chto i kak tam mozno bilo bi uluchshit'. Mozno sdelat' otdel'noe obsuzdenie v feature request i pridti k novoj sheme monitoringa klasterov. Togda mozno budet ee i realizovat'.

          @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

          А можно поподробнее о SYS_ALARM_TIMEOUT? я уже отписал в теме по монитрингу HTTP, что получаю чрезвычайно странный результат при использовании данного параметра а также параметра Timeout. Может быть я их просто неправильно использую? Подскажите... 😃

          Ja segodnja/zavtra proverju etot funkcional, pohoze tam kakie-to strashnie bagi...

          @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

          Запустить/остановить процесс - имелось ввиду Event Processing (запуск процессинга эвента и остановка процессинга эвента).

          Zdes' kakoe-to nesovpadenie terminov pohoze 🙂 Nel'zja zapustit'/ostanovit' obrabotku sobitija - ona vsegda proishodit (t.e. kazdoe sobitie obrabativaetsja). Mozno po sobitiju zapuskat' vneshnie processi - cherez Actions, sozdavat' u ubirat' alarmi, menjat' sostojanija situacij.

          @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

          1. Т.е. если я правильно понял, то ресурсы, которые входят в кластерную группу, можно мониторить ровно точно так же, как и обычные ресурсы, находящиеся на одиночной ноде? Но в таком случае на каком уровне нужно создавать DCI'и? На уровне кластера? Или на уровне каждой из нод? Прошу подсказать =).

          DCI nado sozdavat' na urovne klastera, ukazivaja dlja kazdogo DCI k kakomu resursu on otnositsja. (Esli etogo ne delat', to skazem DCI na status servisa Exchange'a na neaktivnoj node vizovet srabativanie thresholda na to, chto servis ostanovlen, pojavlenie alarma, etc., hotja eto normal'naja situacija). Privjazka DCI k resursu vizivaet sbor dannih tol'ko s toj nodi, gde sejchas nahoditsja resurs.

          @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

          1. Не работает, однозначно =).

          По крайней мере с опросом дисков.

          Если вопрос о последовательности создания кластера, то всё делалось по Вашему описанию, точь-в-точь. Если имеется ввиду создание DCI на уровне Кластера, то тут всё было сделано абсолютно точно также, как для обычной ноды.

          Создал DCI типа Disk.FreePerc. Пробовал и для диска 😄 (есть на обеих нодах, понятное дело) и для диска S: (есть только на одной из нод). Обе ноды кластера- активные.

          После создания (интервал опроса- 60 секунд) DCI ничего не получает. При попытке посмотреть данные через Data Collection -> Show Data получаю ошибку: Unable to retrievecollected data: Database failure.

          И в таблице Collected Data в поле Value получаю единственную запись: ERROR LOADING DATA FROM SERVER.

          Dannie smotreli na node ja nadejus'? Poskol'ku na ob'ekte klastera dannih net - eto virtual'nij ob'ekt, tak-ze kak i template. Real'nie dannie sobirajutsja dlja uzlov - ob'ekt klastera s tochki zrenija nastrojki DCI rabotaet kak template + dopolnitel'nie pravila kogda sobirat' dannie a kogda net.

          Best regards,
          Victor

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

            @victor said:

            Proshu proshenija za bol'shie zaderzki s otvetami, bil ochen' bol'shoj zaval na rabote. Sejchas postarajus' v techenii dnja otvetit' na vse voprosi na forume.

            Спасибо Вам Виктор за Вашу работу! 😃
            Очень жду помощь... Проблема в том, что далеко не все подробности настройки и работы NetXMS освещены в Документации. И поэтому приходится изводить Вас вопросами.. =(

            @victor said:

            Eto bilo-bi interesno, no ja poka ploho predstavljaju chto i kak tam mozno bilo bi uluchshit'. Mozno sdelat' otdel'noe obsuzdenie v feature request i pridti k novoj sheme monitoringa klasterov. Togda mozno budet ee i realizovat'.

            Оки! Я сам- не великий специалист по кластерам. Вот мой начальник- другое дело. Я попросил его накидать (эскизно) предложение по улучшению мониторинга кластеров, я потом напишу в Предложения. Кстати, прошу заметить, что только в Вашем мониторинге реализован прямой метод контроля кластеров (я перебрал много разных перед тем, как остановился на NetXMS. Т.е. NetXMS - в своём роде уникальный продукт. Вот ежели бы ещё добавить парсинг логов, так и вообще ничего другого не нужно будет (тот же самый Nagios всё равно использует отдельный внешний модуль для контроля логов, встроенного у него нет).

            @victor said:

            Ja segodnja/zavtra proverju etot funkcional, pohoze tam kakie-to strashnie bagi...

            Да, пожалуйста =). А то как-то странно оно работает.... А ведь функция полезна и как раз решает (ну не на 100% но близко) проблему реагирования на продолжительность событий.

            Вот ещё бы именно этот пункт улучшить и добавить в него подсчёт кол-ва полученных негативных Событий и запускать дополнительное Событие не по таймауту, а по этому заданному количеству... Я уже оформлял нечто подобное в Предложениях, https://www.netxms.org/forum/index.php/topic,404.0.html, пункт 1.

            Но дальнейший анализ показал что создавать свойство "Duration" (или можно ещё наверное сказать "Counting events") лучше всего именно в связке с Timeout'ом. Как мне кажется- вполне логично. Т.е. нужен выбор (radio button) или одного, или другого параметра. Или же вообще отказаться от параметра Timeout и заменить его на Counting events... Почему? Мы же уже имеем возможность контролировать параметр Времени при помощи указания интервала опроса для каждой DCI? А значит второй контроль по времени но уже со стороны Timeout'а мне кажется немного эээ... нелогичным... Поскольку События продолжают собираться по мере запуска DCI с указанным ему интервалом, в этом разделе (Timeout) лучше наверное было бы подсчитывать количество полученных Событий. А время их получения (интервал) нами уже задан в DCI.

            Очень надеюсь что пишу терминологически правильно и понятно... Стараюсь.

            @victor said:

            Zdes' kakoe-to nesovpadenie terminov pohoze 🙂 Nel'zja zapustit'/ostanovit' obrabotku sobitija - ona vsegda proishodit (t.e. kazdoe sobitie obrabativaetsja). Mozno po sobitiju zapuskat' vneshnie processi - cherez Actions, sozdavat' u ubirat' alarmi, menjat' sostojanija situacij.

            Виктор, попробую объяснить, почему я использую данные термины именно так...

            Если смотреть на просто Событие, то оно - вещь статическая и по сути никакой динамикой не обладает. Динамичным его делает Threshold, который помечает DCI указанным ему Событием при наступлении указанных в Threshold'е условии.

            Далее: когда DCI помечается Threshold'ом указанным ему Событием, происходит Обработка События в Event Processing Policy.

            Именно поэтому я использую оборот "Запуск События на обработку".

            Если Вам интересно, могу выложить свой вариант Документации по NetXMS. Он ориентирован не на Администратора системы, а на Оператора. И потому там есть детальное (по возможности, информация к сожалению есть не на всё, часть пришлось додумать самому) описание Интерфейса и элементной базы NetXMS но отсутствуют некоторые пункты официальной Документации. Плюс - поступенчатое руководство по созданию объектов и мониторингу. Сейчас я заканчиваю документ, он почти отформатирован, там строк примерно 500...

            @victor said:

            DCI nado sozdavat' na urovne klastera, ukazivaja dlja kazdogo DCI k kakomu resursu on otnositsja. (Esli etogo ne delat', to skazem DCI na status servisa Exchange'a na neaktivnoj node vizovet srabativanie thresholda na to, chto servis ostanovlen, pojavlenie alarma, etc., hotja eto normal'naja situacija). Privjazka DCI k resursu vizivaet sbor dannih tol'ko s toj nodi, gde sejchas nahoditsja resurs.

            @victor said:

            Dannie smotreli na node ja nadejus'? Poskol'ku na ob'ekte klastera dannih net - eto virtual'nij ob'ekt, tak-ze kak i template. Real'nie dannie sobirajutsja dlja uzlov - ob'ekt klastera s tochki zrenija nastrojki DCI rabotaet kak template + dopolnitel'nie pravila kogda sobirat' dannie a kogda net.

            Понял, проверил. Действительно всё так, Вы правы. Правда есть некоторые странности: при создании на уровне Кластера DCI для мониторинга диска С:, этот DCI почему-то обслуживает не обе ноды, а только одну. Не пойму почему. На второй ноду ошибки не выдаёт, но и данные не собирает...

            В заключение хочу отметить, что я пристаю к Вам с расспросами далеко не из праздного любопытства: на начало августа у нас запланировано промышленное внедрение NetXMS. Вот я и как главный по мониторингу и готовлюсь.... 😃

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

              @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

              Понял, проверил. Действительно всё так, Вы правы. Правда есть некоторые странности: при создании на уровне Кластера DCI для мониторинга диска С:, этот DCI почему-то обслуживает не обе ноды, а только одну. Не пойму почему. На второй ноду ошибки не выдаёт, но и данные не собирает...

              А Вы случайно не привязали DCI для диска 😄 к какому-нибудь ресурсу?

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

                @anth0ny said in Cluster (кластер). Прошу помочь разобраться.:

                @victor said:

                Zdes' kakoe-to nesovpadenie terminov pohoze 🙂 Nel'zja zapustit'/ostanovit' obrabotku sobitija - ona vsegda proishodit (t.e. kazdoe sobitie obrabativaetsja). Mozno po sobitiju zapuskat' vneshnie processi - cherez Actions, sozdavat' u ubirat' alarmi, menjat' sostojanija situacij.

                Виктор, попробую объяснить, почему я использую данные термины именно так...

                Если смотреть на просто Событие, то оно - вещь статическая и по сути никакой динамикой не обладает. Динамичным его делает Threshold, который помечает DCI указанным ему Событием при наступлении указанных в Threshold'е условии.

                Далее: когда DCI помечается Threshold'ом указанным ему Событием, происходит Обработка События в Event Processing Policy.

                Именно поэтому я использую оборот "Запуск События на обработку".
                главный по мониторингу и готовлюсь.... 😃

                Вообще-то идея немного другая: событие - это как раз динамический объект (и с очень коротким временем жизни) - событие возникает, проходит через event policy, вызывая тем самым какие-то действия, записывается в лог - и исчезает. Не надо путать события с шаблонами событий (то что мы видим в Control Panel -> Events) - те действительно статические объекты.

                Пороговые значения (thresholds) у DCI - это лишь один источник событий. События также генерируются при опросе статуса узлов (SYS_NODE_DOWN например), как результат обработки SNMP трапов, просто могут присылаться из внешних систем (например через nxevent).

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

                  Хмм.. вроде нет.

                  Сейчас пересоздал DCI и всё заработало. Чудеса....

                  Создавал на контейнере Кластера новый DCI (как и в прошлый раз так):

                  Описание: Кластер - Свободное место на Диске С: (в %)
                  Параметр: Disk.FreePerc(C:)

                  Интервал: 600 секунд

                  Только теперь оно заработало... Чудеса...

                  По поводу Событий и Терминологии: да, всё так. Очевидно у меня произошла логическая подмена понятия События и Шаблона События... 😃 Хотя мне почему-то кажется что мы объясняем одно и тоже только с разных точек зрения и суть от этого не меняется. Да, вопрос терминологии... =))

                  Просто получается так, что часть DCI с Threshold'ами зашита в движок (как например в случае с кластером), и События для этого случая уже заранее предопределены. И другие не задействовать. А часть (бОльшая) Событий создаётся Оператором вручную и без DCI и сопутствующего ему Threshold'а - смысла не имеет, просто запись в Базе.

                  Я именно от этого и отталкивался.

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

                    возникло непонимание с отдаваемыми кластерами значениями:

                    при использовании макросов так: МЕСТО ВОЗНИКНОВЕНИЯ:\t%n[%a]
                    ответ получается такой: МЕСТО ВОЗНИКНОВЕНИЯ:    MYCLUSTER[0.0.0.0]

                    от обычных хостов ответ получаем правильный: МЕСТО ВОЗНИКНОВЕНИЯ:    MONITORING.mynet.ru[10.10.1.1]

                    эээ...баг?

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

                      U ob'ekta klastera net IP adresa. Mozno konechno cht-nibud' podstavljat', vopros tol'ko - chto?

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

                        хмм...

                        я думаю что будет правильно при запросе отдавать IP, ассоциированный с ClusterGroup.
                        ведь именно по этому адресу кластер отвечает по сети.

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

                          Voobschem soglasen, sdelaju. Edinstvenno chto pri konfiguracii ob'ekta klastera nado budet ukazivat', kakoj iz virtual'nih adresov eto adres Cluster Group.

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

                            На всякий случай напоминаю 😃

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

                              напоминаю про наш предыдущий разговор (на всякий случай) и новая порция данных для размышления...

                              обнаружил странную вещь.

                              объект мониторинга: двухузловой актив-актив кластер с MSSQL. на его обеих нодах крутятся по одному SQL-инстансу, в случае обвала одной из нод оба инстанса начинают работать на одной ноде.

                              мы отслеживаем, что:

                              1) инстансы вообще живы.
                              2) оба инстанса не запущены на одной ноде одновременно, если так- слать аларм оператору.
                              3) состояние кластерных ресурсных групп в норме.

                              с 3) нет проблем, всё отслеживается отлично. получаю сообщения о переезде ресурсных групп с ноды на ноду.
                              с 2) возникает периодически проблема. я не знаю, почему оно так, но Condition, созданный для слежения за расположением инстансов, постоянно "залипает". т.е. реакция на нормальное расположение инстансов (один инстанс-одна нода) происходит либо с ооочень большим замедлением (могут сутки пройти, прежде чем монитр чухнется, что всё уже ок, что выполняется условие "один истанс-одна нода"), либо не происходит вообще. приходится руками передёргивать мониторинг.

                              вот скрипт используемый в Condition: (($1 == 0) && ($2 ==  0)) || (($3 == 0) && ($4 ==  0))

                              ... где $1-$4 это:

                              на ноде NODE1

                              1 - System.ServiceState(MSSQL$INST1) - Associate with cluster resource "INST1 Cluster Group"
                              2 - System.ServiceState(MSSQL$INST2) - Associate with cluster resource "INST2 Cluster Group"

                              на ноде NODE2

                              3 - System.ServiceState(MSSQL$INST2) - Associate with cluster resource "INST2 Cluster Group"
                              4 - System.ServiceState(MSSQL$INST1) - Associate with cluster resource "INST1 Cluster Group"

                              может и я чтото напутал при создании DCI, но что-то как-то странно всё...

                              очень подозрительно выглядит вот что: при использовании в указанной ситуации двух DCI типа System.ServiceState(MSSQL$INST1) и System.ServiceState(MSSQL$INST2), когда оба MSSQL$INSTN приписаны каждый к своей кластерной группе (Asociate with cluster resource) на обих нодах нормально работает только по одному DCI.

                              на каждой ноде работает (регулярно опрашивает) только тот DCI, который связан с кластерной группой, которая, в свою очередь, в данный момент находится именно на ЭТОЙ ноде. второй же ... второй же может сутками, неделями и месяцами не проверяться (я не уловил закономерности). и это не смотря на то, что в случае перемещения инстанса со своей ноды на соседнюю, Condition помечает весь кластер как сбойный.

                              и получается что при ручном перемещении инстанса обратно на починеную ноду, повторного ПОЛНОГО переопроса кластера не производится. и статус Warning так и висит на Condition'е и кластере.

                              и вот ещё один вопрос: (по пункту 1)) - можно ли мониторить состояние кластерных ИМЕННО СЕРВИСОВ? и помечать СЕРВИСЫ типа ...

                              на ноде NODE1

                              1 - System.ServiceState(MSSQL$INST1) - Associate with cluster resource "INST1 Cluster Group"
                              2 - System.ServiceState(MSSQL$INST2) - Associate with cluster resource "INST2 Cluster Group"

                              на ноде NODE2

                              3 - System.ServiceState(MSSQL$INST2) - Associate with cluster resource "INST2 Cluster Group"
                              4 - System.ServiceState(MSSQL$INST1) - Associate with cluster resource "INST1 Cluster Group"

                              ... сбойными, как любой стандартный DCI, через трешолды?

                              Иди это не возможно, потому что каждый такой сервис приписан в DCI к кластерной группе?

                              ЕСЛИ КОРОЧЕ 😃

                              1. при использовании Condition, отслеживающего расположение инстансов так (($1 == 0) && ($2 ==  0)) || (($3 == 0) && ($4 ==  0)), для кластера с двумя нодами на каждой из которых запущено по одному инстансу, ЕСЛИ указанное условие перестаёт выполняться (расположение приходит в норму), Кластер может очень долго возвращаться в нормальное состояние, поскольку не происходит полного переопроса всех связанных с кластером DCI.

                              2. не удаётся мониторить состояние инстансов НАПРЯМУЮ, поскольку они могут находиться на любой из нод кластера. и соответственно, нельзя использовать прямой мониторинг через DCI с конкретным указанием на инстансы.

                              правильное положение:

                              (($1 == 0) && ($2 !==  0)) || (($3 == 0) && ($4 !==  0))

                              неправильное положение:

                              (($1 == 0) && ($2 ==  0)) || (($3 == 0) && ($4 ==  0))

                              но положение типа (($1 == 0) && ($2 ==  0)) || (($3 == 0) && ($4 ==  0)) хоть и считается не правильным для кластера, но оно может быть необходимо на время реанимации упавшей ноды. но при этом КАК в это время мониторить здоровье инстансов $1 и $2 или $3 и $4, когда они на одной ноде?

                              может эти DCI всё же можно вынести на уровень КЛАСТЕРА?

                              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