Configure Kubernetes Operator Telemetry
On this page
MongoDB Enterprise Kubernetes Operator's telemetry collects anonymous, aggregate usage data to help MongoDB identify improvements with the greatest impact to customers. The Kubernetes Operator enables telemetry by default.
This telemetry data helps MongoDB:
Improve product reliability and stability.
Optimize performance based on real-world cluster configurations.
Ensure smooth upgrades and simplified issue resolution.
Kubernetes Operator telemetry is separate from the data collected by the MongoDB Agent and does not depend on Ops Manager.
Learn What the Kubernetes Operator Tracks
Kubernetes Operator telemetry tracks non-Personally-Identifiable Information (PII), which includes but is not limited to the following information:
Note
This list is kept up to date in alignment with iterations to the telemetry data sent, but might not be exhaustive or include full detail. For full insight into the telemetry sent to MongoDB for analysis, see View Your Telemetry.
Data | Example Value |
---|---|
Kubernetes Operator version number |
|
Kubernetes cluster version |
|
Kubernetes cluster provider |
|
Kubernetes UUID. This is the same as the UID of the |
|
| Example values:
|
Self-generated Kubernetes Operator UUID. Kubernetes Operator telemetry does not track custom names. |
|
Telemetry send timestamps |
|
Learn What the Kubernetes Operator Doesn't Track
Kubernetes Operator telemetry doesn't track:
Data | Example |
---|---|
PII and values that could potentially contain PII, including all self-set, free-text fields such as custom names or database user names. |
|
Data that could uniquely identify the company using the Kubernetes Operator. |
|
API key values or Atlas login credentials. |
|
Required RBAC for MongoDB
MongoDB requires specific role-based access control (RBAC) permissions to collect telemetry. Do not disable these permissions. These permissions allow MongoDB to:
Retrieve the Kubernetes cluster UID.
Access information for a single node to determine the cloud provider, such as EKS, GKE, or AKS.
Query the
/version
endpoint to detect the Kubernetes server version and ensure compatibility.
Disabling these RBAC roles might lead to degraded functionality, compatibility issues, and reduced support effectiveness. To maintain full functionality and receive the best support experience, these permissions must remain enabled.
View Your Telemetry
To review the telemetry collected by your Kubernetes Operator before it sends your data to MongoDB for analysis, follow these steps:
(Optional) Disable telemetry transmission.
To prevent the Kubernetes Operator from sending telemetry to MongoDB before you review it,
set MDB_OPERATOR_TELEMETRY_SEND_ENABLED to false
.
Alternatively, if you use Helm, set operator.telemetry.send.enabled to false
.
View your telemetry.
Your telemetry is collected in a ConfigMap named mongodb-enterprise-operator-telemetry
.
To view this ConfigMap, replace <namespace>
and run:
kubectl get configmap mongodb-enterprise-operator-telemetry -n <namespace> -o yaml
- apiVersion: v1 data: lastSendPayloadClusters: '[{"timestamp":"2025-02-14T15:45:34.27814598Z","source":"Clusters","properties": {"kubernetesAPIVersion":"v1.30.4","kubernetesClusterID":"80b25668-6732-4463-93fb-61ae0487c3e8", "kubernetesFlavour":"Unknown"}},{"timestamp":"2025-02-14T15:45:34.278149016Z","source":"Clusters","properties": {"kubernetesAPIVersion":"v1.30.4","kubernetesClusterID":"80b25668-6732-4463-93fb-61ae0487c3e8", "kubernetesFlavour":"Unknown"}}]' lastSendPayloadDeployments: '[{"timestamp":"2025-02-14T15:45:34.280318302Z","source":"Deployments","properties": {"architecture":"non-static","deploymentUID":"ff43ecfb-d244-4639-bca9-9cbbb9fbaa56","isMultiCluster":false, "operatorID":"4ae3880d-4bc5-495c-b5ea-ff9c9fc0bb34","type":"ReplicaSet"}}]' lastSendPayloadOperators: '[{"timestamp":"2025-02-14T15:45:34.270025096Z","source":"Operators","properties": {"kubernetesClusterID":"80b25668-6732-4463-93fb-61ae0487c3e8","kubernetesClusterIDs": ["80b25668-6732-4463-93fb-61ae0487c3e8"],"operatorID":"4ae3880d-4bc5-495c-b5ea-ff9c9fc0bb34","operatorType":"MEKO", "operatorVersion":"67af61832ac9680007bb966b"}}]' lastSendTimestampClusters: Initial-Value lastSendTimestampDeployments: "1739377730" lastSendTimestampOperators: "1739377728" Operator-UUID: 9cc0fb41-5142-419d-b440-baae616f66d4 kind: ConfigMap metadata: name: mongodb-enterprise-operator-telemetry
Note
lastSendPayload<type>
is the most recently collected data for a cluster, deployment, or Kubernetes Operator instance.lastSendTimestamp<type>
is the date and time when the Kubernetes Operator last sentlastSendPayload<type>
to MongoDB for analysis. If the value isInitial-Value
, no telemetry has yet been sent to MongoDB. If you disable telemetry,Initial-Value
never changes.
Disable Telemetry for the Kubernetes Operator
The Kubernetes Operator enables telemetry by default. You can disable Kubernetes Operator telemetry in the following ways:
Add the environment variable MDB_OPERATOR_TELEMETRY_ENABLED to your Kubernetes Operator deployment configuration and set to
false
.spec: template: spec: serviceAccountName: mongodb-enterprise-operator containers: - name: mongodb-enterprise-operator env: - name: MDB_OPERATOR_TELEMETRY_ENABLED value: "false" Alternatively, if you use Helm, set operator.telemetry.enabled to
false
.helm template operator helm_chart --set operator.telemetry.enabled=false
Enable Telemetry for the Kubernetes Operator
The Kubernetes Operator enables telemetry by default. If telemetry is
currently disabled, you can enable telemetry by setting the following environment variables
to true
, or removing the values entirely, which then defaults the settings to true
.
Set the environment variables
MDB_OPERATOR_TELEMETRY_ENABLED
andMDB_OPERATOR_TELEMETRY_SEND_ENABLED
in your Kubernetes Operator deployment configuration totrue
or remove the values entirely, which then defaults the settings totrue
. To learn more, see MDB_OPERATOR_TELEMETRY_ENABLED.spec: template: spec: serviceAccountName: mongodb-enterprise-operator containers: - name: mongodb-enterprise-operator env: - name: MDB_OPERATOR_TELEMETRY_ENABLED value: "true" - name: MDB_OPERATOR_TELEMETRY_SEND_ENABLED value: "true" Alternatively, if you use Helm, set the following settings to
true
or remove the values entirely, which then defaults the settings totrue
. To learn more, see operator.telemetry.operator: telemetry: # Enables telemetry. Setting this to "false" will stop all telemetry. enabled: true # Adds RBAC clusterRole for kube-system UID detection for the Kubernetes cluster UID. # Adds RBAC clusterRole for RBAC for nodes. We are listing exactly one node to detect the cluster provider (for example, eks). # Adds RBAC clusterRole for /version query for detecting Kubernetes server version. installClusterRole: true collection: # Controls how often the Kubernetes Operator collects and saves the data to the telemetry ConfigMap. It doesn't control whether this data is sent to MongoDB for analysis. # Valid time units for frequency are "m", or "h". Anything less than one minute defaults to 1h. frequency: 1h # Enables the Kubernetes Operator to collect and send cluster-level telemetry. # Note: the cluster UUID is unique but random and MongoDB has no way to map this to a customer. clusters: enabled: true # Enables the Kubernetes Operator to collect and send deployment-level telemetry. deployments: enabled: true # Enables the Kubernetes Operator to collect and send Kubernetes Operator-level telemetry. operators: enabled: true # Enables sending the collected telemetry to MongoDB. send: enabled: true # Controls how often the Kubernetes Operator sends the collected the data to MongoDB for analysis. # Valid time units are "h". Anything less than one hour defaults to 168h, which is one week. frequency: 168h