Puppet on Solaris 10 stores its logs in the SMF log directory, which is different from the /var/log location you might be used to on Linux. If you are looking for the usual log files and cannot find them, this is probably why.

Agent logs

The Puppet agent (puppetd) runs as an SMF service, and its log is at:

/var/svc/log/network-cswpuppetd:default.log

To watch it in real time:

tail -f /var/svc/log/network-cswpuppetd:default.log

Master logs

The Puppet master (puppetmasterd) follows the same pattern:

/var/svc/log/network-cswpuppetmasterd:default.log

Watch it the same way:

tail -f /var/svc/log/network-cswpuppetmasterd:default.log

Why the weird path?

Solaris 10 uses SMF (Service Management Facility) instead of the traditional init scripts. Every service has a FMRI (Fault Management Resource Identifier), and SMF captures the stdout and stderr of each service into a log file under /var/svc/log/. The filename is derived from the service FMRI.

For Puppet, the package is network/cswpuppetd (the csw prefix indicates it came from the OpenCSW repository). SMF appends :default.log to the FMRI to create the log path.

This is different from Linux, where Puppet typically writes to /var/log/puppet/ or /var/log/messages depending on the distribution and configuration. If you are moving between platforms, this is one of those details that catches you out.

Checking service status

Before looking at the logs, it is worth checking whether the service is actually running:

svcs puppet

If the service is disabled or in an error state, the logs might not have much useful information until you fix the service itself. See “Disable services in Solaris 10” for how to manage the service state.