Zenus is a Perl interface to the Zen ADSL usage web service.
It features:
- A Perl module (zenUsage.pm) to handle the actual communication to the web service that can also be used to build your own custom interfaces
- Two example front ends to the module - the main zenus.pl script and a debugging client
Zenus is ideal if you want to integrate 3rd party monitoring systems like Cacti (which used Zenus to produce the attached graph) or if you run Linux and don't or can't make use of the cross-platform Firefox plug-in.
Zenus v2 now longer works due to changes at Zen
A version 3 is in early testing. Please contact me if you want to test it.
Good work! Cacti?
Cacti
I'd certainly take a look
I'd certainly take a look and maybe add it to the Zenus distribution / web page.
I've been meaning to do it myself (to show you how to go from the Perl to the graph on this page), but I've not got round to putting all the zenus.pl output's into the data source yet.
Send me what you have ;-)
Tom
I'll send over later
My email address is in the
My email address is in the README file in the distribution, or use my username (or name from the footer of comments) @ the domain of this web page (minus the www., if present).
Tom
Error using zenus.pl
Odd error that
Odd error that.
Please let me have the output of using 'debug.pl', your Linux distribution name and version and your Perl version.
(edit the following Monday)Fixed by making sure Crypt::SSLeay is installed. README updated.
Tom
Zenus and Munin
Good spot on the $result
Good spot on the $result mistake :-)
At a guess, your code is running using 'perl -w' which will spit out all sorts of warnings. Remove the -w to stop them appearing.
Tom
Great script but small bug
your month indexes are off by one, in sub estimateRemaining the calculation for days in months should be the following
if (($month == 3) || ($month == 5) || ($month == 8) || ($month == 10)) {
$length = 30;
}elsif($month == 1 && _isLeapYear($year)) {
$length = 29;
}elsif ($month == 1) {
$length = 28;
} else {
$length = 31;
}
as the return mon entry in localtime is 0 january, 1 for febuary and so on