Hi,
beware of this if you change default file locations:

"You can purge Nagios resources using the resources type, but only in
the default file locations. This is an architectural limitation"

on Debian I prefer to link /etc/nagios3/conf.d to /etc/nagios

greetings,
Lluís

El dt 26 de 04 de 2011 a les 12:44 +0200, en/na Cedric Jeanneret va
escriure:
> Hello again,
> 
> Yes, of course you can change the directory.
> 
> Check out the mentioned module, we put all the nagios stuff in /etc/nagios.d 
> directory, keeping clean a /etc/nagios3 directory. For what I've seen, it 
> seems to do exactly what you're trying to do.
> 
> For the basic:
> nagios accept different directories for its configuration, you have to add 
> them in your nagios.cfg file using the cfg_dir directive. This can be done 
> using either a simple file, a template or with augeas (not sure for the 
> latest point).
> 
> Cheers,
> 
> C.
> 
> On Tue, 26 Apr 2011 11:48:32 +0200
> Juan-Francisco Diez <[email protected]> wrote:
> 
> > OK, thenks for your help. I solved the trouble using the $hostname fact in
> > front of services definitions.
> > 
> > But I have another question about this:
> > 
> > Is it possible to define the directory where the file are created in the
> > nagios server?
> > 
> > Now the files are stored in the /etc/nagios.
> > 
> > 
> > 2011/4/26 Cedric Jeanneret <[email protected]>
> > 
> > > Hello,
> > >
> > > Maybe have a look at our nagios module:
> > > https://github.com/camptocamp/puppet-nagios
> > >
> > > Your problem is that resources with same name are exported from multiple
> > > hosts, and that make puppet crash with duplicated definition (as it's
> > > exported resources, the error message is different ;) ).
> > > You should name your nagios resources with the fqdn embedded so that it
> > > will be really unique across the DB.
> > >
> > > Cheers,
> > >
> > > C.
> > >
> > > On Tue, 26 Apr 2011 01:29:03 -0700 (PDT)
> > > Fransua33 <[email protected]> wrote:
> > >
> > > > Hi everyone,
> > > >
> > > > I'm trying to automate the nagios configuration of new host through
> > > > Puppet. For this I define a nagios module with the generic
> > > > configuration of my Nagios host definition.  The module look like
> > > > this:
> > > >
> > > > class nagios {
> > > >       $packagelist=["nagios"]
> > > >
> > > >       package { $packagelist:
> > > >               ensure => "installed"
> > > >       }
> > > >
> > > >       $servicelist=["nagios", "httpd"]
> > > >
> > > >       service { $servicelist:
> > > >               ensure          => "running",
> > > >               hasstatus       => "true",
> > > >               hasrestart      => "true"
> > > >       }
> > > >
> > > >       # collect resources and populate /etc/nagios/nagios_*.cfg
> > > >       Nagios_host <<| |>>
> > > >       Nagios_service <<| |>>
> > > >       Nagios_hostextinfo <<| |>>
> > > >
> > > >       class target {
> > > >               @@nagios_host { $fqdn:
> > > >                       ensure          => "present",
> > > >                       use             =>
> > > "ingacceso_$operatingsystem-server",
> > > >                       alias           => $hostname,
> > > >                       address         => $ipaddress,
> > > >                       contacts        =>
> > > "farconada,henry,fsariego,jfdiez"
> > > >               }
> > > >
> > > >               @@nagios_hostextinfo { $fqdn:
> > > >                       ensure  => "present",
> > > >                       icon_image_alt  => $operatingsystem,
> > > >                       icon_image      => "$operatingsystem.png"
> > > >               }
> > > >
> > > >               @@nagios_service { "Host - Carga CPU":
> > > >                       use             => "ingacceso_generic-service",
> > > >                       host_name       => "$fqdn",
> > > >                       check_command   => "check_nrpe!check_load"
> > > >               }
> > > >
> > > >               @@nagios_service { "Host - CPU":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!check_cpu"
> > > >                 }
> > > >
> > > >               @@nagios_service { "Host - Ping":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_ping!400.0,20%!
> > > > 900.0,60%"
> > > >                 }
> > > >
> > > >               @@nagios_service { "Host - /":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!check_raiz"
> > > >                 }
> > > >
> > > >               @@nagios_service { "Host - /boot":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!check_boot"
> > > >                 }
> > > >
> > > >               @@nagios_service { "Host - Memoria":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!check_memoria"
> > > >                 }
> > > >
> > > >               @@nagios_service { "Host - Swap":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!check_swap"
> > > >                 }
> > > >
> > > >               @@nagios_service { "Host - Numero Procesos":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!
> > > > check_total_procs"
> > > >                 }
> > > >
> > > >
> > > >               @@nagios_service { "Host - Interfaces de Red":
> > > >                         use             => "ingacceso_generic-
> > > > service",
> > > >                         host_name       => "$fqdn",
> > > >                         check_command   => "check_nrpe!
> > > > check_interfaces_net"
> > > >                 }
> > > >       }
> > > > }
> > > >
> > > > After this, I include this module in the template.pp:
> > > >
> > > > node basenode {
> > > >       case $operatingsystem {
> > > >               centos: { include centos }
> > > >               default: { include centos }
> > > >       }
> > > >       include baseapps, sshd, administradores, nagiosclient
> > > >       include nagios::target
> > > > }
> > > > node default inherits basenode {}
> > > > node webserver inherits basenode {
> > > >       include apache
> > > > }
> > > > node dbserver inherits basenode {
> > > >       include mysql
> > > > }
> > > > node mailserver inherits basenode {
> > > >       include postfix
> > > > }
> > > > node nagiosserver {
> > > >       case $operatingsystem {
> > > >                 centos: { include centos }
> > > >                 default: { include centos }
> > > >         }
> > > >         include baseapps, sshd, administradores, nagiosclient
> > > >       include nagios
> > > > }
> > > >
> > > > Also I define my nodes in the node.pp file:
> > > >
> > > > node 'masterpuppet.example.int' inherits basenode {}
> > > > node 'web.example.int' inherits webserver {
> > > >       apache::virtual_host { "test1.example.int":
> > > >               ip      => "172.16.73.201"
> > > >       }
> > > >       apache::virtual_host { "test2.example.int":
> > > >                 ip      => "172.16.73.201"
> > > >         }
> > > > }
> > > > node 'db.example.int' inherits dbserver {}
> > > > node 'mail.example.int' inherits mailserver {}
> > > > node 'nagios.example.int' inherits nagiosserver {}
> > > >
> > > > I verified that my store configs work well in my MySQL Database but in
> > > > the reports of my Nagios host I can see this error:
> > > >
> > > > --- !ruby/object:Puppet::Transaction::Report
> > > >   configuration_version:
> > > >   host: nagios.example.int
> > > >   kind: apply
> > > >   logs:
> > > >     - !ruby/object:Puppet::Util::Log
> > > >       level: !ruby/sym err
> > > >       message: "Could not retrieve catalog from remote server: Error
> > > > 400 on SERVER: Exported resource Nagios_service[Host - /] cannot
> > > > override local resource on node nagios.example.int"
> > > >       source: Puppet
> > > >       tags:
> > > >         - err
> > > >       time: 2011-04-26 09:39:55.848399 +02:00
> > > >     - !ruby/object:Puppet::Util::Log
> > > >       level: !ruby/sym notice
> > > >       message: Using cached catalog
> > > >       source: Puppet
> > > >       tags:
> > > >         - notice
> > > >       time: 2011-04-26 09:39:55.928445 +02:00
> > > >     - !ruby/object:Puppet::Util::Log
> > > >       level: !ruby/sym err
> > > >       message: Could not retrieve catalog; skipping run
> > > >       source: Puppet
> > > >       tags:
> > > >         - err
> > > >       time: 2011-04-26 09:39:55.928687 +02:00
> > > >   metrics: {}
> > > >   puppet_version: 2.6.6
> > > >   report_format: 2
> > > >   resource_statuses: {}
> > > >   status: failed
> > > >   time: 2011-04-26 09
> > > >
> > > > and the files nagios_*.cfg don't appear in my Nagios config.
> > > >
> > > > Can somebody help me with this troubleshoot?
> > > >
> > > > Ref:
> > > http://blog.gurski.org/index.php/2010/01/28/automatic-monitoring-with-puppet-and-nagios/
> > > >
> > >
> > >
> > > --
> > > Cédric Jeanneret                 |  System Administrator
> > > 021 619 10 32                    |  Camptocamp SA
> > > [email protected]  |  PSE-A / EPFL
> > >
> > 
> 
> 


-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to