Xymon Mailing List Archive search

PROCS not monitored correctly -what is wrong with this picture?? (Find the error!) (LONG)

4 messages in this thread

list Betsy Schwartz · Tue, 9 Apr 2013 14:19:34 -0400 ·
My apologies to anyone who gets this on a digest
I'm having some odd issues with procs on a database cluster and I would be
very grateful for any clues!


We have multiple rule sets to cut down on multiple alerts for shared disk,
and because some have more capacity

db0-db6 are Solaris 10 servers (there is no db8) running xymon 4.3.10
db11-db62 are RHEL Linux running a mix of xymon 4.3.10 and 4.3.7
server is a RHEL VM running xymon 4.3.10

Procs have been screwey for a while, but we only noticed when we added rngd
testing to the linux boxes

db1, db2, db3, db6 are alerting for missing rngd . db0, db4 and db5 are NOT
(this is particularly puzzling since db5&db6 share a rule set, as do db0
and db1. I'd expect them to go as pairs.

db1, db2, db3, and db6 all show:

[image: green] cron (found 1, req. 1 or more)[image: green] nscd
(found 1, req. 1 or more)[image: green] xntpd (found 1, req. 1 or
more)[image: green] cron (found 1, req. 1 or more)[image: green] nscd
(found 1, req. 1 or more)[image: green] ntpd (found 1, req. 1 or
more)[image: yellow] rngd (found 0, req. 1 or more)[image: green] cron
(found 1, req. 1 or more)


db0, db4 and db5 all show:

[image: green] cron (found 1, req. 1 or more)[image: green] nscd
(found 1, req. 1 or more)[image: green] xntpd (found 1, req. 1 or
more)[image: green] cron (found 1, req. 1 or more)


That last cron comes from a HOST=* rule atthe  end.

Can you find what is wrong with the lines below?
#-------------------#Database Servers
HOST=%^db[0|1].example.com
        MEMPHYS 100 101
        MEMSWAP 85 95
        PROC cron 1 -1 yellow
        PROC nscd 1 -1 yellow
        PROC xntpd 1 -1 yellow
#        PROC sar -1 4 yellow
        LOAD 80.0 120.0
        DISK /oracle/dba_msc_nfs2 101 101
        DISK /oracle/data09 99 99
        DISK /oracle/data10 97 98
        DISK /oracle/data17 96 97
        DISK /oracle/data22 98 99
        DISK %.*archivelogs.* 90 95
        DISK %.*redologs.* 90 95
        DISK %.*data.* 95 96
        LOG /export/home/xymon/client/tmp/powermt.out %degraded COLOR=yellow

HOST=%^db[2|3|4|8].example.com
        UP 30m 9999d
        MEMPHYS 100 101
        MEMSWAP 85 95
#       LOAD    48.0 64.0
        LOAD 80.0 120.0
        PROC cron 1 -1 yellow
        PROC nscd 1 -1 yellow
        PROC xntpd 1 -1 yellow
#        PROC sar -1 4 yellow
        DISK %.*data.* IGNORE
        DISK %.*oracle.* IGNORE
        DISK %.*redologs.* IGNORE
        DISK %.* 80 90
        LOG /export/home/xymon/client/tmp/powermt.out %degraded COLOR=yellow


HOST=%^db[5|6].example.com
        UP 30m 9999d
        MEMPHYS 100 101
        MEMSWAP 85 95
        LOAD    160.0 240.0
        DISK /oracle/export02 90 95
        DISK %.*oracle.* IGNORE
        DISK %.* 80 90
        PROC cron 1 -1 yellow
        PROC nscd 1 -1 yellow
        PROC xntpd 1 -1 yellow
#        PROC sar -1 4 yellow
        LOG /export/home/xymon/client/tmp/powermt.out %degraded COLOR=yellow

HOST=%^db[11|12|13|21|22|23|31|32|33|61|62].bo3.*
        UP 30m 9999d
        MEMPHYS 100 101
        MEMSWAP 85 95
        LOAD    64.0 128.0
        PROC cron 1 -1 yellow
        PROC nscd 1 -1 yellow
        PROC ntpd 1 -1 yellow
        PROC rngd 1 -1 yellow


(there are usually more LOG lines but I removed them for clarity, and
verified that the errors persist)
list Betsy Schwartz · Tue, 9 Apr 2013 14:28:09 -0400 ·
heh and as soon as I sent that whole LONG thing, someone on my team points
out a clue which leads to
HOST=%^db[11|12|13|21|22|23|31|32|33|61|62].bo3.*

which is of course not a well-formed regexp. I dont' see why it would match
db1.bo3.example.com, but it's certainly mucked up.
list Larry Barber · Tue, 9 Apr 2013 13:34:00 -0500 ·
Yes all of your "or" expressions should be in parenthesis, not brackets,
what you're saying with the brackets is "match any character contained
within the brackets", so the '|' isn't being interpreted as an "or" but
just as a pipe character to match. So the regular expression ^db[11|12|12
...] is saying "match any phrase that starts with db and has 1 or 1 or | or
1 or 2 ... as a second character, so db1.bo3.example.com certainly matches.

Thanks,
Larry Barber
quoted from Betsy Schwartz


On Tue, Apr 9, 2013 at 1:28 PM, Betsy Schwartz <user-c61747246f66@xymon.invalid>wrote:
heh and as soon as I sent that whole LONG thing, someone on my team points
out a clue which leads to
HOST=%^db[11|12|13|21|22|23|31|32|33|61|62].bo3.*

which is of course not a well-formed regexp. I dont' see why it would
match db1.bo3.example.com, but it's certainly mucked up.

list Betsy Schwartz · Tue, 9 Apr 2013 18:57:00 -0400 ·
Yep, thanks again. I fixed the regexp,  but I also hadn't realized that "|"
is not a special character within brackets, so I fixed it to the
not-really-correct but working:

HOST=%^db[1|2|3|6][1|2|3].bo3.*

which works but has extraneous characters, it should be:

HOST=%^db[1236][123].bo3.*

or to get exactly what I had before:

HOST=%^db(11|12|13|21|22|23|31|32|33|61|62).bo3.*

Although for our particular purposes I could also just do:

HOST=%^db[1-6][0-9].bo3.*

since that matches all the present and future dbN.bo3 hosts except db0-db9
, which are special

educational day!

HOST=%^db[11|12|13|21|22|23|31|32|33|61|62].bo3.*