Ad Widget

Collapse

Длинна description на графике.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Sergey69
    Junior Member
    • Nov 2015
    • 16

    #1

    Длинна description на графике.

    Всем привет! Кто-нибудь сталкивался с проблемой - не влезает весь description интерфейсов на графиках. В базе clear текстом он есть, а вот на самом графике в обрезанном виде. Вопрос - как поправить?
    Гугл и поиск по форуму не помог.
    Attached Files
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    В исходниках исправлять, я думаю. А вообще, вы когда захотите графики с такими названиями вставить в комплексный экран в 2+ колонки, то сами пожалеете.

    Comment

    • Sergey69
      Junior Member
      • Nov 2015
      • 16

      #3
      Комплексные экраны не важны. Это понятно, что в исходниках, только где? Мои мучения ник чему не привели..Вот прошу помощи, где и что поправить.

      Comment

      • aib
        Senior Member
        • Jan 2014
        • 1615

        #4
        если все-же хочется изменить длину названия по умолчанию - поправьте файл /usr/share/zabbix/include/items.inc.php
        Code:
        # cat -n items.inc.php | grep "zbx_strlen" -A 1 -B 1
           902                  case ITEM_VALUE_TYPE_LOG:
           903                          if ($trim && zbx_strlen($value) > [B][U]30[/U][/B]) {
           904                                  $value = zbx_substr($value, 0, [B][U]30[/U][/B]).'...';
        По умолчанию там стоит величина "20" символов
        Sincerely yours,
        Aleksey

        Comment

        • Jimson
          Senior Member
          • Jan 2008
          • 1327

          #5
          Ему названия графиков надо, а не элементов данных. Найти код выводящий название ну никаких проблем не составляет, для этого не требуется даже минимальных знаний, так что проблема автора вопроса в чем то другом.
          Code:
          public function drawHeader() {
                          if (!isset($this->header)) {
                                  $str = $this->items[0]['hostname'].': '.$this->items[0]['name'];
                          }
                          else {
                                  $str = $this->header;
                          }
          
                          $str .= $this->period2str($this->period);
          
                          // calculate largest font size that can fit graph header
                          // TODO: font size must be dynamic in other parts of the graph as well, like legend, timeline, etc
                          for ($fontsize = 11; $fontsize > 7; $fontsize--) {
                                  $dims = imageTextSize($fontsize, 0, $str);
                                  $x = $this->fullSizeX / 2 - ($dims['width'] / 2);
          
                                  // most important information must be displayed, period can be out of the graph
                                  if ($x < 2) {
                                          $x = 2;
                                  }
                                  if ($dims['width'] <= $this->fullSizeX) {
                                          break;
                                  }
                          }
                          imageText($this->im, $fontsize, 0, $x, 24, $this->getColor($this->graphtheme['textcolor'], 0), $str);
                  }
          у меня есть такое в class.cgraphdraw.php, в свежих версиях код графиков редизайнили, на сколько я помню

          Comment

          • Sergey69
            Junior Member
            • Nov 2015
            • 16

            #6
            Извиняюсь за долгое молчание, да Jimson прав, мне нужно полное название description интерфейсов выводить на график. В PHP не силен, поэтому извиняйте.
            Jimson, а что поправить-то нужно?

            Comment

            • yukra
              Senior Member
              • Apr 2013
              • 1359

              #7
              Originally posted by aib
              если все-же хочется изменить длину названия по умолчанию - поправьте файл /usr/share/zabbix/include/items.inc.php
              Code:
              # cat -n items.inc.php | grep "zbx_strlen" -A 1 -B 1
                 902                  case ITEM_VALUE_TYPE_LOG:
                 903                          if ($trim && zbx_strlen($value) > [B][U]30[/U][/B]) {
                 904                                  $value = zbx_substr($value, 0, [B][U]30[/U][/B]).'...';
              По умолчанию там стоит величина "20" символов
              "-A 1 -B 1" можно заменить на -C 1

              Jimson - да, имя графика, но оно берется из дискрипшена (то есть на сколько я понял из значения айтема).

              Sergey69 Вы бы версию указали что ли. Если мы о 2.4.7 то файл include/items.inc.php, строки 887 и 888 в зависимости от того, что конкретно вы хотите.
              Code:
              [root@zabbix /usr/share/zabbix]# grep -nC 1  'if ($trim && mb_strlen($value) > 20)' include/items.inc.php 
              886-		case ITEM_VALUE_TYPE_LOG:
              887:			if ($trim && mb_strlen($value) > 20) {
              888-				$value = mb_substr($value, 0, 20).'...';
              Но я бы еще раз предложил подумать о "внесении изменений в исходный код при условии что вы сами не можете найти что именно патчить и последующей поддержке данной системы"

              Comment

              • Sergey69
                Junior Member
                • Nov 2015
                • 16

                #8
                yukra,спасибо! Версия zabbix 2.4.5. Я попробую, о результатах напишу.

                Comment

                • Sergey69
                  Junior Member
                  • Nov 2015
                  • 16

                  #9
                  Originally posted by sergey69
                  yukra,спасибо! Версия zabbix 2.4.5. Я попробую, о результатах напишу.
                  Работает! Спасибо за помощь!

                  Comment

                  Working...