Ad Widget

Collapse

Сотовый график

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • DmiRials
    Junior Member
    • Jul 2025
    • 11

    #1

    Сотовый график

    Добрый день. Я пытаюсь создать сотовый график с отображением занятости дисков в система.
    Я добавил 2 элемента данных: Но при сохранении графика он выдает все эти показательни коректно но не отображается для какого диска этот показатель.
    Я пытался добавить в расширенные настройки графика параметры:
    Диск {ITEM.NAME:1}: {ITEM.LASTVALUE}%
    Диск {$DISK_NAME}: {ITEM.LASTVALUE}%
    Диск {ITEM.KEY:regex:"vfs\.fs\.size\[(.*?),pused\]|\1"}: {ITEM.LASTVALUE}%
    Диск {INVENTORY.DISK_C}: {ITEM.LASTVALUE}%

    Но названия диска он так и не хочет выводить.

    Можете подсказать что можно еще попробовать для вывода названия диска?
    Last edited by DmiRials; 13-07-2025, 09:35.
  • Answer selected by DmiRials at 18-07-2025, 18:48.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    Originally posted by Pochinok
    Сделал все на коленке, просто увидел данный пост, то же захотелось сделать на пару серверах данный момент, Kos сделал очень быстро, особо не ругайтесь
    У вас, видимо, используется оригинальный шаблон, где имена элементов данных, относящихся к обнаруженным дискам, названы по-английски ("Free space..."), поэтому моё регулярное выражение, предназначенное для автора этой темы, у вас не работает (там используется русский текст).
    Вот универсальный вариант, который вместо имени элемента данных использует его ключ:
    Code:
    {{ITEM.KEY}.regsub("^vfs.fs.size\[([^,]+),.*",\1)}
    {HOST.HOST}​
    Попробуйте подставить в поле "Text" для первой метки в настройках виджета.

    Кроме того, у вас тип данных для этих элементов данных указан как "Numeric (unsigned)", т.е. целое число (хотя реально для процентов отдаётся число с плавающей точкой).
    Либо поменяйте тип данных, либо в виджете укажите для второй метки "Decimal place: 0" (нет смысла выводить две цифры дробного числа, если оно целое).

    Originally posted by Pochinok
    Я так понимаю чтоб цвета отображались, надо в Threshold указывать ключ или макрос какой-то для отображения?

    Thresholds работают снизу вверх (и указанные вами пороговые значения автоматически сортируются от меньшего к большему).
    Если полученное значение строго меньше наименьшего порога, то ячейка отрисовывается с цветом фона, который задан в параметре "Background color". По умолчанию там указано "D", что в большинстве случаев означает светло-серый. Я у себя часто заменяю это светло-зелёным цветом, который ассоциируется с понятием "спокойно, всё в порядке"
    Когда значение достигает какого-то порога (или превышает его), то цвет фона соответствующей ячейки будет подсвечен цветом, заданным для этого порога. Если пороговых значений указано несколько, то - максимального порога из тех, которых значение достигло.

    В вашем же случае, наверное, логика должна быть обратной, т.к. отображается не занятое, а свободное место (в процентах). То есть, по умолчанию (когда этих свободных процентов осталось мало) должен светиться цвет опасности (красный), а при превышении порога - меняться на более нейтральный и спокойный.
    Например, если для вашего случая "Background color" выставить в красный, и добавить порог "20" с жёлтым цветом и порог "40" со светло-зелёным, то значение "22%" должно будет подсвечиваться жёлтым фоном, а "46%" - зелёным.​​

    Comment

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

      #2
      Сотовый график - прекрасная вещь, позволяющая охватить одним взглядом сразу же множество данных, но имеет свои недостатки, главным из которых (для меня лично) является то, что форма ячейки близка к кругу и, как следствие, длинные данные тут же просто урезаются (нет механизма, например, отмасштабировать шрифт или автоматически разбить на несколько строк). Поэтому желательно выводимые данные иметь как можно более короткими.
      Что же касается практики, то в одной ячейке можно вывести два вида данных (primary label и secondary label), причём в качестве secondary label, как правило, выводится значение какого-то элемента данных (обычно - число, хотя и не обязательно), а вот что будет выводиться в качестве primary label - можно довольно гибко кастомизировать. В нашей практике чаще всего в качестве primary label мы выводим какую-то часть названия элемента данных, наиболее существенную (отличающую конкретно этот элемент данных от остальных), поскольку общую для всех (для данного графика) ячеек часть можно вынести в заголовок виджета. Для вывода названия элемента данных удобно использовать встроенный макрос {ITEM.NAME}, а чтобы извлечь из него только нужную часть - можно использовать макрофункцию regsub().

      Например, для вашего примера можно было бы настроить следующим образом:
      • Show header: отмечено;
      • Name: Использование дискового пространства
      • Show: отмечено и "Primary label", и "Secondary label"
      • Advanced configuration: раскрыто;
      • Primary label:
        • Type: Text
        • Text: {{ITEM.NAME}.regsub("^(.+) Использование пространства",\1)}
      • Secondary label:
        • Type: Value
      Ну и, когда это заработает, можно ещё пороговых значений насандалить по вкусу (чтобы меняющимся цветом фона сразу подсвечивать те ячейки, которые требуют внимания).

      Comment

      • DmiRials
        Junior Member
        • Jul 2025
        • 11

        #3
        Да именно так Я и настроил.
        Я убрал названия серверов, для безопасности. Но теперь у меня это выглядит вот так спасибо что вашу помощь
        Click image for larger version

Name:	Снимок экрана 2025-07-14 143914.png
Views:	130
Size:	109.9 KB
ID:	505185

        Comment

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

          #4
          Originally posted by DmiRials
          Да именно так Я и настроил.
          Я убрал названия серверов, для безопасности. Но теперь у меня это выглядит вот так спасибо что вашу помощь
          Названия серверов при необходимости тоже можно выводить (например, с помощью макроса {HOST.HOST}).
          Кстати, неочевидный момент: значение в поле "Text" для метки с типом "Text" может быть и многострочным.
          Например, можете попробовать указать там так (в две строки):
          Code:
          {{ITEM.NAME}.regsub("^(.+) Использование пространства",\1)}
          {HOST.HOST}

          Comment

          • DmiRials
            Junior Member
            • Jul 2025
            • 11

            #5
            Originally posted by Kos
            Названия серверов при необходимости тоже можно выводить (например, с помощью макроса {HOST.HOST}).
            Кстати, неочевидный момент: значение в поле "Text" для метки с типом "Text" может быть и многострочным.
            Например, можете попробовать указать там так (в две строки):
            Code:
            {{ITEM.NAME}.regsub("^(.+) Использование пространства",\1)}
            {HOST.HOST}
            Да по умолчанию он выводит название хоста.
            В итогу получилось вот так:
            {HOST.NAME}
            {{ITEM.NAME}.regsub("^(.+) Использование пространства",\1)}

            Так же у меня есть отдельный виджет для synology и заполнености памяти
            Я правда обратился к ИИ за помощью в написании для него шаблона, на примере вашего.
            {HOST.NAME}
            {{ITEM.NAME}.regsub("^Storage Used on (.+?) \(.*\)$", "\1")}
            И получилось вывести вот такой параметр.

            Может быть кому-то понадоибтся это​

            Comment

            • Pochinok
              Senior Member
              • Oct 2024
              • 114

              #6
              А у меня почему-то не отображается обозначение дисков C D и тд. Название и % показывает и все. и цветовую палитру по заполняемости пространства

              Comment

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

                #7
                Originally posted by Pochinok
                А у меня почему-то не отображается обозначение дисков C D и тд. Название и % показывает и все. и цветовую палитру по заполняемости пространства
                Ну покажите, что за элементы данных вы выводите и как настраиваете виджет - возможно, сможем помочь.

                Comment

                • Pochinok
                  Senior Member
                  • Oct 2024
                  • 114

                  #8
                  Originally posted by Kos
                  Ну покажите, что за элементы данных вы выводите и как настраиваете виджет - возможно, сможем помочь.
                  Сделал все на коленке, просто увидел данный пост, то же захотелось сделать на пару серверах данный момент, Kos сделал очень быстро, особо не ругайтесь

                  Я так понимаю чтоб цвета отображались, надо в Threshold указывать ключ или макрос какой-то для отображения?
                  Attached Files
                  Last edited by Pochinok; 16-07-2025, 13:08.

                  Comment

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

                    #9
                    Originally posted by Pochinok
                    Сделал все на коленке, просто увидел данный пост, то же захотелось сделать на пару серверах данный момент, Kos сделал очень быстро, особо не ругайтесь
                    У вас, видимо, используется оригинальный шаблон, где имена элементов данных, относящихся к обнаруженным дискам, названы по-английски ("Free space..."), поэтому моё регулярное выражение, предназначенное для автора этой темы, у вас не работает (там используется русский текст).
                    Вот универсальный вариант, который вместо имени элемента данных использует его ключ:
                    Code:
                    {{ITEM.KEY}.regsub("^vfs.fs.size\[([^,]+),.*",\1)}
                    {HOST.HOST}​
                    Попробуйте подставить в поле "Text" для первой метки в настройках виджета.

                    Кроме того, у вас тип данных для этих элементов данных указан как "Numeric (unsigned)", т.е. целое число (хотя реально для процентов отдаётся число с плавающей точкой).
                    Либо поменяйте тип данных, либо в виджете укажите для второй метки "Decimal place: 0" (нет смысла выводить две цифры дробного числа, если оно целое).

                    Originally posted by Pochinok
                    Я так понимаю чтоб цвета отображались, надо в Threshold указывать ключ или макрос какой-то для отображения?

                    Thresholds работают снизу вверх (и указанные вами пороговые значения автоматически сортируются от меньшего к большему).
                    Если полученное значение строго меньше наименьшего порога, то ячейка отрисовывается с цветом фона, который задан в параметре "Background color". По умолчанию там указано "D", что в большинстве случаев означает светло-серый. Я у себя часто заменяю это светло-зелёным цветом, который ассоциируется с понятием "спокойно, всё в порядке"
                    Когда значение достигает какого-то порога (или превышает его), то цвет фона соответствующей ячейки будет подсвечен цветом, заданным для этого порога. Если пороговых значений указано несколько, то - максимального порога из тех, которых значение достигло.

                    В вашем же случае, наверное, логика должна быть обратной, т.к. отображается не занятое, а свободное место (в процентах). То есть, по умолчанию (когда этих свободных процентов осталось мало) должен светиться цвет опасности (красный), а при превышении порога - меняться на более нейтральный и спокойный.
                    Например, если для вашего случая "Background color" выставить в красный, и добавить порог "20" с жёлтым цветом и порог "40" со светло-зелёным, то значение "22%" должно будет подсвечиваться жёлтым фоном, а "46%" - зелёным.​​

                    Comment

                    • Pochinok
                      Senior Member
                      • Oct 2024
                      • 114

                      #10
                      Спасибо,все получилось, все отображается, и цвета тоже, только вот этот момент не совсем понял. >
                      либо в виджете укажите для второй метки "Decimal place: 0"
                      можете показать или сказать где именно вторая метка идет?
                      Last edited by Pochinok; 16-07-2025, 15:43.

                      Comment

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

                        #11
                        Originally posted by Pochinok
                        Спасибо,все получилось, все отображается, и цвета тоже, только вот этот момент не совсем понял. >

                        можете показать или сказать где именно вторая метка идет?
                        Вот здесь:
                        Click image for larger version

Name:	screenshot-2025-07-16_01.png
Views:	116
Size:	37.1 KB
ID:	505270

                        Comment

                        • Pochinok
                          Senior Member
                          • Oct 2024
                          • 114

                          #12
                          Originally posted by Kos

                          Вот здесь:
                          Click image for larger version

Name:	screenshot-2025-07-16_01.png
Views:	116
Size:	37.1 KB
ID:	505270
                          уже не по глазам,извиняюсь за глупый вопрос, да все отображается корректно, дальше будем экспериментировать, Kos как всегда низкий поклон вам за помощь и за уделённое время

                          Comment

                          • DmiRials
                            Junior Member
                            • Jul 2025
                            • 11

                            #13
                            Originally posted by Kos
                            У вас, видимо, используется оригинальный шаблон, где имена элементов данных, относящихся к обнаруженным дискам, названы по-английски ("Free space..."), поэтому моё регулярное выражение, предназначенное для автора этой темы, у вас не работает (там используется русский текст).
                            Да я переписывал стандартные шаблока под себя немного.
                            Но команды использовал все теже. Поэтому я думаю стандатрные шаблоканы тоже будут работать не зависимот от названия шаблока

                            Comment

                            • DmiRials
                              Junior Member
                              • Jul 2025
                              • 11

                              #14
                              Если вдруг надо мои настройки эотго графика.У меня настроенно вот так:


                              Click image for larger version

Name:	Снимок экрана 2025-07-18 195326.png
Views:	105
Size:	59.2 KB
ID:	505404
                              Click image for larger version

Name:	Снимок экрана 2025-07-18 195349.png
Views:	102
Size:	50.5 KB
ID:	505405

                              Comment

                              Working...