Ad Widget

Collapse

Виджет Item Value и строки

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Azt
    Junior Member
    • Mar 2025
    • 16

    #1

    Виджет Item Value и строки

    Здравствуйте.
    Может вопрос очень нубский, но помогите разобраться: Zabbix получает строку со значениями через запятую и соответственно виджет Item Value так и показывает это значение (т.е. всю строку). Возможно ли как-то разбить строку на отдельные подстроки и через виджет их вывести не одной строкой, а чтоб каждое значение было с новой строки? Пробовал в Preproccesing через JavaScript разделить строку по запятой и вернуть каждый элемент массива, но возвращается одно значение, пробовал перевести массив обратно в строку с разделителем \n - в результате все равно виджет выводит все одной строкой... Может можно еще как-то разделить значения и вывести каждое отдельно? Через регулярные выражения может, но не понимаю как? Или виджет Item Value выводит значение только одной строкой? Версия Zabbix 7.4.9. Или может еще какие есть варианты разбить строку и вывести значения отдельно через какой-нибудь другой виджет?
  • guntis_liepins
    Member
    • Oct 2025
    • 57

    #2
    А пример строки есть?
    Я думаю можно с сделать regexp preprocessing, используя capture groups и dependent item но надо видеть как эта строка выглядит.
    JavaScript то же самое - dependent item

    Comment

    • Azt
      Junior Member
      • Mar 2025
      • 16

      #3
      Строка - результат выполнения скрипта на МикроТик:
      Code:
      :foreach i in=[/interface wireguard peers find where allowed-address ~"10.1.100"  last-handshake <00:02.30] do={
              :local n [/interface wireguard peers get $i name];
              :put "$n,";
              }
      Если скрипт выполнить на МикроТике (добавив вывод в лог) - значения выводятся построчно.
      А вот когда Zabbix получает значение - то визуально вроде и построчно (скриншот приложил), но в итоге все равно как будто получается строка и, соответственно, виджет выводит все значения в одну строку.
      В Preproccesing так же примитивный JavaScript (пробовал и просто массив возвращать, и через for возвращать массив и в итоге просто возвращается строка с \n):
      Code:
      var name = value.split(",");
      var peers = '';
      for (var i = 0; i < name.length; i++) {
       peers += name[i] + '\n';
      }
      return peers;
      Attached Files

      Comment

      Working...