[hobbit] creating a macro made of macro's in hobbit-alerts.cfg

Henrik Stoerner henrik at hswn.dk
Wed May 25 21:54:54 CEST 2005


On Wed, May 25, 2005 at 02:58:18PM -0400, Tom Georgoulias wrote:
> Is it possible to create some macros of hosts, then bundle combinations 
> of those smaller macros into larger ones?

It's supposed to work, yes. And yes - there's a bug in how this is
handled. You need the attached patch first.

> Say I have 3 groups of systems:
> 
> $DB=%(db1|data1|dbase).domain.com
> 
> $MAIL=%(mail1|smtp|webmail).domain.com
> 
> $WS=%(ws1|fred|wilma).domain.com
> 
> I'd like to make 2 macros of those systems, one for critical systems, 
> the other for everthing on my network:
> 
> $CRITICAL=%($DB|$MAIL)
> 
> $ALL=%($DB|$MAIL|$WS)

When doing this, remember that the macros are simple text-substitutions.
So I'd leave out the "%" in the macros, because you end up with too many
of them they way you have it. Instead, I'd do it like this:

   $DB=(db1|data1|dbase).domain.com
   $MAIL=(mail1|smtp|webmail).domain.com
   $WS=(ws1|fred|wilma).domain.com

   $CRITICAL=($DB|$MAIL)
   $ALL=($DB|$MAIL|$WS)

   HOST=%$CRITICAL
      MAIL tom at domain.com

If in doubt, you can always run "hobbitd_alert --dump-config" to see
what your configuration ends up with - it shows the configuration after
expanding the macros.


Regards,
Henrik

-------------- next part --------------
--- hobbitd/do_alert.c	2005/05/22 07:31:22	1.65
+++ hobbitd/do_alert.c	2005/05/25 19:47:11
@@ -379,7 +379,7 @@
 			delim = strchr(l, '=');
 			*delim = '\0';
 			newtok->name = strdup(l+1);	/* Skip the '$' */
-			newtok->value = strdup(delim+1);
+			newtok->value = strdup(preprocess(delim+1));
 			newtok->next = tokhead;
 			tokhead = newtok;
 			continue;


More information about the Xymon mailing list