Ad Widget

Collapse

Преобразование значений из шаблона

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AQS
    Member
    • Dec 2021
    • 62

    #1

    Преобразование значений из шаблона

    В шаблоне есть элемент использующий Преобразование значений.
    Шаблон прикрепляется к узлу.
    На узле. Исходный элемент копируется.
    У исходного элемента есть преобразование значений в шаблоне.
    У копии Преобразование значений нет. (Оно не может ссылаться на Преобразование значений шаблона, а у узла сети его нет)

    Как максимально быстро скопировать Преобразование значений из шаблона в элемент (желательно автоматически)?
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Originally posted by AQS
    У исходного элемента есть преобразование значений в шаблоне.
    У копии Преобразование значений нет. (Оно не может ссылаться на Преобразование значений шаблона, а у узла сети его нет)
    Если речь идёт о версии 6.0, то преобразование значений в элементе данных узла сети таки прекрасно ссылается на таблицу преобразования, находящуюся в шаблоне.
    Причём, на уровне узла сети (т.е. хоста) это отредактировать нельзя (что вполне логично - нужно идти в шаблон).
    Last edited by Kos; 27-06-2022, 07:52.

    Comment

    • Vedemon
      Junior Member
      • Oct 2019
      • 17

      #3
      Подниму. Zabbix 7.2.2, делаю шаблон, делаю в нем преобразование значений (определенный текст - в 0, по умолчанию - 1), создаю элементы данных (с преобразованиями), триггеры,. Привязываю шаблон к узлу. Элементы данных и триггеры из шаблона подтянулись, а вот преобразования значений - нет :-(. А так как требуется сравнивать текстовые значения, то без преобразования никак. Есть вариант все-таки подтянуть из шаблона преобразования значений? Или максимально быстро склонировать на 400+ узлов?

      Comment

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

        #4
        Возможно, я тогда неправильно понял вопрос, а возможно, что-то поменялось, но в версиях 7.0.x (на данный момент я пробовал в 7.0.8), действительно, в копии элемента данных, унаследнованного из шаблона, нельзя сослаться на таблицу преобразований (value mapping) из шаблона - нужно её каким-то образом копировать на уровень хоста, т.е. узла сети.

        Однако, что касается последнего вопроса, то для меня неясна сама причина такого желания:
        А так как требуется сравнивать текстовые значения, то без преобразования никак.
        Где требуется сравнивать?
        Преобразование значений работает только при визуализации, т.е. для более удобного отображения (в веб-интерфейсе либо оповещениях) числовых значений. В базе данных они всё равно хранятся и обрабатываются (в том числе при вычислении триггерных выражений) в числовом виде.

        Comment

        • Vedemon
          Junior Member
          • Oct 2019
          • 17

          #5
          нужно её каким-то образом копировать на уровень хоста, т.е. узла сети.
          [
          Да, вот и хотелось бы узнать адекватный способ, ибо прописывать на 400+ узлов вручную - вообще не айс :-(
          Где требуется сравнивать?
          Мне, в триггере. По запросу получаются текстовые значения, мне надо сравнивать их с эталонными. Ранее единственный способ сравнить текстовые поля был через преобразование текста в число, а числа уже можно сравнивать. Или что-то поменялось?

          Comment

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

            #6
            Originally posted by Vedemon
            Мне, в триггере. По запросу получаются текстовые значения, мне надо сравнивать их с эталонными. Ранее единственный способ сравнить текстовые поля был через преобразование текста в число, а числа уже можно сравнивать. Или что-то поменялось?
            Повторюсь: в триггере обрабатываются те значения, которые были получены (с учётом предобработки), а не те, которые отображаются с помощью таблицы "Преобразование значений" (Value mapping).
            Сравнивать в триггере строковые значения (на равенство, но не на больше/меньше) можно, как минимум, с версии 6. Если же нужны какие-то дополнительные преобразования полученных значений, то есть мощный механизм предобработки (ссылка) - там можно выбрать из целого ряда уже готовых способов, а если чего-то не хватает, то написать свой собственный на JavaScript (ссылка).
            Сильно сомневаюсь, что вам нужно прописывать что-то на 400+ узлов вручную - сделайте нужные вещи на уровне шаблона. Отладьте сначала на отдельно взятом узле, а потом перенесите это в шаблон.

            Comment

            • Vedemon
              Junior Member
              • Oct 2019
              • 17

              #7
              Иными словами, "Преобразование значений" практически заменили предобработками? Спасибо, буду копать в эту сторону.

              Comment

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

                #8
                Originally posted by Vedemon
                Иными словами, "Преобразование значений" практически заменили предобработками?
                Мне было бы проще ответить на ваш вопрос, если бы я был уверен в том, что правильно понимаю, о каком таком "преобразовании значений" вы говорите.
                Я знаю только одно место, где эта фраза упоминалась именно в таком виде - это настройки элемента данных (item), параметр, который до версии 6.0 в русском переводе назывался "Отображение значений" (что, возможно, и более правильно), а по-аглийски - "Value mapping". Если вы говорите о нём же, то, повтрорюсь, это
                Преобразование значений работает только при визуализации, т.е. для более удобного отображения (в веб-интерфейсе либо оповещениях) числовых значений. В базе данных они всё равно хранятся и обрабатываются (в том числе при вычислении триггерных выражений) в числовом виде.
                Если же вы каким-то образом заменяли в исходных данных одни строковые значения другими, то распишите подробнее, пожалуйста (возможно, со скриншотами), каким образом это было реализовано и в какой версии Zabbix. В любом случае, сейчас подобная задача выполняется с помощью предобработки, которая появилась (как отдельное понятие) ещё в версии 3.4 (до этого были какие-то отдельные элементы - вроде полей "Использовать пользовательский множитель" или "Хранение значений" в основном диалоге настроек элемента данных).

                Comment

                Working...