The other day I picked up Yamon again, for use at my latest gig, PageKite.net. As a result I ended up fixing a few bugs and adding some features that I needed. I've compiled those into a new release: Yamon 0.94
New hotness:
- yamon.pl: Export a status summary as an HTML table.
- yamon.pl: Tests based on arbitrary Unix commands: check_cmd
- yamon.pl: Support for recording history using rrdtool.
- yamon.pl: Fixed behavior to avoid bogus "OK" alerts for new tests.
- yamon.pl: Fixed some minor scheduling bugs.
- yamon.cgi: Improved to report memory stats (on Linux).
- NOTE: New requirements: Digest::MD5 and Timer::HiRes
If you are using Yamon for anything important, it's probably worth upgrading to get the scheduling fixes, just beware of the new module dependencies in yamon.cgi and yamon.pl. I think most systems have these pre-installed, but you should probably check.
See the README for discussion and sample.yam for examples.
And check out
PageKite, it's awesome!
I've released a very minor update to Yamon.
The only new feature here is the addition of the check_dnsbl test. This test is good for making sure that mail servers aren't listed on one of the common DNS-based spam-fighting blacklists, such as bl.spamcop.net or SORBS.
Here ye, here ye, there's a new Yamon available!
This release adds the following wonderfulness:
- White-box monitoring: check_syshealth
- yamon.cgi: a CGI-script which exposes most of the commonly monitored system metrics in the format expected by check_syshealth
That's all for now. But it's really cool, if you ask me!
The yamon.cgi program tries to autodetect all the things that matter; which filesystems exist, which log-files are actively rotated under /var/log. It works on Mac OS X and the Linux variants I've tested (CentOS 5 and RH7.3).
Probably the most unique feature here is my attempt to detect unexpected log-file growth and allow yamon.pl to alert on that. But I don't know if it's really unique, I'm just proud of it.
:-P
I've uploaded a new Yamon release. Improvements:
- Different tests can have different alert targets
- Alerts can be sent to syslog or other arbitrary programs
- Direct SMTP can be used instead of invoking 'mail' to send e-mail alerts
So the alerting stuff is more or less feature complete now. Yay!
If you're one of the two or three people that actually downloaded the program, and if you happen to be using it, take care that the syntax for specifying multiple alert recipients has changed. Instead of using ',' as a delimiter, I've switched to ';'.
As far as I know I'm still the only user, so I don't expect this to matter much. I'll try to refrain from changing syntax in non-backwards compatibles ways in the future.
I've uploaded my first public Yamon release, dubbed version 0.9.
Main features:
- It works!
- There is a HOWTO; installation should be a breeze.
- Built-in tests for HTTP, SMTP, SSH and of course 'ping'.
- A generic TCP test which can do expect-style testing of pretty much anything.
- Inter-test dependencies so when your network breaks, it won't report everything else as being broken too.
- Alerts sent via. e-mail only, at the moment.
I'm using it, it does most of what I want and is useful, so I'm releasing it to The Internets.
Things it doesn't do yet, but are planned for "version 1.0":
- Allow different tests to alert different people.
- Test system-health (using a helper CGI?) and fire alerts when machines run low on disk space, memory or other internal resources.
- Fire alerts using external programs (other than mail).
- Log to syslog.
- Possibly send e-mail via. direct SMTP instead of invoking mail?
- Make it export current status to an HTML file.
- Write stuff on this page about how to implement useful monitoring with this tool. For now, see the comments in the sample.yam file.
Any questions, comments, suggestions? Post a comment!
So this is a rough first draft of a Yamon web-site. I'm going to try using Blogger for this for now, as it's fast, free and highly available. It may not be what all the cool kids do, but I'm lazy and I think this should do the job just fine.
If you have any questions, just post a comment.