配置Kubernetes Operator 遥测
在此页面上
MongoDB Enterprise Kubernetes Operator 的遥测收集匿名的聚合使用数据,以帮助MongoDB识别对客户影响最大的改进。Kubernetes Operator默认启用遥测功能。
此遥测数据可帮助MongoDB:
提高产品的可靠性和稳定性。
根据实际集群配置优化性能。
确保平滑升级并简化问题解决。
Kubernetes Operator 遥测与MongoDB 助手收集的数据是分开的,并且不依赖于MongoDB Ops Manager。
了解Kubernetes Operator 追踪的内容
Kubernetes Operator 遥测跟踪非个人身份信息 (PII),包括但不限于以下信息:
注意
此列表会根据发送的遥测数据的迭代进行更新,但可能并不详尽或包含完整的详细信息。要全面见解发送到MongoDB进行分析的遥测数据,请参阅查看遥测数据。
数据 | 示例值 |
---|---|
Kubernetes Operator 版本号 |
|
Kubernetes集群版本 |
|
Kubernetes集群提供商 |
|
Kubernetes UUID。这与 |
|
| 值示例:
|
自生成的Kubernetes Operator UUID。Kubernetes Operator 遥测不追踪自定义名称。 |
|
遥测发送时间戳 |
|
了解Kubernetes Operator 不追踪的内容
Kubernetes Operator 遥测不追踪:
数据 | 例子 |
---|---|
PII 以及可能包含 PII 的值,包括所有自行设置的自由文本字段,例如自定义名称或数据库用户名。 |
|
可以唯一标识使用Kubernetes Operator 的公司的数据。 |
|
API键值或 Atlas 登录凭证。 |
|
MongoDB所需的 RBAC
MongoDB需要特定的基于角色的访问权限控制 (RBAC)权限来收集遥测数据。不要禁用这些权限。这些权限允许MongoDB执行以下操作:
检索Kubernetes集群UID。
访问单个节点的信息以确定云提供商,例如 EKS、GKE 或 AKS。
查询
/version
端点以检测Kubernetes服务器版本并确保兼容性。
禁用这些 RBAC 角色可能会导致功能降级、兼容性问题和支持效率降低。为了保持完整功能并获得最佳支持体验,这些权限必须保持启用状态。
查看遥测
要在 Kubernetes Operator 将数据发送到MongoDB进行分析之前查看Kubernetes Operator 收集的遥测数据,请执行以下步骤:
(可选)禁用遥测传输。
要防止Kubernetes Operator 在您查看遥测数据之前将其发送到MongoDB ,请将 MDB_OPERATOR_TELEMETRY_SEND_ENABLED 设立为 false
。
或者,如果您使用 Helm,请将 操作符.telemetry.send.enabled 设立为 false
。
查看您的遥测数据。
您的遥测数据收集在名为 mongodb-enterprise-operator-telemetry
的 ConfigMap 中。要查看此 ConfigMap,请替换 <namespace>
并运行:
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
注意
lastSendPayload<type>
是最近为集群、部署或Kubernetes Operator实例收集的数据。lastSendTimestamp<type>
是Kubernetes Operator 上次向MongoDB发送lastSendPayload<type>
进行分析的日期和时间。如果值为Initial-Value
,则尚未向MongoDB发送任何遥测数据。如果禁用遥测,则Initial-Value
永远不会改变。
为Kubernetes Operator 禁用遥测
Kubernetes Operator默认启用遥测功能。您可以通过以下方式禁用Kubernetes Operator 遥测:
将环境变量 MDB_OPERATOR_TELEMETRY_ENABLED 添加到Kubernetes Operator部署配置中并设立为
false
。spec: template: spec: serviceAccountName: mongodb-enterprise-operator containers: - name: mongodb-enterprise-operator env: - name: MDB_OPERATOR_TELEMETRY_ENABLED value: "false" 或者,如果您使用 Helm ,请将操作符.telemetry.enabled设立为
false
。helm template operator helm_chart --set operator.telemetry.enabled=false
为Kubernetes Operator 启用遥测
Kubernetes Operator默认启用遥测功能。如果当前已禁用遥测,则可以通过将以下环境变量设置为 true
或完全删除这些值启用遥测,这样设置默认为 true
。
将Kubernetes Operator部署配置中的环境变量
MDB_OPERATOR_TELEMETRY_ENABLED
和MDB_OPERATOR_TELEMETRY_SEND_ENABLED
设置为true
或完全删除这些值,从而将设置默认为true
。要学习;了解更多信息,请参阅 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" 或者,如果您使用 Helm ,请将以下设置设立
true
或完全删除这些值,这样会将设置默认为true
。要学习;了解更多信息,请参阅操作符.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