diff --git a/content/en/docs/operations/configuration/telemetry.md b/content/en/docs/operations/configuration/telemetry.md index d814b4e6..8c491d11 100644 --- a/content/en/docs/operations/configuration/telemetry.md +++ b/content/en/docs/operations/configuration/telemetry.md @@ -18,7 +18,11 @@ 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) @@ -26,21 +30,32 @@ For a detailed view of what data is collected, you can review the telemetry impl ### 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. + +**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.