Ad Widget

Collapse

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

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • FRAEROK
    Junior Member
    • May 2018
    • 10

    #1

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

    Всем привет.

    Выполняется запрос к скульному серверу об размере БД с ключем
    perf_counter["\SQLServeratabases(_Total)\Data File(s) Size (KB)"]

    Получаю значение 1958783552 КБ
    Чтобы получить вменяемое значение в ТБ, делаю преобразование (умножаю на 1024) и в единицах измерения ставлю B (байты)
    Но после преобразования получается слишком большое число и забикс ругается на слишком длинное значение.
    Как преобразовать в нормальный вид ??
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Originally posted by FRAEROK
    Но после преобразования получается слишком большое число и забикс ругается на слишком длинное значение.
    Как преобразовать в нормальный вид ??
    Поменять тип значения с Numeric (float) на Numeric (unsigned)?

    Comment


    • FRAEROK
      FRAEROK commented
      Editing a comment
      Спасибо за ответ.
      Помогло.
      А слона то я и не заметил....
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #3
    Спасибо за ответ.
    Помогло.
    А слона то я и не заметил....
    Пожалуйста :-)
    Просто в документации, где идёт речь о Type of information, сказано:
    Type of data as stored in the database after performing conversions, if any.
    Numeric (unsigned) - 64bit unsigned integer
    Numeric (float) - floating point number
    Negative values can be stored.
    Allowed range: -999999999999.9999 to 999999999999.9999.
    Т.е. 12 цифр на мантиссу для Numeric (float). А у вас после преобразования в байты уже 13 цифр получается. В то же время, в 64bit unsigned integer вполне влезает.

    Comment


    • FRAEROK
      FRAEROK commented
      Editing a comment
      Спасибо еще раз. Буду иметь в виду...
Working...