标签: azure-data-explorer

如何在 Kusto 时间表上缩放数据系列

我想在时间图上缩放数据系列,以便它与其他系列可见。前两个系列代表成功和失败requests,第三个系列代表customEvent尝试纠正自身的应用程序。所有三个系列都被绘制出来,但由于幅度的相对差异,重启系列本质上是一条在 0 处的线。操作员ysplit选项 的文档render表明这axes将提供我正在寻找的内容,但似乎没有任何值影响图表。

requests
| where timestamp > ago(3d) and name has "POST /v1/validation"
| union customEvents |  where timestamp > ago(3d)
| extend Event=case(itemType == 'request' and success == "True", "Succeeded", itemType == "request" and success == "False", "Failed", "Restarted")
| summarize Count=count() by Event, bin(timestamp, 1h)
| render timechart
Run Code Online (Sandbox Code Playgroud)

这是使用 Restarted 系列渲染的时间图,但桶中的最高数字是 2,因此它本质上是原点处的一条平线。

Kusto 时间表

更新 5/3

UX 客户端是 Azure 门户的 Application Insights Analytics 小部件。

azure azure-application-insights azure-data-explorer

7
推荐指数
1
解决办法
2664
查看次数

指定新列名时扩展运算符是否支持空格?

当我想用extend生成一个新的列名,并且新的列名包含一个空格时,代码如下:

requests 
| extend "users name" = ""
//other codes
Run Code Online (Sandbox Code Playgroud)

然后发生错误:无法在第 xxx 行的“=”处解析查询。所以问题是我们可以在扩展的新列名中使用空格吗?

我也试过用单引号,还是一样的错误。

azure-data-explorer

7
推荐指数
1
解决办法
1463
查看次数

如何访问 kusto/Azure 应用程序洞察中子查询中的外部列?

我尝试使用 Kusto 在 Azure 应用程序见解中简单地运行子查询,以便我可以从显示为一个的两个表中获取一些信息。

我正在尝试的查询是

table1
| extend progressLog = toscalar(
    table2 
    | where common_Id == table1.common_Id // errors saying Ensure that expression: table1.common_Id is indeed a simple name
    | summarize makelist(stringColumn) 
)
Run Code Online (Sandbox Code Playgroud)

我尝试给这个 id 起别名,甚至连接两个表,如下所示:

requests
| extend aliased_id = common_Id
| join traces on operation_Id, $left.operation_Id == $right.operation_Id
| extend test_id = operation_Id 
| extend progressLog = toscalar(
    traces 
    | where operation_Id == aliased_id // Failed to resolve column or scalar expression named 'aliased_id'
    | summarize makelist(message) …
Run Code Online (Sandbox Code Playgroud)

azure azure-application-insights azure-data-explorer

7
推荐指数
1
解决办法
1万
查看次数

是否可以更改从 startofweek() 和 endofweek() 返回的日期?

Kusto 提供了获取一周开始日和结束日的函数。这些是通过startofweek()和调用的endofweek()startofweek()周日返回,endofweek()周六返回。

在某些国家,周是从周一到周日,我一直无法找到如何更改。

是否可以将文化设置为 kusto,以便startofweek()endofweek()分别在周一和周日返回?

azure azure-data-explorer

7
推荐指数
1
解决办法
1435
查看次数

Kusto 自定义排序顺序?

如何在 Kusto 中执行自定义排序顺序?

查询示例:

//==================================================//
// Assign variables
//==================================================//
let varStart = ago(2d);
let varEnd = now();
let varStorageAccount = 'stgacctname';
//==================================================//
// Filter table
//==================================================//
StorageBlobLogs
| where TimeGenerated between (varStart .. varEnd)
  and AccountName == varStorageAccount
| sort by OperationName
Run Code Online (Sandbox Code Playgroud)

需要:

  • 我想将各种OperationNamesGetBlobAppendFile等)放入自定义订单中。
  • 就像是: | sort by OperationName['GetBlob'], OperationName['AppendFile'], OperationName asc
  • 理想情况下,我想指定排序依据的值,然后允许 Kusto 使用asc/对剩余的进行排序desc

这可能吗?

azure-log-analytics kql azure-data-explorer

7
推荐指数
1
解决办法
2675
查看次数

Kusto,根据条件执行操作

我正在尝试编写一个 Kusto 查询,其中有一个 bool 变量,并且基于该变量我想调用不同的函数。例如:

let flag = true;
let result = iff(flag == "true", function1, function2)
// function1 will return a different table and function2 will return another table.
Run Code Online (Sandbox Code Playgroud)

上面的代码是不可能的,因为类似的方法iff() and case()只能对标量值进行操作。

那么,有什么办法可以实现这一目标吗?

kql azure-data-explorer

7
推荐指数
1
解决办法
6056
查看次数

Power M Query/Kusto 从组中取第一

我有一张看起来像这样的表:

id  timestamp  value1  value2
 1  09:12:37     1       1
 1  09:12:42     1       2
 1  09:12:41     1       3
 1  10:52:16     2       4
 1  10:52:18     2       5
 2  09:33:12     3       1
 2  09:33:15     3       2
 2  09:33:13     3       3
Run Code Online (Sandbox Code Playgroud)

我需要按 id 和 value1 分组。对于每个组,我想要具有最高时间戳的行。

上表的结果如下所示:

id  timestamp  value1  value2
 1  09:12:42     1       2
 2  09:33:15     3       2
Run Code Online (Sandbox Code Playgroud)

我知道有一个汇总运算符会给我这个:

mytable
| project id, timestamp, value1, value2
| summarize max(timestamp) by id, value1

Result:
     id  timestamp  value1
      1  09:12:42     1
      2  09:33:15     3
Run Code Online (Sandbox Code Playgroud)

但是我也无法获得此行的 …

azure-application-insights azure-data-explorer

6
推荐指数
1
解决办法
2074
查看次数

如何编写 Kusto 查询以在一张表中获取结果?

我有 2 个 KQL 查询,我想将它们组合起来以将两行显示为一个结果。不仅仅是第一次查询的结果,然后是第二次查询的结果:

R_CL
| where isnotempty(SrcIP_s) 
| project Message 
| take 1;

R_CL
| where isempty(SrcIP_s) 
| project Message 
| take 1
Run Code Online (Sandbox Code Playgroud)

请参阅下面的示例R_L。我想看到 2 行作为结果,一个 SrcIP_s 不为空,第二个 SrcIP_s 为空(在这种情况下,它总是相同的)

let R_CL = datatable ( SrcIP_s:string, Message:string)
["1.1.1.1" ,"one",
"" ,"two",
"2.2.2.2","three",
"3.3.3.3","four"];
R_CL
| project SrcIP_s, Message
Run Code Online (Sandbox Code Playgroud)

kql azure-data-explorer

6
推荐指数
2
解决办法
8587
查看次数

有没有办法合并 Kusto 中两个表的数据?

详细了解如何在 Kusto 中编写查询。我在两个具有不同角色的表中有一列,但列标题是角色,我想将数据合并到一个名为“角色”的列中。

我尝试添加这个,| extends Roles = strcat(RoleName, Role),但这只是组合了数据。

这是我的查询尝试,我正在连接 3 个表,其中 2 个具有角色。第三个是我验证用户别名的地方。

(cluster('****').database('****').****_****** | where Discriminator == 'Service'| where DivisionOid == '******')

| join kind = leftouter cluster('****').database('****').Release_Users on SubscriptionId 

| join kind = leftouter (cluster('****').database('****').Release_AzureAccess
| where RoleId contains "****" and PrincipalType !contains "ServicePrincipal") on SubscriptionId

| join kind = leftouter cluster('****').database('****').Headtrax_PeopleHierarchyV1 on $left.PrincipalName == $right.EmailAddress and $left.LiveEmailId == $right.EmailAddress

| extend Roles = strcat (RoleName, Role)<<--this was my failed attempt at combining the Role columns. That …
Run Code Online (Sandbox Code Playgroud)

azure-data-explorer

6
推荐指数
1
解决办法
2万
查看次数

是否可以在 Kusto 中进行多行评论?

我绝对可以使用“//”来注释每一行,但想知道是否有办法避免这样做。

azure azure-data-explorer

6
推荐指数
2
解决办法
1165
查看次数