New BBWin Client from SquidWorks

Posted by & filed under Uncategorized.

Well, I was happy with just editing config files, but the folks over at SquidWorks made it even easier for my non uber-tekkie colleagues to update BBWin configs:

The BBWin GUI was developed due to a need to make updating and setting up a managed system for monitoring easier for techs. As I am a old Linux guy using a text editor to configure the BBWin.cfg file was common place. When I had to teach others to, not only edit but troubleshoot the files when mistakes were made. That became a task in and of its self. BBWin GUI makes easy work of installing the latest BBWin application, setting for the first time or updating and active system. This app even saves you having to open up notepad first as a admin in Windows 2008 servers before editing and saving the BBWin.cfg file.

Xymon 4.3.4 info column bug

Posted by & filed under Server Admin.

I recently deployed a fresh installation of Xymon 4.3.4. There were a few glitches which were easily solved by looking at the xymon logs. With one exception — the info column shows a “Internal Server Error”. Thanks to the Xymon mailing list, I found that there is a known bug in svcstatus.cgi in Xymon 4.3.4. The solution is to edit the source and recompile, or just apply the handy patch below.

Index: web/svcstatus-info.c
--- web/svcstatus-info.c        (revision 6723)
+++ web/svcstatus-info.c        (revision 6724)
@@ -568,7 +568,7 @@
        /* Years */
        addtobuffer(buf, "<SELECT NAME=\"year\" onClick=\"setcheck(this.form.go,true)\">\n");
        for (i=beginyear; (i <= endyear); i++) {
-               char istr[3];
+               char istr[5];

                sprintf(istr, "%d", i);

Patch the source & recompile as usual:

cd xymon-4.3.4
patch -p0 < /tmp/infocolumn-crash.diff
make clean

At this point if I was doing a fresh install, I could simply do a make install, but since I already have Xymon installed and working perfectly, I opted to simply copy over the newly patched svcstatus.cgi:

cd web
sudo cp svcstatus.cgi /usr/lib/xymon/server/bin

And done!
Thanks to Lubos & Henrik

Xymon Addons that caught my eye

Posted by & filed under Server Admin, Uncategorized.

I was browsing Xymonton and found a few addons that I may be able to make use of.

IAX2 –
Mail Graphs –…
Windows Update/Reboot Test –
APC UPS Monitoring & Temperature –
HP Proliant HW RAID Monitoring –

Xymon – drop a test or host

Posted by & filed under Server Admin.

Straight from the manpage:

Deleting a test:

For Xymon use the command:

/server/bin/xymon “drop HOSTNAME ftp”

For BigBrother use the command

~/server/bin/bb “drop HOSTNAME ftp”

to permanenly remove all traces of a test. Note that you need the quotes around the “drop HOSTNAME ftp”.


For Xymon: Deleting a host

First, remove the host from the /etc/xymon/hosts.conf file. Then use the command

server/bin/xymon “drop HOSTNAME”

to permanently remove all traces of a host. Note that you need the quotes around the “drop HOSTNAME”.


For Big Brother: Deleting a host

First, remove the host from the ~/server/etc/bb-hosts file. Then use the command

~/server/bin/bb “drop HOSTNAME”

to permanently remove all traces of a host. Note that you need the quotes around the “drop HOSTNAME”.


Updated 03/24/14 w/ Xymon specific syntax.

Xymon script testing/debugging

Posted by & filed under Server Admin.

This is a follow-up to a older post I made about Hobbit/Xymon and testing alerting (

I have needed to write a few Xymon scripts and in order to test them outside of Xymon, but with the Xymon environment variables which most scripts depend on. In order to do this we use the xymoncmd command like so:


This works for a client script, but I wanted the server env vars, so I added one additional option:

./xymoncmd --env=/usr/lib/xymon/server/etc/xymonserver.cfg ../ext/

Also one note on older compatibility: As of the (slightly outdated) version I am currently running, xymoncmd is just a alias of bbcmd, So this should apply to older hobbit stuff too.

Hobbit / Xymon Host conn flapping due to DNS lookup issues

Posted by & filed under Uncategorized.

I had a few hosts that were intermittently going red for no reason on the conn test (ping). After some effort, I found that adding the –no-ares switch to the [bbnet] CMD section of hobbitlaunch.cfg and then restarting the hobbit server resolved the issue. Services stable and accurate!

        ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
        NEEDS hobbitd
        CMD bbtest-net --report --ping --checkresponse --no-ares
        LOGFILE $BBSERVERLOGS/bb-network.log
        INTERVAL 5m…

Disable the ARES resolver built into bbtest-net. This makes
bbtest-net resolve hostnames using your system resolver
function. You should only use this as a last resort if bbtest-
net cannot resolve the hostnames you use in the normal way (via
DNS or /etc/hosts). One reason for using this would be if you
need to resolve hostnames via NIS/NIS+ (a.k.a. Yellow Pages).
The system resolver function does not provide a mechanism for
controlling timeouts of the hostname lookups, so if your DNS or
NIS server is down, bbtest-net can take a very long time to run.
The –dns-timeout option is effectively disabled when using this

Logging temperature using 1-wire devices

Posted by & filed under Hardware Development.

DigiTemp — Software and 1-wire network info
1-Wire USB Adaptor —…
OWFS — 1-Wire filesystem —
1-WIRE Weather Instrument Kit —

T-Sense RJ-45 Temperature Sensors —
1-WIRE USP Master Interface —…
1-Wire Maxim Devices —

EDIT: More 1-wire links:
Guidelines for reliable long 1-wire networks:…
A Hobbyists Guide to 1-wire:
Maxim IC 1-Wire Thermocouples:…
Pers and 1-Wire Temperature Sensors –…

Xymon/Hobbit Custom Scripting

Posted by & filed under Uncategorized.

There are a few steps to get custom scripts working.

  • 1. Update hobbitlaunch.cfg with the new script. For my WHOIS checker I used:

    # WHOIS Expiration Checker

    ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
    CMD /usr/lib/hobbit/server/ext/dnsreg

  • 2. Install script, make sure it is executable, etc. This should be placed at the path of CMD in my above snippet. By default it is /server/ext
  • 3. Update bb-hosts with the service name

Configure Xymon Client (BBWin)

Posted by & filed under Server Admin.

I periodically need to configure BBWin clients for our Xymon monitoring system.

Config Steps:
–>Install BBWin Client
–>Copy bbwin/etc/bbwin.cfg from an existing install
–>Set HKLM/Software/BBWin/hostname
–>Start Service

Kick off a test alert with Xymon

Posted by & filed under Server Admin.

If you want to test how your alert configuration handles a specific host, you can run xymond_alert in test mode – you give it a hostname and servicename as input, and it will go through the configuration and tell you which rules match and who gets an alert.


osiris:~ $ cd server/
osiris:~/server $ ./bin/xymoncmd xymond_alert –test cpu
Matching host:service:page ‘’ against rule line 109:Matched
*** Match with ‘HOST=*’ ***
Matching host:service:page ‘’ against rule line 110:Matched
*** Match with ‘MAIL REPEAT=2 RECOVERED COLOR=red’ ***
Mail alert with command ‘mail -s “XYmon [12345] is RED”

BigBrother is slightly different:
$ bbcmd hobbitd_alert –test conn

Both can optionally be appended with a duration to meet any requirements:

dev@monitor:/usr/lib/hobbit/server/bin$ bbcmd hobbitd_alert --test conn --duration=501
2011-07-08 10:37:05 Using default environment file /usr/lib/hobbit/client/etc/hobbitserver.cfg
00013395 2011-07-08 10:37:05 send_alert state Paging
00013395 2011-07-08 10:37:05 Matching host:service:page '' against rule line 26
00013395 2011-07-08 10:37:05 Failed 'HOST=$INTIDEAS' (hostname not in include list)
00013395 2011-07-08 10:37:05 Matching host:service:page '' against rule line 39
00013395 2011-07-08 10:37:05 *** Match with 'HOST=*' ***

The hobbitd_alert and xymond_alert (depending on if it is xymon or bb) command calls the module:

Update 07/25/18: The Xymon syntax is a bit off, it should be:

/usr/lib/xymon/server/bin/xymoncmd xymond_alert --test ntp.redacted.local ntp --duration=400 --color=red

See… for additional details on the parameters.