Time-Saving Tricks For Service Definitions

Israel Brewster israel at frontierflying.com
Fri Jun 29 18:54:37 CEST 2007



On Jun 29, 2007, at 8:48 AM, Caylan Van Larson wrote:

> Howdy,
>
> I think I've found a bug with the "Object Definition Tricks" found  
> at http://nagios.sourceforge.net/docs/2_0/templatetricks.html#service.
>
> Here is my configuration using the tricks above, which works...
>
> define host {
>         use                     production-host
>         host_name               myhost
>         alias                   My Host
>         address                 x.x.x.x
>         hostgroups              dell-servers
> }
>
> define hostgroup{
>         hostgroup_name			 dell-servers
>         alias           		 Dell Servers
> }
>
> define service{
> 		 name                    dell-hardware
> 		 service_description     Dell Hardware
> 		 hostgroup_name          dell-servers
> 		 contact_groups          sysadmins
> 		 check_command           check_nrpe!check_dell
> }
>
> Right up until I add back in a legacy host/service definition...
>
> define host {
>         use                     production-host
>         host_name               newhost
>         alias                   New Host
>         address                 y.y.y.y
> }
>
> define service {
> 		 use                     dell-hardware
> 		 host						 newhost
> }
>
> Error: Service 'Dell Hardware' on host 'myhost' has already been  
> defined
> Error: Could not register service (config file .... newhost.cfg on  
> line XX)
>
> Question:  Why does "using" dell-hardware in a normal syntax  
> (remember, my goal is to migrate the old style in red to the new  
> hostgroups trick style above), is not compatible when the service  
> has a hostgroup_name defined?  This looks to me like a bug, where  
> it's trying to redefine the service instead of just using it.
>
> Thoughts?

My thought is that you need a unique "name" directive in the second  
service that uses dell-hardware. Otherwise the service with the use  
directive has the same name as the service it is using, causing  
exactly what the error says- the service dell hardware has already  
been defined, and yes, you are trying to re-define it. Basically,  
when you insert the use directive, it copies everything from the  
service (or whatever) you tell it to use into the new one, except for  
any directives that are explicitly set in the new on. And since you  
can't have two service definitions with the same name, you get that  
error.

-----------------------------------------------
Israel Brewster
Computer Support Technician
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/users/attachments/20070629/42090ae6/attachment.html>
-------------- next part --------------
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
-------------- next part --------------
_______________________________________________
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