Не удалось отправить запрос ошибочный тип правила обнаружения

Log inSkip to main contentSkip to sidebar

Uploaded image for project: 'ZABBIX BUGS AND ISSUES'

  1. ZABBIX BUGS AND ISSUES
  2. ZBX-19109
    XMLWordPrintable

Details


    • Type:


      Problem report

    • Status:

      Closed


    • Priority:


      Trivial

    • Resolution:

      Fixed


    • Affects Version/s:



      5.2.4

    • Fix Version/s:



      None


    • Component/s:


      None

    Description

      Установили Template Tel Asterisk by HTTP: Asterisk: Get stats: SIP peers discovery шаблон
      но не отрабатывает обнаружение SIP peers discovery. Ошибка Не удалось отправить запрос
      Не удалось отправить запрос: ошибочный тип правила обнаружения.

      Attachments

        Activity

          People

            Votes:
            0

            Vote for this issue

            Watchers:

            1

            Start watching this issue

            Dates

              Created:

              2021 Mar 10 12:32
              Updated:

              2021 Mar 10 17:29
              Resolved:

              2021 Mar 10 17:29

              Size:
              a
              a
              a

              2020 August 14

              ну, берите если вам так удобнее

              в правиле обнаружения…просто в основном элементе данных уже есть подготовленный json со списком дисков,  почему просто не взять диски оттуда?

              а он оттуда и берёт

              в правиле обнаружения…просто в основном элементе данных уже есть подготовленный json со списком дисков,  почему просто не взять диски оттуда?

              дискавери зависит от этого же точно WMI get

              триггер->действие->скрипт в API -> деактивация item-a

              Все перелопатил в 4.2 нет

              Хотя странно, братья Латыши ж

              Не странно ) Братья американцы Гейтс и Джобс как-то не особо дружили

              При выполнении обнаружения выводит сообщение «Не удалось отправить запрос: ошибочный тип правила обнаружения.»

              Но все таки я не понимаю =))

              У каждой метрики должен быть уникальный ключ. В данном случае это зависимая метрика и имя ключа просто совпадает с аналогичным из встроенного в агента. Для однотипности. Правило обнаружения зависит от мастер метрики, так же как и прототипы в этом правиле обнаружения. Сделано для уменьшения количества опросов — не каждый ключ генерит запрос, а один мастер за раз получает все значения в json. Потом все зависимые от мастера матрики получают свои значения с помощью препроцессинга

              У каждой метрики должен быть уникальный ключ. В данном случае это зависимая метрика и имя ключа просто совпадает с аналогичным из встроенного в агента. Для однотипности. Правило обнаружения зависит от мастер метрики, так же как и прототипы в этом правиле обнаружения. Сделано для уменьшения количества опросов — не каждый ключ генерит запрос, а один мастер за раз получает все значения в json. Потом все зависимые от мастера матрики получают свои значения с помощью препроцессинга

              я пытаюсь с помощью препроцессинга получить данные, точно знаю что данные в мастер метрике у меня вот такие https://codebeautify.org/jsonviewer/cb70f322

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

              Спасибо парни за оперативный ответ!
              И на сам деле жаль, что не реализована данная тема, было бы очень круто…

              А зачем прокси на роутере? У роутера подходящий диск для работы с базой данных и много свободного места? Вряд ли. Обычно стоит флэш для прошивки и логов. С большой долей вероятности впаянный. Базой данных вы его быстро ушатаете и роутер останется только выбросить

              и в чём проблема?

              Когда пытаюсь правило обнаружение выполнить пишет «ошибочный тип правила обнаружения.»

              Когда пытаюсь правило обнаружение выполнить пишет «ошибочный тип правила обнаружения.»

              что указано в правиле в поле Type?

              тип зависимый элемент данных

              тип зависимый элемент данных

              замечательно. а как настроен мастер элемент?

              тип заббикс агент, читает фаил потом через js формирует json который я оптравлял

              А зачем прокси на роутере? У роутера подходящий диск для работы с базой данных и много свободного места? Вряд ли. Обычно стоит флэш для прошивки и логов. С большой долей вероятности впаянный. Базой данных вы его быстро ушатаете и роутер останется только выбросить

              чтобы не терять данные при пропадании интернета. в обычном микротике свободно 40-50 мегабайт что оперативной памяти, что на диске. Базу в 10-20 мегабайт в памяти можно было бы держать, а это сутки-двое логов. Это для того, чтобы не ставить сервер на филиал из 3 компьютеров

              тип заббикс агент, читает фаил потом через js формирует json который я оптравлял

              Type of information у него какой?

              Содержание

              1. Ответы (1)
              2. четверг, 19 октября 2017 г.
              3. В системе мониторинга Zabbix элемент данных vfs.file.exists[] отображает статус «не поддерживается»
              4. 3 комментария:
              5. Введение
              6. Немного истории
              7. Как всё выглядит теперь
              8. Подготовка
              9. Настройка хоста
              10. Заключение

              401 просмотра

              1 ответ

              7 Репутация автора

              Я использую Zabbix 3.2 для более чем 100 виртуальных машин (Windows, Linux, Mac), и я добавил скрипт для всех виртуальных машин Windows. Сценарий является локальным для каждой виртуальной машины, и agentd.conf имеет:

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

              Когда я перехожу к пунктам «Предметы», присутствует красный «i», статус «Не поддерживается», а над красным «i» говорится:

              Полученное значение [В настоящее время к этому удаленному компьютеру нельзя устанавливать больше соединений, поскольку количество подключений, которое может принять компьютер, уже существует] не подходит для типа значения [Числовой (без знака)] и типа данных [Десятичный].

              Я нахожу это очень странным, поскольку локально наблюдать за виртуальной машиной и не использовать RDP. Я пытался использовать общую папку и иметь сценарий в 1 месте. Это явно не сработало, поэтому я делаю это локально.

              В журнале написано «old_random_var не поддерживается». Это еще один параметр, который работает в zabbix, но предоставляет этот журнал. Еще раз, этот old_var совершенно не связан с var.

              Использование zabbix_get говорит о том, что элемент не поддерживается.

              Любой совет будет принята с благодарностью.

              E: Интересное дополнение, из всех узлов, оно работает примерно в 20 случайных, а не в других. В этих узлах нет НИЧЕГО уникального. Совершенно случайно.

              Ответы (1)

              плюса

              3091 Репутация автора

              Пользовательский параметр подключается к Windows FTP. Предел подключения должен быть увеличен на стороне Windows.

              Данный блог был создан как дублирование моей странички www.bubnov.su, но без всяких личных материалов – только то, что касается IT

              четверг, 19 октября 2017 г.

              В системе мониторинга Zabbix элемент данных vfs.file.exists[] отображает статус «не поддерживается»

              3 комментария:

              А триггер ты какой настроил под проверку файла?

              Триггер из ленности настроил «On change» – под мою задачу хватает. хотя по идее, да, надо глубже было копнуть =)

              Введение

              Немного истории

              Для меня описанный функционал был важен в связи с тем, что на нашем предприятии используется несколько СХД от HP, а именно HP MSA 2040/2050, метрики с которых снимаются запросами к их XML API с использованием Python-скрипта.

              В самом начале, когда встала задача наблюдения за обозначенным оборудованием и был найден вариант с использованием API, выяснилось, что в самом простом случае, чтобы узнать, скажем, состояние здоровья одного компонента СХД, требовалось сделать два запроса:

              • Запрос токена аутентификации (session key);
              • Сам запрос, возвращающий информацию по компоненту.

              Теперь представьте, что хранилище состоит из 24 дисков (а может и больше), двух блоков питания, пары контроллеров, вентиляторов, нескольких дисковых пулов и пр. — умножаем всё это на 2 и получаем более 50 элементов данных, что равно стольким же запросам к API при ежеминутных проверках. Если попробовать пойти по такому пути, API быстро «ложится», а ведь мы говорим только о запросе «здоровья» компонентов, не учитывая остальные возможные и интересные метрики — температура, наработка на часы для жестких дисков, скорость вращения вентиляторов и т.д.

              Первым решением, которое я сделал чтобы разгрузить API, еще до выхода Zabbix версии 3.4, было создание кэша для получаемого токена, значение которого записывалось в файл и хранилось N-минут. Это позволило снизить количество обращений к API ровно в два раза, однако, ситуацию сильно не изменило — что-то помимо состояния здоровья получать было проблематично. Примерно в это время я посетил Zabbix Moscow Meetup 2017, устроенный компанией Badoo, где и узнал о упомянутом выше функционале зависимых элементов данных.

              Скрипт был доработан до возможности отдавать подробные JSON объекты, содержащие интересующую нас информацию по различным компонентам хранилища и вывод его стал выглядеть примерно так вместо одиночных строковых или числовых значений:

              Это пример с отдаваемыми данными по всем дискам хранилища. По остальным компонентам картина схожая — ключом является ID компонента, а значением — объект JSON, содержащий нужные метрики.

              Всё было хорошо, но быстро всплыли нюансы, описанные в начале статьи — все зависимые метрики приходилось создавать и обновлять вручную, что было довольно мучительно (порядка 300 метрик на одну СХД плюс триггеры и графики). Нас могло бы спасти LLD, но тут, при создании прототипа, оно не позволяло нам указывать в качестве родительского айтема тот, что не был создан самим правилом, а грязный хак с созданием фиктивного айтема через LLD и подменой его itemid в БД на нужный, ронял сервер Zabbix. В багтрекере Zabbix быстро появились упомянутые фичреквесты, что указывало на то, что данный функционал важен не только мне.

              Т.к. все подготовительные операции с моей стороны были завершены, я решил потерпеть и не плодить временных решений, таких как динамическая генерация шаблона и ждал только закрытия указанных в начале статьи ZBXNEXT’ов и вот совсем недавно это было сделано.

              Как всё выглядит теперь

              Для демонстрации новых возможностей Zabbix мы возьмем:

              • СХД HPE MSA 2040 доступную по протоколу HTTP/HTTPS;
              • Сервер Zabbix 4.0alpha9, установленный из официального репозитория на CentOS 7.5.1804;
              • Скрипт, написанный на Python третьей версии и предоставляющий нам возможность обнаруживать компоненты СХД (LLD) и возвращать данные в формате JSON для парсинга на стороне сервера Zabbix с использованием JSON Path.

              Родительский элемент данных будет представлять собой «внешнюю проверку» (external check), вызывающую скрипт с необходимыми аргументами и хранить полученные данные как текст.

              Подготовка

              Python-скрипт устанавливается в соответствии с документацией и имеет в зависимостях Python библиотеку «requests». Если у вас RHEL-based дистрибутив, установить её можно с помощью пакетного менеджера yum:

              Или с помощью pip:

              Протестировать работу скрипта можно из оболочки, запросив, например, данные LLD о дисках:

              Настройка хоста

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

              Имя — указываем произвольно;
              Тип — внешняя проверка;
              Ключ — вызов скрипта с нужными параметрами (см. документацию скрипта на GitHub);
              Тип информации — текст;
              Интервал обновления — в примере используется пользовательский макрос <$UPDATE>, разворачивающийся в значение «1m»;
              Период хранения истории — один день. Думаю, что хранить родительский элемента данных дольше смысла не имеет.
              Проверяем последние данные по созданному элементу:

              Приходит JSON, значит всё сделано правильно.

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

              После создания правила LLD потребуется создать прототипы элементов данных. Создадим такой прототип, на примере данных о температуре:

              Имя — указываем произвольно;
              Тип — зависимый. В качестве родительского элемента данных выбираем соответствующий созданный ранее элемент;
              Ключ — проявим фантазию, но нужно учесть, что каждый ключ должен быть уникальным, поэтому включим в него макрос LLD;
              Тип информации — в данном случае числовой;
              Период хранения истории — в примере это пользовательский макрос, указывается по вашему усмотрению;
              Период хранения трендов — опять же, пользовательский макрос;

              Так же я добавил прототип «Приложения» — к нему можно удобно привязывать метрики, относящиеся к одному компоненту.

              На вкладке «Препроцессинг» создадим шаг типа «JSON Path» с правилом, извлекающим показания температуры:

              Выражение шага выглядит так: $[‘<#DISK.ID>’][‘temperature’]

              Обратите внимание, что теперь в выражении можно использовать макросы LLD, что не просто значительно упрощает нам работу, но и вообще дает проделывать подобные штуки довольно просто (раньше вас бы направили в Zabbix API).

              Далее, по аналогии с температурой, создадим оставшиеся прототипы элементов данных:

              На этом этапе можно проверить получаемый результат, зайдя в «Последние данные» по хосту. Если там вас всё устраивает, продолжаем работу дальше. Я в итоге получил следующую картину:

              Ждем пока обновится конфигурационный кэш или толкаем его обновление вручную:

              После этого можно воспользоваться еще одной крутейшей «фишкой» версии 4.0 — кнопкой «Check now» для запуска созданных правил LLD:

              У меня получился следующий результат:

              Заключение

              В итоге, всего девятью запросами к XML API мы смогли получить более трехсот метрик с одного узла сети, затратив на это минимум времени и получив максимум гибкости. LLD даст нам возможность автоматически обнаруживать новые компоненты или обновлять старые.

              Спасибо, что читали, ссылки на используемые материалы, а там же на актуальный шаблон для HPE MSA P2000G3/2040/2050 можно найти ниже.

              Понравилась статья? Поделить с друзьями:
            • Не удалось отформатировать выбранный раздел ошибка 0x8004242d при установке
            • Не удалось отменить подписку на хештег как исправить
            • Не удалось отформатировать выбранный диск ошибка 0x80070057
            • Не удалось открыть родительский контроль произошла ошибка повторите попытку позже
            • Не удалось отформатировать выбранный диск ошибка 0x8004242d