Ad Widget

Collapse

Задержка lld

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pseudo
    Junior Member
    • Mar 2017
    • 2

    #1

    Задержка lld

    Здравствуйте!
    Имею странную проблему:
    Создаю Discovery Rule, тип — zabbix trapper. В нем Item Prototype, тип zabbix trapper.
    При выполнении
    zabbix_sender -k logger.discovery -z monitor -s ${host} -o "${message_discovery}"
    Все создается OK. Но если сразу же выполнить
    zabbix_sender -k logger.item[${message_item}] -z monitor -s ${host} -o "${inputstr}"
    Получу
    info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.000206"
    А вот если подождать некоторое время, то все будет OK.

    Собственно, что делается:
    Имеется центральный сервер, на который сливаются логи от множества других. rsyslog перенаправляет некоторые из них на скрипт, который логи парсит и должен, по задумке, при возникновении ошибки в скриптах отдавать заббиксу информацию, на каком сервер, в каком скрипте и в какой строке ошибка. Ошибки могут повторяться.

    Идея была такова: при получении ошибки генерируем trap с discovery, сразу наливаем в полученный item сообщение. Trap — потому как нужно, чтобы ошибка светилась как trigger того хоста, на котором возникла, а не логсервера. Trap для discovery, потому как для каждой повторяющейся ошибки должно быть отдельное срабатывание, но одно, а не на каждый случай ее возникновения.

    В общем, все было бы хорошо, если бы discovered items были бы доступны для заливания в них трапов сразу. Но нет.

    Потому вопрос: что делать? Есть ли возможность уговорить zabbix видеть discovered items сразу и сразу же принимать для них данные?
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Да, я тоже на это наталкивался. Реально между отсылкой на сервер JSON-а для дискаверинга и созданием нужных объектов (элементов данных и триггеров) проходит около полуминуты, для надёжности я в своих скриптах жду минуту (прежде чем передавать в свежесозданные айтемы сами данные). Боюсь, что повлиять на это мы не можем - оно так работает, как говорится, "by design". Можем только учитывать такое поведение и добавлять задержки на обработку LLD.

    Comment

    • pseudo
      Junior Member
      • Mar 2017
      • 2

      #3
      Вот я тоже пришел к такому же решению: отработал дисавери, уложил сообщение в спул, отправил его через минуту или позже. Но как-то неаккуратненько.

      Comment

      Working...