Ad Widget

Collapse

Триггер СостояниеКрышки=1 И ОшибкаПринтера=0

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lpn672
    Junior Member
    • Feb 2021
    • 3

    #1

    Триггер СостояниеКрышки=1 И ОшибкаПринтера=0

    Приветы.

    Подскажите что-то я запутался...

    Имеем принтер со статусами (по SNMP):
    - "СостояниеКрышки" = 3 - открыта, 4 - закрыта
    - "КодОшибки" = 0 - все ОК, 8 - открытие крышки [бит 3], 16 - замятие сканер [бит 4], 32 - замятие принтер [бит 5]

    Есть триггер ("СостояниеКрышки"=3) => Alert, работает, но не красиво. Он срабатывает при любом открытии крышки.

    Нужно по-другому ("СостояниеКрышки"=3 И ("КодОшибки" ЛОГ_И 0x0100000) <>0) => Alert - т.е. принтер открыли, а ошибок или не было вообще или не было замятия. Т.е. открытие крышки для сканирования не должно вызывать срабатывание.

    И никак не могу сложить педали. Опрос статусов идет с разным интервалом (30s, 60s) и нужно, чтобы "СостояниеКрышки" (зависило) от "КодОшибки" и проверялось только если "КодОшибки"<>0 и к тому же "КодОшибки"[бит 5]=1
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3406

    #2
    Для проверки конкретного бита в целочисленном значении есть триггерная функция band(). Ну и count() это тоже умеет.

    Comment

    • lpn672
      Junior Member
      • Feb 2021
      • 3

      #3
      Originally posted by Kos
      Для проверки конкретного бита в целочисленном значении есть триггерная функция band(). Ну и count() это тоже умеет.
      На счет band() - спасибо.

      Если мне нужно проверить установлен ли 3-й бит (BIN 00001000, DEC 8), то делаем так:
      {key.band(,8)}=8
      Так правильно?

      И еще.
      А как быть с очередностью поступления данных? Например, данные по OID "СостояниеКрышки" придет раньше OID "КодОшибки".
      Условие ведь говорит о том, что выставить алярм только если кто-то открыл принтер и при этом нет замятия и он не сканирует... Т.е. крадет картридж
      Last edited by lpn672; 04-02-2021, 16:06.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3406

        #4
        Originally posted by lpn672
        Если мне нужно проверить установлен ли 3-й бит (BIN 00001000, DEC 8), то делаем так:
        {key.band(,8)}=8
        Так правильно?
        Насколько я понимаю документацию, - да.
        Originally posted by lpn672
        А как быть с очередностью поступления данных?
        Тут быстро не ответить :-(
        Поскольку эта тема регулярно всплывает в разных вариантах, наверное, правильным будет дописать отдельную секцию в FAQ и на неё ссылаться :-)
        Постараюсь так и сделать.

        Comment

        • lpn672
          Junior Member
          • Feb 2021
          • 3

          #5
          Originally posted by Kos
          Тут быстро не ответить :-(
          Поскольку эта тема регулярно всплывает в разных вариантах, наверное, правильным будет дописать отдельную секцию в FAQ и на неё ссылаться :-)
          Постараюсь так и сделать.
          Прошу пардону
          Не нашел... А где у нас FAQ ?

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3406

            #6
            Originally posted by lpn672
            Прошу пардону
            Не нашел... А где у нас FAQ ?
            Пытались делать когда-то очень давно :-)
            Говорю же: чуть выкрою время, обновлю.

            (добавлено): ну вот, обновил, как и обещал (ссылка).
            Last edited by Kos; 05-02-2021, 17:33.

            Comment

            Working...