2012-05-04 2 views
7

Puppet schreibt die Protokollierung standardmäßig in syslog. Warum das? Die meisten Programme schreiben in eine separate Logdatei. Ich überprüfte die Dokumentation und es gibt eine Erwähnung, dass Sie in eine Protokolldatei schreiben können, aber es gab eine Erwähnung, dass "das im Allgemeinen nicht verwendet wird". Ist das eine schlechte Idee?So protokollieren Sie den Puppet-Agent und den Master

Wie ist das typische Setup für die Verfolgung der Puppenprotokollierung? Verwenden Sie Grep für die Datei/var/log/messages?

Antwort

3

Wir verwenden Puppet-Dashboard für diesen Zweck. Es gibt Ihnen einen guten Überblick über die Umwelt, was scheitert und was funktioniert. Und welche Server gestoppt haben bei der Prüfung.

Es ist einfach zu installieren, Kasse http://puppetlabs.com/puppet/related-projects/dashboard/

Wenn Sie in eine andere Datei protokollieren möchten, können Sie die syslogfacility Konfigurationsoption in Puppen verwenden können (http://docs.puppetlabs.com/references/stable/configuration.html#syslogfacility) und konfigurieren syslog log es in eine andere Datei.

+0

Alle Tipps zur Protokollierung mithilfe von Syslog, um Marionette in einer anderen Datei zu protokollieren. Es gibt keine "Puppet" syslog -Facility und der Standardwert ist Daemon. Wenn ich den Daemon in eine puppet.log-Datei logge, werden auch andere Dinge als die Marionette dort landen. – palto

+0

Ich weiß es nicht, aber ich denke, es ist möglich. Sie können jede Marionettenkonfiguration finden mit; Marionette --configprint alle – xeor

+1

Aber wie gehen die Leute normalerweise mit der Marionette Logging? Halten Sie es für ein Problem, das Syslog zu erweitern? Puppet erlaubt das Loggen in verschiedene Dateien. Wenn also Syslog schwer in verschiedene Log-Dateien zu trennen ist, kann ich immer Marionette dazu benutzen. Ich frage mich nur, warum es "in der Regel nicht verwendet" – palto

6

Seit Ihrer erwähnten syslog nehme ich an, dass Sie über Debian-like Linux sprachen.

Eigentlich ist es nicht nötig, eine eigene Protokolleinrichtung zu schreiben. Das Anpassen /etc/default/puppet ist genug.

# Startup options 
DAEMON_OPTS="--logdest /var/log/puppet/puppet.log" 

/etc/default/puppet wird von /etc/init.d/puppet bezogen, so dass die Optionen, die Sie hier hinzugefügt wird ausgeführt, wenn puppet Dienst gestartet wird.

Docs über --logdest Optionen: https://docs.puppetlabs.com/references/3.3.1/man/apply.html#OPTIONS

BTW, enthält die deb-Paket Marionette bietet für Debian (oder Ubuntu) sogar eine logrotate Konfigurationsdatei für /var/log/puppet, ich weiß nicht, warum diese Option nicht standardmäßig ist.

/var/log/puppet/*log { 
    missingok 
    sharedscripts 
    create 0644 puppet puppet 
    compress 
    rotate 4 

    postrotate 
    pkill -USR2 -u puppet -f 'puppet master' || true 
    [ -e /etc/init.d/puppet ] && /etc/init.d/puppet reload > /dev/null 2>&1 || true 
    endscript 
} 
+1

Schön, das funktioniert für Puppet-Agent in v4.2.2 so gut wie 'PUPPET_EXTRA_OPTS =" - logdest /var/log/puppetlabs/puppet/puppet.log "' Puppet Master geht aber standardmäßig hier '/ var/log/puppetlabs/puppetserver/puppetserver.log' – vikas027

Verwandte Themen