summaryrefslogtreecommitdiffstats
path: root/doc/mgr/telemetry.rst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/mgr/telemetry.rst292
1 files changed, 292 insertions, 0 deletions
diff --git a/doc/mgr/telemetry.rst b/doc/mgr/telemetry.rst
new file mode 100644
index 000000000..90d45766c
--- /dev/null
+++ b/doc/mgr/telemetry.rst
@@ -0,0 +1,292 @@
+.. _telemetry:
+
+Telemetry Module
+================
+
+The telemetry module sends anonymous data about the cluster back to the Ceph
+developers to help understand how Ceph is used and what problems users may
+be experiencing.
+
+This data is visualized on `public dashboards <https://telemetry-public.ceph.com/>`_
+that allow the community to quickly see summary statistics on how many clusters
+are reporting, their total capacity and OSD count, and version distribution
+trends.
+
+Channels
+--------
+
+The telemetry report is broken down into several "channels", each with
+a different type of information. Assuming telemetry has been enabled,
+individual channels can be turned on and off. (If telemetry is off,
+the per-channel setting has no effect.)
+
+* **basic** (default: on): Basic information about the cluster
+
+ - capacity of the cluster
+ - number of monitors, managers, OSDs, MDSs, object gateways, or other daemons
+ - software version currently being used
+ - number and types of RADOS pools and CephFS file systems
+ - names of configuration options that have been changed from their
+ default (but *not* their values)
+
+* **crash** (default: on): Information about daemon crashes, including
+
+ - type of daemon
+ - version of the daemon
+ - operating system (OS distribution, kernel version)
+ - stack trace identifying where in the Ceph code the crash occurred
+
+* **device** (default: on): Information about device metrics, including
+
+ - anonymized SMART metrics
+
+* **ident** (default: off): User-provided identifying information about
+ the cluster
+
+ - cluster description
+ - contact email address
+
+* **perf** (default: off): Various performance metrics of a cluster, which can be used to
+
+ - reveal overall cluster health
+ - identify workload patterns
+ - troubleshoot issues with latency, throttling, memory management, etc.
+ - monitor cluster performance by daemon
+
+The data being reported does *not* contain any sensitive
+data like pool names, object names, object contents, hostnames, or device
+serial numbers.
+
+It contains counters and statistics on how the cluster has been
+deployed, the version of Ceph, the distribution of the hosts and other
+parameters which help the project to gain a better understanding of
+the way Ceph is used.
+
+Data is sent secured to *https://telemetry.ceph.com*.
+
+Individual channels can be enabled or disabled with::
+
+ ceph telemetry enable channel basic
+ ceph telemetry enable channel crash
+ ceph telemetry enable channel device
+ ceph telemetry enable channel ident
+ ceph telemetry enable channel perf
+
+ ceph telemetry disable channel basic
+ ceph telemetry disable channel crash
+ ceph telemetry disable channel device
+ ceph telemetry disable channel ident
+ ceph telemetry disable channel perf
+
+Multiple channels can be enabled or disabled with::
+
+ ceph telemetry enable channel basic crash device ident perf
+ ceph telemetry disable channel basic crash device ident perf
+
+Channels can be enabled or disabled all at once with::
+
+ ceph telemetry enable channel all
+ ceph telemetry disable channel all
+
+Please note that telemetry should be on for these commands to take effect.
+
+List all channels with::
+
+ ceph telemetry channel ls
+
+ NAME ENABLED DEFAULT DESC
+ basic ON ON Share basic cluster information (size, version)
+ crash ON ON Share metadata about Ceph daemon crashes (version, stack straces, etc)
+ device ON ON Share device health metrics (e.g., SMART data, minus potentially identifying info like serial numbers)
+ ident OFF OFF Share a user-provided description and/or contact email for the cluster
+ perf ON OFF Share various performance metrics of a cluster
+
+
+Enabling Telemetry
+------------------
+
+To allow the *telemetry* module to start sharing data::
+
+ ceph telemetry on
+
+Please note: Telemetry data is licensed under the Community Data License
+Agreement - Sharing - Version 1.0 (https://cdla.io/sharing-1-0/). Hence,
+telemetry module can be enabled only after you add '--license sharing-1-0' to
+the 'ceph telemetry on' command.
+Once telemetry is on, please consider enabling channels which are off by
+default, such as the 'perf' channel. 'ceph telemetry on' output will list the
+exact command to enable these channels.
+
+Telemetry can be disabled at any time with::
+
+ ceph telemetry off
+
+Sample report
+-------------
+
+You can look at what data is reported at any time with the command::
+
+ ceph telemetry show
+
+If telemetry is off, you can preview a sample report with::
+
+ ceph telemetry preview
+
+Generating a sample report might take a few moments in big clusters (clusters
+with hundreds of OSDs or more).
+
+To protect your privacy, device reports are generated separately, and data such
+as hostname and device serial number is anonymized. The device telemetry is
+sent to a different endpoint and does not associate the device data with a
+particular cluster. To see a preview of the device report use the command::
+
+ ceph telemetry show-device
+
+If telemetry is off, you can preview a sample device report with::
+
+ ceph telemetry preview-device
+
+Please note: In order to generate the device report we use Smartmontools
+version 7.0 and up, which supports JSON output.
+If you have any concerns about privacy with regard to the information included in
+this report, please contact the Ceph developers.
+
+In case you prefer to have a single output of both reports, and telemetry is on, use::
+
+ ceph telemetry show-all
+
+If you would like to view a single output of both reports, and telemetry is off, use::
+
+ ceph telemetry preview-all
+
+**Sample report by channel**
+
+When telemetry is on you can see what data is reported by channel with::
+
+ ceph telemetry show <channel_name>
+
+Please note: If telemetry is on, and <channel_name> is disabled, the command
+above will output a sample report by that channel, according to the collections
+the user is enrolled to. However this data is not reported, since the channel
+is disabled.
+
+If telemetry is off you can preview a sample report by channel with::
+
+ ceph telemetry preview <channel_name>
+
+Collections
+-----------
+
+Collections represent different aspects of data that we collect within a channel.
+
+List all collections with::
+
+ ceph telemetry collection ls
+
+ NAME STATUS DESC
+ basic_base NOT REPORTING: NOT OPTED-IN Basic information about the cluster (capacity, number and type of daemons, version, etc.)
+ basic_mds_metadata NOT REPORTING: NOT OPTED-IN MDS metadata
+ basic_pool_options_bluestore NOT REPORTING: NOT OPTED-IN Per-pool bluestore config options
+ basic_pool_usage NOT REPORTING: NOT OPTED-IN Default pool application and usage statistics
+ basic_rook_v01 NOT REPORTING: NOT OPTED-IN Basic Rook deployment data
+ basic_usage_by_class NOT REPORTING: NOT OPTED-IN Default device class usage statistics
+ crash_base NOT REPORTING: NOT OPTED-IN Information about daemon crashes (daemon type and version, backtrace, etc.)
+ device_base NOT REPORTING: NOT OPTED-IN Information about device health metrics
+ ident_base NOT REPORTING: NOT OPTED-IN, CHANNEL ident IS OFF User-provided identifying information about the cluster
+ perf_memory_metrics NOT REPORTING: NOT OPTED-IN, CHANNEL perf IS OFF Heap stats and mempools for mon and mds
+ perf_perf NOT REPORTING: NOT OPTED-IN, CHANNEL perf IS OFF Information about performance counters of the cluster
+
+Where:
+
+**NAME**: Collection name; prefix indicates the channel the collection belongs to.
+
+**STATUS**: Indicates whether the collection metrics are reported; this is
+determined by the status (enabled / disabled) of the channel the collection
+belongs to, along with the enrollment status of the collection (whether the user
+is opted-in to this collection).
+
+**DESC**: General description of the collection.
+
+See the diff between the collections you are enrolled to, and the new,
+available collections with::
+
+ ceph telemetry diff
+
+Enroll to the most recent collections with::
+
+ ceph telemetry on
+
+Then enable new channels that are off with::
+
+ ceph telemetry enable channel <channel_name>
+
+Interval
+--------
+
+The module compiles and sends a new report every 24 hours by default.
+You can adjust this interval with::
+
+ ceph config set mgr mgr/telemetry/interval 72 # report every three days
+
+Status
+--------
+
+The see the current configuration::
+
+ ceph telemetry status
+
+Manually sending telemetry
+--------------------------
+
+To ad hoc send telemetry data::
+
+ ceph telemetry send
+
+In case telemetry is not enabled (with 'ceph telemetry on'), you need to add
+'--license sharing-1-0' to 'ceph telemetry send' command.
+
+Sending telemetry through a proxy
+---------------------------------
+
+If the cluster cannot directly connect to the configured telemetry
+endpoint (default *telemetry.ceph.com*), you can configure a HTTP/HTTPS
+proxy server with::
+
+ ceph config set mgr mgr/telemetry/proxy https://10.0.0.1:8080
+
+You can also include a *user:pass* if needed::
+
+ ceph config set mgr mgr/telemetry/proxy https://ceph:telemetry@10.0.0.1:8080
+
+
+Contact and Description
+-----------------------
+
+A contact and description can be added to the report. This is
+completely optional, and disabled by default.::
+
+ ceph config set mgr mgr/telemetry/contact 'John Doe <john.doe@example.com>'
+ ceph config set mgr mgr/telemetry/description 'My first Ceph cluster'
+ ceph config set mgr mgr/telemetry/channel_ident true
+
+Leaderboard
+-----------
+
+To participate in a leaderboard in the `public dashboards
+<https://telemetry-public.ceph.com/>`_, run the following command:
+
+.. prompt:: bash $
+
+ ceph config set mgr mgr/telemetry/leaderboard true
+
+The leaderboard displays basic information about the cluster. This includes the
+total storage capacity and the number of OSDs. To add a description of the
+cluster, run a command of the following form:
+
+.. prompt:: bash $
+
+ ceph config set mgr mgr/telemetry/leaderboard_description 'Ceph cluster for Computational Biology at the University of XYZ'
+
+If the ``ident`` channel is enabled, its details will not be displayed in the
+leaderboard.
+