[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [hobbit] hobbit-alerts problem
- To: hobbit (at) hswn.dk
- Subject: Re: [hobbit] hobbit-alerts problem
- From: Dominique Frise <Dominique.Frise (at) unil.ch>
- Date: Fri, 12 Jan 2007 08:16:13 +0100
- Organization: University of Lausanne
- References: <45A6DB26.20809@cisco.com>
- User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.0.9) Gecko/20061220 SeaMonkey/1.0.7
Charles Jones wrote:
I am again being bitten by regex problems. I am able to reproduce it
with the following entries in hobbit-alerts.cfg:
$IGNORE_HOSTS=%prod-web-(1|2|3|4|9|10|11)$
HOST=$IGNORE_HOSTS service=*
IGNORE
If I then check the "info" column of a host that is *not* supposed to be
ignored, such as prod-web-12. It shows that it is indeed ignored. This
is a serious problem as I have already missed alerts for some production
hosts because of this problem.
According to pcretest (Henriks recommended method of testing a Hobbit
regex), there is nothing wrong with the regular expression that I am using:
$ pcretest
PCRE version 6.6 06-Feb-2006
re> /prod-web-(1|2|3|4|9|10|11)$/
data> prod-web-12 (*correctly not matching*)
No match
data> prod-web-19 (*correctly not matching*)
No match
data> prod-web-10 (*correctly matching*)
0: prod-web-10
1: 10
From the above tests you can see that prod-web-12 does not match the
regex when using pcretest, yet Hobbit is matching it for some reason. A
possible work-around could be to not use a regex at all, such as
$IGNORE_HOSTS=prod-web-1,prod-web-2,prod-web-3... but that is not really
a solution if you have hundreds of hosts, and my main point is that
regular expressions are not working as they are documented.
I've also tried other undocumented ways of using the regex, including:
No hosts matched at all
$IGNORE_HOSTS=%prod-web-(1|2|3|4|9|10|11)$
HOST="IGNORE_HOSTS"
No hosts matched at all
$IGNORE_HOSTS="%prod-web-(1|2|3|4|9|10|11)$"
HOST=$IGNORE_HOSTS
All hosts match (both web-12 and web-11)
$IGNORE_HOSTS=prod-web-(1|2|3|4|9|10|11)$
HOST=%$IGNORE_HOSTS
If anyone else can verify or reproduce this, it would be helpful in at
least convincing Henrik to add it to the list of things to fix in the
next version. I honestly hope that it's not a problem with Hobbit and
instead something I am doing wrong - if so please enlighten me.
-Charles
I tried your config. and, yes, I have same strange behaviour.
We are running Hobbit 4.2.0 patched on Solaris 9.
$ pcretest
PCRE version 4.5 01-December-2003
re> /prod-web-(1|2|3|4|9|10|11)$/
data> prod-web-12
No match
data> prod-web-19
No match
data> prod-web-10
0: prod-web-10
1: 10
The column info and the rule tests below show that both prod-web-10 and
prod-web-12 are ignored but not prod-web-8.
$ ./hobbitd_alert --test "prod-web-10" conn
00015495 2007-01-12 07:52:45 send_alert prod-web-10:conn state Paging
00015495 2007-01-12 07:52:45 Matching host:service:page
'prod-web-10:conn:acadSys' against rule line 200
00015495 2007-01-12 07:52:45 *** Match with 'HOST=$IGNORE_HOSTS service=*' ***
00015495 2007-01-12 07:52:45 Matching host:service:page
'prod-web-10:conn:acadSys' against rule line 200
00015495 2007-01-12 07:52:45 *** Match with 'HOST=$IGNORE_HOSTS service=*' ***
00015495 2007-01-12 07:52:45 IGNORE rule found
$ ./hobbitd_alert --test "prod-web-12" conn
00016778 2007-01-12 07:58:50 send_alert prod-web-12:conn state Paging
00016778 2007-01-12 07:58:50 Matching host:service:page
'prod-web-12:conn:acadSys' against rule line 200
00016778 2007-01-12 07:58:50 *** Match with 'HOST=$IGNORE_HOSTS service=*' ***
00016778 2007-01-12 07:58:50 Matching host:service:page
'prod-web-12:conn:acadSys' against rule line 200
00016778 2007-01-12 07:58:50 *** Match with 'HOST=$IGNORE_HOSTS service=*' ***
00016778 2007-01-12 07:58:50 IGNORE rule found
$ ./hobbitd_alert --test "prod-web-8" conn
00016921 2007-01-12 07:59:50 send_alert prod-web-8:conn state Paging
00016921 2007-01-12 07:59:50 Matching host:service:page
'prod-web-8:conn:acadSys' against rule line 200
00016921 2007-01-12 07:59:50 Failed 'HOST=$IGNORE_HOSTS service=*' (hostname
not in include list)
...
...
Dominique
UNIL - University of Lausanne_