Hi all<br><br>Just put this on a Solaris 10 box not using ZFS, and the graph is borked.<br>As a work-around, I manually added a ZFS column to my rrd file for that service.<br><br>If that's too difficult, try this. It generates a working rrd file.<br>
Take a host with a working graph, let's say HostA.<br>cd to the appropriate rrd directory.<br>Backup, and delete the existing memstat.rrd file.<br>    mv memstat.rrd memstat.rrd.bak<br>wait for a few minutes, and Zymon will create a new memstat.rrd.<br>
Save it. <br>    mv memstat.rrd memstat.rrd.new<br>Then copy back the old one. <br>    mv memstat.rrd.bak memstat.rrd<br><br>This new rrd file will have the correct format and columnts, but no actual data.<br>You can now copy it over the rrd file for the host that doesn't have ZFS, and will not graph.<br>
mv memstat.rrd.new ../HostB/memstat.rrd<br><br>The graph for HostA will be missing a single entry, but that's not a major issue.<br>The graph for HostB will have all values set to N/A for ZFS. <br>Also not a train smash.<br>
<br>I could also change the graphing mechanism to SPLIT_NCV, but I am not sure it is implemented in my version.<br><br>Enjoy.<br><br>Regards<br>    Vernon<br><br><br><br><br><div class="gmail_quote">On Fri, May 21, 2010 at 8:38 PM, TJ Yang <span dir="ltr"><<a href="mailto:tjyang2001@gmail.com">tjyang2001@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Thanks for sharing this code, Vernon.<br>
<br>
I will find some time to test this script out.<br>
<br>
<br>
tj<br>
<div><div></div><div class="h5"><br>
On Thu, May 20, 2010 at 1:17 AM, Vernon Everett<br>
<<a href="mailto:everett.vernon@gmail.com">everett.vernon@gmail.com</a>> wrote:<br>
> Hi all<br>
><br>
> Just cobbled together a test to keep tabs on where memory is going on my<br>
> Solaris 10 servers, in particular, how much is going to kernel and ZFS<br>
> cache.<br>
> (It might work for other Solaris versions, but I haven't tried. YMMV)<br>
><br>
> Please let me know if you spot any bugs.<br>
><br>
> It's 2 scripts.<br>
> An mod to hobbitserver.cfg and hobbitgraph.cfg, and an update to<br>
> clientlaunch.cfg<br>
><br>
> Here goes.<br>
><br>
> On the client, add this to clientlaunch.cfg<br>
> [memstat]<br>
>         ENVFILE $HOBBITCLIENTHOME/etc/hobbitclient.cfg<br>
>         CMD $HOBBITCLIENTHOME/ext/memstat.ksh<br>
>         LOGFILE $HOBBITCLIENTHOME/logs/memstat.log<br>
>         INTERVAL 5m<br>
><br>
> Client side scripts.<br>
> # cat memstat.ksh<br>
> #!/bin/ksh<br>
> TEMPFILE=$BBTMP/memstat.tmp<br>
> COLOUR=green<br>
> ALERT=1  # 1= alert on high usage<br>
> YELLOW=75<br>
> RED=90<br>
> date > $TEMPFILE<br>
> echo >> $TEMPFILE<br>
> $HOBBITCLIENTHOME/ext/getmemstat.ksh > $TEMPFILE.data<br>
> cat $TEMPFILE.data  >> $TEMPFILE<br>
> if [ $ALERT -eq 1 ]<br>
> then<br>
>    cat $TEMPFILE.data | egrep "^Kernel|^Anon|^Exec" | cut -c52-56 | while<br>
> read a<br>
>    do<br>
>       if [ $a -gt $YELLOW -a "$COLOUR" = "green" ]<br>
>       then<br>
>           COLOUR=yellow<br>
>       else<br>
>          [ $a -gt $RED ] && COLOUR=red<br>
>       fi<br>
>    done<br>
> fi<br>
> echo '<p><font size="1" color="black">' >> $TEMPFILE<br>
> cat $TEMPFILE.data | egrep -v -- "-----|Summary|^$|^Total|^Physical" \<br>
>                    | sed "s/^Free //g" \<br>
>                    | sed "s/[(|)|%]//g" \<br>
>                    | awk '{ print $1" : "$NF }' >> $TEMPFILE<br>
> echo '</font></p>' >> $TEMPFILE<br>
> rm $TEMPFILE.data<br>
> $BB $BBDISP "status $MACHINE.memstat $COLOUR $(cat $TEMPFILE)"<br>
> rm $TEMPFILE<br>
><br>
> # cat getmemstat.ksh<br>
> #!/bin/ksh<br>
> echo "::memstat" | mdb -k<br>
><br>
> Hobbit user cannot run mdb, so we need to set permissions to 4755 and owner<br>
> root on getmemstat.ksh<br>
> chown root getmemstat.ksh<br>
> chmod 4755 getmemstat.ksh<br>
><br>
><br>
> On the server<br>
> Add this to hobbitserver<br>
> TEST2RRD="blah,blah,blah,memstat=ncv"<br>
> GRAPHS="whatever was there, memstat"<br>
> NCV_memstat="*:GAUGE"<br>
><br>
> Add this to hobbitgraph.cfg<br>
> [memstat]<br>
>         TITLE Kernel Memory Allocation<br>
>         YAXIS %<br>
>         -u 100<br>
>         -l 0<br>
>         DEF:a=memstat.rrd:Kernel:AVERAGE<br>
>         DEF:b=memstat.rrd:ZFS:AVERAGE<br>
>         DEF:c=memstat.rrd:Anon:AVERAGE<br>
>         DEF:d=memstat.rrd:Exec:AVERAGE<br>
>         DEF:e=memstat.rrd:Page:AVERAGE<br>
>         DEF:f=memstat.rrd:cachelist:AVERAGE<br>
>         DEF:g=memstat.rrd:freelist:AVERAGE<br>
>         AREA:a#00FF00:Kernel<br>
>         STACK:b#000099:ZFS<br>
>         STACK:c#009999:Anon<br>
>         STACK:d#FF00FF:Exec<br>
>         STACK:e#FFFF00:Page<br>
>         STACK:f#00FFFF:cachelist<br>
>         STACK:g#FF0000:freelist<br>
>         COMMENT:\n<br>
>         GPRINT:a:LAST:Kernel    \: %5.1lf%s (cur)<br>
>         GPRINT:a:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:a:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:a:AVERAGE: \: %5.1lf%s (avg)\n<br>
>         GPRINT:b:LAST:ZFS       \: %5.1lf%s (cur)<br>
>         GPRINT:b:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:b:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:b:AVERAGE: \: %5.1lf%s (avg)\n<br>
>         GPRINT:c:LAST:Anon      \: %5.1lf%s (cur)<br>
>         GPRINT:c:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:c:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:c:AVERAGE: \: %5.1lf%s (avg)\n<br>
>         GPRINT:d:LAST:Exec      \: %5.1lf%s (cur)<br>
>         GPRINT:d:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:d:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:d:AVERAGE: \: %5.1lf%s (avg)\n<br>
>         GPRINT:e:LAST:Page      \: %5.1lf%s (cur)<br>
>         GPRINT:e:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:e:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:e:AVERAGE: \: %5.1lf%s (avg)\n<br>
>         GPRINT:f:LAST:cachelist \: %5.1lf%s (cur)<br>
>         GPRINT:f:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:f:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:f:AVERAGE: \: %5.1lf%s (avg)\n<br>
>         GPRINT:g:LAST:freelist  \: %5.1lf%s (cur)<br>
>         GPRINT:g:MAX: \: %5.1lf%s (max)<br>
>         GPRINT:g:MIN: \: %5.1lf%s (min)<br>
>         GPRINT:g:AVERAGE: \: %5.1lf%s (avg)\n<br>
><br>
> Regards<br>
>      Vernon<br>
><br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
T.J. Yang<br>
</font><div><div></div><div class="h5"><br>
To unsubscribe from the hobbit list, send an e-mail to<br>
<a href="mailto:hobbit-unsubscribe@hswn.dk">hobbit-unsubscribe@hswn.dk</a><br>
<br>
<br>
</div></div></blockquote></div><br>