[hobbit] vmstat/cpu graphs for OS X
Scheblein, Adam
adam.scheblein at marquette.edu
Thu Aug 24 15:48:15 CEST 2006
> -----Original Message-----
> From: Henrik Stoerner [mailto:henrik at hswn.dk]
> Sent: Wednesday, August 23, 2006 3:57 PM
> To: hobbit at hswn.dk
> Subject: Re: [hobbit] vmstat/cpu graphs for OS X
>
> On Wed, Aug 23, 2006 at 11:27:42AM -0500, Scheblein, Adam wrote:
> >
> > I am currently working on implementing a script that will give output
> the
> > same as vmstat but for mac. Does Hobbit create graphs based on what the
> > client is??
>
> The Hobbit server will only process the types of data it knows about.
> And for OSX it doesn't know about any vmstat data since I've never seen
> any vmstat data from that type of system.
>
> So first of all, it requires modifying the hobbitd/rrd/do_vmstat.c file
> to recognize your vmstat data format and create/update an RRD file.
> Second, if you're sending the data as part of the client message then
> the hobbitd/client/darwin.c file must have a line added to actually
> send the vmstat data to the RRD module.
>
That makes sense (and is also what I suspected was happening
> > I ask because currently I have the following output coming from the mac:
> >
> > [vmstat]
> > procs -----------memory---------- ---swap-- -----io---- --system-- ----
> cpu----
> > r b swpd free buff cache si so bi bo in cs us
> sy id
> > 2 0 0 0 0 0 0 0 0 0 0 0 3
> 47 49
> > 2 0 0 0 0 0 0 0 0 0 0 0 8
> 42 49
> >
> > (I only have r, us, sy and id implemented at the moment)
>
> Still, it's a start. Are the other values impossible to get, or haven't
> you gotten around to implementing them yet?
>
Most of the are possible to get, I just have not had time to implement them
yet. I will get there probably within the next week or 2
> To get the graph, add these two items to the hobbitd/rrd/do_vmstat.c file:
> First a table describing the vmstat columns - just put it somewhere with
> the other tables:
>
> static vmstat_layout_t vmstat_darwin_layout[] = {
> { 0, "cpu_r" },
> { 1, "cpu_b" },
> { -1, "cpu_w" },
> { 2, "mem_swpd" },
> { 3, "mem_free" },
> { 4, "mem_buff" },
> { 5, "mem_cach" },
> { 6, "mem_si" },
> { 7, "mem_so" },
> { 8, "dsk_bi" },
> { 9, "dsk_bo" },
> { 10, "cpu_int" },
> { 11, "cpu_csw" },
> { 12, "cpu_usr" },
> { 13, "cpu_sys" },
> { 14, "cpu_idl" },
> { -1, "cpu_wait" },
> { -1, NULL }
> };
>
> Next, in the same file find this bit:
> case OS_DARWIN:
> errprintf("Cannot handle Darwin vmstat from host '%s' \n",
> hostname);
> return -1;
> and replace it with
> case OS_DARWIN:
> layout = vmstat_darwin_layout; break;
>
> Finally, in the hobbitd/client/darwin.c file add this to invoke the
> standard vmstat handler from the client data: First a line declaring
> a variable for the vmstat data, just after the other declarations:
>
> char *portsstr;
> char *vmstatstr; <-- add this line
>
> A bit further down grab the vmstat data:
> portsstr = getdata("ports");
> vmstatstr = getdata("vmstat"); <-- add this line
>
> And finally pass this data to the vmstat module: After the line
> unix_ifstat_report(hostname, clienttype, os, hinfo, fromline,
> timestr, ifstatstr);
> add this line:
> unix_vmstat_report(hostname, clienttype, os, hinfo, fromline,
> timestr, vmstatstr);
I will give this a shot and let you know how it goes. Thanks for the HOWTO
for changing the code -- I would have been lost.
>
>
> Regards,
> Henrik
>
>
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3747 bytes
Desc: not available
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20060824/3556b85e/attachment.bin>
More information about the Xymon
mailing list