Analytics data collection
Some components automatically collect data about how you use Puppet Enterprise (PE). You can opt out of this data collection during or after installing PE.
This data is separate from other analytics data, such as that collected by the PE support script, Puppet metrics collector, the pe_status_check module, the Value report, or the analytics trapperkeeper service (which is described in Orchestration services settings).
How does sharing this data benefit you?
We use this data to identify customers that could be impacted by security issues, alert them to the issue, and provide them with relevant instructions to follow or fixes to download.
Additionally, the data helps us understand how customers use PE. This helps us improve PE in ways that benefit you.
How does Puppet by Perforce use the collected data?
This data collection is one of many ways we learn about our customers. For example, knowing how many nodes you manage helps us develop more realistic product testing. Similarly, learning which operating systems are the most and the least popular helps us prioritize development. By sharing this data, we can better understand your experience as a PE customer.
What data does PE collect?
Puppet Enterprise (PE) collects the following data when Puppet Server starts, restarts, and every 24 hours of continuous runtime.
License, version, primary server, and agent information
- License UUID
- Number of licensed nodes
- Product name
- PE version
- Primary server's operating system
- Primary server's public IP address
- Whether the primary server is running on Microsoft Azure
- The hypervisor the primary server is running on, if applicable
- Number of nodes in deployment
- Agent operating systems
- Number of agents running on each operating system
- Agent versions
- Number of agents running each version of Puppet agent
- All-in-One (AIO)
puppet-agent
package versions - Number of agents running on Microsoft Azure or Google Cloud Platform, if applicable
- Number of configured disaster recovery replicas, if applicable
PE feature use information
- Number of node groups in use
- Number of nodes used in orchestrator jobs after the last orchestrator restart
- Mean number of nodes per orchestrator job
- Maximum number of nodes per orchestrator job
- Minimum number of nodes per orchestrator job
- Total number of orchestrator jobs created after the last orchestrator restart
- Number of non-default user roles in use
- Type of certificate autosigning in use
- Number of nodes in the job that were run over Puppet Communications Protocol (PCP)
- Number of nodes in the job that were run over SSH
- Number of nodes in the job that were run over WinRM
- Number of nodes patched per task run
- Type of operating system on nodes that were patched in a task run
- Number of patches applied to each node per task run
- Number of patches completed per task run
- Number of nodes with the
pe_patch
module - Number of nodes with the
pe_patch
module that require patching - List of Puppet task jobs
- List of Puppet deploy jobs
- List of Puppet task jobs run by plans
- List of file upload jobs run by plans
- List of script jobs run by plans
- List of command jobs run by plans
- List of wait jobs run by plans
- How nodes were selected for the job
- Whether the job was started by the PE admin account
- Number of nodes in the job
- Length of description applied to the job
- Length of time the job ran
- User agent used to start the job (used to distinguish between jobs started via the console, command line, or API)
- UUID used to correlate multiple jobs run by the same user
- Time at which the task job ran
- Whether the job was asked to override agent-configured no-operation (no-op) mode
- Whether app-management was enabled in the orchestrator for this job
- Time the deploy job ran
- Type of version control system webhook
- Whether the request was to deploy all environments
- Whether Code Manager waited for all deploys to finish (successfully or with errors) before returning a response
- Whether the deploy was a dry run
- List of environments requested to deploy
- List of deploy requests
- Total time elapsed for all deploys to finish (successfully or with errors)
- List of total wait times for deploys specifying the
--wait
option - Name of environment deployed
- Time needed for r10k to run
- Time spent committing to file sync
- Time elapsed for all environment hooks to run
- List of individual environment deploys
- Puppet classes applied from publicly available modules, with node counts per class
Backup and restore information
- Whether the user used the
--force
option when runningrestore
- Scope of restore
- Time in seconds for various restore functions
- Time to check for disk space to restore
- Time to stop PE related services
- Time to restore PE file system components
- Time to migrate PE configuration for new server
- Time to configure PE on newly restored primary server
- Time to update PE classification for new server
- Time to deactivate the old primary server node
- Time to restore the
pe-orchestrator
database - Time to restore the
pe-rbac
database - Time to restore the
pe-classifier
database - Time to restore the
pe-activity
database - Time to restore the
pe-puppetdb
database - Total time to restore
- List of puppet backup restore jobs
- Whether the user used the
--force
option when runningpuppet-backup create
- Whether the user used the
--dir
option when runningpuppet-backup create
- Whether the user used the
--name
option when runningpuppet-backup create
- Scope of backup
- Time in seconds for various backup functions
- Time needed to estimate backup size, disk space needed, and disk space available
- Time to create file system backup
- Time to back up the
pe-orchestrator
database - Time to back up the
pe-rbac
database - Time to back up the
pe-classifier
database - Time to back up the
pe-activity
database - Time to back up the
pe-puppetdb
database - Time to compress archive file to backup directory
- Time to back up PE-related classification
- Total time to back up
- List of
puppet-backup create
jobs
Puppet Server performance information
- Total number of JRuby instances
- Maximum number of active JRuby instances
- Maximum number of requests per JRuby instance
- Average number of instances not used over the process’ lifetime
- Average wait time to lock the JRuby pool
- Average time the JRuby pool held a lock
- Average time an instance spent handling requests
- Average time spent waiting to reserve an instance from the JRuby pool
- Number of requests that timed out while waiting for a JRuby instance
- Amount of memory the JVM starts with
- Maximum amount of memory the JVM is allowed to request from the operating system
Installer information
- Installation method (express, text, web, or repair)
- Current version, if upgrading
- Target version
- Whether installation succeeded or failed, and limited failure type information (if applicable)
- Marketplace name
- Marketplace image billing mode (bring your own license or pay as you go)
PE console information
- Pageviews
- Link and button clicks
- Page load time
- User language
- Screen resolution
- Viewport size
- Anonymized IP address
Opt out when installing PE
You can set the DISABLE_ANALYTICS
environment
variable when you run the install script.
DISABLE_ANALYTICS=1
when you call the installer script, for
example:
sudo DISABLE_ANALYTICS=1 ./puppet-enterprise-installer
puppet_enterprise::send_analytics_data
parameter to false
in the pe.conf
file,
which disables collection of the data described in What data does PE collect?.Opt out after installing PE
You can opt out of analytics data collection after installing PE. You can also use these steps to enable data collection if you want to opt in.
After the Puppet runs complete, the data described in What data does PE collect? is no longer collected (if you set the
value to false
).