[Orca-users] Problem getting Orca to show disk stats with HP RAID adaptor

Paul Woodward pwoodward at wwf.org.uk
Sat Jul 8 10:20:23 PDT 2006


Hi all.

Using procallator/orca to gather stats on a database server running SuSE =
Linux (SLESx86-64).  It all looks good, except I'm not seeing any disk =
stats.  No such problems on my desktop PC running opensuse.

The database server has a hardware RAID controller, so we don't have the =
usual /dev/sda or /dev/hda style names (except for the CDROM - /dev/hda).  =
I think this is the issue, but I'm struggling to fix it.
=20
# cat /proc/partitions
major minor  #blocks  name

 104     0   71126640 cciss/c0d0
 104     1      65264 cciss/c0d0p1
 104     2    1052640 cciss/c0d0p2
 104     3   70008720 cciss/c0d0p3
 104    16  213379920 cciss/c0d1
 104    17  213379904 cciss/c0d1p1

# cat /proc/diskstats
   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
   [ several lines deleted... ]=20
   7    6 loop6 0 0 0 0 0 0 0 0 0 0 0
   7    7 loop7 0 0 0 0 0 0 0 0 0 0 0
   3    0 hda 411 7555 31864 33261 0 0 0 0 0 14784 33261
   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
 104    0 cciss/c0d0 41426 75862 0 239648 102148 1316231 0 27822023 0 =
426772 28061744
 104    1 cciss/c0d0p1 98 9022 6 12
 104    2 cciss/c0d0p2 78709 629672 108668 869344
 104    3 cciss/c0d0p3 38499 978282 1309762 10478096
 104   16 cciss/c0d1 174301 1230732 0 5080445 7671345 40649906 0 638630386 =
1 24478776 643711122
 104   17 cciss/c0d1p1 1405013 16568538 48321020 386567440
   2    0 fd0 2 0 4 91 0 0 0 0 0 91 91

I already found a 'bug' in procallator on line 438:      =20
        while ( $line =3D <F_DSKSTAT> ) {
            if ( $line =3D~ /sd|hd/ ) {    # just IDE or SCSI disks
                chomp $line;
                $line =3D " 0 " . $line

Now I'm no perl expert, but I think this basically says "if it doesn't =
contain sd or hd then don't capture it".

I've changed this to read:            =20
        if ( $line =3D~ /cciss/ ) {    # just RAID controller disks


The headers in the capture files in /usr/local/var/orca/procallator/
used to look like this:

timestamp locltime uptime 1runq 5runq 15runq #proc_oncpu #proc #proc/s =
#proc_blckd ncpus usr% nice% sys% wait% idle% usr_%_1 nice_%_1 sys_%_1 =
wait_%_1 usr_%_2 nice_%_2 sys_%_2 wait_%_2 usr_%_3 nice_%_3 sys_%_3 =
wait_%_3 usr_%_4 nice_%_4 sys_%_4 wait_%_4 usr_%_5 nice_%_5 sys_%_5 =
wait_%_5 usr_%_6 nice_%_6 sys_%_6 wait_%_6 usr_%_7 nice_%_7 sys_%_7 =
wait_%_7 usr_%_8 nice_%_8 sys_%_8 wait_%_8 disk_rd_hda/s disk_wr_hda/s =
disk_rB_hda/s disk_wB_hda/s disk_rdseq_hda/s disk_wrseq_hda/s disk_rtm_hda/=
s disk_wtm_hda/s disk_iotm_hda/s disk_ioqueue_hda/s disk_weightiotm_hda/s =
mempages_in mempages_out swap_in swap_out ctxt/s intr/s disk_op/s =
disk_rd/s disk_wr/s disk_rB/s disk_wB/s mem_used% mem_free% mem_shrd% =
mem_buff% mem_cchd% swp_free% swp_used% if_in_b_lo if_in_p_lo if_in_e_lo =
if_in_d_lo if_in_ff_lo
if_in_fr_lo if_in_c_lo if_in_m_lo if_out_b_lo if_out_p_lo if_out_e_lo =
if_out_d_lo if_out_ff_lo if_out_cl_lo if_out_ca_lo if_out_cp_lo if_in_b_eth=
0 if_in_p_eth0 if_in_e_eth0 if_in_d_eth0 if_in_ff_eth0 if_in_fr_et

They now look like this:

timestamp locltime uptime 1runq 5runq 15runq #proc_oncpu #proc #proc/s =
#proc_blckd ncpus usr% nice% sys% wait% idle% usr_%_1 nice_%_1 sys_%_1 =
wait_%_1 usr_%_2 nice_%_2 sys_%_2 wait_%_2 usr_%_3 nice_%_3 sys_%_3 =
wait_%_3 usr_%_4 nice_%_4 sys_%_4 wait_%_4 usr_%_5 nice_%_5 sys_%_5 =
wait_%_5 usr_%_6 nice_%_6 sys_%_6 wait_%_6 usr_%_7 nice_%_7 sys_%_7 =
wait_%_7 usr_%_8 nice_%_8 sys_%_8 wait_%_8 part_rd_cciss/c0d0/s part_wr_cci=
ss/c0d0/s part_rB_cciss/c0d0/s part_wB_cciss/c0d0/s part_rd_cciss/c0d0p1/s =
part_wr_cciss/c0d0p1/s part_rB_cciss/c0d0p1/s part_wB_cciss/c0d0p1/s =
part_rd_cciss/c0d0p2/s part_wr_cciss/c0d0p2/s part_rB_cciss/c0d0p2/s =
part_wB_cciss/c0d0p2/s part_rd_cciss/c0d0p3/s part_wr_cciss/c0d0p3/s =
part_rB_cciss/c0d0p3/s part_wB_cciss/c0d0p3/s part_rd_cciss/c0d1/s =
part_wr_cciss/c0d1/s part_rB_cciss/c0d1/s part_wB_cciss/c0d1/s part_rd_ccis=
s/c0d1p1/s part_wr_cciss/c0d1p1/s part_rB_cciss/c0d1p1/s part_wB_cciss/c0d1=
p1/s mempages_in mempages_out swap_in swap_out ctxt/s intr/s disk_op/s =
disk_rd/s disk_wr/s disk_rB/s disk_wB/s mem_used% mem_free% mem_shrd% =
mem_buff% mem_cchd% swp_free% swp_used% if_in_b_lo if_in_p_lo if_in_e_lo =
if_in_d_lo if_in_ff_lo if_in_fr_lo if_in_c_lo if_in_m_lo if_out_b_lo =
if_out_p_lo if_out_e_lo if_out_d_lo if_out_ff_lo if_out_cl_lo if_out_ca_lo =
if_out_cp_lo if_in_b_eth0 if_in_p_eth0 if_in_e_eth0 if_in_d_eth0 if_in_ff_e=
th0 if_in_fr_eth0 if_in_c_eth0 if_in_m_eth0 if_out_b_eth0 if_out_p_eth0 =
if_out_e_eth0 if_out_d_eth0 if_out_ff_et

...so I guess I'm grabbing the right stats now - But I still don't see =
anthing in the orca pages.

Anyone got any pointers?

Paul W.




Paul Woodward
Network Administrator
IT&Facilities Dept
WWF-UK
mailto:pwoodward at wwf.org.uk
www.wwf.org.uk

WWF-UK.  For a living planet


______________________________________________________________________
This e-mail is confidential and may contain privileged information. If you
are not the addressee it may be unlawful for you to read, copy, 
distribute, disclose or otherwise use the information in this e-mail. If you
are not the intended recipient please notify us immediately. Views or 
opinions expressed in this e-mail do not necessarily reflect those of WWF.

<<<<GWAVAsig>>>>




More information about the Orca-users mailing list