Ad Widget

Collapse

zabbix прикрутить светофор

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • VGusev2007
    Junior Member
    • Mar 2015
    • 10

    #1

    zabbix прикрутить светофор

    Добрый день уважаемые Коллеги!

    Очень давно, хотелось попробовать такую штуку:

    Пусть имеется, три лампы.

    Кр. Желт. Зел.

    Хочу:
    1. При наличии Критичного, не подтверждённого события, зажигать красную лампу. И тушить жёлтую.
    2. При наличии любого не подтверждённого события, кроме "Критичного", зажигать жёлтую лампу.
    3. При отсутствии не подтверждённых событий, хочу зажигать зелёную лампу.


    Каким образом, это наиболее грамотно реализовать? Спрашивать планирую через bash или чем-то подобным, с openwrt узла, который будет управлять "светофором".

    Я посмотрел, и увидел, что zabbix имеет, множество Json API. Можете подсказать, какие API, мне наиболее подходят? Чтобы наименее костылить.

    P.S. опыта программирования не имею. По сему, хотелось бы попроще.
  • Zentarim
    Senior Member
    • Mar 2012
    • 526

    #2
    Originally posted by vgusev2007
    Добрый день уважаемые Коллеги!

    Очень давно, хотелось попробовать такую штуку:

    Пусть имеется, три лампы.

    Кр. Желт. Зел.

    Хочу:
    1. При наличии Критичного, не подтверждённого события, зажигать красную лампу. И тушить жёлтую.
    2. При наличии любого не подтверждённого события, кроме "Критичного", зажигать жёлтую лампу.
    3. При отсутствии не подтверждённых событий, хочу зажигать зелёную лампу.


    Каким образом, это наиболее грамотно реализовать? Спрашивать планирую через bash или чем-то подобным, с openwrt узла, который будет управлять "светофором".

    Я посмотрел, и увидел, что zabbix имеет, множество json api. Можете подсказать, какие api, мне наиболее подходят? Чтобы наименее костылить.

    P.s. опыта программирования не имею. По сему, хотелось бы попроще.
    Первый вопрос, который у меня возник:
    1) Каким образом ваш "светофор" подключен к компьютеру? Через какой-то контроллер?

    Comment

    • VGusev2007
      Junior Member
      • Mar 2015
      • 10

      #3
      Originally posted by zentarim
      Первый вопрос, который у меня возник:
      1) Каким образом ваш "светофор" подключен к компьютеру? Через какой-то контроллер?
      Вариантов много, например: Tl-mr3020

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Может через ардуину будет интересней: https://www.zabbix.com/forum/showthread.php?t=49200
        Только не берите скетч с первого поста - он там жутко устаревший. Актуальный код находится на https://github.com/zbx-sadman/zabbuino

        В каталоге examples есть SendStateToZabbuino.sh - можете взять в качестве базы и править без сожаления. Даже в роутер запихать. Только наврядли в *WRT есть bash - придется адаптировать под busybox и раздельно дергать GPIO.

        Comment

        • VGusev2007
          Junior Member
          • Mar 2015
          • 10

          #5
          Originally posted by sadman
          Может через ардуину будет интересней: https://www.zabbix.com/forum/showthread.php?t=49200
          Только не берите скетч с первого поста - он там жутко устаревший. Актуальный код находится на https://github.com/zbx-sadman/zabbuino

          В каталоге examples есть SendStateToZabbuino.sh - можете взять в качестве базы и править без сожаления. Даже в роутер запихать. Только наврядли в *WRT есть bash - придется адаптировать под busybox и раздельно дергать GPIO.
          Ардуина - для меня слишком круто. Уже есть указанный выше маршрутизатор. Его плюс в том, что за 1600 руб. я получил железку с несколькими GPIO с линуксом на борту, и wifi! Мне беспроводная сеть, в случае со светофором, весьма импонирует, так-как железку можно перемещать и т.д.

          https://www.zabbix.com/forum/showthr...t=15813&page=2 вот тут, похоже есть то, что мне надобно. В WRT, может нету bash, не знаю. Вот тут могут быть сложности, конечно. Надо смотреть. Я думаю, что я постараюсь, часть логики повесить на сам zabbix, железка будет только вычитывать результаты с него, и зажигать лампы.

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            Originally posted by VGusev2007
            Ардуина - для меня слишком круто. Уже есть указанный выше маршрутизатор.
            Ну, если вам паяться к SMD проще, то конечно лучше маршрутизатор ))

            Originally posted by VGusev2007
            https://www.zabbix.com/forum/showthr...t=15813&page=2 вот тут, похоже есть то, что мне надобно.
            Заводить perl на такой мелкотне - это из области пайки к SMD. Я бы, наверное, зашел со стороны HID-устройств. USB там есть, kmod-usb-* для openwrt/cyberwrt тоже есть. Останется изобразить что-то вроде http://h-wrt.com/en/doc/kb и http://geektimes.ru/post/257538/ и дергать шелл-скриптом с заббикса параметры через api.

            Comment

            • VGusev2007
              Junior Member
              • Mar 2015
              • 10

              #7
              Originally posted by sadman
              Ну, если вам паяться к SMD проще, то конечно лучше маршрутизатор ))


              Заводить perl на такой мелкотне - это из области пайки к SMD. Я бы, наверное, зашел со стороны HID-устройств. USB там есть, kmod-usb-* для openwrt/cyberwrt тоже есть. Останется изобразить что-то вроде http://h-wrt.com/en/doc/kb и http://geektimes.ru/post/257538/ и дергать шелл-скриптом с заббикса параметры через api.
              Пока у меня, идея такая: прицепить к USB порту клавиатуру, и мигать Num/Cups/Scr - светодиодами. - Т.е. паять вообще не надо будет роутер! А потом, от светодиодов, перейти уже хоть на твердотельные реле, хоть на что угодно. Меня сейчас исключительно волнует zabbix.

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #8
                Тогда, полагаю, вам нужен https://www.zabbix.com/documentation...ce/trigger/get

                Пример того, как его дернуть через .sh можете глянуть в моем SendStateToZabbuino.sh. Делая запрос с флагом "withUnacknowledgedEvents" получите неподтвержденные события, пересчитав строки, отобранные по приоритету - отделите кол-во критичных от некритичных. А там уж поджигайте клавиатуру.

                Comment

                • VGusev2007
                  Junior Member
                  • Mar 2015
                  • 10

                  #9
                  Originally posted by sadman
                  Тогда, полагаю, вам нужен https://www.zabbix.com/documentation...ce/trigger/get

                  Пример того, как его дернуть через .sh можете глянуть в моем sendstatetozabbuino.sh. Делая запрос с флагом "withunacknowledgedevents" получите неподтвержденные события, пересчитав строки, отобранные по приоритету - отделите кол-во критичных от некритичных. А там уж поджигайте клавиатуру.
                  Шикарно! Попробую! Спасибо! Если чего, отпишусь тут, или в л/с. Хорошо?

                  А вот это, возьму как за hardware основу: http://geektimes.ru/post/257538/

                  Comment

                  Working...