Skip to content

Commit

Permalink
First draft of product usage reporting docs
Browse files Browse the repository at this point in the history
  • Loading branch information
VioletHynes committed Nov 7, 2024
1 parent 6c184c8 commit 360bcce
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 2 deletions.
4 changes: 4 additions & 0 deletions website/content/docs/configuration/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ to specify where the configuration is.
auto-unsealing, as well as for
[seal wrapping][sealwrap] as an additional layer of data protection.

- `reporting` `([Reporting][reporting]: nil)` -
Configures options relating to license reporting in Vault.

- `cluster_name` `(string: <generated>)` – Specifies a human-readable
identifier for the Vault cluster. If omitted, Vault will generate a value.
The cluster name is included as a label in some [telemetry metrics](/vault/docs/internals/telemetry/metrics/).
Expand Down Expand Up @@ -306,6 +309,7 @@ The following parameters are only used with Vault Enterprise
[storage-backend]: /vault/docs/configuration/storage
[listener]: /vault/docs/configuration/listener
[reporting]: /vault/docs/configuration/reporting
[seal]: /vault/docs/configuration/seal
[sealwrap]: /vault/docs/enterprise/sealwrap
[telemetry]: /vault/docs/configuration/telemetry
Expand Down
42 changes: 42 additions & 0 deletions website/content/docs/configuration/reporting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
layout: docs
page_title: Reporting - Configuration
description: |-
The reporting stanza specifies various parameters for tuning reporting and licensing related values.
---

# `replication` stanza

@include 'alerts/enterprise-only.mdx'

The `reporting` stanza specifies various parameters for tuning replication related values.

Please see the pages relating to
[license utilization reporting](https://developer.hashicorp.com/vault/docs/enterprise/license/utilization-reporting)
and [product usage reporting](https://developer.hashicorp.com/vault/docs/enterprise/license/product-usage-reporting)
for more information regarding the license reporting.

```hcl
reporting {
snapshot_retention_time = 9600
disable_product_usage_reporting = false
license {
enabled = true
}
}
```

## `reporting` parameters

- `snapshot_retention_time` `(duration: 9600h)` - The retention time for manual reporting snapshots in hours. Defaults to 9600 (400 days).
Uses [duration format strings](/vault/docs/concepts/duration-format).
- `disable_product_usage_reporting` `(boolean: false)` - Determines whether [product usage reporting](https://developer.hashicorp.com/vault/docs/enterprise/license/product-usage-reporting)
is enabled.

## `license` parameters

- `enabled` `(boolean: true)` - Toggles automatic reporting of license utilization. See the
[license utilization reporting](https://developer.hashicorp.com/vault/docs/enterprise/license/utilization-reporting)
page for more details.
- `billing_start_timestamp` `(timestamp)` - The start timestamp for billing for license reporting (manual and automated).
Defaults to the license start timestamp.
115 changes: 115 additions & 0 deletions website/content/docs/enterprise/license/product-usage-reporting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
layout: docs
page_title: Product usage reporting
description: >-
Learn what anonymous usage data HashiCorp collects as part of Enterprise utilization reporting. Enable or disable collection.
---

# Product usage reporting

@include 'alerts/enterprise-only.mdx'

HashiCorp collects usage data about how Vault clusters are being used. This data is not
used for billing or and is numerical only, and no sensitive information of
any nature is being collected. The data is GDPR compliant and is collected as part of
the [license utilization reporting](https://developer.hashicorp.com/vault/docs/enterprise/license/utilization-reporting)
process. If automated reporting is enabled, this data will be collected automatically.
If automated reporting is disabled, then this will be collected as part of the manual reports.

## Opt out

While none of the collected usage metrics are sensitive in any way, if you are still concerned
about these usage metrics being reported, then you can opt-out of them being collected.

If you are considering opting out because you’re worried about the data, we
strongly recommend that you review the [example usage metrics](#example-usage-metrics)
before opting out. If you have concerns with any of the automatically-reported
data please bring them to your account manager.

You have two options to opt out of product usage collection:

- HCL configuration (recommended)
- Environment variable (requires restart)


#### HCL configuration

Opting out in your product's configuration file doesn't require a system
restart, and is the method we recommend. Add the following block to your server
configuration file (e.g. `vault-config.hcl`).

```hcl
reporting {
disable_product_usage_reporting = true
}
```

<Warning>

When you have a cluster, each node must have the reporting stanza in its
configuration to be consistent. In the event of leadership change, nodes will
use its server configuration to determine whether or not to opt-out the
product usage collection. Inconsistent configuration between nodes will change the
reporting status upon active unseal.

</Warning>


You will find the following entries in the server log.

<CodeBlockConfig hideClipboard>

```
[DEBUG] activity: there is no reporting agent configured, skipping counts reporting
```

</CodeBlockConfig>

#### Environment variable

If you need to, you can also opt out using an environment variable, which will
provide a startup message confirming that you have product usage data collection.
This option requires a system restart.

<Note>

If the reporting stanza exists in the configuration file, the
`OPTOUT_PRODUCT_USAGE_REPORTING` value overrides the configuration.

</Note>

Set the following environment variable.

```shell-session
$ export OPTOUT_PRODUCT_USAGE_REPORTING=true
```

Now, restart your [Vault servers](/vault/docs/commands/server) from the shell
where you set the environment variable.

You will find the following entries in the server log.

<CodeBlockConfig hideClipboard>

```
[DEBUG] core: product usage reporting disabled
```

</CodeBlockConfig>

If your configuration file and environment variable differ, the environment
variable setting will take precedence.

## Example usage metrics

HashiCorp collects the following product usage metrics as part of the `metrics` part of the
[JSON payload that it collects for licence utilization](https://developer.hashicorp.com/vault/docs/enterprise/license/utilization-reporting#example-payloads):

TODO VIOLET

## Example usage metadata

HashiCorp collects the following product usage metadata as part of the `metadata` part of the
[JSON payload that it collects for licence utilization](https://developer.hashicorp.com/vault/docs/enterprise/license/utilization-reporting#example-payloads):

TODO Violet
22 changes: 20 additions & 2 deletions website/data/docs-nav-data.json
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,15 @@
},
"path": "configuration/replication"
},
{
"title": "<code>reporting</code>",
"badge": {
"text": "ENTERPRISE",
"type": "outlined",
"color": "neutral"
},
"path": "configuration/reporting"
},
{
"title": "<code>seal</code>",
"routes": [
Expand Down Expand Up @@ -456,6 +465,11 @@
},
{
"title": "<code>sentinel</code>",
"badge": {
"text": "ENTERPRISE",
"type": "outlined",
"color": "neutral"
},
"path": "configuration/sentinel"
},
{
Expand Down Expand Up @@ -644,7 +658,7 @@
{
"title": "<code>generate-config</code>",
"path": "commands/agent/generate-config"
}
}
]
},
{
Expand Down Expand Up @@ -1950,7 +1964,7 @@
"path": "auth/saml/troubleshoot-adfs/adfs-event-320"
}
]

}
]
},
Expand Down Expand Up @@ -2816,6 +2830,10 @@
"title": "Manual license utilization reporting",
"path": "enterprise/license/manual-reporting"
},
{
"title": "Product usage reporting",
"path": "enterprise/license/product-usage-reporting"
},
{
"title": "FAQ",
"path": "enterprise/license/faq"
Expand Down

0 comments on commit 360bcce

Please sign in to comment.