Hi all,
I've been struggling the last week trying to setup a simple Vagrant +
Puppet + Nagios configuration. Everything has been working out quite well
but now we've hit a roadblock trying to wrap our heads around how to use
Nagios_host <<||>>.
The setup is basic: we use an Ubuntu Precise 64 Vagrant box, followed the
instructions from Puppetlabs
(http://docs.puppetlabs.com/puppet/latest/reference/lang_exported.html) on
how to setup Puppetdb, connect the master etc. On top of this we installed
Nagios3.
The goal is to make this first box a puppet master and Nagios server and to
be able to add slaves to this configuration at a later stage. Things seem
to work, running "puppet agent --test" generates some sane log entries
in
the Puppetdb log and so on. However, as soon as we add Nagios_host
<<||>>
to the mix we start to get the following warnings:
*"Warning: Not collecting exported resources without storeconfigs" and
"Warning: You cannot collect exported resources without storeconfigs being
set; the collection will be ignored on line /...".*
No configuration files are generated in /etc/nagios3/ either. We would at
least expect a /etc/nagios3/nagios_host.conf file to created.
The googable information one can find regarding issues like these tend to
point towards adding storeconfigs=true and storeconfigs_backend=puppetdb to
/etc/puppet/puppet.conf. That was done automatically for us since we used
the puppet::puppetdb::config and puppetdb classes in our manifests. Issuing
"puppet config print all | grep store" and "puppet master
--configprint all
| grep store" differes depending on the logged in user. In our Vagrant box
the puppet master service is run as the user "puppet". This user for
some
reason tries to pull the configuration from "/var/lib/puppet/.puppet"
*. Is there a way to figure out which configuration file Puppet actually
loaded? To me it seems "--configprint" and "config print"
shows what Puppet
would try to load starting the service as the logged in user. Have we
misunderstood this completely? Or is it something else causing Puppet not
to generate the expected Nagios configuration files?*We have tried a few
things in order to understand this issue but still no go:
- Run the service/services as root "puppet master --user root" (would
load
the configuration from /etc/puppet).
- Set the confdir, vardir, stireconfigs etc from the command line "puppet
master --storeconfigs --confdir /etc/puppet/ --vardir /var/lib/puppet"
- Tried CentOS
- Added tons of logging where we could "--debug --verbose --trace"
We also tried the following Vagrant+Puppet box from GitHub (removing the
Puppet dashboard stuff, adding Nagios):
https://github.com/grahamgilbert/vagrant-puppetmaster. Same result.
*Clearly people have this working so it really has to be us not figuring
this out. What would be a good next step in order to troubleshoot this
issue? Can we add more logging somewhere? Any input would be much
appreciated!*Thanks,
Mikael
Attaching some information below for reference:
// /etc/puppet/puppet.conf
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
pluginsync=true
[agent]
report=true
[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
dns_alt_names = puppet, puppet.local, puppet.pebbleit.dev
reports = store, http, puppetdb
#reports = store, http
reporturl = http://localhost:3000/reports/upload
node_terminus = exec
external_nodes = /usr/bin/env PUPPET_DASHBOARD_URL=http://localhost:3000
/usr/share/puppet-dashboard/bin/external_node
storeconfigs = true
storeconfigs_backend = puppetdb
// /etc/puppet/puppetdb.conf
[main]
port = 8081
server = puppet.grahamgilbert.dev
// /etc/puppet/routes.yaml
# This file was automatically generated by the puppetdb module.
master:
facts:
terminus: puppetdb
cache: yaml
// dpkg -l | grep puppet
vagrant@puppet:~$ dpkg -l | grep puppet
ii facter 2.0.1-1puppetlabs1 Ruby
module for collecting simple facts about a host operating system
ii hiera 1.3.2-1puppetlabs1 A simple
pluggable Hierarchical Database.
ii puppet 3.5.1-1puppetlabs1
Centralized configuration management - agent startup and compatibility
scripts
ii puppet-common 3.5.1-1puppetlabs1
Centralized configuration management
ii puppet-dashboard 1.2.21-1puppetlabs1 Dashboard
for Puppet
ii puppetdb 1.6.3-1puppetlabs1 PuppetDB
Centralized Storage.
ii puppetdb-terminus 1.6.3-1puppetlabs1 Connect
Puppet to PuppetDB by setting up a terminus for PuppetDB.
ii puppetlabs-release 1.0-7 "Package
to install Puppet Labs gpg key and apt repo"
ii puppetmaster 3.5.1-1puppetlabs1
Centralized configuration management - master startup and compatibility
scripts
ii puppetmaster-common 3.5.1-1puppetlabs1 Puppet
master common scripts
ii ruby-rgen 0.6.5-1puppetlabs1 A
framework supporting Model Driven Software Development (MDSD)
// uname -a
Linux puppet 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012
x86_64 x86_64 x86_64 GNU/Linux
// ps -Af | grep puppet
vagrant@puppet:~$ ps -Af | grep puppet
puppetdb 1492 1 1 09:04 ? 00:02:00
/usr/lib/jvm/java-7-openjdk-amd64/bin/java -XX:OnOutOfMemoryError=kill -9
%p -Xmx192m -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/puppetdb/puppetdb-oom.hprof -jar
/usr/share/puppetdb/puppetdb.jar services -c /etc/puppetdb/conf.d
postgres 1977 926 0 09:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53676)
idle
postgres 2040 926 0 09:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53687)
idle
postgres 4200 926 0 10:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53721)
idle
root 4591 1 0 10:25 ? 00:00:00 /usr/bin/ruby
/usr/bin/puppet agent --storeconfigs
puppet 7606 1 1 10:37 ? 00:00:41 /usr/bin/ruby
/usr/bin/puppet master --masterport=8140
postgres 8118 926 0 11:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53801)
idle
postgres 8119 926 0 11:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53802)
idle
postgres 8120 926 0 11:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53803)
idle
postgres 8121 926 0 11:04 ? 00:00:00 postgres: puppetdb puppetdb
127.0.0.1(53804)
idle
vagrant 8251 7685 0 11:14 pts/0 00:00:00 grep --color=auto puppet
vagrant@puppet:~$
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/502c45e5-fd07-4617-9c00-963914ecec0e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.