Azure SQL Edge 使用情况和诊断数据配置

重要

Azure SQL Edge 不再支持 ARM64 平台。

默认情况下,Azure SQL Edge 会收集有关其客户如何使用应用程序的信息。 具体来说,Azure SQL Edge 会收集有关部署体验、使用情况和性能的信息。 此信息有助于 Azure 改进产品以更好地满足客户需求。 例如,Azure 会收集有关客户遇到的错误代码类型的信息,方便我们修复相关 bug、改进关于如何使用 Azure SQL Edge 的文档,以及确定是否应向产品中添加功能以更好地为客户服务。

具体而言,Azure 不会通过这种机制发送以下任何类型的信息:

  • 用户表中的任何值。
  • 任何登录凭据或其他身份验证信息。
  • 任何个人或客户数据。

以下示例场景包括有助于改进产品的功能使用情况信息。

下面提供了用于使用情况和诊断数据收集的查询中的示例查询。 该查询会标识 Azure SQL Edge 中使用的不同流式处理数据源的计数和类型。 这些数据可帮助 Azure 确定常用的流式处理数据源有哪些,以便 Azure 改善与这些数据源相关的性能和用户体验。

SELECT count(*) AS [count],
    sum(inputs) AS inputs,
    sum(outputs) AS outputs,
    sum(linked_to_job) AS linked_to_job,
    data_source_type
FROM (
    SELECT ISNULL(value, 'unknown') AS data_source_type,
        inputs,
        outputs,
        linked_to_job
    FROM (
        SELECT convert(SYSNAME, LOWER(SUBSTRING(ds.location, 0, CHARINDEX('://', ds.location))), 1) AS data_source_type,
            ISNULL(inputs, 0) AS inputs,
            ISNULL(outputs, 0) AS outputs,
            ISNULL(js.stream_id / js.stream_id, 0) AS linked_to_job
        FROM sys.external_streams es
        INNER JOIN sys.external_data_sources ds
            ON es.data_source_id = ds.data_source_id
        LEFT JOIN (
            SELECT stream_id,
                MAX(CAST(is_input AS INT)) inputs,
                MAX(CAST(is_output AS INT)) outputs
            FROM sys.external_job_streams
            GROUP BY stream_id
            ) js
            ON js.stream_id = es.object_id
        ) ds
    LEFT JOIN (
        SELECT value
        FROM string_split('edgehub,sqlserver,kafka', ',')
        ) AS known_ep
        ON data_source_type = value
    ) known_ds
GROUP BY data_source_type;

禁用使用情况和诊断数据收集

可以使用以下两种方法之一禁用 Azure SQL Edge 上的使用情况和诊断数据收集。

注意

不能为开发人员版本禁用使用情况和诊断数据。

使用环境变量禁用使用情况和诊断数据

若要在 Azure SQL Edge 上禁用使用情况和诊断数据收集,请添加以下环境变量并将其值设置为 *False*。 有关使用环境变量配置 Azure SQL Edge 的详细信息,请参阅使用环境变量进行配置

MSSQL_TELEMETRY_ENABLED = TRUE | FALSE

  • TRUE - 启用使用情况和诊断数据收集。 这是默认配置。
  • FALSE - 禁用使用情况和诊断数据收集。

使用 mssql.conf 文件禁用使用情况和诊断数据

若要在 Azure SQL Edge 上禁用使用情况和诊断数据收集,请在永久性存储驱动器(映射到 SQL Edge 模块中的 /var/opt/mssql/ 文件夹)上的 mssql.conf 文件中添加以下行。 有关使用 mssql.conf 文件配置 Azure SQL Edge 的详细信息,请参阅使用 mssql.conf 文件进行配置

[telemetry]
customerfeedback = false

使用情况和诊断数据收集的本地审核

Azure SQL Edge 使用情况和诊断数据收集的本地审核组件可以将该服务收集的数据写入指定文件夹(表示将发送给 Microsoft 的数据[日志])。 本地审核的用途是,便于客户出于合规性、监管或隐私验证原因,查看 Azure 使用此功能收集的所有数据。

启用使用情况和诊断数据的本地审核

在 Azure SQL Edge 上启用本地审核使用情况和诊断数据:

  1. 为新的本地审核日志存储创建一个目标目录。 该目标目录可以位于主机上,也可以位于容器中。 在以下示例中,目标目录是在映射到 SQL Edge 上 /var/opt/mssql/ 路径的同一装入卷中创建的。

    sudo mkdir <host mount path>/audit
    
  2. 使用环境变量或 mssql.conf 文件配置使用情况和诊断数据的审核。

    • 使用环境变量:

      • 将以下环境变量添加到 SQL Edge 部署中,并指定审核文件的目标目录。

        *MSSQL_TELEMETRY_DIR = <host mount path>/audit*

    • 使用 mssql.conf 文件:

      • 在 mssql.conf 文件中添加以下行,并指定审核文件的目标目录。

        [telemetry]
        userrequestedlocalauditdirectory  = <host mount path>/audit
        

后续步骤