Ad Widget

Collapse

Zabbix элементы данных с множеством возвращае&

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • McLeod095
    Member
    • Mar 2010
    • 40

    #1

    Zabbix элементы данных с множеством возвращае&

    Добрый день!
    Недавно появилась задача мониторить веб страницу. Почитав документацию понял что есть в заббиксе уже инструмент для всего этого дела. Настроил и порадовался скорости создания таких проверок.
    И тут же возникла пара вопросов:
    1. Можно ли данные проверки делать через шаблоны, если нет то планируется в дальнейшем такое? просто не очень удобно переносить большое количество проверок не через шаблоны.
    2. Планируется или есть ли способ создания аналогичных элементов данных которые смогут возвращать более одного значения? Допустим есть табица в БД, через тотже ODBC я могу выполнить запрос и получить одним запросом данные о размере таблицы и количестве строк в этой таблице, ну и много таких проверок можно придумать. Сейчас для двух этих параметров мне приходится создавать два элемента данных которые будут выполнять разные запросы, получается что при увеличении контролируемых параметров увеличивается и количество запросов, хотя все данные можно получить одним запросом.

    ЗЫ: используемая версия zabbix 2.0.9
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by McLeod095
    Добрый день!
    Недавно появилась задача мониторить веб страницу. Почитав документацию понял что есть в заббиксе уже инструмент для всего этого дела. Настроил и порадовался скорости создания таких проверок.
    И тут же возникла пара вопросов:
    1. Можно ли данные проверки делать через шаблоны, если нет то планируется в дальнейшем такое? просто не очень удобно переносить большое количество проверок не через шаблоны.
    2. Планируется или есть ли способ создания аналогичных элементов данных которые смогут возвращать более одного значения? Допустим есть табица в БД, через тотже ODBC я могу выполнить запрос и получить одним запросом данные о размере таблицы и количестве строк в этой таблице, ну и много таких проверок можно придумать. Сейчас для двух этих параметров мне приходится создавать два элемента данных которые будут выполнять разные запросы, получается что при увеличении контролируемых параметров увеличивается и количество запросов, хотя все данные можно получить одним запросом.

    ЗЫ: используемая версия zabbix 2.0.9
    п.1: вроде как запилили в 2.2 (хотя сам этим не пользуюсь, могу ошибаться)
    п.2: А как вы себе это представляете? Айтем с названием "Размер БД:колво строк" со значением "4Gb:144313"? А как на это триггер навесить? В общем весь забикс следует идеологии - 1 айтем - одна метрика (либо физическая "размер свободного места, кол-во соединений", либо логическая "фтп работает, почта доставляется"), а вы же ходите сделать "все совсем по другому". Посмотрите на формат хранение "строка" или "журнал", возможно оно именно то, что вы хотите.

    Comment

    • McLeod095
      Member
      • Mar 2010
      • 40

      #3
      Ну так для веб-мониторинга это сделано же.
      Я конечно не смотрел там код но такое ощущение что при простом запросе статуса страницы curl возвращает не только код ответа но и время ответа и тп, и уже автоматом создаются необходимые элементы данных. Все отлично. И далее я так понял что все эти проверки не запускаются заббиксом а пускается всего одна, которая возвращает множественные значения и уже записывает для каждого отдельного элемента данных свои значения.
      Лучше конечно с этим вопросом к разработчикам, они уж точно скажут как это работает.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        Originally posted by mcleod095
        Ну так для веб-мониторинга это сделано же.
        Я конечно не смотрел там код но такое ощущение что при простом запросе статуса страницы curl возвращает не только код ответа но и время ответа и тп, и уже автоматом создаются необходимые элементы данных. Все отлично. И далее я так понял что все эти проверки не запускаются заббиксом а пускается всего одна, которая возвращает множественные значения и уже записывает для каждого отдельного элемента данных свои значения.
        Лучше конечно с этим вопросом к разработчикам, они уж точно скажут как это работает.
        Можно пойти простым путем: настроить проверку тестового хоста и позырить в лог. Можно сложным: самостоятельно позырить в код.

        Comment

        • McLeod095
          Member
          • Mar 2010
          • 40

          #5
          Ну в код я не полез
          Но вот tcpdump посмотрел что происходит
          Проверка у меня простая, достучаться до страницы и все
          В элементах данных вот что создалось автоматом

          Время ответа для шага "ASAP Balancer" сценария "ASAP_Monitoring".
          Код ответа для шага "ASAP Balancer" сценария "ASAP_Monitoring".
          Неудачный шаг в сценарии "ASAP_Monitoring".
          Последнее сообщение об ошибке в сценарии "ASAP_Monitoring".
          Скорость загрузки для сценария "ASAP_Monitoring".
          Скорость загрузки для шага "ASAP Balancer" сценария "ASAP_Monitoring".

          То есть на одну проверку веб мониторинга автоматом создалось 6 элементов данных. По идее должно быть 6 запросов к странице, ну или 4, если быть более точным. По tcpdump я виду только один запрос на страницу и отчет на него в виде страницы. Получается что все элементы данных заполняются по одному запросу.

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #6
            К сожалению, это реализовано в виде особенности кэширования (читай подкостыливании) web checks и начиная с 2.2 для icmp* simple checks. Для двух абстрактных элементов данных реализовать такое невозможно. Для некоторых задач хватило бы механизма позволяющего управлять пулингом, т.е. указать что "вот эти" элементы данных надо пулить одновременно или с минимальным зазором по времени (подряд), но, видимо, желающих на такой функционал не много, поэтому единственный способ реализовать подобные задачи это собственный пуллер, который отдает данные через zabbix_sender API. Впрочем траппер это хорошее решение, специфичный для ваших нужд пуллер в целом и нагрузку на сервер даст гораздо меньшую.

            Comment

            Working...