Кто-нибудь знает, какие же всё-таки возможные максимальные диапазоны значений для типов данных Числовой (Целое) и Числовой (с плавающей точкой) для Zabbix? Как я понимаю, на максимальный диапазон будут влиять следующие факторы (диапазон будет минимальным из):
1) Ограничение в поле базы данных
Для MySQL это double(16,4)
CREATE TABLE history (
itemid bigint unsigned DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value double(16,4) DEFAULT '0.0000' NOT NULL
) type=InnoDB;
2) Используемые типы данных в Zabbix Server
3) Используемые типы данных в Zabbix Agent, если данные получаются через агент.
4) ?????
В коде Zabbix src/libs/zbxsysinfo/sysinfo.c
Идёт проверка с -1 E12 до 1 E12
1) Ограничение в поле базы данных
Для MySQL это double(16,4)
CREATE TABLE history (
itemid bigint unsigned DEFAULT '0' NOT NULL,
clock integer DEFAULT '0' NOT NULL,
value double(16,4) DEFAULT '0.0000' NOT NULL
) type=InnoDB;
2) Используемые типы данных в Zabbix Server
3) Используемые типы данных в Zabbix Agent, если данные получаются через агент.
4) ?????
В коде Zabbix src/libs/zbxsysinfo/sysinfo.c
Идёт проверка с -1 E12 до 1 E12
Code:
static int DBchk_double(double value)
{
/* field with precision 16, scale 4 [NUMERIC(16,4)] */
register double pg_min_numeric = (double)-1E12;
register double pg_max_numeric = (double)1E12;
if (value <= pg_min_numeric || value >= pg_max_numeric)
return FAIL;
return SUCCEED;
}
Comment