StorageOS Telemetry

StorageOS collects telemetry and error reports from StorageOS clusters via two different methods for two different purposes.

Telemetry

  • Telemetry is made up a DNS version check query and a once per day report.
  • Error reporting is the sentry.io crash dump reporting.

sentry.io

StorageOS sends crash reports to sentry.io. This information helps our developers monitor and fix crashes. Information is sent to sentry.io when a process inside the StorageOS container crashes.

  • The crash report contains the signal that triggered the shutdown (e.g. SIGSEGV), the exit code and whether or not the crash generated a core dump.

All StorageOS clusters with a routable connection to the internet will send crash reports to sentry.io over tcp/443. StorageOS respects environment variables that ProxyFromEnvironment uses.

An exhaustive list of information included in the crash report is below:

  • StorageOS version
  • Crash description string
  • Anonymized Cluster ID
  • Anonymized Node ID

DNS Query

StorageOS will perform a “latest version check” using a DNS query in order to inform administrators that a new version is available. StorageOS will also send anonymized node ids, cluster id and StorageOS version information to StorageOS using a DNS query. The information that we send in the query is encoded as well as being anonymized. This query allows us to inform Cluster admins when StorageOS upgrades are available in the StorageOS GUI and in the logs.

The DNS query includes:

  • Anonymized StorageOS Cluster ID
  • Anonymized StorageOS node ID
  • StorageOS version number

Once Per Day Report

The once per day report contains information about the StorageOS cluster and Kubernetes versions to help StorageOS focus our development efforts on the most popular platforms. The once per day data is encrypted and sent to a StorageOS telemetry server so it is never processed outside of StorageOS assets.

An exhaustive list of information included in the once per day report is below:

  • api_call_metrics
  • cluster_disable_crash_reporting
  • cluster_disable_version_check
  • cluster_log_format
  • cluster_log_level
  • cluster_tls_provided
  • k8s_distribution
  • k8s_in_k8s
  • k8s_scheduler_extender_enabled
  • k8s_version
  • node_available_bytes
  • node_capacity
  • node_crash_files_on_disk
  • node_created_at_time
  • node_etcd_config
  • node_etcd_namespacing_enabled
  • node_etcd_tls_enabled
  • node_free_bytes
  • node_health
  • node_http_tls_enabled
  • node_id
  • node_labels
  • node_status
  • node_storageos_version
  • node_system_clock_time
  • node_total_bytes
  • node_version
  • volume_fs_type
  • volume_id
  • volume_labels
  • volume_master_attach
  • volume_master_delete_deployment
  • volume_master_detach
  • volume_master_failover_deployment
  • volume_master_promote
  • volume_master_provision
  • volume_master_recover_replica
  • volume_master_trigger_rejoin
  • volume_metrics
  • volume_placement_strategy
  • volume_provision_source_user_agent
  • volume_replica_delete_deployment
  • volume_replica_failover_deployment
  • volume_replica_promote
  • volume_replica_provision
  • volume_replicas
  • volume_replica_trigger_rejoin
  • volume_size_bytes

Disable Telemetry

It is possible to disable telemetry using the GUI, CLI, API, environment variables or the StorageOS Cluster Spec.

StorageOS Cluster Spec

Disable telemetry explicitly through the configurable spec parameters of the StorageOSCluster custom resource.

Environment Variables

You can use the following environmental variables to disable or enable telemetry.

DISABLE_VERSION_CHECK   # Disable the DNS version check
DISABLE_TELEMETRY       # Disable the once per day reporting
DISABLE_ERROR_REPORTING # Disable sentry.io crash reports