Ad Widget

Collapse

Общий элемент данных - действие для конкрk

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #16
    Originally posted by friis
    Ну если так - то все остальное смысла не имеет
    Придется каждый диск каждой ОС - как отдельный элемнт данных, отдельный триггер, отдельное действие
    Жуть какая. Сколько мышей и клавиатур заложено в бюджет внедрения Zabbix, если не секрет?

    В 3.2 есть events tags. Их наверняка можно использовать, если необходимо направлять условному Петрову алерты по триггерам, связанными только с IOPS.
    насчет гистерезиса - вроде же - среднее за период - не должно же быть много чихов ?
    Windows считает среднее за минуту. У вас в триггере берется три минуты, т.е. изменение на временном интервале в 1/3 контролируемого я бы считал всплеском, а не устоявшимся значением.

    Гистерезис тут, может быть и излишен, но max() на min() заменить стоит.

    Еще пара комментариев:
    - "\LogicalDisk(_Total)\Disk Bytes/sec" - это throughput, а не IOPS. IOPS versus Throughput;
    - Removable storages режутся (не включаются в LLD) вполне оправданно, на мой взгляд. В противном случае перечни элементов данных контролируемых узлов пользовательских PC представляли бы из себя адскую смесь живых и мертвых айтемов. Это в лучшем случае. В худшем - все флешки бы монтировались под одной буквой диска и показатели бы скакали, как хотели. Т.е. смысла в них нет;
    - $1, $2...$9 - макросы, отражающие параметры ключа: vfs.fs.size[{#FSNAME},free] => $1 это {#FSNAME}, $2 это "free" и т.д.
    Last edited by sadman; 08-10-2016, 07:23.

    Comment

    • friis
      Member
      • Sep 2016
      • 65

      #17
      Жуть какая. Сколько мышей и клавиатур заложено в бюджет внедрения Zabbix, если не секрет?
      я не понял этой фразы (бюджета нет) - отказаться от заббикса ?



      В 3.2 есть events tags. Их наверняка можно использовать, если необходимо направлять условному Петрову алерты по триггерам, связанными только с IOPS.
      Думаю так не пойдет в AZURE это критичный параметр который ограничивает microsoft - причем очень чувствительно

      Windows считает среднее за минуту. У вас в триггере берется три минуты, т.е. изменение на временном интервале в 1/3 контролируемого я бы считал всплеском, а не устоявшимся значением.

      Гистерезис тут, может быть и излишен, но max() на min() заменить стоит.
      как бы вы сделали ? что поставить в элементе данных, в ключе, в опросе, в триггере - спрашиваю потому что не понял как получилось 1\3 - на min() поменяю обязательно - спасибо

      - "\LogicalDisk(_Total)\Disk Bytes/sec" - это throughput, а не IOPS. IOPS versus Throughput;
      так это вроде нагрузка на всю дисковую систему,для iops я собирался использовать \LogicalDisk(_Total)\Disk Transfers/sec

      - Removable storages режутся (не включаются в LLD) вполне оправданно, на мой взгляд. В противном случае перечни элементов данных контролируемых узлов пользовательских PC представляли бы из себя адскую смесь живых и мертвых айтемов. Это в лучшем случае. В худшем - все флешки бы монтировались под одной буквой диска и показатели бы скакали, как хотели. Т.е. смысла в них нет;
      Спасибо - не знал - для теста было бы неплохо

      как бы поменять
      vfs.fs.size[{#FSNAME},free]

      на \LogicalDisk(что то )\Disk Transfers/sec

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #18
        Originally posted by friis
        я не понял этой фразы (бюджета нет) - отказаться от заббикса ?
        Отобрать у коллег клавиатуры и мыши, потому что при создании такого количества отдельных триггеров и экшнов износится не один комплект.

        Думаю так не пойдет в AZURE это критичный параметр который ограничивает microsoft - причем очень чувствительно
        Дело ваше. Я посоветовал способ отделить часть автоматически созданных триггеров для использования в отдельном экшне. Если вам нужно не это - формулируйте вопрос точнее и рассказывайте что, где и зачем. Никто тут не в курсе ваших замыслов.

        спрашиваю потому что не понял как получилось 1\3
        max(180) - это максимальное значение за 180сек (3 минуты). Windows усредняет показания за 60 сек (1 минуту). За три минуты у вас, положим, будут такие значения (вы же айтем обновляте раз в минуту, полагаю): 200, 505, 180.
        Как вы бы расценивали значение 505 на одном из трех (1/3 анализируемого триггером времени) промежутков обновления айтема - как всплеск или устоявшееся значение.

        как бы поменять
        vfs.fs.size[{#FSNAME},free]

        на \LogicalDisk(что то )\Disk Transfers/sec
        Давайте обратимся к достаточно хорошо написанной документации

        Comment

        • friis
          Member
          • Sep 2016
          • 65

          #19
          Давайте обратимся к достаточно хорошо написанной документации
          https://www.zabbix.com/documentation...evel_discovery
          Попробовал - после полу дня мучений завелось и как !: я увидел даже флешку !!((но не суть, ибо забытых флешок на серверах нет )

          на первой странице форума мы робсуждали один вид анализа где триггер был вида {ForNotebookserf_counter["\LogicalDisk(_Total)\Disk Bytes/sec",180].avg(300)}>{$MAX_DISKLOAD№0000001}
          Но это был не прототип

          Теперь же я в прототипе триггера планирую использовать {$MAX_DISKLOAD№0000002}

          Надеюсь пересечений не будет и там где на уровне узлов нет соответствующего макроса - элемент данных формироваться не будет ?
          (т.е. для {$MAX_DISKLOAD№0000001} -свой элемент данных (один на всю машину), а для {$MAX_DISKLOAD№0000002} свои элементы - причем на каждую машину- на каждый диск )

          или же обнаружение ставить в дополнительный шаблон к нужным машинам ?


          max(180) - это максимальное значение за 180сек (3 минуты). Windows усредняет показания за 60 сек (1 минуту). За три минуты у вас, положим, будут такие значения (вы же айтем обновляте раз в минуту, полагаю): 200, 505, 180.
          Как вы бы расценивали значение 505 на одном из трех (1/3 анализируемого триггером времени) промежутков обновления айтема - как всплеск или устоявшееся значение.

          я как то запутался в этом : не могли бы Вы четко сказать - где что прописать если :
          требуется писать значение в БД раз в минуту
          требуется сработка(флаг проблема) по значению среднему в течении 10 минут
          Элемент данных (Интервал обновления (в сек), параметр ХХХ у perf_counter[counter,XXX]
          Триггер: параметры YYY и ZZZ у {Templateerf_counter[\236(C\408,YYY].min(ZZZ)}<10)
          Оповещения раз в 15 минут - т.е. длительность шага 900

          По Вашему совету создал еще одну группу ForAlerts1 для оповещения - в качестве условия ставлю не триггер а группу, и те сервера которые нужны будут для обнаружения запихнул в эту группу ( а так все сервера у меня сидят в обще группе Servers), получается некоторые машину участники 2-х групп
          Last edited by friis; 10-10-2016, 15:02.

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #20
            Originally posted by friis
            Надеюсь пересечений не будет и там где на уровне узлов нет соответствующего макроса - элемент данных формироваться не будет ?
            (т.е. для {$MAX_DISKLOAD№0000001} -свой элемент данных (один на всю машину), а для {$MAX_DISKLOAD№0000002} свои элементы - причем на каждую машину- на каждый диск )
            Думаете, что AZURE разорвет, если вы попробуете это сделать без моей рекомендации? Пробуйте. Не получится - набьете руку в отладке и поиске проблем.

            я как то запутался в этом : не могли бы Вы четко сказать - где что прописать если :
            требуется писать значение в БД раз в минуту
            Логично же => Элемент данных (Интервал обновления (в сек): 60
            perf_counter[counter,XXX]
            perf_counter еще и время позволяет указать? Ишь какой. Тогда 10m, полагаю. И при этом можно снять нагрузку по вычислению триггера с Zabbix Server, беря только последнее значение (оно же вычислено уже на клиенте, так?)

            {Templateerf_counter[\236(C\408,YYY].min(ZZZ)}<10)
            {Templateerf_counter[\236({#FSNAME})\408,10m].last()}<10)
            не знаю, что такое "<10", надеюсь что правильное число.

            получается некоторые машину участники 2-х групп
            Ничего противоестественного в этом не вижу.

            Comment

            • friis
              Member
              • Sep 2016
              • 65

              #21
              (оно же вычислено уже на клиенте, так?)
              ну вообщем да - но вы меня как то смутили

              теперь получается устанавливаем в перф каунтере в счетчике 10м - оно же перебегает и в триггер,


              min Вы поменяли на last причем без параметра (),

              оригинально

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #22
                Originally posted by friis
                ну вообщем да - но вы меня как то смутили
                min Вы поменяли на last причем без параметра (),
                оригинально
                Ничего оригинального. Заббикс - он гибкий.
                Если вам нужно устоявшееся в течении N периодов, то можно применить min(#N)>500 (с логикой - менее, чем 500 единиц за N периодов не не было) или max(#N)<105 (максимальное значение не превышало 105).

                В случае же достаточностью анализа среднего значения (о чем вы сообщили только сегодня: "требуется сработка(флаг проблема) по значению среднему в течении 10 минут"), уже вычисленного на клиенте - last() вполне себе смотрится в триггере.

                Comment

                • friis
                  Member
                  • Sep 2016
                  • 65

                  #23
                  по этой инструкции пытаюсь создать анализ свободного пространства на дисках и загрузку дисков:


                  поставил в шаблон обнаружение, создал прототипы элементов данных - 2 набора (для free space, disk load), создал 2 прототипа триггеров


                  Сразу всплыли 2 проблемы:

                  маленькая:
                  автообнаружение нашло диски Адисководов для дискет у меня нет вообще), Dреально существующие но в Azure существующий для служебных целей), некоторые (какие то фантомы - которых никогда не было - они серые - черт с ними)

                  вопрос: как в фильтре прописать исключение дисков А: и D: ? (интересует имеено выражение в фильтре или какой другой способ)


                  большая:
                  в инструкции - где приводится пример - хитро умолчали о создании действия
                  так вот как создать действие ? а именно условие действия - ибо предложенный здесь ранее вариант с "группой узлов" похоже не подходит - т.к. - пробовал- если будут 2 группы "free space on disks" , "load disks" - все узлы надо включать в каждую из этих групп, и действие начинает реагировать на чужой признак и происходит сработка 2-х действий - вообщем то логично - т.к. комп на котором проблема входит в 2 группы и происходит 2 сработки - одно из них ложное .

                  Comment

                  • sadman
                    Senior Member
                    • Dec 2010
                    • 1611

                    #24
                    Originally posted by friis
                    по этой инструкции пытаюсь создать анализ свободного пространства на дисках и загрузку дисков:


                    Сразу всплыли 2 проблемы:

                    маленькая:
                    ...
                    автообнаружение нашло диски Адисководов для дискет у меня нет вопрос: как в фильтре прописать исключение дисков А: и D: ? (интересует имеено выражение в фильтре или какой другой способ)
                    https://www.zabbix.com/documentation...evel_discovery:

                    Фильтры Фильтр можно использовать только для генерирования реальных элементов данных, триггеров и графиков конкретных файловых систем. Ожидается использование Расширенные регулярные выражения POSIX. Например, если вы заинтересованы только в файловых системах C:, D: и E:, вы можете поместить {#FSNAME} в поле “Макрос” и регулярное выражение "^C|^D|^E" в текстовые поля “Регулярное выражение”. Фильтрация также возможна по типам файловых систем, при использовании макроса {#FSTYPE} (например, "^ext|^reiserfs").

                    большая:
                    так вот как создать действие ? а именно условие действия - ибо предложенный здесь ранее вариант с "группой узлов" похоже не подходит - т.к. - пробовал- если будут 2 группы "free space on disks" ,
                    Вообще не понимаю, чего пытаетесь выстругать. Поэтому советы иссякли.

                    Comment

                    • friis
                      Member
                      • Sep 2016
                      • 65

                      #25
                      я попробую по другому объяснить - расписав по пунктам - на каком Вы останавливаетесь - скажите

                      1. в шаблоне создается правило обнаружения vfs.fs.discovery
                      2. создается два прототипа элементов данных с ключами vfs.fs.size[{#FSNAME},pfree] - для мониторинга свободного места
                      perf_counter["\LogicalDisk({#FSNAME})\Disk Transfers/sec",60] - для мониторинга нагрузки на диск

                      3. Создается 2 триггера:
                      {01lld discovery friis:vfs.fs.size[{#FSNAME},pfree].last()}<10 - для исчерпания свободного места
                      {01lld discovery friiserf_counter["\LogicalDisk({#FSNAME})\Disk Transfers/sec",60].avg(30)}>200 - для высокой нагрузки на диск


                      теперь необходимо создать действие - которое бы оповещало в случае если триггер - "проблема", в оповещении - "на таком то диске на такой то машине - проблема"

                      4. Создаю группу узлов - "Free space" и включаю туда все машины
                      Создаю группу узлов - "Disk space " и включаю туда все машины

                      5. Создаю 2 действия - но в условии что выбирать ? - если выбрать d в одном действии группа узлов = "free space", а в другом действии - условие = "Disk space " -------- при проблеме нехватки места - сработают оба действия (т.к. узлы включены в обе группы )

                      Comment

                      • sadman
                        Senior Member
                        • Dec 2010
                        • 1611

                        #26
                        Originally posted by friis
                        я попробую по другому объяснить - расписав по пунктам - на каком Вы останавливаетесь - скажите
                        Зачем вам два действия? Может зря колотитесь с ними.

                        Для того, что вы описали, единственное что мне приходит в голову на данный момент, это Zabbix3 event tags.

                        {01lld discovery friis:vfs.fs.size[{#FSNAME},pfree].last()}<10 - tag "ThereIsNotRoom"

                        {01lld discovery friiserf_counter["\LogicalDisk({#FSNAME})\Disk Transfers/sec",60].avg(30)}>200 - tag "ImVeryBusy"

                        В экшне укажете tag=="ThereIsNotRoom" - слать письмо петрову
                        tag=="ImVeryBusy" - слать смс иванову.

                        Только не спрашивайте, как тэги писать - у меня v2.4.

                        Comment

                        • friis
                          Member
                          • Sep 2016
                          • 65

                          #27
                          Например, если вы заинтересованы только в файловых системах C:, D: и E:, вы можете поместить {#FSNAME} в поле “Макрос” и регулярное выражение "^C|^D|^E"
                          Спасибо - отработало - правда час потерял что без кавычек надо

                          Только не спрашивайте, как тэги писать - у меня v2.4.
                          с тегами все сработало тег disk=full, disk=busy - чужие действия не дергаются


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

                          но при попытке создать второе правило - "ключ vfs.fs.discovery уже используется в другом правиле" - наверно я уже много хочу от заббикса

                          Спасибо за Помощь!

                          Comment

                          • friis
                            Member
                            • Sep 2016
                            • 65

                            #28
                            Ну что ж если второе правило не создать - закроем ?

                            Comment

                            • sadman
                              Senior Member
                              • Dec 2010
                              • 1611

                              #29
                              Originally posted by friis
                              Ну что ж если второе правило не создать - закроем ?
                              Разве что извращаться с Alias

                              Comment

                              • friis
                                Member
                                • Sep 2016
                                • 65

                                #30
                                нет извращаться мы не будем, в целом все завелось


                                теперь наверно тюнинг ?

                                среди серваков накрытых получившимся шаблоном - в котором обнаружение,
                                есть одна паршивая овца - нагрузка на нем на конкретном диске периодически - запредельная - это нормально
                                но он сигнализирует об этом постоянно
                                может подскажете ? может есть какое исключение или еще что ?

                                Садман - отдельное спасибо - респект и уважуха по участию!

                                Comment

                                Working...