Pinned topicnmon2rrd version 16a released

Hi,
I have just released nmon2rrd version 16a and you can find it at
https://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon

This version 16 has drastic changes which extracts column header names from the nmon file which makes it less sensitive to new columns and removed loads of code working around the variations in file output over the years.

It has also been beautified with the AIX cb -s command to fix indentation mistakes

Change comments (peoples names and company names) removed including mine - this is a sample code

This needs to be done to remove ownership issues in the future and gets messy.

I really appreciate the fixes supplied and have tried to include them but this version needs a good regression test.

Note the MEM section columns now match the nmon output file. Does this cause a problem with older .rrd files that you have been adding to for a longer period?

please let me know either way - as we could add a work around.

Can anyone testing the new version and finding a failure please report the issue and the problem file so I can reproduce the issue?
Can we have a new Forum Entry would be good with say "nmon2rrd v16 problem" in the title.

Re: nmon2rrd version 16a released

‏2013-01-03T07:37:31Z

This is the accepted answer.
This is the accepted answer.

Whoa
Nice work. I will test it against my nmon data sets asap, lets see how it works.
I will "time" them as well to see any changes in the efficiency of the compilation
optimizations. I have noted that gcc compilation of mine binds to single processor only.

Re: nmon2rrd version 16a released

‏2013-01-03T09:49:43Z

This is the accepted answer.
This is the accepted answer.

Hi,
nmon2rrd_16 Binary core dumped on my 5.3.8.3 for obvious reasons. I recompiled it with gcc.
I did not do timed tests, since most of the ticks are consumed actually by the rrdtool, which is bastard who do not thread.

Re: nmon2rrd version 16a released

Hi,
nmon2rrd_16 Binary core dumped on my 5.3.8.3 for obvious reasons. I recompiled it with gcc.
I did not do timed tests, since most of the ticks are consumed actually by the rrdtool, which is bastard who do not thread.

After days of test, I just found when version16 works well on AIX6 but can not running on AIX5.3, (especially on 5300-07-07-0846). is there any limititation for the new version? or is there any solution for this?

cause our nmon2web server is running on AIX5 and it is an very old server that can not be upgraded to AIX6...

Re: nmon2rrd version 16a released

After days of test, I just found when version16 works well on AIX6 but can not running on AIX5.3, (especially on 5300-07-07-0846). is there any limititation for the new version? or is there any solution for this?

cause our nmon2web server is running on AIX5 and it is an very old server that can not be upgraded to AIX6...

True,
If I understood correctly, author compiled it under AIX 6.1 using heavy optimizations so his binary will not work on AIX 5.3 which is BTW out of support.
What you can do is to compile it by yourself from c source, use xlC if you have one or get the latest version of gcc from www.perzl.org and then just run command
gcc -O3 nmon2rrd.c -o your_binary

Re: nmon2rrd version 16a released

True,
If I understood correctly, author compiled it under AIX 6.1 using heavy optimizations so his binary will not work on AIX 5.3 which is BTW out of support.
What you can do is to compile it by yourself from c source, use xlC if you have one or get the latest version of gcc from www.perzl.org and then just run command
gcc -O3 nmon2rrd.c -o your_binary

NEW RELEASE 17a is available
This was tested against the sample files above and another 50 large samples I have.
Download website - https://www.ibm.com/developerworks/mydeveloperworks/wikis/home?lang=en#/wiki/Power%20Systems/page/nmon2rrd

Feedback welcome.
Feedback on specific extra graphs your would like - check the website for a list

By the way,
Vendors promise backward compatibility = New OS will run programs compiled on previous versions of the OS and its compilers.
They don't promise forward compatibility = Old OS runs programs compiled on later OS versions and their compilers.

Running nmon2rrd compiled on AIX 6 should never be expected to run on AIX 5 - it would be a miracle or you are very very luck. Sorry, I don't have a AIX 5 machine with a compiler to generate binaries for AIX5. Fortunately, the nmon2rrd source code is released as sample code with dealing with the nmon format.

Re: nmon2rrd version 17a released

NEW RELEASE 17a is available
This was tested against the sample files above and another 50 large samples I have.
Download website - https://www.ibm.com/developerworks/mydeveloperworks/wikis/home?lang=en#/wiki/Power%20Systems/page/nmon2rrd

Feedback welcome.
Feedback on specific extra graphs your would like - check the website for a list

By the way,
Vendors promise backward compatibility = New OS will run programs compiled on previous versions of the OS and its compilers.
They don't promise forward compatibility = Old OS runs programs compiled on later OS versions and their compilers.

Running nmon2rrd compiled on AIX 6 should never be expected to run on AIX 5 - it would be a miracle or you are very very luck. Sorry, I don't have a AIX 5 machine with a compiler to generate binaries for AIX5. Fortunately, the nmon2rrd source code is released as sample code with dealing with the nmon format.

if I edit the nmon output file manually and change the "AAA,cpus" line from this "AAA,cpus,1" to that "AAA,cpus,1,1"
it works

It would be great if v18 could take care of this :)
PS : I am not using nmon2rrd for the GIF creation part, but for the RRD rrd_update
Did you ever think about a new tool that could be a nmon2graphite (http://graphite.wikidot.com/) ?

Re: nmon2rrd version 17a released

NEW RELEASE 17a is available
This was tested against the sample files above and another 50 large samples I have.
Download website - https://www.ibm.com/developerworks/mydeveloperworks/wikis/home?lang=en#/wiki/Power%20Systems/page/nmon2rrd

Feedback welcome.
Feedback on specific extra graphs your would like - check the website for a list

By the way,
Vendors promise backward compatibility = New OS will run programs compiled on previous versions of the OS and its compilers.
They don't promise forward compatibility = Old OS runs programs compiled on later OS versions and their compilers.

Running nmon2rrd compiled on AIX 6 should never be expected to run on AIX 5 - it would be a miracle or you are very very luck. Sorry, I don't have a AIX 5 machine with a compiler to generate binaries for AIX5. Fortunately, the nmon2rrd source code is released as sample code with dealing with the nmon format.

Finally got the AIX 7.1 on Power7 to test it. Works like a charm and consumes 0.6x less cpu cycles than my Gnu compilation on power6. Probably has something to do with the rrdtool update as well. It went from 1.2.30 to 1.4.8 and I'm using Perzl's binary.

topas_nmon is the nmon that comes with AIX for the last few years and you can just run it with the nmon command, so yes it works with the nmon files this produces.

nmon2rrd is a one shot filter program to generate graphs for that one .nmon file - then throw the .rrd file away. With some work you can use the output files to collect longer term data and graph it. I am working on a few changes to make this much easier for nmon2rrd v18. This idea is for have directory full of nmon files from one LPAR/VM and it will graph the lot for long term trending which can help for capacity planning and new machine sizing.

topas_nmon is the nmon that comes with AIX for the last few years and you can just run it with the nmon command, so yes it works with the nmon files this produces.

nmon2rrd is a one shot filter program to generate graphs for that one .nmon file - then throw the .rrd file away. With some work you can use the output files to collect longer term data and graph it. I am working on a few changes to make this much easier for nmon2rrd v18. This idea is for have directory full of nmon files from one LPAR/VM and it will graph the lot for long term trending which can help for capacity planning and new machine sizing.

This is then collected on a central machine and updates data for nodes. It stores history as well so you can view data a year back or so. Topas nmon doesn't know this option so we can't use it this way:

root@r4289 [/tmp] /usr/bin/topas_nmon -R

/usr/bin/topas_nmon: illegal option -- R

If there was a way to extract these data so that history will be kept? E.g. design the nmon2rrd in a way that will allow you to specify archives you want to use. Or perhaps have an option not to overwrite the files with data from that one nmon file but just to add these data to the archives.

This is then collected on a central machine and updates data for nodes. It stores history as well so you can view data a year back or so. Topas nmon doesn't know this option so we can't use it this way:

root@r4289 [/tmp] /usr/bin/topas_nmon -R

/usr/bin/topas_nmon: illegal option -- R

If there was a way to extract these data so that history will be kept? E.g. design the nmon2rrd in a way that will allow you to specify archives you want to use. Or perhaps have an option not to overwrite the files with data from that one nmon file but just to add these data to the archives.

Well I never use nmon_grapher so I can't comment on its support. The nmon -R output was silently dropped when nmon was taken in to AIX and the user based was practically undetectable. But sorry that you were a keen user of that feature. The nmon code had lots of statements when it cam to outputting data and the prim difference was the delimiters "," and ":". You are unlikely to get the -R option back but if you are ready and able to do some "hacking" of file formats you may get to continue. Converting nmon files to rrd updates is very tricky due to the time stamps. The output from nmon2rrd and its rrd_update file might be compatible with your rrd database files - you would have to try and work around problems. This would probably need some rrdtool format experience and scripting to automate. I have no idea how close the format would be but the numbers should be exactly the same. Also compare the rrd_create file which makes the rrd files to what you have to check compatibility. Good luck.

An alternative is changing to nmon2web. You could extracting your current rrdtool database and loading them into the nmon2web ones then using nmon2web to load .nmon files in the future. Again this is advanced rrdtool use. Good luck.

The problem with Linux is there is so many version available and it runs on different hardware. The nmon2rrd.c source code is available for you to compile on you favourite version. It is very simple C code and should compile.

nmon2web is supported by Bruce Spencer and is actively supported and new features added. This is perl and a .cgi script - again you can fix it up and support yourself if needed.