[rrd-users] Problem with seek error in RRA
Alex van den Bogaerdt
alex at ergens.op.het.net
Mon Jul 2 13:39:56 CEST 2007
On Mon, Jul 02, 2007 at 12:42:34PM +0200, wallaschwigalla at arcor.de wrote:
> Hi,
> I created a tool for protocol analysing which uses Wireshark as analyser, PERL and the RRD-Tool for generating the graphs. The OS is Solaris 10. RRD-Tool 1.2.19. Ive created a Database for every protocol. HTTP is one of the biggest protocols caused by the big amount of possible status-codes. The HTTP-DB is splitted in 6 RRDs. The RRA I used is an AVERAGE which doesnt really average the DATA. RRA:AVERAGE:0.5:1:$dbzeit. The variable $dbzeit is set to 31536000(one year). This creates a File with 2000MByte per RRD which results in 8GB for the hole HTTP-DB.
>
> After nearly one month I got the problem that I can create graphs with an interval from 24hous but I cant create a graph with a timescale from 5minutes, 15minutes or 1hour. The only message I get is ERROR : seek error in RRA.
There's only one instance of this error in rrd_fetch(), it is for
the following function:
fseek(in_file,
(rra_base + (rra_pointer * *ds_cnt * sizeof(rrd_value_t)))
,SEEK_SET)
> In the first versions of my project I used RRAs with nearly 2 month stored in one file without an Error. Is there a problem with so big RRAs and the resolution from 1second????
Most likely the problem is that
(rra_base + (rra_pointer * *ds_cnt * sizeof(rrd_value_t)))
is too large (possibly becoming negative). It's a pitty that the
error message from the OS isn't looked at.
Too many DSes, too many rows, size of rrd_value_t could be different,
too many RRAs in one database; I think this sums up the possible problems.
If you have only one DS and one RRA, the problem has to be a combination
of too many rows times too many bytes per entry (rrd_value_t).
Possible solutions and workarounds (there may be more):
-1- use an OS that can handle larger files; or maybe there's a patch
to apply
-2- use an OS that uses less bytes per rrd_value_t
(not sure what yours is using right now, so maybe not applicable)
-3- use multiple files, e.g. one file per three months. This may also
be preferable from other perspectives such as performance, backup
and so on.
Not a quick solution, sorry, but HTH nevertheless.
--
Alex van den Bogaerdt
http://www.vandenbogaerdt.nl/rrdtool/
More information about the rrd-users
mailing list