[Xymon] FreeBSD Actual Memory Usage

henrik at hswn.dk henrik at hswn.dk
Wed Dec 4 15:09:36 CET 2013


Den 22.11.2013 03:00, Jeremy Laidman skrev: 

> On 22 November 2013
08:49, Mark Felder <feld at feld.me [2]> wrote:
http://imgur.com/a/P4Qq1 [1]
> Now, that's what I want!

[... snip

> A bigger problem is that Xymon's genericised way of reporting
memory is a call to unix_memory_report() with parameters for total, used
and actual - and that's all. (For FreeBSD and others, "actual" is set to
-1.) The function unix_memory_report() does the memory threshold checks
(via status message) and also governs what gets sent to the RRD files.
If I wanted to alert on all available memory numbers, and to have them
all on the graph for the "memory" page, I'd have to find another way to
get them sent to the RRD files and to check for threshold violations,
because Xymon is simply not geared up to do this. And it probably won't
ever be, because different OSes do memory management

<rant>Memory reporting is probably *the* single most
bothersome monitoring item in Xymon. Every single OS seems to count
memory differently, and different sources claim different ways of
interpreting the same data. Not to mention that the OS providers
frequently change what the numbers mean, or come up with new ways of
reporting them. </rant> 

The way Xymon reports memory handling is very
much due to historical events - how it was done in Big Brother. I agree
that the "one-size-fits-all" approach in the current code is not the
best way of doing it, unless your OS happens to nicely fit into the
real+actual+swap metrics mold. 

However, it doesn't have to be that

The clientdata handling code is specific for each type of client,
and it would be perfectly possible for that code to NOT use the
"unix_memory_report()" routine. The client code just needs to generate a
status message; it can do that without calling unix_memory_report(). But
you need to write some code specifically for that type of client,
including the bit that grabs configuration data from analysis.cfg. 

can also send data into an RRD file with a different layout, so you can
have more data. Getting that rrd-graph to show up on a "memory" status
is the tricky part, and right now I would recommend that you simply use
a different name for the memory status. 

So it is not an un-solvable
problem, but someone needs to figure out just how the memory metrics can
be found by the client code, and how it should be interpreted over on
the Xymon server. 




[2] mailto:feld at feld.me
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20131204/0079c5f9/attachment.html>

More information about the Xymon mailing list