[hobbit] Re: afs_fsmon ext-script
Martin Flemming
martin.flemming at desy.de
Mon Nov 17 10:17:53 CET 2008
Hi, Henrik !
>> On Fri, 14 Nov 2008, Henrik Størner wrote:
>> > You can then also use the TRENDS setting in bb-hosts to choose
>> > which of the many graphs you want to show up on the "trends" page.
>> > E.g. if you have an [afs1], [afs2] and [afs3] graph, then you
>> > can have (in bb-hosts):
>> >
>> > 0.0.0.0 myafsbox # TRENDS:*,afs:afs1,afs3
>> >
>> > and it will then show the afs1 and afs3 graphs on the trends page.
I've tested this option, but unfortunatley,
0.0.0.0 afs-node-1 # TRENDS:*,afss:afss1,afss2,afss3,afss4
i've got only one separate graph in the trend-page, always the first one,
the others will be ignored ...
and only that one generates one graph
[afss1]
DEF:callswaiting=afss.rrd:callswaiting:AVERAGE
YAXIS Calls wating
TITLE Number of waiting Calls
COMMENT:\n
GPRINT:callswaiting:LAST:callswaiting \: %5.1lf (cur)
GPRINT:callswaiting:MAX:callswaiting \: %5.1lf (cur)
GPRINT:callswaiting:MIN:callswaiting \: %5.1lf (cur)
GPRINT:callswaiting:AVERAGE:callswaiting \: %5.1lf (cur)
... the other ones e.g. this one, didn't work, i've got only one empty link
[afss2]
DEF:threadsidle=afss.rrd:threadsidle:AVERAGE
YAXIS idle threads
TITLE Number of idle threads
COMMENT:\n
GPRINT:threadsidle:LAST:threadsidle \: %5.1lf (cur)
GPRINT:threadsidle:MAX:threadsidle \: %5.1lf (cur)
GPRINT:threadsidle:MIN:threadsidle \: %5.1lf (cur)
GPRINT:threadsidle:AVERAGE:threadsidle \: %5.1lf (cur)
.. is there a also commandline-option to test/debug it like
> QUERY_STRING="host=afs-node-1&service=ncv:afss&graph=hourly&action=view"
> REQUEST_METHOD=GET SCRIPT_NAME="" REQUEST_URI="" ~hobbit/cgi-bin/hobbitgraph.sh
, why it doesn't display an graph ?
.. or should i added something else to hobbitserver.cfg ...
thanks & cheers,
martin
On Mon, 17 Nov 2008, Martin Flemming wrote:
>
> Hi !
>
> Problem solved :-)
>
>
> I've had to remove all empty entries
>
>
> freepackets,calls,sentbusy,sentabort,sentackall,sentchallenge,sentresponse
>
> of my output from my afss-graph-definition in hobbitgraph.cfg
>
> Mon Nov 17 08:02:52 2008
>
>
> freepackets:
> callswaiting: 0
> threadsidle: 123
> serverconnections: 9911
> clientconnections: 2011
> peerstructs: 1603
> callstructs: 16914
> freecalls: 5122
> packetallocation failures: 0
> calls:
> allocs: 1895951541
> readdata: 94890489
> readack: 249968598
> readdup: 69775
> readspurious: 18528
> readbusy: 451
> readabort: 10155061
> readackall: 6586
> readchallenge: 573171
> readresponse: 1980478
> sentdata: 1956795228
> sentresent: 8579980
> sentack: 834420997
> sentbusy:
> sentabort:
> sentackall:
> sentchallenge:
> sentresponse:
>
>
>
> and after that , i've got the pretty graph !
>
> I've solved that issue with follwing debug-command from the mailinglist
>
> QUERY_STRING="host=afs-node-1&service=ncv:afss&graph=hourly&action=view"
> REQUEST_METHOD=GET SCRIPT_NAME="" REQUEST_URI=""
> ~hobbit/cgi-bin/hobbitgraph.sh
>
> and the output was
>
>> Expires: Mon, 17 Nov 2008 07:16:46 GMT
>>
>> Content-type: text/html
>>
>> <html><head><title>Invalid request</title></head>
>> <body>No DS called 'freepackets' in 'afss.rrd'</body></html>
>
>
>
> .. good to know now, that the hobbitgraph.cgi/hobbitgraph.cfg are very
> sensitive in fact of empty values ...
>
>
> cheers,
> martin
>
>
>
>
> On Sun, 16 Nov 2008, Martin Flemming wrote:
>
>>
>> Hi !
>>
>>
>> Grmmph,
>>
>> .. something is missing in my enviroment ...
>>
>> my afss.rrd looks good but i've got no graph for it ...
>>
>>
>> i can see with
>>
>> bbcmd hobbitd_channel --debug --channel=status hobbitd_capture --hosts=
>> afs-node-1
>>
>> ## @@status#33428/afs-node-1 1226767038.360131 X.X.X.X afs-node-1 afss
>> 1226768838 green green 1226683362 0 0 1226766743 0 sunos AFS
>> status afs-node-1.afss green Sat Nov 15 17:37:18 2008
>>
>>
>> freepackets:
>> callswaiting: 0
>> threadsidle: 123
>> serverconnections: 9786
>> clientconnections: 1981
>> peerstructs: 1590
>> callstructs: 16914
>> freecalls: 5237
>> packetallocation failures: 0
>> calls:
>> allocs: 1810578738
>> readdata: 66997530
>> readack: 213812807
>> readdup: 69511
>> readspurious: 18444
>> readbusy: 451
>> readabort: 10128366
>> readackall: 6553
>> readchallenge: 567192
>> readresponse: 1963434
>> sentdata: 1844522702
>> sentresent: 8569645
>> sentack: 827892863
>> sentbusy:
>> sentabort:
>> sentackall:
>> sentchallenge:
>> sentresponse:
>>
>>
>> .. everything should be ok ...
>>
>> in my hobbitserver.cfg
>>
>> TEST2RRD="...,afss=ncv,
>>
>> GRAPHS="..,afss,
>>
>> NCV_afss="freepackets:GAUGE,callswaiting:GAUGE,threadsidle:GAUGE,serverconnections:GAUGE,clientconnections:GAUGE,peerstructs:GAUGE,callstructs:GAUGE,
>> freecalls:GAUGE,calls:GAUGE,allocs:GAUGE,readdata:GAUGE,readack:GAUGE,readdup:GAUGE,readspurious:GAUGE,readbusy:GAUGE,readabort:GAUGE,readackall:GAUGE,
>> readchallenge:GAUGE,readresponse:GAUGE,sentdata:GAUGE,sentresent:GAUGE,sentack:GAUGE,sentbusy:GAUGE,sentabort:GAUGE,sentackall:GAUGE,sentchallenge:GAUGE,
>> sentresponse:GAUGE"
>>
>>
>>
>>
>> In my rrd-status.log, i can see the afss.rrd will be pretty updated
>>
>> 2008-11-16 15:00:56 Flushing '/afs-node-1/afss.rrd' with 4 updates
>> pending, template
>> 'callswaiting:threadsidle:serverconnections:clientconnections:peerstructs:callstructs:freecalls:packetallocationfai:allocs:readdata:readack:readdup:readspurious:readbusy:readabort:readackall:readchallenge:readresponse:sentdata:sentresent:sentack'
>>
>>
>> rrdtool info /usr/lib/hobbit/server/data/rrd/afs-node-1/afss.rrd| grep
>> type
>>
>> ds[callswaiting].type = "GAUGE"
>> ds[threadsidle].type = "GAUGE"
>> ds[serverconnections].type = "GAUGE"
>> ds[clientconnections].type = "GAUGE"
>> ds[peerstructs].type = "GAUGE"
>> ds[callstructs].type = "GAUGE"
>> ds[freecalls].type = "GAUGE"
>> ds[packetallocationfai].type = "DERIVE"
>> ds[allocs].type = "GAUGE"
>> ds[readdata].type = "GAUGE"
>> ds[readack].type = "GAUGE"
>> ds[readdup].type = "GAUGE"
>> ds[readspurious].type = "GAUGE"
>> ds[readbusy].type = "GAUGE"
>> ds[readabort].type = "GAUGE"
>> ds[readackall].type = "GAUGE"
>> ds[readchallenge].type = "GAUGE"
>> ds[readresponse].type = "GAUGE"
>> ds[sentdata].type = "GAUGE"
>> ds[sentresent].type = "GAUGE"
>> ds[sentack].type = "GAUGE"
>>
>>
>>
>> and my hobbitgraph.cfg
>>
>> [afss]
>> TITLE AFS fileservers calls waiting for thread
>> YAXIS calls waiting for thread
>> DEF: callswaiting=afss.rrd:callswaiting:AVERAGE
>> DEF: freePackets=afss.rrd:freepackets:AVERAGE
>> DEF: threadsidle=afss.rrd:threadsidle:AVERAGE
>> DEF: serverConnections=afss.rrd:serverconnections:AVERAGE
>> DEF: clientConnections=afss.rrd:clientconnections:AVERAGE
>> DEF: peerStructs=afss.rrd:peerstructs:AVERAGE
>> DEF: callStructs=afss.rrd:callstructs:AVERAGE
>> DEF: freeCall=afss.rrd:freecalls:AVERAGE
>> DEF: calls=afss.rrd:calls:AVERAGE
>> DEF: allocs=afss.rrd:allocs:AVERAGE
>> DEF: readdata=afss.rrd:readdata:AVERAGE
>> DEF: readack=afss.rrd:readack:AVERAGE
>> DEF: readdup=afss.rrd:readdup:AVERAGE
>> DEF: readspurious=afss.rrd:readspurious:AVERAGE
>> DEF: readbusy=afss.rrd:readbusy:AVERAGE
>> DEF: readabort=afss.rrd:readabort:AVERAGE
>> DEF: readackall=afss.rrd:readackall:AVERAGE
>> DEF: readchallenge=afss.rrd:readchallenge:AVERAGE
>> DEF: readresponse=afss.rrd:readresponse:AVERAGE
>> DEF: sentdata=afss.rrd:sentdata:AVERAGE
>> DEF: sentresent=afss.rrd:sentresent:AVERAGE
>> DEF: sentack=afss.rrd:sentack:AVERAGE
>> DEF: sentbusy=afss.rrd:sentbusy:AVERAGE
>> DEF: sentabort=afss.rrd:sentabort:AVERAGE
>> DEF: sentackall=afss.rrd:sentackall:AVERAGE
>> DEF: sentchallenge=afss.rrd:sentchallenge:AVERAGE
>> DEF: sentresponse=afss.rrd:sentresponse:AVERAGE
>> LINE2: callswaiting#000000:Calls waiting
>> LINE2: freePackets#0000FF:Free Packets
>> LINE2: threadsidle#008000:Idle Threads
>> LINE2: serverConnections#0080FF:Server connections
>> LINE2: clientConnections#00FF00:Client connections
>> LINE2: peerStructs#00FFFF:Peer Structs
>> LINE2: callStructs#800000:Call Structs
>> LINE2: freeCall#8000FF:Free Calls
>> LINE2: calls#8080FF:Calls
>> LINE2: allocs#80FF00:All Locs
>> LINE2: readdata#80FFFF:Read Data
>> LINE2: readack#FF0000:Read Ack
>> LINE2: readdup#FF00FF:Read Duplicates
>> LINE2: readspurious#FF8000:Read Spurious
>> LINE2: readbusy#808000:Read Busy
>> LINE2: readabort#8080FF:Read Abort
>> LINE2: readackall#80FF00:Read Ack All
>> LINE2: readchallenge#80FFFF:Read Challenge
>> LINE2: readresponse#FF0000:Read Response
>> LINE2: sentdata#80FFFF:Sent Data
>> LINE2: sentresent#FF00FF:Read Resent
>> LINE2: sentack#FF0060:Sent Ack
>> LINE2: sentbusy#FF8090:Sent Busy
>> LINE2: sentabort#8030FF:Sent Abort
>> LINE2: sentackall#802F00:Sent Ack All
>> LINE2: sentchallenge#83eFFF:Sent Challenge
>> LINE2: sentresponse#eeee00:Sent Response
>> LINE2:peerStructs#00FFFF:Peer Structs
>> LINE2: callStructs#800000:Call Structs
>> LINE2: freeCall#8000FF:Free Calls
>> LINE2: calls#8080FF:Calls
>> LINE2: allocs#80FF00:All Locs
>> LINE2: readdata#80FFFF:Read Data
>> LINE2: readack#FF0000:Read Ack
>> LINE2: readdup#FF00FF:Read Duplicates
>> LINE2: readspurious#FF8000:Read Spurious
>> LINE2: readbusy#808000:Read Busy
>> LINE2: readabort#8080FF:Read Abort
>> LINE2: readackall#80FF00:Read Ack All
>> LINE2: readchallenge#80FFFF:Read Challenge
>> LINE2: readresponse#FF0000:Read Response
>> LINE2: sentdata#80FFFF:Sent Data
>> LINE2: sentresent#FF00FF:Read Resent
>> LINE2: sentack#FF0060:Sent Ack
>> LINE2: sentbusy#FF8090:Sent Busy
>> LINE2: sentabort#8030FF:Sent Abort
>> LINE2: sentackall#802F00:Sent Ack All
>> LINE2: sentchallenge#83eFFF:Sent Challenge
>> LINE2: sentresponse#eeee00:Sent Response
>> GPRINT:callswaiting: LAST:callswaiting \: %5.1lf (cur)
>> GPRINT:callswaiting: MAX:callswaiting \: %5.1lf (cur)
>> GPRINT:callswaiting: MIN:callswaiting \: %5.1lf (cur)
>> GPRINT:callswaiting: AVERAGE:callswaiting \: %5.1lf (cur)
>> GPRINT:freePackets: LAST:freePackets \: %5.1lf (cur)
>> GPRINT:freePackets: MAX:freePackets \: %5.1lf (cur)
>> GPRINT:freePackets: MIN:freePackets \: %5.1lf (cur)
>> GPRINT:freePackets: AVERAGE:freePackets \: %5.1lf (cur)
>> GPRINT:threadsidle: LAST:threadsidle \: %5.1lf (cur)
>> GPRINT:threadsidle: MAX:threadsidle \: %5.1lf (cur)
>> GPRINT:threadsidle: MIN:threadsidle \: %5.1lf (cur)
>> GPRINT:threadsidle: AVERAGE:threadsidle \: %5.1lf (cur)
>> GPRINT:serverConnections: LAST:serverConnections \: %5.1lf (cur)
>> GPRINT:serverConnections: MAX:serverConnections \: %5.1lf (cur)
>> GPRINT:serverConnections: MIN:serverConnections \: %5.1lf (cur)
>> GPRINT:serverConnections: AVERAGE:serverConnections \: %5.1lf (cur)
>> GPRINT:clientConnections: LAST:clientConnections \: %5.1lf (cur)
>> GPRINT:clientConnections: MAX:clientConnections \: %5.1lf (cur)
>> GPRINT:clientConnections: MIN:clientConnections \: %5.1lf (cur)
>> GPRINT:clientConnections: AVERAGE:clientConnections \: %5.1lf (cur)
>> GPRINT:peerStructs: LAST:peerStructs \: %5.1lf (cur)
>> GPRINT:peerStructs: MAX:peerStructs \: %5.1lf (cur)
>> GPRINT:peerStructs:MIN:peerStructs \: %5.1lf (cur)
>> GPRINT:peerStructs:AVERAGE:peerStructs \: %5.1lf (cur)
>> .
>> .
>> . and so on ...
>>
>>
>> What's going on or how can it more debug ?
>>
>>
>> Thanks in Advance
>>
>> cheers,
>> martin
>>
>>
>> On Fri, 14 Nov 2008, Henrik Størner wrote:
>>
>> > In <4202.1226587233 at satai.its.iastate.edu> "Tracy J. Di Marco White"
>> > <gendalia at iastate.edu> writes:
>> >
>> >
>> > > In message <Pine.LNX.4.64.0811130823530.4753 at titan.desy.de>, Martin
>> > > Flemming writes:
>> > > }
>> > > } Hi, Tracy et all ...
>> >
>> > > Hi Martin!
>> >
>> > > } Nice that you are on the list again,
>> > > } dosen't you disappear from it for one or two years ....
>> > > }
>> > > } So i take another chance to ask you,
>> > > } for your configuration of the various graphs of your
>> > > } afs_fsmon-script ...
>> >
>> > > It is the most useless graph ever. I should break it out into
>> > > multiple
>> > > RRDs, but then I don't know how to display them.
>> > > [afs}
>> > > TITLE AFS fileservers calls waiting for thread
>> > > YAXIS calls waiting for thread
>> > > DEF:callswaiting=afs.rrd:callswaiting:AVERAGE
>> >
>> > [lots of DEF and LINE settings deleted]
>> >
>> > You dont have to break it out into multiple RRD files. You can just
>> > do several graph definitions - you dont have to include every item
>> > you monitor in a graph. Just pick the ones that you want on one
>> > graph, and leave it out the others.
>> >
>> > E.g. there are multiple vmstat graphs, each with their own set of
>> > data pulled from the same "vmstat.rrd" file.
>> >
>> > You can then also use the TRENDS setting in bb-hosts to choose
>> > which of the many graphs you want to show up on the "trends" page.
>> > E.g. if you have an [afs1], [afs2] and [afs3] graph, then you
>> > can have (in bb-hosts):
>> >
>> > 0.0.0.0 myafsbox # TRENDS:*,afs:afs1,afs3
>> >
>> > and it will then show the afs1 and afs3 graphs on the trends page.
>> >
>> >
>> > Regards,
>> > Henrik
>> >
>> >
>> > To unsubscribe from the hobbit list, send an e-mail to
>> > hobbit-unsubscribe at hswn.dk
>> >
More information about the Xymon
mailing list