I’m trying to poll a satellite modem for Rx Signal Level.  The modem returns a negative integer ten times the level (ex. -575 indicates the level is -57.5 dBm).  I’ve configured a conversion function so I can log the value returned by snmpget and compare it to the value in the log file.  It appears that MRTG is not recognizing the number as negative.  It appears it is not recognizing the binary 1 MSD as a negative sign.

 

=========== 

Config file:

 

ConversionCode: functs.pl

 

Target[my-pub-sat-01-rsl]: .1.3.6.1.4.1.6247.28.1.3.3.4.0&.1.3.6.1.4.1.6247.28.1.3.3.4.0:[EMAIL PROTECTED]|neg_int

 

==========

Functs.pl:

 

sub neg_int {

    my $n = shift;

    open FH, ">> rx_lvl.log";

#    my $o = (2^31 - $n) / 10;

    my $o = $n / 10;

    print FH localtime(time) . " -> IN: $n\tOUT: $o\n";

    close FH;

    return $o;

}

 

=========== 

Logs:

 

$head my-pub-sat-01-rsl.log

1176910486 2147483590 2147483590

1176910486 0 0 0 0

1176910186 0 0 0 0

1176909900 0 0 0 0

1176909600 0 0 0 0

1176909300 0 0 0 0

1176909000 0 0 0 0

 

$ cat rx_lvl.log

Wed Apr 18 16:29:46 2007 -> IN: -578    OUT: -57.8

Wed Apr 18 16:29:46 2007 -> IN: -578    OUT: -57.8

Wed Apr 18 16:34:46 2007 -> IN: -578    OUT: -57.8

Wed Apr 18 16:34:46 2007 -> IN: -578    OUT: -57.8

 



Don’t quit your job – Take Classes Online and Earn your Degree in 1 year. Start Today!
_______________________________________________
mrtg mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/mrtg

Reply via email to