摘自 http://docs.graylog.org/en/3.0/pages/queries.html
搜索查询语言
默认情况下,如果未指定要搜索的消息字段,则搜索中将包括所有消息字段
2.包含术语ssh的消息:
SSH
包含术语ssh或login的消息:
ssh 登录
包含确切短语ssh login的邮件:
“ssh登录”
字段类型包含ssh的消息:
类型:ssh
字段类型包含ssh或login的消息:
键入:( ssh 登录)
字段类型包含确切短语ssh login的消息:
输入:“ssh login”
具有字段类型的邮件:
_exists_ :类型
没有字段类型的邮件:
NOT _exists_ :输入
2.与正则表达式匹配的消息如:
/ ethernet [ 0 - 9 ] + /
默认情况下,所有术语或短语都是OR连接,因此返回至少有一个命中的所有消息。您可以使用 布尔运算符和组来控制:
“ssh login” 和 来源:示例。组织
(“SSH登录” AND (源:例如。有机OR 源:另一个。例如。组织))OR _exists_:always_find_me
您还可以使用NOT运算符:
“ssh login” 并且 不是 来源:示例。org
NOT example。组织
请注意,AND,OR和NOT区分大小写,并且必须以全部大写形式键入。
通配符:使用?替换单个字符或*替换零个或多个字符:
来源:*组织。
来源:考试le.org
来源:考试文件*?
请注意,禁用前导通配符以避免过多的内存消耗!您可以在Graylog配置文件中启用它们:
allow_leading_wildcard_searches = true
支持模糊查询 列如
SSH logni ~
此示例使用Damerau-Levenshtein距离,默认距离为2,并且将匹配“ssh login”和“example.org”(在查询中故意拼写错误)。
你可以像这样改变距离:
来源:exmaple 。org ~ 1
您还可以使用模糊性运算符进行邻近搜索,其中短语中的术语可以具有彼此不同/模糊的距离,并且不必按照定义的顺序:
“foo bar” ~ 5
数字字段支持范围查询。方括号中的范围是包含性的,大括号是独占的,甚至可以组合使用:
http_response_code :[ 500 TO 504]
http_response_code :{ 400 TO 404}
字节:{ 0 到64 ]
http_response_code :[ 0 到64 }
您也可以进行无边界搜索:
http_response_code :> 400
http_response_code :< 400
http_response_code :> = 400
http_response_code :<= 400
也可以组合无界范围运算符:
http_response_code : ( > = 400 AND < 500)
必须使用反斜杠转义以下字符:
&& || :\ / + -!(){} [] ^“〜*?
例:
资源:\ / posts \ / 45326
时间帧选择器
时间范围选择器定义了要搜索的时间范围。它提供了三种不同的方式来选择时间范围并且对于搜索速度至关重要:如果您知道您只对最后一小时的消息感兴趣,则只搜索该时间范围。这将使Graylog 仅在相关索引中进行搜索,并大大减少系统负载和所需资源。
相对时间帧选择器
通过相对时间范围选择器,您可以查看从所选选项到搜索按钮的消息。选择器提供了一组适合您大部分搜索需求的相对时间范围。
绝对时间帧选择器
当您确切知道搜索的边界时,您希望使用绝对时间帧选择器。只需手动介绍搜索的日期和时间,或单击输入字段打开日历,您可以用鼠标选择日期。
关键字时间帧选择器
Graylog提供了一个关键字时间帧选择器,允许您使用自然语言(如过去一小时或过去90天)指定搜索的时间范围。Web界面显示将用于搜索的两个实际时间戳的预览。
以下是可能值的一些示例。
[if !supportLists]· [endif]“上个月”在一个月前和现在之间进行搜索
[if !supportLists]· [endif]“4小时前”在四小时前和现在之间搜索
[if !supportLists]· [endif]“4月1日至2天前”在4月1日至2天前搜索
[if !supportLists]· [endif]“昨天午夜+0200到今天午夜+0200”在昨天午夜和今天午夜之间的时区+0200之间搜索 - 将在UTC时间22:00
保存的搜索
有时您可能希望搜索特定的搜索配置以供日后使用。Graylog提供了一个保存的搜索功能来完成它。
提交搜索后,从搜索侧栏中选择要显示的字段,并选择直方图的分辨率,单击侧栏上的“ 保存搜索条件”按钮。
为当前搜索命名,然后单击“保存”。如果以后要使用保存的搜索,只需从保存的搜索选择器中选择它即可。
当然,您始终可以更新所选字段或已保存搜索的名称。为此,请从保存的搜索选择器中选择已保存的搜索,更新字段选择或直方图分辨率,然后单击“ 保存的搜索” -
>“ 更新搜索条件”。也可以通过选择保存的搜索 -
> 删除已保存的搜索来删除已保存的搜索。
直方图
搜索页面包含搜索结果直方图,您可以在其中以简明的方式查看Graylog将为您调整的特定时间段内收到的消息数。
直方图还允许您进一步缩小问题的原因:
[if !supportLists]· [endif]通过刷过直方图来划分搜索时间范围。只需在图表上单击并拖动鼠标即可选择要使用的时间范围,然后单击搜索按钮执行该搜索
[if !supportLists]· [endif]查看图表注释中触发警报的时间。如果您在流中搜索,则只会看到与该流相关的警报
分析
Graylog提供了几种分析搜索结果的工具。可以将这些分析保存到仪表板中,以便您可以更方便地检查它们。要从搜索结果中分析字段,请展开搜索侧栏中的字段,然后单击要执行的分析按钮。
字段统计
计算字段的不同统计信息,以帮助您更好地汇总和理解其中的数据。
统计信息包括:总数,平均值,最小值,最大值,标准差,方差,总和和基数。在非数字字段上,您只能看到包含该字段的消息总数,以及字段的基数,即它具有的唯一值的数量。
快速值
快速值可帮助您找出字段值的分布。除了字段中包含的常用值的图形表示外,Graylog还将显示包含所有不同值的表,以便您查看它们出现的次数。您可以通过单击值行中的放大镜图标在搜索查询中包含任何值。
场图
您可以通过单击搜索侧栏中的“ 生成图表”按钮为任何数字字段创建字段图。使用字段图顶部“ 自定义”菜单中的选项 ,可以更改图形中使用的统计函数,用于表示值的图形类型,图形插值以及时间分辨率。
一旦您自定义了一些场图,您还可以通过从图表顶角的汉堡图标拖动它们并将它们放入另一个场图来组合它们。您可以在以下屏幕截图中查看汉堡包图标的位置和最终结果:
装饰者
装饰器允许您自动在搜索时间内更改消息字段,同时保留磁盘上未修改的消息。装饰器特别适用于使字段中的某些数据更具可读性,在某些字段中组合数据,或添加包含有关消息的更多信息的新字段。由于每个流(包括默认流)配置了装饰器,因此您还可以以不同的方式在不同的流中显示单个消息。
由于装饰器所做的更改不会持久存在,因此您无法搜索修饰值或对其使用字段分析器。您仍然可以在原始的非装饰字段中使用这些功能。
装饰器应用于流级别,并且在所有能够访问流的用户之间共享,因此所有用户可以共享相同的结果并从装饰器添加的优势中受益。
Graylog包含一些开箱即用的消息装饰器,但您可以从管道添加新的消息装饰器,也可以将自己的消息装饰器作为插件添加。
要将装饰器应用于搜索结果,请单击搜索侧栏中的“ 装饰器”选项卡,从下拉列表中选择要应用的装饰器,然后单击“ 应用”。保存更改后,搜索结果将包含修饰值。
将多个装饰器应用于相同的搜索结果时,可以通过在装饰器列表中使用拖放来随时更改它们的应用顺序
系统日志严重性映射器
syslog严重性映射器装饰器允许您将系统日志消息的数字系统日志级别转换为人类可读的字符串。例如,将装饰器应用于level日志中的字段会将syslog级别转换4为。Warning (4)
要应用syslog严重性映射器装饰器,您需要提供以下数据:
[if !supportLists]· [endif]源字段:包含数字系统日志级别的字段
[if !supportLists]· [endif]目标字段:用于存储人类可读字符串的字段。如果您希望替换搜索结果中的数值,它可以与源字段相同
格式字符串
格式字符串装饰器提供了将多个字段合并为一个字段的简单方法。它还可以用于修改字段的内容,而不会在Elasticsearch中更改存储的结果。
要应用格式字符串装饰器,您需要提供以下数据:
[if !supportLists]· [endif]格式字符串:用于格式化结果字符串的模式。您可以通过将其括起来在邮件中提供字段${}。例如,${source}将source消息字段的内容添加到结果字符串中
[if !supportLists]· [endif]目标字段:用于存储结果值的字段
[if !supportLists]· [endif]需要所有字段(可选):选中此框以仅在存在所有其他字段时格式化字符串
例如,使用格式字符串可以生成文本,并使其在搜索结果中的某个消息字段中可见。Request to ${controller}#${action} finished in ${took_ms}ms with code ${http_response_code}Request to PostsController#show finished in 57ms with code 200
管道装饰器
管道装饰器提供了一种通过使用现有处理管道处理消息来装饰消息的方法。与使用处理管道相反,管道对消息所做的更改不会保留。相反,管道用于在搜索时修改文稿的消息。
使用管道装饰器的先决条件是需要现有管道。
完成创建管道后,您现在可以在任意数量的流上添加使用它的装饰器。为了创建一个,你可以像任何其他装饰器类型一样,通过单击Decorator侧栏,选择类型(在这种情况下为“Pipeline
Processor Decorator”)并单击旁边的Apply按钮。
单击“ 应用”后,可以选择用于装饰的管道。
选择管道并单击“ 保存”后,您已经设置了创建新的管道装饰器。
调试装饰器
如果邮件未按预期进行装饰,或者您需要知道它最初的样子,则可以通过单击邮件详细信息中的“显示更改”来查看装饰期间所做的所有更改。
在此视图中,删除的内容以红色显示,而添加的内容以绿色显示。这意味着添加的字段将具有单个绿色条目,删除字段的单个红色条目和修改的字段将具有两个条目,红色和绿色条目。
将结果导出为
也可以将搜索结果导出为CSV文档。为此,请在搜索侧栏中选择要导出的所有字段,单击“ 更多操作”按钮,然后选择“ 导出为CSV”。
提示:某些Graylog输入会将原始消息保留在full_message字段中。如果需要导出原始邮件,可以通过单击侧栏底部的“ 列出所有字段”链接,然后选择该full_message字段来执行此操作。
警告
将结果导出为CSV将不会保留排序,因为Graylog正在使用虚拟_doc字段来出于性能原因对文档进行“排序”。如果您需要订购导出的数据,则需要对ElasticSearch进行滚动查询并在之后对其进行处理,或者下载文件并通过其他方式对其进行后处理。
搜索结果突出显示
Graylog支持自v0.20.2以来的搜索结果突出显示:
启用/禁用搜索结果突出显示
使用搜索结果突出显示将导致搜索的资源消耗略高。您可以使用graylog.confGraylog节点中的配置参数启用和禁用它:
allow_highlighting = true
搜索配置
Graylog允许自定义搜索查询所允许的选项,例如限制用户可以选择的时间范围或配置显示的相对时间范围列表。