Логарифмический график в Zabbix

Понадобилось мне получить читаемый график на zabbix из значений, отличающихся друг от друга в сотни тысяч раз. Оборудование отсылает информацию об ошибках с таким разбросом. Обычный график строить - будет ненаглядно. Нужен график с логарифмической шкалой по оси Y.
В zabbix я не нашел такой возможности, если кто-нибудь подскажет - буду благодарен. Решил сделать следующим образом. Для построения графика нужно преобразовывать выводимые значения - получать логарифм числа, а уже его выводить на обычный график. На bash нашел только вариант получения натурального логарфима с помощью bc. Немного погуглив, узнал что несложно посчитать десятичный логарифм на perl.
Получилось так: создаю два элемента данных типа "Внешняя проверка" в качестве которой выступают скрипты, первый на bash получает данные по snmp от оборудования и складывает в файл, второй, на perl выполняет нужное преобразование. На основе этих значений создается график.
Можно использовать один элемент данных и скрипт, но мне было удобнее так.
Скрипт для получения данных:

#! /bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# на вход скрипту передается ip адрес опрашиваемого устройства

EE=`snmpget -v 2c -c public $1 .1.3.6.1.4.1.x.x.x.x.x.x.x.x.x.x | awk '{print $4}'`
#результат получаем в виде "1.84e-02", или получаем "0Е-7"

    echo $EE

        if [ $EE = "\"0E-7\"" ]
## для дальнейшей математической обработки 0Е-7 заменяем, например, на 0.00000001
## иначе при вычислении данных с нулем получим ошибку
            then PAR="0.00000001"
            else
# преобразование строки вида "1.84e-02" к виду 0.0184
            D=`echo $EE | tr -d '"' | cut -f 1 -d "e"`
#           echo dig = $D
            S=`echo $EE | tr -d '"' | cut -f 2 -d "e"`
#           echo stepen = $S
            PAR=`echo "scale=8; $D*10^$S" | bc -lq`
        fi
# запись полученного значения в файл, позаботьтесь чтобы /tmp/PAR существовал и разрешал запись пользователю zabbix
    echo $PAR > /tmp/PAR/par_$1.txt

 

Скрипт для вычисления логарифма:
 
#!/usr/local/bin/perl -l
#
# присваиваем переменной $arg параметр, передающийся при вызове скрипта
# вызов такого вида
# "per1_lg10.pl 10.11.12.13"
# т.о. $arg = 10.11.12.13
while ($arg = shift @ARGV)
     {
# открываем файл, считываем в $line строку из файла
    open(FH, "<", "/tmp/PAR/par_$arg.txt");
    $line = <FH>;
# вычисляем логарифм по основанию 10
    use POSIX qw(log10);
    $log_10 = log10($line);
# выводим полученное значение, закрываем файл
    print "$log_10";
    close(FH);
     }

Замечания и дополнения приветствуются.

Логарифмические графики

Спасибо за информацию.

Спасибо за информацию.