Ad Widget

Collapse

Пропал график байт на интерфейсе.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • s0me_n00b
    Junior Member
    • Mar 2011
    • 6

    #1

    Пропал график байт на интерфейсе.

    Здравствуйте.

    Есть байтовый график на интерфейсе. На машине Debian squeeze 64 бит, zabbix_agent из дебиановского репозитория, версия 1.8.2.
    ВНЕЗАПНО график входящего на интерфейс трафика оборвался, а соответствующий элемент данных перешёл в состояние "не поддерживается". Пробовал его активировать - бесполезно.
    При запросе переменной через телнет к zabbix_agent'у значение нормально выдаётся (оно порядка 1 триллиона 250 миллиардов).
    В логах сообщений об ошибках не нашёл.
    Что делать и куда смотреть?
    Last edited by s0me_n00b; 15-03-2011, 11:22.
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Тип Item Числовой (целое положительное)?
    Last edited by dima_dm; 15-03-2011, 11:28.

    Comment

    • s0me_n00b
      Junior Member
      • Mar 2011
      • 6

      #3
      Числовой с плавающей точкой. Поменять?

      Да, забыл сказать, на заббикс-сервере дебиан такой же, но 32-х битный.

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Originally posted by s0me_n00b
        Числовой с плавающей точкой. Поменять?
        Попробуйте.

        Comment

        • s0me_n00b
          Junior Member
          • Mar 2011
          • 6

          #5
          Попробовал. Помогло, спасибо.
          Можете объяснить, почему?

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Потому, что при одинаковом числе разрядов (битов) переменной можно записать число в 2 раза большее в формате целое положительное, чем со знаком. А в числе с плавающей точкой помимо знака ещё несколько разрядов после запятой хранится (точность).
            А теперь сравните таблицы double(16,4) для Числовой с плавающей точкой (т.е. -1E12 до 1E12)
            bigint(20) unsigned для Числовой (целое положительное) (т.е. 0 до 18,446,744,073,709,551,615, а это диапазон значений 64 битного счётчика)
            mysql> SHOW CREATE TABLE history;
            +---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | Table | Create Table |
            +---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | history | CREATE TABLE `history` (
            `itemid` bigint(20) unsigned NOT NULL DEFAULT '0',
            `clock` int(11) NOT NULL DEFAULT '0',
            `value` double(16,4) NOT NULL DEFAULT '0.0000',
            KEY `history_1` (`itemid`,`clock`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
            +---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            1 row in set (0.00 sec)

            mysql> SHOW CREATE TABLE history_uint;
            +--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | Table | Create Table |
            +--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            | history_uint | CREATE TABLE `history_uint` (
            `itemid` bigint(20) unsigned NOT NULL DEFAULT '0',
            `clock` int(11) NOT NULL DEFAULT '0',
            `value` bigint(20) unsigned NOT NULL DEFAULT '0',
            KEY `history_uint_1` (`itemid`,`clock`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
            +--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
            1 row in set (0.00 sec)
            Last edited by dima_dm; 15-03-2011, 14:14.

            Comment

            • s0me_n00b
              Junior Member
              • Mar 2011
              • 6

              #7
              Много думал, читал про типы данных в MySQL, про диапазоны их значений.

              Так и не понял логики. Ну и ладно, главное, работает.
              Спасибо!

              Comment

              • dima_dm
                Senior Member
                • Dec 2009
                • 2697

                #8
                Originally posted by s0me_n00b
                Много думал, читал про типы данных в mysql, про диапазоны их значений.

                Так и не понял логики. Ну и ладно, главное, работает.
                Спасибо!
                Я как раз исправил пост, чтобы было понятнее.

                Comment

                Working...