Oracle CHM(IPD/OS) graphical report with gnuplot

another post on sar graphical report with gnuplot

ipd/os is a very useful tool to monitor/collect system resource status, and from release 11.2.0.3, it’s now merged as a standard component of oracle clusterware.

the new name: oracle CHM(Cluster Healthy Monitor) shows it’s now a tool for clusterware/rac, it’s very useful to record resource usage and status upto 3days.

but ipd/os report is just plain txt with boring data, it’s a better way to show as a graphical report, gnuplot helps.

FOLLOWING DATA IS JUST USED FOR DEMO,  DOESNT IMPLICATE ANY PERFORMANCE STATUS OF RUNNING PRODUCTION ENV.

here’s a sample data from classic ipd/os output(the newest chm output may contains tiny different on formatting), it contains sample data from 07:00:00-10:00:00 for node01.

ipdos_data_node01 <this sample file is very large 100M+…. not upload on this server…>
Whoever would like to get the sample data and want to try, please click here:

#1.  get the time column.

Sample: time_node01

 

Following, to retrieve necessary data on cpu/mem usage and iowait #.

#2. format the text, just collect usable data.

Sample:resource_data_node01

 

#3. get the cpu usage column.

Sample:cpu_node01

 

#4. get the iowait number column.

Sample:iowait_data_node01

 

#5. get memory usage column.
ipd/os just provide column memory free/total/cache,  like:

to calculate the usage%, need to use (physmemtotal – physmemfree – mcache) / physmemtotal *100%

so we need to get the 3 columns.

Sample:mem_usage_node01

run the file to get result..

Sample: mem_node01

#6 get the report for cpu/mem usage.

Sample: ipdos_cpu_mem_gnuplot_node01
run gnuplot with following cmd:

 

 

 

 

 

 

 

#7 get report for iowait usage.

Sample: ipdos_iow_gnuplot_node01

run gnuplot with following cmd:

 

 

 

 

 

 

 

#8. comparison on different nodes.
we can show data on 1node for a duration, and also it helps to compare different node status.
following is a sample to show a four-node cluster running cpu usage:
4 samples, each records the cpu usage,
Sample:
ipdos_cpu_mem_gnuplot_node01
ipdos_cpu_mem_gnuplot_node02
ipdos_cpu_mem_gnuplot_node03
ipdos_cpu_mem_gnuplot_node04

*** why not combine the 4 samples, merge  into 1 text file?
well, if you watch into the 4files, they’re of different size(line#),  different issues matter…
when some node evicted/rebooted, os data that time may lose on that node,
or when the sys stress is very very high, ipd/os will dump data using a longer interval (>1s).
So it’s fine to use different files,  of course they all dumps the same duration 07:00:00-10:00:00.
gnuplot accepts different file inputs.
run gnuplot with following cmd:

 

 

 

 

 

 

 

well seems it’s not very clear to put all data in this graphic, we can also just compare a short time.

and then plot the line…

 

sar graphical report with gnuplot

sar is very useful to monitor sys.res, following is a demo to paint gra. report using gnuplot.

gnuplot can be obtained from sf.(while it’s not GPL compatible license) http://gnuplot.sourceforge.net/

for Fedora users, just using yum install gnuplot to make the tool running.

#1, run sar command, and collect a sample of output. as: sar.txt

sample data: sar.txt
#2, handle the file, format for the tool, to :sar2.txt

sample data: sar2.txt
#3. run gnuplot with following cmd.

#4. paste the result of demo.

 

 

pureDarwin Xmas running on Fedora15+qemu-kvm

PureDarwin was a nice project… but no good updates in last year

I tried qemu running on following guides:

http://www.puredarwin.org/developers/qemu

1. Download the img of puredarwinXmas:

puredarwinxmas.tar.bz2 (md5: fd0ade4da224475e5dc33c2c11d9d0bc)

 

2. Open qemu…

Command used:
qemu -hda ‘puredarwinxmas.vmdk’ -cdrom ‘puredarwinxmas.vmdk’ -boot d -m 512
>>  press F8 when asked and echo following line on the boot: prompt.
mach_kernel.voodoo
>> Then have to launch X11 manually:
/usr/X11/bin/startx

paste the screenshot here…

Fedora 15: chmsee failed to open .chm file(on XPCOM component)

I’m not using chmsee on Fedora mainline, just fetch codes from googlecodes.

It’s now hitting bug.. which already tracked as bug 833640 on RH side.

 

Error Message:

Problem:

Firefox 12 not upgraded to 13, but thunderbird already to 13 on Fedora15.
no updates on yum….

Need to manually upgrade xulrunner/firefox.
http://koji.fedoraproject.org/koji/buildinfo?buildID=325852
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=833640

 

I’m using Fedora 15.x86, as the yum mainline may not update in a few while(it may be outofdate… )
Following packages help..
http://kojipkgs.fedoraproject.org//packages/xulrunner/13.0.1/1.fc15/i686/xulrunner-13.0.1-1.fc15.i686.rpm
http://kojipkgs.fedoraproject.org//packages/xulrunner/13.0.1/1.fc15/i686/xulrunner-devel-13.0.1-1.fc15.i686.rpm
http://kojipkgs.fedoraproject.org//packages/firefox/13.0.1/1.fc15/i686/firefox-13.0.1-1.fc15.i686.rpm

LXR-0.11.1 + glimpse-4.18.6 on Fedora 15… reading linux kernel 0.12

Recently I’m reading linux kernel 0.12. I setup lxr+glimpse on my Fedora 15 node.
Following is the steps:

1. Prepare…

with following packages installed:

2. Install glimpse…
http://webglimpse.net/trial/glimpse-4.18.6.tar.gz

download/congfigure/make/make install
If any package lost, use yum/cpan to install.
You can inst as default(/usr/local)…
I use prefix=/usr/suse/lxr/glimpse

3. Install lxr…
http://sourceforge.net/projects/lxr/
I download lxr-0.11.1.tgz, no necessary to compile
extra/untar the package and

4. Configuration…
I configure a single tree here.

.htaccess file will be generated into lxrroot, no need to modify…
config file will be generated into lxrconf.d/

5. handle the configuration files…
modify apache-lxrserver.conf,   erase following caret:  “alias ^/lxr” –> “alias /lxr”

mysql import lxrconf.d/initdb-mysql-custom.sql with correct user/passwd/dbname.
6. copy lxrconf.d/lxr.conf to ${LXRROOT} and configure…
I paste a copy of my lxr.conf here
lxr.conf

 

7. prepare some templates html file, ensure httpserver can access the files…

 

8. all ready..

ln or cp folder of kernel0.12 here, name as “0.12”

9. go to folder ${LXRROOT}, generate Index…

we can see records into db…

10. re/start httpd server.
access http://localhost/lxr/source

all should be ok now…

[debug]
1. Cannot show ident correctly, httpd server errorlog shows
[Thu Jul  5 18:24:33 2012] warning: LXR::Template, line 105: Template file ‘htmlident’ => ‘/usr/suse/lxr/lxr/http/html-ident.html’ does not exist
[Thu Jul  5 18:24:33 2012] fatal: ModPerl::ROOT::ModPerl::RegistryPrefork::usr_suse_lxr_lxr_ident, line 188: ‘htmlident’ template not configured at /usr/suse/lxr/lxr/ident line 188, <FILETYPE> line 4.

just ensure lxr.conf matches step#7. and give folder html enough privilege.

2. No need to copy ${LXRROOT}/lib files to other perl @INC path.
/etc/httpd/conf.d/apache-lxrserver.conf will call following file to include…
/usr/suse/lxr/lxr/lxrconf.d/apache2-require.pl

—————————-

Well , glimpse here can be replaced with swish-e, I have another post to provide swish-e RPMs for fedora15/16.
Any problems on similar configuration, plz feel free to drop me a message.

-s

 

[update] Aug.17th

About the “src” folder:
In the configure file, writes:

 

I didnt comment out “range ” values  for new versions of linux kernel contains such code.

 

About the Step8. first time I use  “>” and when new version trees come, I use “>>” instead.. like following

So, if other users who dont handle version intro with this file, please just  configure above code, and hard-code modify “range” array.

above I mentioned “ln or cp”  trees here, just as Andre suggested it’s not a good idea to put source code inside the app folder.
well I’m now not installing lxr in a standard prefix(like: /usr/local/ or /usr/), so I would like the data integrated

I place source code trees  in other place and use soft link to keep update.

I think the soft link is alternatively a good choice to avoid data loosing when app update/deinstall.

And of course when new install/upgrade needed, I think we can move away the src folder and softlink back here.

 

About the err mesg#1  and step7. on folder “/lxr/lxrconf.d/html/”

here I didnt successfully configured the server as I didnt grant enough privilege to the “/lxr/lxrconf.d/html/” dir. it’s why failed.
I mv the folder to “/lxr/http” and grant privilege, it’s ok to access now.

I think it ok not move the folder, just chown/chmod to give enough privilege to let httpserver to access the folder.
My change is not a must, I just think it ok to delete dir “”/lxr/lxrconf.d/” after server successfully running.  and the server not rely on this folder now.

and before step#7,  invoke  “cd ” to  ${LXRROOT}, already updated.

 

Thanks Andre pointing out these issues,

-s