搜索你的日志
连接的事件源和环境系统以原始日志的形式生成数据。日志搜索获取原始的、收集的数据的每个日志,并自动为您将它们分类为日志集。一旦你配置基本事件源,从InsightIDR主页进入日志搜索页面,搜索您的日志,构建查询,可视化您的数据,并创建警报。
步骤1:选择一个或多个要查询的日志或日志集
在“日志搜索”页面中,通过勾选“所有日志集”下的复选框,选择您想要查看的日志或日志集。
日志的术语
日志是从事件源发送的单个日志条目事件的容器。日志设置是按事件源类型分组的日志集合。
你可以设置自定义日志以平台当前不支持的格式发送数据,以便通过Log Search访问数据。您还可以创建自定义解析规则以InsightIDR未知的格式解析日志。
步骤2:构建查询
建立一个查询搜索特定的日志数据或使用搜索语言以运行更高级的分析查询。如果在创建查询时遇到困难,可以重新创建示例查询.
您还可以使用Groupby函数根据不同的条件对日志进行分组:
使用Groupby函数可视化日志
Groupby是一个函数,它允许您通过按日志数据中的字段对数据进行分组来可视化数据。例如,以下函数根据从您的资产认证日志生成的日志数据中destination_user字段找到的唯一值对日志条目进行分组:groupby (destination_user)计算(计算).
中找到的所有唯一用户名的列表destination_user字段,其中包含找到用户名的次数。最常见的用户名将首先列出,其余的用户名将按优先级排序。
这个函数还允许您以两种方式更改结果:
统计近似
如果发现超过10,000个独特的群体,那么结果将是一个统计上的近似,而不是一个文字数.由于数据的分布,也有可能不会显示任何组。
要得到准确的结果,请缩小搜索条件。您可以通过选择更少的日志、更短的时间框架或添加更多的搜索过滤器来实现这一点。
将日志数据按多个字段分组
日志条目查询语言(LEQL) groupby函数允许您根据日志数据中的多个字段进行分组。运行单个查询以获得日志数据的总体视图,并深入该数据。要使用此特性,在a中添加最多5个字段groupby查询可以通过在Advanced querybuilder模式中输入额外的键来实现,也可以使用Simple模式中提供的按钮。
示例查询:Groupby (destination_user, result, service, source_asset_address) calculate(count)
在堆叠的条形图中可视化结果
运行时,查询结果将显示在一个堆叠的条形图中,其中显示了两个组。如果您向查询添加了超过2个字段,请单击一个栏以进一步深入到下面的2个组,这些组由您所单击的栏过滤。
在表中查看结果
结果还将以表格格式显示,允许您通过单击箭头来显示后续字段来深入组。
修改Groupby结果
增加Groupby限制
您可以通过添加limit关键字来增加Groupby查询返回的组数量限制(n)在你的查询的结尾n表示组的数量。请参阅下表,了解每组键数的最大组数。任何大于最大组数的输入值都将默认为最大值。
| 组键数 | 最大的群体 |
|---|---|
| groupby (x0) | 10,000 |
| groupby (x0, x1) | 20,000 |
| groupby (x0, x1, x2) | 30,000 |
| Groupby (x0, x1, x2, x3) | 40,000 |
| Groupby (x0, x1, x2, x3, x4) | 50,000 |
下面的查询设置了350的限制:Groupby (source_asset_address) calculate(count) sort(desc) limit(350)
如果按多个字段分组,则可以传入附加值以限制每个组返回的行数。当按多个字段分组时,根据下表中的示例,该限制将跨组应用:
| 查询 | Groupby限制 |
|---|---|
| groupby (x, y)限制(5) | Groupby (x, y) limit(5,5) |
| Groupby (x, y, z) limit(20,12) | Groupby (x, y, z) limit(20,12,12) |
| groupby (x, y) | Groupby (x, y)极限(40,40) |
下面的查询为Groupby函数中的第一个字段设置了100个组的限制,为第二个字段设置了20个组。
Groupby (source_asset_address, service) calculate(count) sort(desc) limit(100,20)
默认情况下,如果在查询中不使用limit关键字,LEQL将每个组限制为40个结果。
排序
在高级模式下,您可以使用类似如下的查询对返回的结果进行升序或降序排序:where(result = SUCCESS) groupby(destination_user) calculate(count) sort(desc)
您可以使用desc和下行作为关键字按降序排序,或asc和提升按升序排序。可以通过使用asc #键或desc #键
如果按多个字段分组,则可以传入额外的排序标准。
下面的查询将首先按第一组的计数升序排列结果,然后按第二组的名称降序排列结果。
Groupby (destination_user, result) calculate(count) sort(asc, desc#key)
默认情况下,如果您在查询中没有使用sort关键字,LEQL将按降序对结果进行排序。
文字数
如果数据集中唯一事件的数量小于10,000,则Groupby使用Literal Count。Literal Count获取数据集中的每个日志行,并对每次出现的惟一元素进行计数,同时还将相同的事件放在一起。
使用以下查询的唯一元素计数:计算(独特:source_address),在那里source_address是您计划分组的值。这将返回source_address字段的唯一值的数量,以基于时间的图表显示。
当您根据唯一标识符、端口号或IP地址对值进行分组时,如果您增加时间窗口,惟一值的数量通常会增加。
步骤3:创建仪表板和可视化(可选)
查看您的数据视觉模式和添加卡可视化您的数据。你可以创建仪表板和报告从你的查询,或者你可以导出日志数据.
步骤4:创建自定义警报(可选)
创建一个警报从特定的日志指标,如无效登录。



