Ad Widget

Collapse

LLD Grandstream DP750

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #16
    в движке js в забиксе не работают стрелочные функции. будьте проще! :-)
    чтобы вытащить из портянки нужное значение есть стандартный путь - jsonpath

    для вашего случая что-то вроде $[?(@.Account=="{#ACCOUNT}")].Registered.first()
    Last edited by Hamardaban; 01-02-2024, 08:57.

    Comment

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

      #17
      Originally posted by kharkov_max
      PS или эта строка не нравится
      Code:
      var els = value.filter((item) => item.Account === "{#ACCOUNT}");
      Да, стрелочные функции этой версией JavaScript не поддерживаются.
      А зачем вообще изобретать велосипед и в данном случае делать предорбработку через JavaScript, если есть возможность использовать JSONPath?

      Comment

      • kharkov_max
        Member
        • Mar 2016
        • 83

        #18
        Получается так что JSONPath уже не получится использовать, значение должен вернуть скрипт из json для прототипа элемента данных

        Comment

        • kharkov_max
          Member
          • Mar 2016
          • 83

          #19
          Переделал скрипт в прототипе на
          Code:
          var reg = null;
          for (var i = 0; i < value.length; i++) {
            var item = value[i];
            if (item.Account === '{#ACCOUNT}') {
              reg = item.Registered;
            }
          }
          return reg;​
          На входе нет ни ошибки ни данных в ide - работает.

          Comment


          • Hamardaban
            Hamardaban commented
            Editing a comment
            Написал же
            чтобы вытащить из портянки нужное значение есть стандартный путь - jsonpath для вашего случая что-то вроде $[?(@.Account=="{#ACCOUNT}")].Registered.first()
        • kharkov_max
          Member
          • Mar 2016
          • 83

          #20
          Спасибо заработало, ранее с подобным не сталкивался, почитаю доки...

          Есть еще вопрос, к девайсу может быть подключено до 5 трубок у каждой свой внутренний номер, выдернуть номер телефона через АПИ не возможно, не позволяет, но есть ручное понимание где и какой номер.
          Можно как то завязаться на макросы узла и их индекс что бы добавить вн номер в прототип элемента

          К примеру {$Phone1} = 301, {$Phone2} = 302, и как то привязать {$Phone1} = {#HSMODE} где {#HSMODE} = HS1, 1 это по сути индекс который будет связывать пользовательский макрос 'внутренний номер' и конкретный Account

          Comment

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

            #21
            Originally posted by kharkov_max
            Есть еще вопрос, к девайсу может быть подключено до 5 трубок у каждой свой внутренний номер, выдернуть номер телефона через АПИ не возможно, не позволяет, но есть ручное понимание где и какой номер.
            Можно как то завязаться на макросы узла и их индекс что бы добавить вн номер в прототип элемента
            Почитайте про пользовательские макросы с контекстом (ссылка) - они вполне применимы к данной задаче.

            Comment

            • kharkov_max
              Member
              • Mar 2016
              • 83

              #22
              Что то лыжи не едут ...
              Создал пользовательский макрос
              Code:
              {$PHONE:HS1} = 101
              Создал прототип элемента в lld
              Code:
              Registered.[{#ACCOUNT}]-[{#HSMODE}]-{$PHONE:{#HSMODE}}
              {#HSMODE}} равно HS[1-5]

              Получаю имя прототипа элемента как LLD: account: Registered.[Account1]-[HS1]-{$PHONE:HS1}
              а хотелось бы в виде LLD: account: Registered.[Account1]-[HS1]-101

              Что делаю не так ? может чего не допонял ....

              Comment

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

                #23
                Originally posted by kharkov_max
                Получаю имя прототипа элемента как LLD: account: Registered.[Account1]-[HS1]-{$PHONE:HS1}
                а хотелось бы в виде LLD: account: Registered.[Account1]-[HS1]-101

                Что делаю не так ? может чего не допонял ....
                Прошу прощения, ввёл в заблуждение. Не заметил, что речь идёт не о ключе элемента данных, а об имени.
                К сожалению, именно в имени пользовательские макросы (в том числе с контекстом) использовать нельзя. Точнее, было можно до версии 5.4 включительно, в версии 6.0 это дело поломали (из лучших побуждений), теперь по многочисленным просьбам возмущённых пользователей собираются вернуть в версии 7.0. Но пока на всех версиях 6.х это не работает

                На данный момент единственный работающий workaround - это при помощи препроцессинга (с типом "JavaScript") в правиле обнаружения добавлять нужные LLD-макросы, причём за основу при этом можно брать таблицу, прописанную в виде user macro. Если интересно, могу расписать подробнее.

                Comment

                • kharkov_max
                  Member
                  • Mar 2016
                  • 83

                  #24
                  Распишите пожалуйста. Ехать сейчас хочется.

                  Comment

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

                    #25
                    Originally posted by kharkov_max
                    Распишите пожалуйста. Ехать сейчас хочется.
                    Ну, собственно, оно уже расписано вот здесь (ссылка)

                    Comment

                    • kharkov_max
                      Member
                      • Mar 2016
                      • 83

                      #26
                      Вроде 7 lts а первом квартале 2024, думаю подождать, не долго осталось ..

                      Comment

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

                        #27
                        Originally posted by kharkov_max
                        Вроде 7 lts а первом квартале 2024, думаю подождать, не долго осталось ..
                        Тсс... Только никому не говорите, но по неофициальной информации ожидаемый срок релиза - "весна 2024", а более конкретно даже в неофициальных разговорах никто не берёт на себя смелость сказать точнее То есть, пока что - не раньше марта, не позже мая

                        Comment

                        Working...