After you’ve installed Puppet Enterprise (PE), optimize it for your environment by configuring and tuning PuppetDB configuration as needed.
See Tuning monolithic installations for recommended settings based on various monolithic installation sizes.
By default, every time Puppet runs, the Puppet master generates agent run reports and submits them to PuppetDB. These agent run reports can be enabled or disabled in the PE console.
Click Nodes > Classification, and in the PE Infrastructure group, select the PE Master group.
On the Classes tab, locate or add the
puppet_enterprise::profile::master::puppetdb class, select the
report_processor_ensure parameter, and enter the value
present to enable agent run reports or
absent to disable agent run reports.
Click Add parameter, and commit changes.
By default, every time Puppet runs, the Puppet master generates agent run reports and submits them to PuppetDB. These agent run reports can be enabled or disabled in Hiera.
.yamlfile, and set the
absent(disabled), as shown in the following code:
puppet_enterprise::profile::master::puppetdb::report_processor_ensure: <PRESENT or ABSENT>
command_processing_threads setting defines how many command processing threads PuppetDB uses to sort incoming data. Each thread can process a single command at a time. This setting defaults to half the number of cores in your system.
command_processing_threadsby editing your Hiera default
.yamlfile using the following code:
puppet_enterprise::puppetdb::command_processing_threads: <NUMBER of THREADS>
memory-usage parameter sets the maximum amount of memory in megabytes available for PuppetDB’s ActiveMQ Broker.
Note: Tuning this setting involves writing Puppet code, as documented at Playing nice with the PuppetDB module.
Use this parameter to set the “time-to-live” value before PE automatically deletes nodes that have been deactivated or expired. This will also delete all facts, catalogs, and reports for the relevant nodes.
Specify the time as a string using any of the following suffixes:
For example, a value of
14d would set the time-to-live to 14 days.
Edit your Hiera default
.yaml file, and set the
node_purge_ttl setting, as shown in the following code:
The console uses a database user account to access its PostgreSQL database. If this user’s password is compromised, or if it needs to be changed periodically, do the following:
puppet resource service pe-puppetdb ensure=stopped.
psqlclient, you can do this with
ALTER USER console PASSWORD '<new password>';.
/etc/puppetlabs/puppetdb/conf.d/database.inion the PuppetDB server and change the
password:line under common (or under production, depending on your configuration) to contain the new password.
pe-puppetdbservice on the console server with with
puppet resource service pe-puppetdb ensure=running.
Increase the ulimit for pe-puppetdb
Services in PE require up to one file handle per connected client. On most OS configurations, the defaults are not high enough for more than a couple of hundred clients. Support more clients by increasing the number of allowed file handles.
View instructions to increase the ulimit for PE services.
Tune the Java heap size for pe-puppetdb
Java heap size is the JVM (Java Virtual Machine) memory allocated to Java services running on PuppetDB.
Instructions to change the Java heap size using the PE console are on the Configuring Java Arguments for PE page.
Additional PuppetDB configuration information
Additional PuppetDB configuration information is available in the PuppetDB documentation. When consulting this documentation, be sure to check the PuppetDB version against the one included in your version of PE.