Skip to content
Draft
Changes from all 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
35 changes: 25 additions & 10 deletions content/en/docs/operations/configuration/telemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,44 @@ Cozystack, as an open source project, thrives on community feedback and usage in

Cozystack strives to comply with the [LF Telemetry Data Policy](https://www.linuxfoundation.org/legal/telemetry-data-policy), ensuring responsible data collection practices that respect user privacy and transparency.

Our focus is on gathering non-personal usage metrics about Cozystack components rather than personal user information. We specifically collect information on the most commonly used application packages, the bundle names in use, enabled Cozystack features, as well as kernel versions and operating systems running in the environment. This collected data helps us gain insights into prevalent configurations and usage trends across installations.
Our focus is on gathering non-personal usage metrics about Cozystack components rather than personal user information. We specifically collect information about cluster infrastructure (nodes, storage, networking), installed packages, and application instances. This collected data helps us gain insights into prevalent configurations and usage trends across installations.

Telemetry is collected by two components:
- **cozystack-operator** — collects cluster-level metrics (nodes, storage, packages)
- **cozystack-controller** — collects application-level metrics (deployed application instances)

For a detailed view of what data is collected, you can review the telemetry implementation:
- [Telemetry Client](https://github.com/cozystack/cozystack/tree/main/internal/telemetry)
- [Telemetry Server](https://github.com/cozystack/cozystack-telemetry-server/)

### Example of Telemetry Payload:

Below is how a typical telemetry payload looks like in Cozystack:
Below is how a typical telemetry payload looks like in Cozystack.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For better readability and grammatical correctness, consider rephrasing this sentence. The construct "how ... looks like" is generally considered incorrect; "what ... looks like" or "how ... looks" are the preferred forms.

Suggested change
Below is how a typical telemetry payload looks like in Cozystack.
Below is an example of a typical telemetry payload in Cozystack.


**From cozystack-operator** (cluster infrastructure):

```prometheus
cozy_cluster_info{cozystack_version="v0.22.0",kubernetes_version="v1.31.4",oidc_enabled="true",bundle_name="paas-full",bunde_enable="",bunde_disable=""} 1
cozy_cluster_info{cozystack_version="v1.0.0",kubernetes_version="v1.31.4"} 1
cozy_nodes_count{os="linux (Talos (v1.8.4))",kernel="6.6.64-talos"} 3
cozy_cluster_capacity{resource="cpu"} 168
cozy_cluster_capacity{resource="memory"} 811020009472
cozy_cluster_capacity{resource="nvidia.com/TU104GL_TESLA_T4"} 3
cozy_loadbalancers_count 1
cozy_tenants_count 2
cozy_pvs_count{driver="linstor.csi.linbit.com",size="5Gi"} 7
cozy_pvs_count{driver="linstor.csi.linbit.com",size="10Gi"} 6
cozy_pvs_count{driver="linstor.csi.linbit.com",size="25Gi"} 2
cozy_workloads_count{uid="6099a6ff-87bd-463b-9deb-6b8dcdc7c47b",kind="etcd",type="etcd",version="2.4.0"} 3
cozy_workloads_count{uid="17808511-372f-4cb5-ab1e-b3693118df77",kind="ingress",type="controller",version="1.4.0"} 2
cozy_workloads_count{uid="994df12f-ed0d-4bd2-988e-955b9fa5d451",kind="kubernetes",type="control-plane",version="0.15.0"} 2
cozy_workloads_count{uid="532cc3b0-84d1-4ad2-be4f-3c5c08c93633",kind="kubernetes",type="worker",version="0.15.0"} 10
cozy_workloads_count{uid="d0e0fa40-38bd-4e86-9d24-6c8e2f16434c",kind="postgres",type="postgres",version="0.8.0"} 2
cozy_package_info{name="cozystack.core",variant="default"} 1
cozy_package_info{name="cozystack.storage",variant="linstor"} 1
cozy_package_info{name="cozystack.monitoring",variant="default"} 1
```

**From cozystack-controller** (application instances):

```prometheus
cozy_application_count{kind="Tenant"} 2
cozy_application_count{kind="Postgres"} 5
cozy_application_count{kind="Redis"} 3
cozy_application_count{kind="Kubernetes"} 2
cozy_application_count{kind="VirtualMachine"} 0
```

Data is collected by components running within Cozystack that periodically gather and transmit usage statistics to our secure backend. The telemetry system ensures that data is anonymized, aggregated, and stored securely, with strict controls on access to protect user privacy.
Expand Down