Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
IM Check-in for SNMP probing functionality (so far, the only thing implemented is MIB-II interface probing (for octets, discards and error rates). Requires CL-Net-SNMP (http://common-lisp.net/project/cl-net-snmp/), the versions I have used are: asn.1 4.14 snmp 5.19 usocket-udp 2.4
IM New slot added to disk monitors, they now have a slot (MAX-SINCE-SEEN) that controls the "have not seen updates in a while" maximum time. If the slot has not been bound, it defaults to twice the monitor interval. Note, has NOT been incorporated in the config file syntax yet, should ideally be done with keyword args instead of optionals to the DISK macro, but taht should be discussed before done, as it's an incompatible change. Don't think it's a controversial change, though.
added LAST-SEEN slot to disk monitor added PROCESS-MONITOR and PROCESS-CONTAINER added stuff to config.lisp to make process monitors added COUNT to cluster macro so we can know which number node this is changed WITHOUT-ERRORS macro to look at the *ignore-errors* variable and if it is NIL, then propogate the error instead of ignoring it (nice for debugging :) changed how monitors are rescheduled - take the time *before* the monitor runs, then reschedule at that time + the monitor interval (unless that would be now or in the past) changed the disk monitor test to use "df -P" instead of "df" (for POSIX output - *some* of my linux boxes were giving *funky* default df output :P) - seems to work on all my *NIX machines :) added stuff to do process-container tests added stuff for web UI to display process-containers
IM Added some "has this been checked" monitoring to the disk-containe PROCESS method.
fixed thunko in WITHOUT-ERRORS, now only ERROR conditions are ignored other conditions are up to you to deal with on your own...
minor fix-up to WITH-SLOT-ACCESSORS macro to *actually* make it more like WITH-SLOTS: - now you can specify the name of the variable along with the accessor :P
added WITH-SLOT-ACCESSORS macro: essentially WITH-ACCESSORS with syntax more like WITH-SLOTS. used WITH-SLOT-ACCESSORS to replace WITH-SLOTS call so that the accessor will be used instead of the SLOT-VALUE. This makes :AFTER methods (etc.) on (SETF accessor) work(!). made minor bugfix to PROCESS-DISK: have disk store its available space in the DISK-MAX slot
added PING-INTERVAL slot to PING-MONITOR class made SHOW method on PING-MONITOR return the image reworked how PROCESS works with PING-MONITOR uses new slot made MAKE-PING take keyword args instead of optional, added interval arg fixes with web UI
made various config objects set their PARENT slot made "multiple after methods" work for web UI
changed monitor rescheduling so instead of an alerting monitor being run 5 times less frequently, its run twice as often. - it doesn't make sense to me why I would want to monitor a place where I think I'm having a problem *less* than usual! - Maybe I just *don't get it!* :P :)
added OVER-RTT slot to PING-MONITOR class to keep track of how many times in a row the RTT limit has been exceeded. This is mostly for the Web UI stuff. Changed SCHEDULE from a function to a method so we can play some fun CLOS games there. Added additional logic to PROCESS for PING-MONITOR - some of it is cruft! reworked HOST-PINGS - only consider a host to not be pingable if it has FAILED previously added more to the Web UI
added load-monitor to config syntax (not named "load" for obvious reasons!) added FIND-EQUIPMENT-BY-NAME function to find a piece of gear in the *equipment* list by its name. added FIND-OBJECT method to find an object in a SCHEDULER, TIMESLOT, or EVENT. This is used to see if an object is already scheduled! Also hella useful for de bugging! :) fixed thunko where all monitors wouldn't be run if the host didn't ping INCLUDIN G FREAKIN' PING MONITORS!!! D'OH! (I think I introduced this bug! :P ) added code to ensure that the ping monitor is scheduled! (may not be needed!) Worked a little on parsing df output a little better. Ignoring lines with Files ystem at the beginning instead of simply assuming the first line is that (I had some errors where, apparently, the first line was blank, then the second was the "Filesystem" line.. :P ) a little work on the Web UI
ERRORS? ERRORS? We don't >>NEED<< no stinking errors! added without-errors macro to discard any error conditions wrapped just about everything in it moved rescheduling monitors into an around method global to all monitors
IM Unbroke PARSE-GOBBLE when handed a split list starting with a digit field.
IM Slight re-work of parse-df and an auxilliary filtering function, merging initial non-numeric "fields" together.
added scaffolding to make it easier to get the alert-level of any object without querying its children. This should make it easier to instrument the code for web display stuff (I hope)
IM Bulk update of (mostly) network-code-related changes. There's one change that pertains to graph code (setting the last-updated field).
factored out the ID slot from the EQUIPMENT, MONITOR, and BASE-GRAPH classes. Created ID-OBJECT mixin class with :AFTER method that causes the instance to be added to the *ID-OBJECTS* hash table. Instances may be retrieved using the newly added GET-INSTANCE-BY-ID macro. Modified NEXT-TIMESLOT so if it is called without the optional scheduler and there is no *DEFAULT-SCHEDULER*, a default scheduler is created and bound to *DEFAULT-SCHEDULER*. Modified PARSE-DF so that if it is given a line, like an automount line on MacOS, it munges the line into something useable. This is sort-of *(OK, REALLY)* kludgy but it makes it so NOCtool doesn't blow up on my Mac :) . Also modified PARSE-DF so that it says the disk is 100% full if there is 0 available space instead of signaling a DIVIDE-BY-ZERO error. Added SHOW method for DISK-CONTAINER class.
fixed :around method for process.
made ip nested macro create ping monitor for the equipment made process method with event argument use no-noctool-threads feature to turn off creating a separate thread (to help with debugging!). wrote parse-df function to parse the output of df into a list of lists, each list containing the contents of one disk entry (which is not necessarily one line, at least on my systems). rewrote process-disk to use parse-df function
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|