RRD Editor Available

Addons for Cacti and discussion about those addons

Moderators: Developers, Moderators

psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

RRD Editor Available

Post by psmith »

I created a little utility that some of you may find useful. The RRD Editor is a GUI based application that provides users easy access to archived RRD information. The visual editing features of the editor allow you to easily modify the contents of an RRD. Once an RRD is loaded into the editor you can quickly locate and modify a specific data or remove an entire RRA. The tool also allows new data sources and RRAs to be added. The contents of an RRD can then be restored or exported to an Excel Spreadsheet or csv file for further manipulation. You can download the tool from:

http://thetoolsmith.com/free-scripts/rr ... ads/page.1

Enjoy,
-Paul
User avatar
BSOD2600
Cacti Moderator
Posts: 12171
Joined: Sat May 08, 2004 12:44 pm
Location: USA

Post by BSOD2600 »

Wow, handy program. A few things though...

1) It would be handy for some spike detection / removal.

2) When I had a rrd file loaded up and tried to export to xls, it crashed.

The error:
The thread 'Win32 Thread' (0x1140) has exited with code 0 (0x0).
Unhandled exception at 0x01a17802 in RRD_Editor.exe: 0xC0000005: Access violation reading location 0x00000000.


The call stack:

Code: Select all

>	807a8abc62b3a50644ea07acd3d104a0.dll!01a17802() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for 807a8abc62b3a50644ea07acd3d104a0.dll]	
 	807a8abc62b3a50644ea07acd3d104a0.dll!01a158de() 	
 	msvcrt.dll!__unlock()  + 0x15 bytes	
 	msvcrt.dll!_free()  + 0x5a bytes	
 	msvcrt.dll!__unlock()  + 0x15 bytes	
 	msvcrt.dll!__unlock()  + 0x15 bytes	
 	msvcrt.dll!__unlock()  + 0x15 bytes	
 	msvcrt.dll!__heap_alloc()  + 0x5a bytes	
 	msvcrt.dll!__nh_malloc()  + 0x13 bytes	
 	msvcrt.dll!__nh_malloc()  + 0x13 bytes	
 	msvcrt.dll!_malloc()  + 0x27 bytes	
 	00cf1314()	
 	807a8abc62b3a50644ea07acd3d104a0.dll!01a14e50() 	
 	807a8abc62b3a50644ea07acd3d104a0.dll!01a03f6e() 	
 	perl58.dll!28041ee4() 	
 	perl58.dll!2803c9ac() 	
 	perl58.dll!28060417() 	
 	perl58.dll!28025e9c() 	
 	perl58.dll!28025d44() 	
 	perl58.dll!28025ca4() 	
 	perl58.dll!2800f56e() 	
 	ccd0fd71adead41886b5e0b4e16f7651.dll!10005b30() 	
 	ccd0fd71adead41886b5e0b4e16f7651.dll!10001eb8() 	
 	perl58.dll!28041ee4() 	
 	perl58.dll!28060417() 	
 	perl58.dll!28025e9c() 	
 	perl58.dll!28025d44() 	
 	perl58.dll!28025ca4() 	
 	perl58.dll!2800f56e() 	
 	ccd0fd71adead41886b5e0b4e16f7651.dll!10005b30() 	
 	05dd93dc171e9c18e0f638927fc9fdff.dll!012b28a0() 	
 	05dd93dc171e9c18e0f638927fc9fdff.dll!012c9930() 	
 	05dd93dc171e9c18e0f638927fc9fdff.dll!012cd19e() 	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc bytes	
 	05dd93dc171e9c18e0f638927fc9fdff.dll!012cca17() 	
 	05dd93dc171e9c18e0f638927fc9fdff.dll!012cce5a() 	
 	ccd0fd71adead41886b5e0b4e16f7651.dll!1000651e() 	
 	ccd0fd71adead41886b5e0b4e16f7651.dll!10006725() 	
 	05dd93dc171e9c18e0f638927fc9fdff.dll!012a7e70() 	
 	perl58.dll!2806787d() 	
 	perl58.dll!28041ee4() 	
 	perl58.dll!2803c8df() 	
 	perl58.dll!28060417() 	
 	perl58.dll!280257ac() 	
 	perl58.dll!28025663() 	
 	perl58.dll!2802550c() 	
 	perl58.dll!2802399f() 	
 	RRD_Editor.exe!00404848() 	
 	ntdll.dll!_LdrpAccessResourceDataNoMultipleLanguage@16()  + 0x24 bytes	
 	msvcrt.dll!__heap_alloc()  + 0x5a bytes	
 	msvcrt.dll!__nh_malloc()  + 0x13 bytes	
 	msvcrt.dll!__nh_malloc()  + 0x13 bytes	
 	msvcrt.dll!_malloc()  + 0x27 bytes	
 	RRD_Editor.exe!0040368c() 	
 	msvcrt.dll!__unlock()  + 0x15 bytes	
 	msvcrt.dll!_free()  + 0x5a bytes	
 	msvcrt.dll!_free()  + 0xc8 bytes	
 	56433230()	
 	RRD_Editor.exe!00404c34() 	
 	RRD_Editor.exe!004010bc() 	
 	ntdll.dll!_LdrLockLoaderLock@12()  + 0x6b bytes	
 	msvcrt.dll!__unlock()  + 0x15 bytes	
 	msvcrt.dll!__heap_alloc()  + 0xe5 bytes	
 	msvcrt.dll!__nh_malloc()  + 0x13 bytes	
 	msvcrt.dll!_malloc()  + 0x27 bytes	
 	0012ff58()	
 	RRD_Editor.exe!00407daf() 	
 	kernel32.dll!_BaseProcessStart@4()  + 0x23 bytes	
The asm code (* is where it died):

Code: Select all

01A177E8  call        01A65DA0 
01A177ED  mov         ebx,dword ptr [esp+18h] 
01A177F1  add         esp,4 
01A177F4  mov         ecx,9 
01A177F9  mov         esi,eax 
01A177FB  mov         edi,ebx 
01A177FD  push        1AB67E8h 
* 01A17802  rep movs    dword ptr es:[edi],dword ptr [esi] 
01A17804  call        dword ptr ds:[1A7908Ch]
psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

Post by psmith »

Thanks,

I'll take a look at the error and also adding the option for spike detection/removal.

-Paul
ahardman
Posts: 41
Joined: Mon Apr 10, 2006 2:54 pm

RRD Tool

Post by ahardman »

I have started using the tool to get rid of some spikes that cacti generated during the switch over from cmd.php to cactid. I have over 250 hosts and as you can imagine it is taking some time. How is the spike finder coming along? Is there anything i can do to help?
psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

Post by psmith »

I'll probably have something ready by next week, but any suggestions that you have for usability / layout would be a great help.

I'm thinking of providing the user two options:

1. To simply highlight all the points over a specified percentage/threshold
and let the user modify them manually.

2. all data points over a specified percentage/threshold get automatically removed.

-Paul
ahardman
Posts: 41
Joined: Mon Apr 10, 2006 2:54 pm

usabilty

Post by ahardman »

I know I'm asking for alot here, but I would like to see is this program worked into a cacti plugin that uses this new detection tool to monitor for spikes. But even as it is I found a very helpful tool. I like the layout, it only took a few moments to figure it out. On another note where in the code is the default folder set. I would like to link it to the rrd folder for cacti so that I can load and save files easier.
psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

Post by psmith »

On another note where in the code is the default folder set. I would like to link it to the rrd folder for cacti so that I can load and save files easier.
You can move the exe file into the directory containing your RRDs, and then the default folder is the cwd.

-Paul
psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

Post by psmith »

BSOD2600 wrote:Wow, handy program. A few things though...

1) It would be handy for some spike detection / removal.

2) When I had a rrd file loaded up and tried to export to xls, it crashed.
1. I've updated the Editor to include spike detection / removal. You can download the latest from http://thetoolsmith.com

2. I wasn't able to reproduce the error, but I'll look into it.

-Paul
User avatar
BSOD2600
Cacti Moderator
Posts: 12171
Joined: Sat May 08, 2004 12:44 pm
Location: USA

Post by BSOD2600 »

Few more suggestions

1) Enable dragging .rrd files onto the GUI which will automatically open it.

2) When I click on Spike Detect, the gui locks up for a period of time then nothing happens. Is it suppose to automatically search through all data sources for me or do I have to select each one (or even each time span) for it to work? If any of the latter, it would be handy that when you clicked on spike detect, it would search the entire rrd file (like the perl spike removal tool did) and then either list the spikes or remove them.

edit: Looks like you have to be in the Archive tab for the spikes to show. Would make sense when you clicked the 'spike detect' button, after detecting the spikes, it would bring you to the archive tab.

3) It crashed again when attempting to export to Excel. It was in the 'gathering data' phase when it happened. Had open a 2.9MB 2 datasource rrd file. You might want to include a .pdb debug file as a seperate download to aid in debugging...

You using .NET to program this?
psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

Post by psmith »

BSOD2600 wrote:Few more suggestions

1) Enable dragging .rrd files onto the GUI which will automatically open it.
I wrote the Editor using Perl/Tk so "dragging and dropping" *.rrd files can be done but would require a substantial amount of work compared to .NET.
BSOD2600 wrote:2) When I click on Spike Detect, the gui locks up for a period of time then nothing happens. Is it suppose to automatically search through all data sources for me or do I have to select each one (or even each time span) for it to work? If any of the latter, it would be handy that when you clicked on spike detect, it would search the entire rrd file (like the perl spike removal tool did) and then either list the spikes or remove them.
The spike detection will serach trhough the entire RRD, and it highlights (in red) the values that fall below the specified percentage. You can then select any RRA, and it shows "x / total" that are contained in that one RRA. Clicking the remove spikes icon will remove the spikes found.
BSOD2600 wrote: 3) It crashed again when attempting to export to Excel. It was in the 'gathering data' phase when it happened. Had open a 2.9MB 2 datasource rrd file.
For larger RRDs it does take a while to retrieve the data and populate the matrix. I'll try to reproduce the crash with some larger RRDs.

Thanks for the feedback. I'll be updating the docs with more detail sometime this week.
User avatar
Pumpi
Cacti User
Posts: 259
Joined: Wed Jan 14, 2004 3:23 am
Location: Germany

Post by Pumpi »

psmith,

perhaps a stupid question but how can I launch your tool ?
:oops:
psmith
Posts: 7
Joined: Wed Apr 19, 2006 10:10 pm
Contact:

Post by psmith »

Which version are you using?

Windows should simply be a double click after install and for Unix/Linux:

untar it, unzip it, and run ./RRD_Editor from the command line.

-Paul
kelbyc
Cacti User
Posts: 52
Joined: Mon Nov 28, 2005 8:50 am

Re: RRDEditor

Post by kelbyc »

I recently found this program and I think it's great. Much easier than using rrdtool to resize RRDs. Is there a way you could add the functionality to remove Sags in addition to spikes? Occassionally when doing maintenance on my Cacti server I miss a few polls and need to fill in the data so this would be very helpful. Maybe just take an average of a few cycles before and after the sag to 0 and use that to fill. Thanks again for this great tool.

KC
aramsay
Posts: 1
Joined: Sat Sep 30, 2006 3:03 pm

Problems running on FC5 & Centos 4

Post by aramsay »

Hi,

I'm having problems running the RRD_Editor on both FC5 and Centos 4 systems; both with similar messages:


FC5 produces:
./RRD_Editor_Linux-Lite
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 73 (X_GetImage)
Serial number of failed request: 748
Current serial number in output stream: 748

Centos4 produces:
./RRD_Editor_Linux-Lite
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 73 (X_GetImage)
Serial number of failed request: 869
Current serial number in output stream: 869

Anyone come across this before and know how to resolve?

Alan
tiggermanh
Posts: 6
Joined: Fri May 19, 2006 12:31 pm
Location: Dayton Ohio

Post by tiggermanh »

If I try to open any rrd from my cacti installation, I get the error:

Unable to continue because of the following:
This RRD was created on other architecture.

I am running the Windows version of RRD Editor. Cacti is on a linux server.

Suggestions?
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests