Wie ändere ich das Abfrageintervall des Puppet Masters?

16

Standardmäßig fordern Puppet-Clients alle 30 Minuten Aktualisierungen an. Ich möchte dieses Intervall ändern. Was ist der bequemste Weg, dies zu tun?

Lauri Lehmijoki
quelle

Antworten:

30

Bearbeiten Sie auf den Clients /etc/puppet/puppet.conf und legen Sie im Abschnitt [main] der Datei Folgendes fest (fügen Sie eine neue Zeile hinzu, falls diese noch nicht vorhanden ist):

runinterval=xxx

Dabei ist xxx das gewünschte Abfrageintervall in Sekunden.


Laufintervall

Wie oft wendet der Marionettenagent den Katalog an? Beachten Sie, dass ein Laufintervall von 0 "ununterbrochen laufen" bedeutet und nicht "nie laufen". Wenn der Marionettenagent niemals laufen soll, sollten Sie ihn mit der Option --no-client starten. Diese Einstellung kann ein Zeitintervall in Sekunden (30 oder 30 s), Minuten (30 m), Stunden (6 h), Tagen (2 t) oder Jahren (5 j) sein.

Default: 30m
Mike Scott
quelle
1
Zu einer Zeit wurde das Ändern des Laufintervalls aufgrund von Speicherverlustproblemen nicht empfohlen. Ich weiß nicht, ob diese Besorgnis noch besteht.
Scott Pack
+1 Packungen - guter Punkt. Ich habe dieses Problem seit dem Upgrade auf 2.6 auf Centos 5.5 (64-Bit) nicht mehr gesehen
Patrick R
Sie können den Puppet-Client auch mit dem Parameter --runinterval = x
Lauri Lehmijoki 10.01.11
6

Wenn Sie die Verwendung von runinterval vermeiden möchten, funktioniert das Einrichten eines Cron möglicherweise gut. Dies kann besonders nützlich sein, wenn Sie viele Server haben, die nicht gleichzeitig Ihren Puppenmeister treffen sollen. Ich habe den Puppenmeister benutzt, um die Datei rauszuschieben und cron zu aktualisieren, was auf der Client-Seite (offensichtlich) nichts zu tun hatte.

Hier ist, was ich benutze (beachte, dass ich es stündlich starte, aber du kannst es einfach in cron.d referenzieren, ich habe dieses Skript nicht erstellt und weiß leider nicht, wem ich es gutschreiben soll ):

#!/bin/bash
#/etc/cron.hourly/puppetRun.sh

# This file managed by Puppet.

# Leave this script in cron.  To disable Puppet, run 'puppetd --disable'
# to temporarily suspend the running of Puppet for testing purposes.

PROG=`basename $0 .sh`
exec > /usr/local/logs/${PROG}.last.trace 2>&1
set -x

if [ -e "/var/run/puppet/puppetd.pid" ]; then
  echo "Puppet is already running or has been disabled.  Remove the lock file /var/run/puppet/puppetd.pid or run
'puppetd --enable'."
  exit
fi

# Randomly sleep so all Puppet clients don't hit the Puppet Master at once.
WAIT=$((RANDOM % 60 * 60))
echo "Sleeping $WAIT seconds..."
/bin/sleep $WAIT


/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog > /dev/null 2>&1
Patrick R
quelle
6
Mit den Einstellungen splay und splaylimit in puppet.conf können Sie denselben zufälligen Schlaf erzielen, wenn Sie als Dienst ausgeführt werden. docs.puppetlabs.com/references/latest/configuration.html#splay
czervik