Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RHIDP-1908: Documenting the telemetry feature in admin guide #212

Merged
merged 18 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions assemblies/assembly-rhdh-telemetry.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[id="assembly-rhdh-telemetry_{context}"]
= Telemetry data collection

The telemetry data collection feature is disabled by default. {product} sends telemetry data to Red Hat by using the `backstage-plugin-analytics-provider-segment` plugin.
nickboldt marked this conversation as resolved.
Show resolved Hide resolved

[IMPORTANT]
====
You can disable the telemetry data collection feature based on your needs. For example, in an air-gapped environment, you can disable this feature to avoid needless outbound requests affecting the responsiveness of the {product-very-short} application. For more details, see the link:{LinkAdminGuide}#disabling-telemetry-data-collection_admin-rhdh[Disabling telemetry data collection in {product-very-short}] section.
====

{company-name} analyzes the collected data to understand your interactions with the {product-very-short} application without disclosing your identity and compromising your privacy. {company-name} uses the collected data only for internal analysis and to improve the offerings and your experience with {product}.

This feature collects the following data about your {product-very-short} usage:

* Events of page visits and clicks on links or buttons.
* System-related information, for example, locale, timezone, user agent including browser and OS details.
* Page-related information, for example, title, category, extension name, URL, path, referrer, and search parameters.

IP address and username are anonymized to maintain your privacy:

* The IP addresses are anonymized and recorded as `0.0.0.0`.
* The usernames are recorded as an anonymized hash.

The username hash is a unique identifier that is used solely to identify the number of unique users of the {product-very-short} application.

With {product-very-short}, you can customize the telemetry data collection feature and the telemetry Segment source configuration based on your needs.
shipsing marked this conversation as resolved.
Show resolved Hide resolved

include::modules/admin/proc-disabling-telemetry.adoc[leveloffset=+1]

include::modules/admin/proc-enabling-telemetry.adoc[leveloffset=+1]

include::modules/admin/proc-customizing-telemetry-segment.adoc[leveloffset=+1]

49 changes: 49 additions & 0 deletions modules/admin/proc-customizing-telemetry-segment.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[id="customizing-telemetry-segment_{context}"]
= Customizing telemetry Segment source


The `analytics-provider-segment` plugin sends the collected telemetry data to {company-name} by default. However, you can configure a new Segment source that receives telemetry data based on your needs. For configuration, you need a unique Segment write key that points to the Segment source.

[NOTE]
====
By configuring a new Segment source, you can collect and analyze the same set of data that is mentioned in the link:{LinkAdminGuide}#assembly-rhdh-telemetry_admin-rhdh[Telemetry data collection] section. You might also require to create your own telemetry data collection notice for your application users.
shipsing marked this conversation as resolved.
Show resolved Hide resolved
====

.Procedure

. Configure integration with your Segment source by using one of the following options:
+
.Using Helm Chart

* Add the following YAML code in your Helm configuration file:
+
[source,yaml]
----
# ...
upstream:
backstage:
extraEnvVars:
- name: SEGMENT_WRITE_KEY
value: <segment_key> # <1>
# ...
----
<1> `<segment_key>` denotes a unique identifier for your Segment source.

+
.Using the Operator

* Add the following YAML code in your `Backstage` custom resource (CR):
+
[source,yaml]
----
# ...
extraEnvs:
envs:
- name: SEGMENT_WRITE_KEY
value: <segment_key> # <1>
# ...
----
<1> `<segment_key>` denotes a unique identifier for your Segment source.

. Save the configuration changes.

66 changes: 66 additions & 0 deletions modules/admin/proc-disabling-telemetry.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
[id="disabling-telemetry-data-collection_{context}"]
= Disabling telemetry data collection in {product-very-short}

To disable telemetry data collection, you must disable the `analytics-provider-segment` plugin either using the Helm Chart or the {product} Operator configuration.

[NOTE]
====
If the `analytics-provider-segment` plugin is already present in your dynamic plugins configuration, set the value of the `plugins.disabled` parameter to `true` to disable telemetry data collection.
====

.Procedure

. Disable the `analytics-provider-segment` plugin by using one of the following options:
+
.Using Helm Chart

* Add the following YAML code in your Helm configuration file:
+
[source,yaml]
----
# ...
global:
dynamic:
plugins:
- package: './dynamic-plugins/dist/janus-idp-backstage-plugin-analytics-provider-segment'
disabled: true
# ...
----

+
.Using the Operator

.. Perform one of the following steps:
+
* If you have created the `dynamic-plugins-rhdh` ConfigMap file, add the `analytics-provider-segment` plugin to the list of plugins and set its `plugins.disabled` parameter to `true`.
+
* If you have not created the ConfigMap file, create it with the following YAML code:
+
[source,yaml]
----
kind: ConfigMap
apiVersion: v1
metadata:
name: dynamic-plugins-rhdh
data:
dynamic-plugins.yaml: |
includes:
- dynamic-plugins.default.yaml
plugins:
- package: './dynamic-plugins/dist/janus-idp-backstage-plugin-analytics-provider-segment'
disabled: true
----

.. Set the value of the `dynamicPluginsConfigMapName` parameter to the name of the ConfigMap file in your `Backstage` custom resource:
+
[source,yaml]
----
# ...
spec:
application:
dynamicPluginsConfigMapName: dynamic-plugins-rhdh
# ...
----

. Save the configuration changes.

65 changes: 65 additions & 0 deletions modules/admin/proc-enabling-telemetry.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
[id="enabling-telemetry-data-collection_{context}"]
= Enabling telemetry data collection in {product-very-short}

The telemetry data collection feature is enabled by default. However, if you have disabled the feature and want to re-enable it, you must enable the `analytics-provider-segment` plugin either by using the Helm Chart or the {product} Operator configuration.

[NOTE]
====
If the `analytics-provider-segment` plugin is already present in your dynamic plugins configuration, set the value of the `plugins.disabled` parameter to `false` to enable telemetry data collection.
====

.Procedure

. Configure the `analytics-provider-segment` plugin by using one of the following options:
+
.Using Helm Chart

* Add the following YAML code in your Helm configuration file:
+
[source,yaml]
----
# ...
global:
dynamic:
plugins:
- package: './dynamic-plugins/dist/janus-idp-backstage-plugin-analytics-provider-segment'
disabled: false
# ...
----

+
.Using the Operator

.. Perform one of the following steps:
+
* If you have created the `dynamic-plugins-rhdh` ConfigMap file, add the `analytics-provider-segment` plugin to the list of plugins and set its `plugins.disabled` parameter to `false`.
+
* If you have not created the ConfigMap file, create it with the following YAML code:
+
[source,yaml]
----
kind: ConfigMap
apiVersion: v1
metadata:
name: dynamic-plugins-rhdh
data:
dynamic-plugins.yaml: |
includes:
- dynamic-plugins.default.yaml
plugins:
- package: './dynamic-plugins/dist/janus-idp-backstage-plugin-analytics-provider-segment'
disabled: false
----

.. Set the value of the `dynamicPluginsConfigMapName` parameter to the name of the ConfigMap file in your `Backstage` custom resource:
+
[source,yaml]
----
# ...
spec:
application:
dynamicPluginsConfigMapName: dynamic-plugins-rhdh
# ...
----

. Save the configuration changes.
3 changes: 3 additions & 0 deletions titles/admin-rhdh/title-admin.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ include::assemblies/assembly-install-rhdh-ocp.adoc[leveloffset=+1]

include::assemblies/assembly-enabling-authentication.adoc[leveloffset=+1]

//Telemetry data collection
include::assemblies/assembly-rhdh-telemetry.adoc[leveloffset=+1]

//aws integration
include::assemblies/assembly-rhdh-integration-aws.adoc[leveloffset=+1]

Expand Down