在 KQL 中使用按时间戳汇总来获取上次登录详细信息
Fetch Last Login Details using Summarize by Time Stamp in KQL
我正在尝试使用 KQL 查询语言获取 Kusto 数据库中用户的最后登录详细信息。但是我没有得到以下查询的确切结果。
GlobalID - 每次用户登录时都会创建的唯一 GUID 值
UserId - 登录的 UserId 值
LastSuccessFullLoginTimeStamp - 最大时间戳值
//Fetch Last Logged in userID details
let window = 2h;
Events
| where Timestamp >= ago(window)
| extend UserId = tostring(Properties.UserId)
| where UserId in ('12345','56789','24680')
//| summarize LastSuccessFullLoginTimeStamp = max(Timestamp), count() by
GlobalId,UserId
|project GlobalID,UserId,TimeStamp
但是我无法从上面的示例数据中得到如下所示的输出。 根据用户 ID 和上次登录时间获取最新的 GlobalID。我哪里做错了?我尝试总结,make_set 但没有成功。
您应该使用 arg_max() 函数:
let window = 2h;
Events
| where Timestamp >= ago(window)
| extend UserId = tostring(Properties.UserId)
| where UserId in ('12345','56789','24680')
| summarize arg_max(Timestamp, *) by UserId
我正在尝试使用 KQL 查询语言获取 Kusto 数据库中用户的最后登录详细信息。但是我没有得到以下查询的确切结果。
GlobalID - 每次用户登录时都会创建的唯一 GUID 值
UserId - 登录的 UserId 值
LastSuccessFullLoginTimeStamp - 最大时间戳值
//Fetch Last Logged in userID details
let window = 2h;
Events
| where Timestamp >= ago(window)
| extend UserId = tostring(Properties.UserId)
| where UserId in ('12345','56789','24680')
//| summarize LastSuccessFullLoginTimeStamp = max(Timestamp), count() by
GlobalId,UserId
|project GlobalID,UserId,TimeStamp
但是我无法从上面的示例数据中得到如下所示的输出。 根据用户 ID 和上次登录时间获取最新的 GlobalID。我哪里做错了?我尝试总结,make_set 但没有成功。
您应该使用 arg_max() 函数:
let window = 2h;
Events
| where Timestamp >= ago(window)
| extend UserId = tostring(Properties.UserId)
| where UserId in ('12345','56789','24680')
| summarize arg_max(Timestamp, *) by UserId