64-bit Counter

Post support questions that directly relate to Linux/Unix operating systems.

Moderators: Developers, Moderators

Post Reply
dorkel
Posts: 5
Joined: Fri Mar 23, 2012 3:43 am

64-bit Counter

Post by dorkel »

Hi Guys,

I'm generating my Interface-Traffic graphs with a 64-bit counter but i'm seeing some extrange behaviours, you can see itin the attachment "graph_image.png" it looks like the counter is reset when the traffic pass the 100 Mbps barrier, this is like the counter is 32-bit in place of 64-bit.

In the "Data_Source" attachment you can see that the data source has a 64-bit counter

Do you know whats happening here? :-?

Thanks for your help! :)
Attachments
Data_source.png
Data_source.png (29.04 KiB) Viewed 1149 times
graph_image.png
graph_image.png (24.1 KiB) Viewed 1149 times
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Re: 64-bit Counter

Post by gandalf »

Please see "System Utilities -> View Poller Cache" and filter for host and data source. Find the OID that is polled to get an idea
R.
dorkel
Posts: 5
Joined: Fri Mar 23, 2012 3:43 am

Re: 64-bit Counter

Post by dorkel »

Thank you very much Gandalf,

This is the OID: .1.3.6.1.2.1.31.1.1.1.10.6 this is a Counter64 so i think it's ok.

Maybe the problem is in the graph template? can we define a limit there that can explain this behaviour?.

Sorry if this are obvious questions, i'm really not an expert. :oops:
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Re: 64-bit Counter

Post by gandalf »

You may define
- a maximum on the data template: if MAX exceeded, rrdtool will use NaN instead, which prints similar to the value "0"
- a max y-axis value on the graph template, the data will be printed but the graph will be chopped at that y-axis value
The graph image does not look like any of both issues. Indeed, it looks like a COUNTER wrap.
To be sure, please post output of "rrdtool info" against the rrd file printed in your graph
R.
dorkel
Posts: 5
Joined: Fri Mar 23, 2012 3:43 am

Re: 64-bit Counter

Post by dorkel »

thanks for your help Gandalf, here is the rrdtool info


cacti:/var/data/cacti/rra# rrdtool info fonesstn02_traffic_in_9881.rrd
filename = "device_traffic_in_9881.rrd"
rrd_version = "0003"
step = 300
last_update = 1332746105
ds[traffic_in].type = "COUNTER"
ds[traffic_in].minimal_heartbeat = 600
ds[traffic_in].min = 0.0000000000e+00
ds[traffic_in].max = 1.0000000000e+09
ds[traffic_in].last_ds = "2863880690"
ds[traffic_in].value = 5.8653871033e+07
ds[traffic_in].unknown_sec = 0
ds[traffic_out].type = "COUNTER"
ds[traffic_out].minimal_heartbeat = 600
ds[traffic_out].min = 0.0000000000e+00
ds[traffic_out].max = 1.0000000000e+09
ds[traffic_out].last_ds = "3213385931"
ds[traffic_out].value = 4.1117038550e+07
ds[traffic_out].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 500
rra[0].cur_row = 441
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 600
rra[1].cur_row = 167
rra[1].pdp_per_row = 1
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 700
rra[2].cur_row = 345
rra[2].pdp_per_row = 6
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 3.5068255310e+07
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[2].cdp_prep[1].value = 2.4680955351e+07
rra[2].cdp_prep[1].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 775
rra[3].cur_row = 295
rra[3].pdp_per_row = 24
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = 1.7295837580e+08
rra[3].cdp_prep[0].unknown_datapoints = 0
rra[3].cdp_prep[1].value = 1.2234365346e+08
rra[3].cdp_prep[1].unknown_datapoints = 0
rra[4].cf = "AVERAGE"
rra[4].rows = 797
rra[4].cur_row = 254
rra[4].pdp_per_row = 288
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = 9.6916314270e+08
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[4].cdp_prep[1].value = 6.8715880765e+08
rra[4].cdp_prep[1].unknown_datapoints = 0
rra[5].cf = "AVERAGE"
rra[5].rows = 1000
rra[5].cur_row = 132
rra[5].pdp_per_row = 576
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = 3.8479278929e+09
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = 3.2821023784e+09
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[6].cf = "MIN"
rra[6].rows = 600
rra[6].cur_row = 351
rra[6].pdp_per_row = 1
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = NaN
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = NaN
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[7].cf = "MIN"
rra[7].rows = 700
rra[7].cur_row = 469
rra[7].pdp_per_row = 6
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = 1.1636324012e+07
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[7].cdp_prep[1].value = 8.1931638630e+06
rra[7].cdp_prep[1].unknown_datapoints = 0
rra[8].cf = "MIN"
rra[8].rows = 775
rra[8].cur_row = 676
rra[8].pdp_per_row = 24
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = 1.1213344533e+07
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[8].cdp_prep[1].value = 7.9254804420e+06
rra[8].cdp_prep[1].unknown_datapoints = 0
rra[9].cf = "MIN"
rra[9].rows = 797
rra[9].cur_row = 657
rra[9].pdp_per_row = 288
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = 1.0804717415e+07
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[9].cdp_prep[1].value = 7.6757450229e+06
rra[9].cdp_prep[1].unknown_datapoints = 0
rra[10].cf = "MAX"
rra[10].rows = 500
rra[10].cur_row = 349
rra[10].pdp_per_row = 1
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = NaN
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[10].cdp_prep[1].value = NaN
rra[10].cdp_prep[1].unknown_datapoints = 0
rra[11].cf = "MAX"
rra[11].rows = 600
rra[11].cur_row = 553
rra[11].pdp_per_row = 1
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = NaN
rra[11].cdp_prep[0].unknown_datapoints = 0
rra[11].cdp_prep[1].value = NaN
rra[11].cdp_prep[1].unknown_datapoints = 0
rra[12].cf = "MAX"
rra[12].rows = 700
rra[12].cur_row = 210
rra[12].pdp_per_row = 6
rra[12].xff = 5.0000000000e-01
rra[12].cdp_prep[0].value = 1.1729495954e+07
rra[12].cdp_prep[0].unknown_datapoints = 0
rra[12].cdp_prep[1].value = 8.2435834102e+06
rra[12].cdp_prep[1].unknown_datapoints = 0
rra[13].cf = "MAX"
rra[13].rows = 775
rra[13].cur_row = 460
rra[13].pdp_per_row = 24
rra[13].xff = 5.0000000000e-01
rra[13].cdp_prep[0].value = 1.2058627006e+07
rra[13].cdp_prep[0].unknown_datapoints = 0
rra[13].cdp_prep[1].value = 8.7033053143e+06
rra[13].cdp_prep[1].unknown_datapoints = 0
rra[14].cf = "MAX"
rra[14].rows = 797
rra[14].cur_row = 694
rra[14].pdp_per_row = 288
rra[14].xff = 5.0000000000e-01
rra[14].cdp_prep[0].value = 1.2058627006e+07
rra[14].cdp_prep[0].unknown_datapoints = 0
rra[14].cdp_prep[1].value = 8.7033053143e+06
rra[14].cdp_prep[1].unknown_datapoints = 0
rra[15].cf = "MAX"
rra[15].rows = 1000
rra[15].cur_row = 488
rra[15].pdp_per_row = 576
rra[15].xff = 5.0000000000e-01
rra[15].cdp_prep[0].value = 1.4288104192e+07
rra[15].cdp_prep[0].unknown_datapoints = 0
rra[15].cdp_prep[1].value = 1.0331533978e+07
rra[15].cdp_prep[1].unknown_datapoints = 0
rra[16].cf = "LAST"
rra[16].rows = 600
rra[16].cur_row = 408
rra[16].pdp_per_row = 1
rra[16].xff = 5.0000000000e-01
rra[16].cdp_prep[0].value = NaN
rra[16].cdp_prep[0].unknown_datapoints = 0
rra[16].cdp_prep[1].value = NaN
rra[16].cdp_prep[1].unknown_datapoints = 0
rra[17].cf = "LAST"
rra[17].rows = 700
rra[17].cur_row = 476
rra[17].pdp_per_row = 6
rra[17].xff = 5.0000000000e-01
rra[17].cdp_prep[0].value = 1.1729495954e+07
rra[17].cdp_prep[0].unknown_datapoints = 0
rra[17].cdp_prep[1].value = 8.2232460183e+06
rra[17].cdp_prep[1].unknown_datapoints = 0
rra[18].cf = "LAST"
rra[18].rows = 775
rra[18].cur_row = 114
rra[18].pdp_per_row = 24
rra[18].xff = 5.0000000000e-01
rra[18].cdp_prep[0].value = 1.1729495954e+07
rra[18].cdp_prep[0].unknown_datapoints = 0
rra[18].cdp_prep[1].value = 8.2232460183e+06
rra[18].cdp_prep[1].unknown_datapoints = 0
rra[19].cf = "LAST"
rra[19].rows = 797
rra[19].cur_row = 205
rra[19].pdp_per_row = 288
rra[19].xff = 5.0000000000e-01
rra[19].cdp_prep[0].value = 1.1729495954e+07
rra[19].cdp_prep[0].unknown_datapoints = 0
rra[19].cdp_prep[1].value = 8.2232460183e+06
rra[19].cdp_prep[1].unknown_datapoints = 0
dorkel
Posts: 5
Joined: Fri Mar 23, 2012 3:43 am

Re: 64-bit Counter

Post by dorkel »

Did you find any important in the rrdtool info?

Thank you,
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Re: 64-bit Counter

Post by gandalf »

dorkel wrote: rra[0].cf = "AVERAGE"
rra[0].rows = 500
rra[0].cur_row = 441
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 600
rra[1].cur_row = 167
rra[1].pdp_per_row = 1
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0
This part is at least redundant. You've defined an RRA with identical pdp_per_row ==1.
In the past, that was known as "ugly", but worked. But the cdp_prep data shows, that no valid data is entered.

This is a result of having all RRA definitions checked for this data template. When using 5 minute polling (default), best is to delete the "1 minute RRA". At least unselect that from all data templates.
Unfortunately, all rrd files created with such a setup have to be re-created. rrdtool does not have an operation to delete an invalid RRA.

All this is an assumption, I did not came across that very issue before.
It would help to know you exact rrdtool version information
R.
dorkel
Posts: 5
Joined: Fri Mar 23, 2012 3:43 am

Re: 64-bit Counter

Post by dorkel »

gandalf wrote:
dorkel wrote: rra[0].cf = "AVERAGE"
rra[0].rows = 500
rra[0].cur_row = 441
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 600
rra[1].cur_row = 167
rra[1].pdp_per_row = 1
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0
This part is at least redundant. You've defined an RRA with identical pdp_per_row ==1.
In the past, that was known as "ugly", but worked. But the cdp_prep data shows, that no valid data is entered.

This is a result of having all RRA definitions checked for this data template. When using 5 minute polling (default), best is to delete the "1 minute RRA". At least unselect that from all data templates.
Unfortunately, all rrd files created with such a setup have to be re-created. rrdtool does not have an operation to delete an invalid RRA.

All this is an assumption, I did not came across that very issue before.
It would help to know you exact rrdtool version information
R.
OK, i'm going to unselect the 1 minute RRA on all data templates, but i think i'm not going to re-created all graphs, maybe i can try recreating one, but i'm not sure is this will solve the problem, what dou you think?

My rrdtool version is 1.3.x maybe i can use the 1.4.x

Best!
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Re: 64-bit Counter

Post by gandalf »

I'm indeed unsure that this will solve your problem; I really tend _against_ that assumption. For me, it _looks_ like a plain COUNETR wrap, but the data you provided argues against that.

BTB: There's no need to re-create any graph.
You may simply rename a single rrd file, related to that very graph. Cacti will then recreate that very rrd file based on current definitions. In case this helps, fine. In case it does not, rename old rrd file back. Drawback: you will loose data for the period during which the second rrd file was present.

Reinhard
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest