How to access user-defined service variables in a command object
Paul M. Dubuc
work at paul.dubuc.org
Mon Feb 8 22:56:18 CET 2010
Sorry to have bothered the list. I was making the problem too hard because I
was confused by what I'd read about on demand macros in Barth's book (p. 632).
Using $_SERVICE_ALARM_NUMBER$ works in the command definition. I don't know
why I didn't try that first. For some reason I thought you had to specify the
host and service description to get the value of the variable.
Paul Dubuc
Paul M. Dubuc wrote:
> I should have made more clear what I am trying to do below. I know I can
> access the service __ALARM_NUMBER from the command definition by giving the
> literal host_name and service description like this (I've updated the service
> definition in my previous example to illustrate):
>
> $_SERVICE_ALARM_NUMBER:localhost:DUMMY
>
> but I would like the command definition to be able to do this using the macro
> names $HOSTNAME$ and $SERVICEDESC$ so that one command definition works for
> all services that use it for notification. Is there a way to do this? I
> would not like to have to define a separate command and contact group for
> every alarm number.
>
> Also, I'm using Nagios 3.2.0.
>
> Thanks,
> Paul Dubuc
>
> Paul M. Dubuc wrote:
>> I'm trying to integrate the use of an internally developed alarm
>> generation command into our Nagios configuration. So I want to define
>> an Nagios command object that calls this command with arguments specific
>> to the service that is generating the status condition that generates
>> the alarm. One of the arguments is an alarm number. I can set this
>> number in the service definition as a user defined variable:
>>
>> define service{
> > host_name localhost
> > service_description DUMMY
>> ...
>> __ALARM_NUMBER 123
>> }
>>
>> Is it possible to access this variable in the command definition using
>> on-demand macros? I tried to do this in the following way, but it
>> doesn't seem to work:
>>
>> define command{
>> command_name notify-service-by-alarm
>> command_line /usr/local/bin/sendalarm $HOSTALIAS$
>> $_SERVICE_ALARM_NUMBER:HOSTNAME:SERVICEDESC$ $SERVICESTATE$
>> $SERVICEDESC$ $SERVICEOUTPUT$
>> }
>>
>> Is there an alternative?
>>
>> Thanks,
>>
>> Paul M. Dubuc
>>
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> Nagios-users mailing list
> Nagios-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nagios-users
> ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
> ::: Messages without supporting info will risk being sent to /dev/null
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
::: Messages without supporting info will risk being sent to /dev/null
More information about the Users
mailing list