【问题标题】:How to access an azure Database containing data from Azure Log Analytics Query如何访问包含来自 Azure Log Analytics Query 的数据的 Azure 数据库
【发布时间】:2020-08-21 10:08:11
【问题描述】:

我有一个要分析的应用数据的有效查询。 目前它使用ago(14d) 分析过去两周的数据。

现在我想使用一个包含应用当前版本发布日期的值。由于我还没有找到将新数据库表添加到包含 azure analytics 中的日志数据的现有数据库的方法,因此我在 azure 中创建了一个新数据库并在其中输入了我的数据。

现在我只是不知道,我是否可以从 Azure 日志分析的 Web 查询界面中访问该数据库,或者我是否必须使用其他工具?

我希望有人可以帮助我。 与 azure 一样,有很多关于它的内容可供阅读,但对我的问题没有任何具体内容(或者至少我还没有找到它)。

是的,我知道如何使用let 将数据插入到查询中,但是由于我想在不同的查询中使用相同的数据,因此可以从所有查询中访问的外部位置将是解决方案我更喜欢。

提前谢谢。 特立独行

【问题讨论】:

    标签: azure analytics azure-data-explorer azure-analytics


    【解决方案1】:

    您不能直接访问数据库。您最好在 blob 存储中使用 csv/json 文件。在以下示例中,我上传了一个带有 csv 数据的 txt 文件,如下所示:

    2a6c024f-9093-434c-b3b1-000821a15b1a,"Customer 1"
    28a658a8-5466-45ea-862c-003b20507dd4,"Customer 2"
    c46fb949-d807-4eea-8de4-005dd4beb39a,"Customer 3"
    e05b67ee-ff83-4805-b004-0064449f196c,"Customer 4"
    

    然后我可以使用externaldata 运算符在这样的查询中引用来自日志分析/应用程序洞察的这些数据:

    let customers = externaldata(id:string, companyName:string)  [
        h@"https://xxx.blob.core.windows.net/myblob.txt?sv=2019-10-10&st=2020-09-29T11%3A39%3A22Z&se=2050-09-30T11%3A39%3A00Z&sr=b&sp=r&sig=xxx"  
    ]  with(format="csv");
    requests
    | extend CompanyId = tostring(customDimensions.CustomerId)
    | join kind=leftouter
    (
        customers
    )
    on $left.CompanyId == $right.id
    

    url https://xxx.blob.core.windows.net/myblob.txt?sv=2019-10-10&st=2020-09-29T11%3A39%3A22Z&se=2050-09-30T11%3A39%3A00Z&sr=b&sp=r&sig=xxx 是通过使用 Microsoft Azure Storage Explorer 创建一个包含 SAS 令牌的 url 创建的,选择一个 blob,然后右键单击 -> 获取共享访问签名。在弹出窗口中创建一个 SAS,然后复制 uri。

    【讨论】:

    • tyvm 为您解答。我一有时间就试试。即使我现在与我的老板就另一个解决方案达成了一致,这对于我的其他一些分析肯定会派上用场。
    【解决方案2】:

    我知道 Log Analytics 在后端使用 Azure 数据资源管理器,并且 Azure 数据资源管理器具有在查询中使用外部表的功能,但我不确定 Log Analytics 是否支持外部表。

    Azure 数据资源管理器中的外部表 https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/schema-entities/externaltables#:~:text=An%20external%20table%20is%20a,and%20managed%20outside%20the%20cluster.

    【讨论】:

    • 我想这里的主要问题是告诉 azure log analytics 连接字符串能够连接到该外部数据库表。尚未找到任何解决方案。
    • 日志分析可以从 Azure 存储 BLOB 中提取数据,因此理论上至少可以将外部数据添加到 Azure 存储 BLOB 并将其提取到 Log Analytics 中,然后编写查询。同样,这都是理论上的,我自己从未尝试过。我已将我的 W3C 和 HTTP 日志从 Azure BLOB 存储帐户提取到 Log Analytics。
    • 这听起来像是一种方法,即使 blob 对于我的需要来说可能有点过大。你介意给我一个例子,说明你是如何做到这一点的吗?如果这对我有用,而且听起来像那样,我会选择它作为正确答案。
    猜你喜欢
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    相关资源
    最近更新 更多