Puppet Enterprise analytics data collection
Some components of Puppet Enterprise (PE) automatically collect data about how you use PE. If you want to opt out of providing this data, you can do so, either as part of an initial PE installation, or for existing installs.
What data does PE collect?
Puppet Enterprise collects the following data when Puppet Server starts or restarts, and every 24 hours thereafter:
- License UUID
- Number of licensed nodes
- Product name
- PE version
- Master operating system
- Master’s public IP address
- Number of nodes in deployment
- Agent operating system(s)
- Number of agents running each operating system
- Puppet agent version(s)
- Number of agents running each version of Puppet agent
- Number of node groups in use
- Number of nodes used in Puppet orchestrator jobs since last orchestrator restart
- Mean nodes per job
- Maximum nodes per job
- Minimum nodes per job
- Total Puppet orchestrator jobs created since last orchestrator restart
If Puppet Enterprise is installed using an Amazon Web Services Marketplace Image, PE collects:
- The marketplace name
- Marketplace image billing mode (bring your own license/pay as you go)
While in use, the PE console collects:
- Link and button clicks
- Page load time
- User language
- Screen resolution
- Viewport size
- Anonymized IP address
The PE console does not collect:
- User inputs such as node or group names, user names, rules, parameters, or variables
The collected data is tied to a unique, anonymized identifier for each Puppet master and your site as a whole. No personally identifiable information is collected, and the data we collect is never used or shared outside Puppet.
How does sharing this data benefit PE users?
We can, and have, used the data that companies share with us to quickly and efficiently identify organizations that could be affected by a security issue, alert them to the issue, and provide them with steps to take or fixes to download. In addition, data like this helps us understand how you use the product, which in turn helps us improve the product to meet your needs.
How does Puppet use the collected data?
The data we collect provides just one of many methods we use for learning about our customers. The more we know, the better we can address your needs. For example, knowing how many nodes you manage helps us develop more realistic product testing. And learning which operating systems are the most and the least used helps us decide where to prioritize new functionality. By collecting data, we begin to understand you better as a customer instead of as a data point.
Opt out of Puppet Enterprise analytics data collection
If you choose to opt out of analytics data collection, you can do so during the installation process, or at any time after installation is complete.
Opt out during the installation process
In order to opt out of Puppet’s data collection during a fresh installation, you must install using the text-mode installation. The text-mode installation uses the pe.conf file to set parameters and values needed for the install.
If you prefer to use an installation method other than text mode, first complete your installation, and then follow the steps to opt out of an existing PE installation.
Follow the instructions for a monolithic text-mode install, or a split text-mode install. When prompted, select text-mode install, edit
pe.conf, and set the
puppet_enterprise::send_analytics_datavariable to false, as follows:
Follow the rest of the instructions as described. By running Puppet with this setting, you will be “opted out” of data collection.
Opt out of an existing PE installation
If you’ve already installed PE and want to disable data collection, follow these steps.
In the PE console, click Classification, and then click PE Infrastructure.
On the Classes tab, on the
puppet_enterpriseclass, add the parameter,
send_analytics_dataand set the Value to
false. By default, this variable is set to
Run Puppet to enforce the change. On the Inventory page, click your master node and then click Run Puppet. Do the same for your console node. You can also run the
puppet jobcommand. For example:
$ puppet job run --nodes puppetmaster.domain.com,puppetconsole.domain.com
Either option will enforce the changes required to opt out of data collection.